Re: binutils: s390x: fails to link systemd binaries using LTO
Aurelien Jarno <[email protected]>
| Newsgroups | gmane.linux.debian.ports.s390 |
|---|---|
| Message-ID | <[email protected]> |
On 2017-06-19 23:50, Michael Biebl wrote: > On Tue, 30 May 2017 22:21:04 +0200 Michael Biebl <[email protected]> wrote: > > Package: binutils > > Version: 2.28-5 > > Severity: normal > > User: [email protected] > > Usertags: s390x > > > > Hi, > > > > we run into a strange issue when trying to compile systemd git master > > using meson. The build/link failure is s390x specific so I've CCed the > > s390x porters mailing list. The problem is easily reproducible on the > > zelenka porterbox. with the following commands: > > > > sessionid=$(schroot -b -c sid) > > dd-schroot-cmd -c $sessionid apt-get update > > dd-schroot-cmd -c $sessionid apt-get upgrade -y > > dd-schroot-cmd -c $sessionid apt-get build-dep systemd -y > > dd-schroot-cmd -c $sessionid apt-get install meson git -y > > schroot -r -c $sessionid > > git clone https://github.com/systemd/systemd > > cd systemd > > export LANG=C.UTF-8 > > meson -Db_lto=true -Dlink-udev-shared=false build > > ninja -C build > > > > This will lead to a failure to link the systemd-networkd, > > test-network-tables and test-network binaries. I've attached the > > relevant excerpt from the build log. > > > > Since this issue seems to be arch specific, this appears to be a problem > > in the s390x toolchain and not systemd itself. > > > > We would appreciate if the s390(x) porters could have a look. Could you please Cc the s390x porters next time? That would make us notice the issue faster. > Any feedback fro the s390 porters? The problem is related to the fact that gold is not available on s390x. It seems gold is less strict than ld in having to link with each used library. The problem can be fully reproduced on amd64 by using ld instead of gold: --- a/meson.build +++ b/meson.build @@ -312,7 +312,7 @@ link_test_c = files('tools/meson-link-test.c') foreach arg : ['-Wl,-z,relro', '-Wl,-z,now', '-pie', - '-Wl,-fuse-ld=gold', + '-Wl,-fuse-ld=ld', ] have = run_command(check_compilation_sh, Now to come back to the problem, the test is linked against src/libsystemd/libsystemd.a which uses pthread_sigmask. It looks therefore normal to add -lpthread to link it. Regards, Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B [email protected] http://www.aurel32.net
signature.asc
(application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEd0YmQqnvlP0Pdxltupx4Bh3djJsFAllJmgoACgkQupx4Bh3d jJulGA//UUty+LjmsSvao0/pLaqERN7viG/WfBGuE9Cum/688/NzpP8JHFoJxn0o rrnG5Juupk431BEXqBK9Rl+Cb5Ld/CpEQc8wbacx2tdf4Gj67uT+0rbSPSoXQH/U Fp46WGSdwyR40bh8s+PqKGazGvFb4V4+H1ZuEL0fhYMpOmVYhuospNwVmolVTx3x aHlej6pqsLmE/etXUHO3FPpUFciWq4fUTw4VUM5DAHruyQgn0Zo8dfAi/DWrPA81 v1LGfHYh/AR02heXnN3vS3mYmSHSMjAOwgzReMcxK1mk0XZcICtf8mXK3op7ojUC +8iqrq8mleKQpS7yms1v6LhLu68BtNv5IhLIexBBYy/4w9HCrZkeFSIhsQbm8OA2 +1Pm4U/QV8Md90cTg+43lu9ajASTDAfh7JICSUs/YvyA/dcrK+gtm4xeP5xLaNS+ NDDjkoQHa9S1zakINCWdz1mzUMwiUMYUruzuycKn1NZeEdhPD78YsT1TK65MPOyr 3hMKQkaJIyFLuu24MuAhrVNGVIf3OpTX9tY0cYMFLzYVaWpxGw5RuTdqfGGQKadZ FdC3cxgm6xluoqxAkSQcQfNo0nc3kdADrAVCAqhTJ4xIeauxuMnzXXVzcsJ6i+SH fYeB0SeRs3vR+07iDJMzC4iT0zyCJaOmxX9OYSrPYNCrkK0RrFA= =syMI -----END PGP SIGNATURE-----