GNU bug report logs -
#17750
libtool strips fcilkplus and sanitizer flags
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Fri, 31 May 2024 16:42:54 +0300
with message-id <5ffc444b-0516-4187-bd56-4542f3be6caf <at> gmail.com>
and subject line bug#17750: libtool strips fcilkplus and sanitizer flags
has caused the debbugs.gnu.org bug report #17750,
regarding libtool strips fcilkplus and sanitizer flags
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
17750: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=17750
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
hi,
gcc-4.9 now supports cilkplus with the -fcilkplus flag.
libtool strips this flag from LDFLAGS leading to an wrongly linked library.
To reproduce choose a random libtool based project (e.g. libmatheval)
and add this function in a random file (e.g. lib/node.c):
#include <cilk/cilk.h>
int n(char * a)
{
a = cilk_spawn atoi(a);
return a;
}
then configure build with:
./configure CFLAGS="-fcilkplus" LDFLAGS="-fcilkplus" CC=gcc-4.9
during linking -fcilkplus is not used and the library is underlinked
root <at> ubuntu:/libmatheval-1.1.11+dfsg# ldd -r ./lib/.libs/libmatheval.so
linux-vdso.so.1 (0x00007fffccdc4000)
/usr/lib/libeatmydata/libeatmydata.so (0x00007eff50cfd000)
/usr/lib/cowdancer/libcowdancer.so (0x00007eff50af9000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007eff507f3000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007eff5044a000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007eff50246000)
/lib64/ld-linux-x86-64.so.2 (0x00007eff5110f000)
undefined symbol: __cilkrts_rethrow (./lib/.libs/libmatheval.so)
undefined symbol: __cilkrts_enter_frame_1 (./lib/.libs/libmatheval.so)
undefined symbol: __cilkrts_save_fp_ctrl_state (./lib/.libs/libmatheval.so)
undefined symbol: __cilkrts_sync (./lib/.libs/libmatheval.so)
undefined symbol: __cilkrts_leave_frame (./lib/.libs/libmatheval.so)
undefined symbol: __cilkrts_enter_frame_fast_1 (./lib/.libs/libmatheval.so)
it needs to be linked against libcilkrts.so.5
This is identical to libtools stripping of fopenmp and the fix is the
same, add -fcilkplus to the whitelist.
Similar the new -fsanitizer= flags are stripped from LDFLAGS, they
should probably be added too.
Cheers,
Julian Taylor
[signature.asc (application/pgp-signature, attachment)]
[Message part 5 (message/rfc822, inline)]
[Message part 6 (text/plain, inline)]
Thank you for both for the bug report and patch. It has been applied to
the development branch in libtool.
--
Ileana Dumitrescu
GPG Public Key: FA26 CA78 4BE1 8892 7F22 B99F 6570 EA01 146F 7354
[OpenPGP_0x6570EA01146F7354.asc (application/pgp-keys, attachment)]
[OpenPGP_signature.asc (application/pgp-signature, attachment)]
This bug report was last modified 1 year and 50 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.