It is general safe to use -fPIC for all architectures.
-fpic breaks sparc64 compile.
Generally gcc just optimize position independent code
for m68k, powerpc and sparc with -fpic.
The size differences are minimal, f.e. for powerpc:
text data bss dec hex filename
235983 5336 684 242003 3b153 output/target/usr/lib/libjim.0.75
236255 8456 684 245395 3be93 output/target/usr/lib/libjim.so.0.75
So instead of keeping special settings for sparc64 it would be better
to always use -fPIC in general.
Runtime tested on Qemu ARM, MIPS, PPC and SPARC64.
Fixes:
http://autobuild.buildroot.net/results/
98f391ad13f22828c022f185c0166daabdb4c1ad/
[Peter: tweak comment as suggested by Thomas]
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
)
endef
+# -fPIC is mandatory to build shared libraries on certain architectures
+# (e.g. SPARC) and causes no harm or drawbacks on other architectures
define JIMTCL_BUILD_CMDS
+ SH_CFLAGS="-fPIC" \
+ SHOBJ_CFLAGS="-fPIC" \
$(MAKE) -C $(@D)
endef