
We left -fdata-sections disabled for x86_64 before because we encountered random bugs that were at that time inexplicable.
Turns out this really was just side effects of missing .bss* statements in the linker scripts. With those fixed, we can enable data sections for all targets.
Signed-off-by: Alexander Graf agraf@suse.de --- arch/x86/config.mk | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/arch/x86/config.mk b/arch/x86/config.mk index 586e11a0dd..5b04febd68 100644 --- a/arch/x86/config.mk +++ b/arch/x86/config.mk @@ -23,13 +23,11 @@ endif
ifeq ($(IS_32BIT),y) PLATFORM_CPPFLAGS += -march=i386 -m32 -# TODO: These break on x86_64; need to debug further -PLATFORM_RELFLAGS += -fdata-sections else PLATFORM_CPPFLAGS += $(if $(CONFIG_SPL_BUILD),,-fpic) -fno-common -m64 endif
-PLATFORM_RELFLAGS += -ffunction-sections -fvisibility=hidden +PLATFORM_RELFLAGS += -fdata-sections -ffunction-sections -fvisibility=hidden
PLATFORM_LDFLAGS += -Bsymbolic -Bsymbolic-functions PLATFORM_LDFLAGS += -m $(if $(IS_32BIT),elf_i386,elf_x86_64)