* [Buildroot] [PATCH v3] Remove -fPIC on x86_64
@ 2012-07-11 12:57 Arnout Vandecappelle
2012-07-13 20:37 ` Thomas Petazzoni
0 siblings, 1 reply; 2+ messages in thread
From: Arnout Vandecappelle @ 2012-07-11 12:57 UTC (permalink / raw)
To: buildroot
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 <rep.dot.nop@gmail.com>
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) <arnout@mind.be>
---
Build-tested with Sourcery toolchain and full-featured internal toolchain
on a x86_64 host with allyesconfig (but without the packages that fail to
build in the first place).
v3:
- Rebase on master (v2 was accidentally diffed against the rejected
libgcrypt-config patch)
- Remove CCACHE_DISABLE again (I couldn't reproduce it on clean rebuild
of the allyesconfig)
v2:
- Add CCACHE_DISABLE to TARGET_CONFIGURE_ARGS
- Test with allyesconfig
package/Makefile.in | 6 ------
1 file changed, 6 deletions(-)
diff --git a/package/Makefile.in b/package/Makefile.in
index c5ad00a..1c3ce48 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
--
tg: (9546394..) t/remove-pic (depends on: t/force-cross)
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [Buildroot] [PATCH v3] Remove -fPIC on x86_64
2012-07-11 12:57 [Buildroot] [PATCH v3] Remove -fPIC on x86_64 Arnout Vandecappelle
@ 2012-07-13 20:37 ` Thomas Petazzoni
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni @ 2012-07-13 20:37 UTC (permalink / raw)
To: buildroot
Le Wed, 11 Jul 2012 14:57:18 +0200,
"Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be> a ?crit :
> 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 <rep.dot.nop@gmail.com>
> 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) <arnout@mind.be>
Applied, thanks.
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-07-13 20:37 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-11 12:57 [Buildroot] [PATCH v3] Remove -fPIC on x86_64 Arnout Vandecappelle
2012-07-13 20:37 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox