Enable -ffreestanding by default

Fixes #5429
This commit is contained in:
Norman Feske 2025-01-21 12:19:56 +01:00 committed by Christian Helmuth
parent 9dee2fbaf3
commit 63b49fcdb3
5 changed files with 20 additions and 1 deletions

View File

@ -25,3 +25,7 @@ HOST_INC_DIR += /usr/include/aarch64-linux-gnu
#
CC_OPT += -D_GNU_SOURCE
#
# Enable definition of __STDC_HOSTED__
#
CC_OPT_FREESTANDING =

View File

@ -98,6 +98,11 @@ ifneq ($(STDLIB),yes)
LD_OPT_NOSTDLIB := -nostdlib -Wl,-nostdlib
endif
#
# Prevent the definition of __STDC_HOSTED__ by default
#
CC_OPT_FREESTANDING ?= -ffreestanding
#
# Add coverage options
#
@ -166,7 +171,8 @@ CC_ADA_WARN ?= -gnatwa $(CC_ADA_WARN_STRICT)
#
# Aggregate compiler options that are common for C and C++
#
CC_OPT += $(CC_OPT_NOSTDINC) -g $(CC_MARCH) $(CC_OLEVEL) $(CC_OPT_DEP) $(CC_WARN)
CC_OPT += $(CC_OPT_NOSTDINC) $(CC_OPT_FREESTANDING) -g \
$(CC_MARCH) $(CC_OLEVEL) $(CC_OPT_DEP) $(CC_WARN)
#
# Incorporate source-file-specific compiler options

View File

@ -51,6 +51,11 @@ endif
#
REP_INC_DIR += include/libc-genode
#
# Enable definition of __STDC_HOSTED__
#
CC_OPT_FREESTANDING =
#
# Prevent gcc headers from defining __size_t. This definition is done in
# machine/_types.h.

View File

@ -35,6 +35,8 @@ LIBGCOV_INTERFACE = _gcov_dump \
LIBGCOV_DRIVER = _gcov
CC_OPT_FREESTANDING =
CC_OPT += -fbuilding-libgcc -DIN_GCC -DIN_LIBGCC2
CC_OPT += $(addprefix -DL,$(LIBGCOV_MERGE))

View File

@ -6,6 +6,8 @@ X86EMU_DIR := $(call select_from_ports,x86emu)/src/lib/x86emu/contrib
INC_DIR += $(X86EMU_DIR) $(REP_DIR)/include/x86emu
CC_OPT += -fomit-frame-pointer -Wno-maybe-uninitialized
CC_OPT_FREESTANDING =
SRC_C = decode.c fpu.c ops.c ops2.c prim_ops.c sys.c
vpath %.c $(X86EMU_DIR)