From: Arnout Vandecappelle (Essensium/Mind) Date: Wed, 11 Jul 2012 12:57:18 +0000 (+0200) Subject: Remove -fPIC on x86_64 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7ea1e92bdd9acf6cd5b021e61a18703e27885426;p=buildroot.git 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) --- 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