Re: git: 78661696e639 - main - loader: i386: use -z nostart-stop-gc for bfd as well

From: Kyle Evans <kevans_at_FreeBSD.org>
Date: Fri, 09 May 2025 00:08:09 UTC
On 5/8/25 18:17, Brooks Davis wrote:
> On Thu, May 08, 2025 at 07:47:22PM +0000, Kyle Evans wrote:
>> The branch main has been updated by kevans:
>>
>> URL: https://cgit.FreeBSD.org/src/commit/?id=78661696e639836c9c41313020308f132057189a
>>
>> commit 78661696e639836c9c41313020308f132057189a
>> Author:     Kyle Evans <kevans@FreeBSD.org>
>> AuthorDate: 2025-05-08 19:47:16 +0000
>> Commit:     Kyle Evans <kevans@FreeBSD.org>
>> CommitDate: 2025-05-08 19:47:16 +0000
>>
>>      loader: i386: use -z nostart-stop-gc for bfd as well
>>      
>>      binutils 2.37 seems to have added the knob, so let's just use that
>>      version here (it's not clear if GC'ing start/stop symbols was actually
>>      made the default at the time, and it didn't seem worth it to dig much
>>      further).  This fixes misbehavior when built with more recent binutils,
>>      as we do rely on linker sets for loader commands that we use.
> 
> Do we need the version guards any more?  Even FreeBSD 12 has LLVM 13 and
> binutils 2.37 is about to turn 4.
> 
> -- Brooks

Yeah, probably not.  Jessica raised a valid point in the review that I 
had overlooked, though.  Based on Simon's feedback, I did light 
investigation to determine where the options were introduced and just 
slapped it on for at least that, assuming it later became the default.

Apparently it did not become the default, so it's not clear how Simon's 
build was different.  OTOH, I'm not sure if that really changes anything 
(except that the mystery isn't fully solved)- if it's possible to 
configure such a bfd, IMO it doesn't hurt to use it since these 
sections/symbols being retained is critical.

I don't see any reason not to drop the version bits.  Ubuntu 22.04 seems 
to have binutils 2.38, so that's good at least -- I wasn't sure if the 
timing on 2.37 was right for that (or even what Ubuntu's policy is there).

Thanks,

Kyle Evans