From: Andrew Cooper Date: Thu, 25 Feb 2021 19:15:08 +0000 (+0000) Subject: tools/firmware: Build firmware as -ffreestanding X-Git-Tag: archive/raspbian/4.16.0+51-g0941d6cb-1+rpi1~2^2~42^2~852 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=0eae016b6e3dce69e3fb86aca5c4f221591a2f12;p=xen.git tools/firmware: Build firmware as -ffreestanding firmware should always have been -ffreestanding, as it doesn't execute in the host environment. -ffreestanding implies -fno-builtin, so replace the option. inttypes.h isn't a freestanding header, but the 32bitbios_support.c only wants the stdint.h types so switch to the more appropriate include. This removes the build time dependency on a 32bit libc just to compile the hvmloader and friends. Update README and the TravisCI configuration. Signed-off-by: Andrew Cooper Reviewed-by: Jan Beulich Reviewed-by: Ian Jackson Release-Acked-by: Ian Jackson --- diff --git a/.travis.yml b/.travis.yml index 15ca9e9047..2362475f7a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -58,7 +58,6 @@ addons: - acpica-tools - bin86 - bcc - - libc6-dev-i386 - libnl-3-dev - ocaml-nox - libfindlib-ocaml-dev diff --git a/README b/README index 6e15242ae1..8c99c30986 100644 --- a/README +++ b/README @@ -62,9 +62,6 @@ provided by your OS distributor: * GNU bison and GNU flex * GNU gettext * ACPI ASL compiler (iasl) - * Libc multiarch package (e.g. libc6-dev-i386 / glibc-devel.i686). - Required when building on a 64-bit platform to build - 32-bit components which are enabled on a default build. In addition to the above there are a number of optional build prerequisites. Omitting these will cause the related features to be diff --git a/tools/firmware/Rules.mk b/tools/firmware/Rules.mk index 26bbddccd4..dc372a86d8 100644 --- a/tools/firmware/Rules.mk +++ b/tools/firmware/Rules.mk @@ -16,4 +16,4 @@ CFLAGS += -Werror $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS)) # Extra CFLAGS suitable for an embedded type of environment. -CFLAGS += -fno-builtin -msoft-float +CFLAGS += -ffreestanding -msoft-float diff --git a/tools/firmware/hvmloader/32bitbios_support.c b/tools/firmware/hvmloader/32bitbios_support.c index 6f28fb6bde..cee3804888 100644 --- a/tools/firmware/hvmloader/32bitbios_support.c +++ b/tools/firmware/hvmloader/32bitbios_support.c @@ -20,7 +20,7 @@ * this program; If not, see . */ -#include +#include #include #include "util.h"