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 <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Ian Jackson <iwj@xenproject.org>
Release-Acked-by: Ian Jackson <iwj@xenproject.org>
This commit is contained in:
Andrew Cooper committed 2021-03-01 23:19:39 +00:00
1 parent 570da5423d
commit 0eae016b6e
4 files changed
+2 -6

No files matched your search

-1
View File
@@ -58,7 +58,6 @@ addons:
- acpica-tools
- bin86
- bcc
- libc6-dev-i386
- libnl-3-dev
- ocaml-nox
- libfindlib-ocaml-dev
-3
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -20,7 +20,7 @@
* this program; If not, see <http://www.gnu.org/licenses/>.
*/
#include <inttypes.h>
#include <stdint.h>
#include <xen/libelf/elfstructs.h>
#include "util.h"
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.