21:49:09 [illumos-gate] 16935 Use gcc 14 as shadow compiler -- Robert Mustacchi 21:50:14 Hi all, with this, the expected gcc shadow is going to be gcc14 per prior mail on this. Please reach out with any questions. 21:50:45 nice, thanks! 21:51:24 Thanks to all (especially tsoome) for grinding through all the necessary changes to make this possible! 21:53:24 awesome, thanks toomas and everyone 22:02:27 yes, thank you! 22:02:29 cool 22:21:16 Thanks tsoome_ and everyone! 22:25:25 fwiw, just tried gcc14 as primary, it built and even booted :D 22:29:43 ofc it does boot:P 22:30:17 I have been running 14 built system as the last cleanups were done;) 22:36:14 I think it's pretty rare that it won't boot if it works as a shadow, FWIW 22:36:52 The sadness tends to be more around new miscompilation or weird new anti-debugging features :P 22:37:04 in which case it is fortunate I and yuripv used it as primary;) 22:37:17 Yes, thank you! 22:37:30 Have you noticed any performance differences? 22:37:35 Double-check your outside-gate software... gcc14 breaks more than a few older-software's `configure` feature checks. 22:38:51 not obviously noticeable ones, but I really havent done serious performance related tests. 22:41:16 right now the effort has been to make those builds possible and so people can start to work on testing and improving.... 22:46:32 tsoome_: Yes, definitely makes sense! 22:59:42 tsoome_: i just remember the switch to gcc10 in our fork, where some code would build by gcc10 shadow, but fail to link or load (kernel modules) when built by gcc10 primary 23:00:26 yep, I think we had something with 14 too 23:00:35 I guess 10 did that COMDAT change 23:00:43 maybe? 23:01:07 i think it was the multiply-defined symbols, among other issues 23:01:26 16867 gcc 14 needs to use -gstrict-dwarf afterall -- this was one 23:02:56 yuripv: Yeah I think that was the COMDAT thing where they stopped deduping stuff 23:03:31 jclulow: ah okay, wasn't sure if it's the same issue 23:03:40 I remember it being obscure haha 23:03:54 but honestly who can even remember breakfast 23:04:54 but otherwise yes, we do depend on compiler and not all what we do get is pure gold:) 23:05:57 but then again, there is also unbelievable amount of bad code around too. 23:07:48 tsoome_: have you seen gcc 14 be more agressive about dead code elimination? 23:10:02 I'm not sure about that. hm, I guess some wsdiffs on proto trees would be in order:D 23:11:52 but otherwise.. I still have about 90 commits in my smatch cleanup branch and still have to find why my zfs patch branch does get one multilist empty while it should not be... ;) 23:12:19 wsdiff of a compiler change is usually unreadable 23:12:44 but I noticed that some code of mine got more thoroughily eliminated, and made me fix (now) unused libs 23:14:13 yea, would need "approximate" diff for wsdiff... 23:14:34 where is that AI when one needs it... 23:15:38 It's off in the back woods, hallucinating. 23:15:40 probably checking function sizes may give some hints. 23:16:24 in this case, I could check for entire symbols disappearing for the thing that actually tripped me 23:16:42 but I'm not sure there's an easy automatic way to find things that don't remove whole symbols, beyond what you suggest :\ 23:17:31 lost public symbols should be discovered via linker maps, but local ones... 23:18:49 but as you said, there's lots of bad code 23:19:41 I'm just wondering if I should get a head start on finding it :)