diff --git a/repos/base-linux/lib/import/import-syscall-linux.mk b/repos/base-linux/lib/import/import-syscall-linux.mk index f873dafb99a..93495c43634 100644 --- a/repos/base-linux/lib/import/import-syscall-linux.mk +++ b/repos/base-linux/lib/import/import-syscall-linux.mk @@ -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 = diff --git a/repos/base/mk/global.mk b/repos/base/mk/global.mk index 6d0dc550438..62b34a76123 100644 --- a/repos/base/mk/global.mk +++ b/repos/base/mk/global.mk @@ -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 diff --git a/repos/libports/lib/import/import-libc.mk b/repos/libports/lib/import/import-libc.mk index 98113f5745f..ef14d7e6e89 100644 --- a/repos/libports/lib/import/import-libc.mk +++ b/repos/libports/lib/import/import-libc.mk @@ -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.