mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-27 17:18:53 +00:00
d73eaaa14c
This compilation unit contains a global constructor, which violates our assumption that the libc is free of global constructors on ARMv7. Specifically, the graphical terminal fails with the following message: [init -> terminal] Error: Component::construct() returned without executing pending static constructors (fix by calling Genode::Env::exec_static_constructors()) [init -> terminal] Error: Uncaught exception of type 'Linker::Fatal' In this case, the libc-less terminal uses the VFS. The VFS mounts the ttf VFS plugin. The ttf VFS plugin depends on the libc. The compilation unit 'arm_initfini.c' can safely be excluded because it merely initializes the global '_libc_arm_fpu_present' variable, which is not used by the current version of our libc/libm. Fixes #4080
28 lines
1.0 KiB
Makefile
28 lines
1.0 KiB
Makefile
include $(REP_DIR)/lib/mk/libc-gen.inc
|
|
|
|
LIBC_GEN_ARM_DIR = $(LIBC_DIR)/lib/libc/arm/gen
|
|
|
|
#FILTER_OUT_S += rfork_thread.S sigsetjmp.S setjmp.S _setjmp.S divsi3.S
|
|
FILTER_OUT_S += rfork_thread.S divsi3.S setjmp.S _setjmp.S
|
|
FILTER_OUT_C += _set_tp.c fabs.c frexp.c modf.c arm_initfini.c
|
|
|
|
INC_DIR += $(LIBC_DIR)/lib/libc/arm/softfloat
|
|
INC_DIR += $(LIBC_DIR)/lib/libc/softfloat
|
|
|
|
SRC_S += $(filter-out $(FILTER_OUT_S),$(notdir $(wildcard $(LIBC_GEN_ARM_DIR)/*.S)))
|
|
SRC_C += $(filter-out $(FILTER_OUT_C),$(notdir $(wildcard $(LIBC_GEN_ARM_DIR)/*.c)))
|
|
|
|
#
|
|
# Fix missing include prefix for 'ucontext.h', should be 'sys/ucontext.h'
|
|
#
|
|
# The first path is in effect when using the regular build system. The second
|
|
# path is in effect when building the libc from a source archive (where the
|
|
# ucontext.h header is taken from the libc API archive).
|
|
#
|
|
CC_OPT_makecontext = -I$(call select_from_ports,libc)/include/libc/sys \
|
|
$(addprefix -I,$(call select_from_repositories,include/libc/sys))
|
|
|
|
vpath % $(LIBC_GEN_ARM_DIR)
|
|
|
|
CC_CXX_WARN_STRICT =
|