x86_64-pc-linux-gnu-gcc -O2 -march=native -pipe -std=gnu11 -funsigned-char -fvisibility=hidden -specs=/var/tmp/portage/sys-libs/efivar-38/work/efivar-38/src/include/gcc.specs -fno-merge-constants -std=gnu11 -funsigned-char -fvisibility=hidden -specs=/var/tmp/portage/sys-libs/efivar-38/work/efivar-38/src/include/gcc.specs -fno-merge-constants -L. -O2 -march=native -pipe -std=gnu11 -funsigned-char -fvisibility=hidden -specs=/var/tmp/portage/sys-libs/efivar-38/work/efivar-38/src/include/gcc.specs -fno-merge-constants -L. -Wl,-O1 -Wl,--as-needed -Wl,--add-needed -Wl,--build-id -Wl,--no-allow-shlib-undefined -Wl,--no-undefined-version -Wl,-z,now -Wl,-z,muldefs -Wl,-z,relro -Wl,--fatal-warnings -Wl,--add-needed -Wl,--build-id -Wl,--no-allow-shlib-undefined -Wl,--no-undefined-version -Wl,-z,now -Wl,-z,muldefs -Wl,-z,relro -Wl,--fatal-warnings -DLIBEFIVAR_VERSION=38 -D_GNU_SOURCE -I/var/tmp/portage/sys-libs/efivar-38/work/efivar-38/src/include/ -shared -Wl,-soname,libefisec.so.1 -Wl,--version-script=libefisec.map \ \ -o libefisec.so sec.o secdb.o esl-iter.o util.o ln -vfs libefisec.so libefisec.so.1 'libefisec.so.1' -> 'libefisec.so' x86_64-pc-linux-gnu-gcc -O2 -march=native -pipe -std=gnu11 -funsigned-char -fvisibility=hidden -specs=/var/tmp/portage/sys-libs/efivar-38/work/efivar-38/src/include/gcc.specs -fno-merge-constants -std=gnu11 -funsigned-char -fvisibility=hidden -specs=/var/tmp/portage/sys-libs/efivar-38/work/efivar-38/src/include/gcc.specs -fno-merge-constants -L. -O2 -march=native -pipe -std=gnu11 -funsigned-char -fvisibility=hidden -specs=/var/tmp/portage/sys-libs/efivar-38/work/efivar-38/src/include/gcc.specs -fno-merge-constants -L. -Wl,-O1 -Wl,--as-needed -Wl,--add-needed -Wl,--build-id -Wl,--no-allow-shlib-undefined -Wl,--no-undefined-version -Wl,-z,now -Wl,-z,muldefs -Wl,-z,relro -Wl,--fatal-warnings -Wl,--add-needed -Wl,--build-id -Wl,--no-allow-shlib-undefined -Wl,--no-undefined-version -Wl,-z,now -Wl,-z,muldefs -Wl,-z,relro -Wl,--fatal-warnings -DLIBEFIVAR_VERSION=38 -D_GNU_SOURCE -I/var/tmp/portage/sys-libs/efivar-38/work/efivar-38/src/include/ -shared -Wl,-soname,libefivar.so.1 -Wl,--version-script=libefivar.map \ guids.lds \ -o libefivar.so crc32.o dp.o dp-acpi.o dp-hw.o dp-media.o dp-message.o efivarfs.o error.o export.o guid.o guid-symbols.o lib.o vars.o time.o -ldl /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: warning: guids.lds contains output sections; did you forget -T? collect2: error: ld returned 1 exit status make[1]: *** [/var/tmp/portage/sys-libs/efivar-38/work/efivar-38/src/include/rules.mk:39: libefivar.so] Error 1 rm thread-test.o Reproducible: Always
Please see github commit URL for patch.
(In reply to Attila Tóth from comment #1) > Please see github commit URL for patch. It works with binutils-2.37, but - as it is visible in the patch - for version 2.36 the linker option -T is not added.
Is there some reason you are still using binutils-2.36?
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a210fd9af7db9e2d9088fd39d3f030153596c17a commit a210fd9af7db9e2d9088fd39d3f030153596c17a Author: Mike Gilbert <floppym@gentoo.org> AuthorDate: 2022-01-18 18:28:08 +0000 Commit: Mike Gilbert <floppym@gentoo.org> CommitDate: 2022-01-18 18:28:08 +0000 sys-libs/efivar: backport fix for binutils-2.36 Closes: https://bugs.gentoo.org/831417 Signed-off-by: Mike Gilbert <floppym@gentoo.org> sys-libs/efivar/efivar-38.ebuild | 1 + .../efivar/files/efivar-38-binutils-2.36.patch | 30 ++++++++++++++++++++++ 2 files changed, 31 insertions(+)
(In reply to Mike Gilbert from comment #3) > Is there some reason you are still using binutils-2.36? I just forgot to bump using eselect. Now I'm on binutils-2.37, but I thought I would leave a trace, that might be helpful for others.