On 06/27/2018 01:38 PM, Dave Love wrote:
Florian Weimer <fwei...@redhat.com> writes:

On 06/26/2018 02:53 PM, Dave Love wrote:
What has changed in the last month to affect building shared libraries
in rawhide?

I tried to rebuild libxsmm in rawhide, after changing the spec to use
python2 explicitly, and it failed with

    /usr/bin/ld: build/intel64/libxsmm_main.o: relocation
R_X86_64_PC32 against symbol `libxsmm_crc32_u64' can not be used
when making a shared object; recompile with -fPIC

The sources are compiled with -fpic and it's x86_64 only, so -fPIC
v. -fpic shouldn't matter as I understand it.

It's related to annobin.  libxsmm_crc32_u64 is a static function with
a target attribute, and the sources are compiled with
-ffunction-sections.

Thanks for such a swift analysis!

[I'm not sure why all the flags are as they are, but they're partly to
do hardening without the performance penalty from the full set of
optflags and global_ldflags (?).]

The complexity is due to our choice of keeping upstream defaults in the toolchain, and the need for different flags with static and dynamic linking to implement hardening.

Florian
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/EXL5RJWTPVPXWANN3N2HOJQFI2ZW42SZ/

Reply via email to