Created attachment 424630 [details, diff] udev ebuild patch Gold is broken on sparc64 and udev is hard coded to use it. This breaks udev and anything that needs udev. eudev works fine however. This is a relatively simple patch recommenced by Mike Frysinger which causes udev to use bfd, the default linker. Please see the attached patch
note: upstream is aware of the gold breakage and is working on it
Comment on attachment 424630 [details, diff] udev ebuild patch >- looks like your diff is reversed >- # Gold is broken on sparc... we normally omit things like "..." and just use complete sentences. we also add a tag for the relevant bug number. # Gold is broken on sparc currently. #573874 >- if use sparc ; then >- sed -i 's:-Wl,-fuse-ld=gold::' configure.ac || die >- fi since you're modifying configure.ac (an autotools input), this needs to come before the eautoreconf command called earlier in this func
econf ... cc_cv_LDFLAGS__Wl__fuse_ld_gold=no and issue solved.
Alex: Does this cause a build failure, or a runtime failure? I'm wondering how this got missed in arch testing and stabilization.
(In reply to Mike Gilbert from comment #4) sparc64 isn't a supported target (yet). the bug in question doesn't affect sparc32. it's a runtime error.
Thanks. sys-apps/systemd is almost certainly affected as well.
Created attachment 424700 [details, diff] Revised udev patch This should have the above issues fixed.
(In reply to Michał Górny from comment #3) > econf ... cc_cv_LDFLAGS__Wl__fuse_ld_gold=no > > and issue solved. IIRC, this did not fix the issue and udev compiled against gold anyways. I'll try again when i get back to the office in order to verify.
As a side note: if gold is broken on sparc, why is it installed?
as i noted in comment #1, upstream is already working on the bug that udev hits
Created attachment 424804 [details, diff] Revised udev patch (In reply to Michał Górny from comment #3) > econf ... cc_cv_LDFLAGS__Wl__fuse_ld_gold=no > > and issue solved. Not sure why i wasn't able to get this to work before, but it seems to be working fine. New patch added as i find it much cleaner.
Created attachment 424960 [details, diff] Disable ld.gold by default Here's a patch that does this unconditionally. I'm setting an environment variable for consistency with existing overrides.
(In reply to Mike Gilbert from comment #13) that makes sense to me. the user already gets to select the default linker via binutils-config or their LDFLAGS, and that applies to all packages.
This is applied in 229.