mbox series

[for-4.15,0/3] firmware: fix build on Alpine

Message ID 20210226085908.21254-1-roger.pau@citrix.com (mailing list archive)
Headers show
Series firmware: fix build on Alpine | expand

Message

Roger Pau Monne Feb. 26, 2021, 8:59 a.m. UTC
Hello,

While the series started as a build fix for Alpine I think they are
interesting on their own for other OSes/distros, since it allows to
remove the i386 libc as a build dependency.

THis is done by proving a suitable set of standalone headers that are
suitable for the needs of the firmware build. Patch 2 contains the full
description on why it's done this way.

The main risk for patches 1 and 2 is breaking the build in some obscure
distro/OS and toolchain combination. We aim to have this mostly covered
by gitlab CI. Patch 3 main risk is breaking the Alpine containers in
gitlab CI, but they are already failing.

Wanted to send this yesterday but was waiting on gitlab CI output, it's now
all green:

https://gitlab.com/xen-project/people/royger/xen/-/pipelines/261928726

Thanks, Roger.

Roger Pau Monne (3):
  hvmloader: do not include inttypes.h
  firmware: provide a stand alone set of headers
  automation: enable rombios build on Alpine

 README                                        |  3 --
 automation/scripts/build                      |  5 +--
 tools/firmware/Rules.mk                       | 11 ++++++
 tools/firmware/hvmloader/32bitbios_support.c  |  2 +-
 tools/firmware/include/stdarg.h               | 10 +++++
 tools/firmware/include/stdbool.h              |  9 +++++
 tools/firmware/include/stddef.h               | 10 +++++
 tools/firmware/include/stdint.h               | 39 +++++++++++++++++++
 tools/firmware/rombios/32bit/rombios_compat.h |  4 +-
 tools/firmware/rombios/rombios.c              |  5 +--
 10 files changed, 85 insertions(+), 13 deletions(-)
 create mode 100644 tools/firmware/include/stdarg.h
 create mode 100644 tools/firmware/include/stdbool.h
 create mode 100644 tools/firmware/include/stddef.h
 create mode 100644 tools/firmware/include/stdint.h

Comments

Stefano Stabellini Feb. 26, 2021, 8:32 p.m. UTC | #1
On Fri, 26 Feb 2021, Roger Pau Monne wrote:
> Hello,
> 
> While the series started as a build fix for Alpine I think they are
> interesting on their own for other OSes/distros, since it allows to
> remove the i386 libc as a build dependency.
> 
> THis is done by proving a suitable set of standalone headers that are
> suitable for the needs of the firmware build. Patch 2 contains the full
> description on why it's done this way.
> 
> The main risk for patches 1 and 2 is breaking the build in some obscure
> distro/OS and toolchain combination. We aim to have this mostly covered
> by gitlab CI. Patch 3 main risk is breaking the Alpine containers in
> gitlab CI, but they are already failing.
> 
> Wanted to send this yesterday but was waiting on gitlab CI output, it's now
> all green:
> 
> https://gitlab.com/xen-project/people/royger/xen/-/pipelines/261928726

That's fantastic! Spreaking with Andrew I thought the Alpine Linux
hvmloader build issue was still unresolved, but obviously you found a
way to fix it. Great!



> Thanks, Roger.
> 
> Roger Pau Monne (3):
>   hvmloader: do not include inttypes.h
>   firmware: provide a stand alone set of headers
>   automation: enable rombios build on Alpine
> 
>  README                                        |  3 --
>  automation/scripts/build                      |  5 +--
>  tools/firmware/Rules.mk                       | 11 ++++++
>  tools/firmware/hvmloader/32bitbios_support.c  |  2 +-
>  tools/firmware/include/stdarg.h               | 10 +++++
>  tools/firmware/include/stdbool.h              |  9 +++++
>  tools/firmware/include/stddef.h               | 10 +++++
>  tools/firmware/include/stdint.h               | 39 +++++++++++++++++++
>  tools/firmware/rombios/32bit/rombios_compat.h |  4 +-
>  tools/firmware/rombios/rombios.c              |  5 +--
>  10 files changed, 85 insertions(+), 13 deletions(-)
>  create mode 100644 tools/firmware/include/stdarg.h
>  create mode 100644 tools/firmware/include/stdbool.h
>  create mode 100644 tools/firmware/include/stddef.h
>  create mode 100644 tools/firmware/include/stdint.h
> 
> -- 
> 2.30.1
>