From 7ea1e92bdd9acf6cd5b021e61a18703e27885426 Mon Sep 17 00:00:00 2001 From: "Arnout Vandecappelle (Essensium/Mind)" Date: Wed, 11 Jul 2012 14:57:18 +0200 Subject: [PATCH] Remove -fPIC on x86_64 The -fPIC breaks the purgatory of kexec (= the code that passes command-line arguments to the kernel): kexec doesn't know how to handle the GOT and PLT relocation entries. There is also no reason at all to pass -fPIC. Shared libraries that require it will add it to their local Makefiles, and normal executables have no business with -fPIC (plus it adds overhead...). The -fPIC was added by Bernhard Reutner-Fischer in commit 8027784c. That commit adds sysroot parameters to CFLAGS. There is no explanation why -fPIC is also added for x86_64. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- package/Makefile.in | 6 ------ 1 file changed, 6 deletions(-) diff --git a/package/Makefile.in b/package/Makefile.in index c5ad00aeec..1c3ce482b2 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -87,12 +87,6 @@ endif TARGET_CFLAGS=$(TARGET_ABI) $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) -ifneq ($(BR2_PREFER_STATIC_LIB),y) -ifeq ($(BR2_x86_64),y) -TARGET_CFLAGS+=-fPIC -DPIC -endif # PIC for dynamic objects on x86_64 -endif - ifeq ($(findstring yy,$(BR2_mips)$(BR2_MIPS_ABI64)),yy) TARGET_CFLAGS+=-fno-pic -mno-abicalls endif -- 2.30.2