Hi, I've found the explanation... The linker option "-Wl,--copy-dt-needed-entries" was set in platformconfig's extra LDFLAGS. It was not coming from any systemd dependencies, like util-linux-ng libraries, which I first suspected. So systemd now uses ld.gold and links successfully without any extra patches after a rebuild.
The previous mail and the patch can therefore be disregarded. Best regards, Marc -----Ursprüngliche Nachricht----- Von: ptxdist [mailto:[email protected]] Im Auftrag von Riese, Marc AVL DiTEST Gesendet: Donnerstag, 21. Juli 2016 11:54 An: [email protected] Betreff: [ptxdist] Systemd linker errors with ld.gold Hi, When using the latest toolchain OSELAS.Toolchain-2016.06.0 together with ptxdist-2016.07.0, I get a few of the following linker errors when building systemd-230, for example: CCLD udevadm /opt/OSELAS.Toolchain-2016.06.0/arm-cortexa8-linux-gnueabi/gcc-5.4.0-glibc-2.23-binutils-2.26-kernel-4.6-sanitized/lib/gcc/arm-cortexa8-linux-gnueabi/5.4.0/../../../../arm-cortexa8-linux-gnueabi/bin/ld.gold: error: --copy-dt-needed-entries is not supported but is required for libuuid.so.1 in /home/developer/ptxdist/ptxdist-beaglebone/platform-pengutronix-beagleboneti/sysroot-target/usr/lib/libblkid.so collect2: error: ld returned 1 exit status Makefile:13013: recipe for target 'udevadm' failed make[3]: *** [udevadm] Error 1 It seems that some of the libraries in the sysroot-target have been built with ld.bfd instead, which supports the --copy-dt-needed-entries option. The ld.gold manpage says explicitly, that it doesn't support the --copy-dt-needed-entries option. So, I'm not sure if this is the best solution, but removing systemd's configure.ac LDFLAG for ld.gold fixed this for me, as it defaults back to ld.bfd instead. Although I'm still wondering, why systemd would use ld.gold at all, when it doesn't support a required option. If someone has an explanation, that would be appreciated. Best regards, Marc --- a/configure.ac 2016-07-21 10:11:53.250039000 +0200 +++ b/configure.ac 2016-07-21 10:12:14.322039000 +0200 @@ -247,8 +247,7 @@ -Wl,--no-undefined \ -Wl,-z,relro \ -Wl,-z,now \ - -pie \ - -Wl,-fuse-ld=gold]) + -pie]) AC_SUBST([OUR_LDFLAGS], "$with_ldflags $sanitizer_ldflags") AC_CHECK_SIZEOF(pid_t) _______________________________________________ ptxdist mailing list [email protected] _______________________________________________ ptxdist mailing list [email protected]
