Sam James 33056c4e55 sys-devel/binutils: rework LTO handling
Get tests passing when LTO is used and rework USE=pgo handling while at it, as
it's interlinked with LTO b/c of the upstream infra for it.

This follows on from:
* 1764651a4f
* f900949be8
* f900949be8
where I kept hitting misc issues where the build for the live ebuild failed
with LTO or otherwise.

With this, I only needed one patch to libctf's tests [0] which I've now
pinged upstream. (I also had an odd single gprofng failure I haven't looked at
yet.)

* For LTO + (tests || pgo), always filter '-Wa,*'. This is an unfortunate one,
  but the bootstrap test fails with it.

* USE=pgo no longer implies LTO. If -flto is being used, then we pass
  --enable-pgo-build=lto. If not, we pass --enable-pgo-build=yes.

* For USE=pgo, filter out LTO after we applied the build system configuration,
  because otherwise there's a risk we're going to break the tests used for profiling.

* In src_test, use a subshell to localise the filtering of flags we do.

* For tests, pass {C,CXX,LD}FLAGS_FOR_TARGET to make, as otherwise it'll use
  what it found from configure (and e.g. pick up LTO again -> many tests fail
  as they're not intended to be used with it).

[0] https://inbox.sourceware.org/binutils/87sf2evr35.fsf@esperi.org.uk/

Signed-off-by: Sam James <sam@gentoo.org>
2024-03-09 17:53:29 +00:00
2024-02-24 18:42:13 -05:00
2024-02-24 18:43:07 -05:00
2024-03-09 15:19:36 +01:00
2024-03-08 13:19:17 +01:00
2024-03-08 09:14:49 +01:00
2024-03-09 12:54:50 +01:00
2024-03-09 10:46:20 +00:00
2024-03-09 13:04:34 +01:00
2024-03-03 23:31:16 +07:00
2024-03-09 14:56:30 +01:00
2024-03-08 12:35:19 +01:00
2024-03-01 11:05:34 +01:00
2024-03-08 19:11:30 +01:00
2024-03-08 13:31:38 +02:00
2024-02-29 04:28:33 +00:00
2024-02-22 07:50:23 +02:00
2024-03-08 22:37:04 +01:00
2024-02-10 13:05:41 +01:00
2024-03-06 21:31:00 +01:00
2024-03-07 10:51:51 -05:00
2024-03-07 06:07:55 -08:00
2024-03-08 15:33:21 +01:00
2024-03-09 10:54:52 +08:00
2024-03-08 15:49:27 +02:00
2024-03-09 13:39:35 +02:00
2024-03-05 10:17:19 +01:00
S
Description
No description provided
9.8 GiB
Languages
Shell 98%
Roff 1.3%
Emacs Lisp 0.2%
C 0.1%