Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 948267 - sys-libs/efivar: uses tc-ld-force-bfd unnecessarily?
Summary: sys-libs/efivar: uses tc-ld-force-bfd unnecessarily?
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Mike Gilbert
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: LD-is-lld, systemwide-lld
  Show dependency tree
 
Reported: 2025-01-18 01:48 UTC by kkflt
Modified: 2025-01-25 00:18 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge_info.out (file_948267.txt,7.35 KB, text/plain)
2025-01-23 05:09 UTC, darbi
Details
efivar-39-r1_build.log (file_948267.txt,3.43 KB, text/plain)
2025-01-23 05:12 UTC, darbi
Details
efivar-39-r1_build.log-without-tc-ld-force-bfd_with-llvm_binutils-plugin (file_948267.txt,37.92 KB, text/plain)
2025-01-24 21:11 UTC, darbi
Details

Note You need to log in before you can comment on or make changes to this bug.
Description kkflt 2025-01-18 01:48:43 UTC
it fails on musl clang profile as it forces bfd linker
Comment 1 James McGeehan IV 2025-01-18 13:09:53 UTC
(In reply to kkflt from comment #0)
> it fails on musl clang profile as it forces bfd linker

Is your llvm built with the USE flag binutils-plugin enabled? If not, try rebuilding llvm with that USE flag enabled and try again.
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-01-18 13:12:17 UTC
Please always include the full build.log and emerge --info.
Comment 3 darbi 2025-01-23 05:08:07 UTC
(In reply to Sam James from comment #2)
> Please always include the full build.log and emerge --info.


(In reply to James McGeehan IV from comment #1)
> (In reply to kkflt from comment #0)
> > it fails on musl clang profile as it forces bfd linker
> 
> Is your llvm built with the USE flag binutils-plugin enabled? If not, try
> rebuilding llvm with that USE flag enabled and try again.

This happened to me too on my musl/llvm system.

It looks like this diff forces bfd instead of what was fine with ld.lld before https://github.com/gentoo/gentoo/commit/7c3da2ea18bcaeaad647ce2364aebe01cdbf4861#diff-24a6522362fb84bddfe59522eff719110fa85fbd5bd0412dfecb1eafb4215bd5
Comment 4 darbi 2025-01-23 05:09:47 UTC
Created attachment 917346 [details]
emerge_info.out
Comment 5 darbi 2025-01-23 05:12:49 UTC
Created attachment 917347 [details]
efivar-39-r1_build.log
Comment 6 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-01-23 05:16:38 UTC
Right, tc-ld-disable-gold is deprecated and often, the right fix is to replace it with tc-ld-force-bfd. If it works with LLD, we can drop that.

(Assuming it works with mold. If it doesn't, I'd much rather force bfd.)
Comment 7 darbi 2025-01-24 21:11:33 UTC
Created attachment 917436 [details]
efivar-39-r1_build.log-without-tc-ld-force-bfd_with-llvm_binutils-plugin

Here's a successful build log. I recompiled llvm with the binutils-plugin USE flag and deleted tc-ld-force-bfd from the efivar-39-r1 ebuild. It looks like everything compiled fine, but you guys probably know what else needs modifying.
Comment 8 Mike Gilbert gentoo-dev 2025-01-25 00:08:45 UTC
(In reply to darbi from comment #3)

Your issue is actually quite different from the original issue. In the future, please file a new bug instead.
Comment 9 Larry the Git Cow gentoo-dev 2025-01-25 00:18:10 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d38da339ac2db2f5d517da00d06014682ca3cb8d

commit d38da339ac2db2f5d517da00d06014682ca3cb8d
Author:     Mike Gilbert <floppym@gentoo.org>
AuthorDate: 2025-01-25 00:03:03 +0000
Commit:     Mike Gilbert <floppym@gentoo.org>
CommitDate: 2025-01-25 00:17:54 +0000

    sys-libs/efivar: drop tc-ld-force-bfd
    
    It appears to work with lld.
    
    Closes: https://bugs.gentoo.org/948267
    Signed-off-by: Mike Gilbert <floppym@gentoo.org>

 sys-libs/efivar/efivar-39-r1.ebuild | 1 -
 1 file changed, 1 deletion(-)