fish-3.1.2 unconditionally sets "-fuse-ld=gold" , fish-3.2.2 makes that even worse and sets "-fuse-ld=lld" , which breaks LTO builds on gcc. Just patching out the section from the CMakeLists.txt works.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2b57511643716436599d1ec2b839035d3cb6d696 commit 2b57511643716436599d1ec2b839035d3cb6d696 Author: Georgy Yakovlev <gyakovlev@gentoo.org> AuthorDate: 2021-06-30 03:18:08 +0000 Commit: Georgy Yakovlev <gyakovlev@gentoo.org> CommitDate: 2021-07-06 17:09:42 +0000 app-shells/fish: add 3.3.1 terminal size test fails, depending on size of terminal fish is tested in. Bug: https://bugs.gentoo.org/790596 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> app-shells/fish/Manifest | 1 + .../fish/files/3.3.1-don-t-override-linker.patch | 48 +++++++++++ .../fish/files/3.3.1-sbin-path-sh-test.patch | 25 ++++++ app-shells/fish/fish-3.3.1.ebuild | 94 ++++++++++++++++++++++ 4 files changed, 168 insertions(+)
all versions with hardcode are gone, we carry a patch for now. upstream removed override too https://github.com/fish-shell/fish-shell/commit/07457bf2f1660f5d04437aecde3dcdf0cb44567d#diff-1e7de1ae2d059d21e1dd75d5812d5a34b0222cef273b7c3a2af62eb747f9d20a