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]

Reply via email to