On 2025/08/31 12:44, Christos Zoulas wrote:
On Aug 30, 2025, at 11:20 PM, Rin Okuyama <rokuyama.rk%gmail.com@localhost> wrote: Hi, On 2025/08/30 10:22, Christos Zoulas wrote:Module Name: src Committed By: christos Date: Sat Aug 30 01:22:33 UTC 2025 Modified Files: src/share/mk: bsd.own.mk Log Message: revert new binutils change. Most of the errors are caused by larger binaries produced. Will investigate.Increase of crunched-binary size is due to this upstream commit: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=023e60ced0c850aa32ac4a948877d25592d44401;hp=c0a07e7d48801c7cffaf825545fc05024a7c686e Now, .note.netbsd.* sections are located behind .eh_frame. Therefore, strip(1) cannot remove .eh_frame, and carries out zero clear for that section instead. This does not affect non-crunched binaries, for which we do not strip .eh_frame sections. This seems to be fixed if we revert the upstream commit, or replace .note.netbsd.* sections earlier in the rodata sections. But, I'm not very sure which fix is preferable...Thanks for looking into it. I found the same thing earlier this evening. Apparently they were trying to fix some csky-linux issue (https://patchwork.sourceware.org/project/binutils/patch/CAMe9rOp8+wtNAWX3Epo9yGSCA1xsFMZ4SR=F0y4GQMc1_NOG-A%mail.gmail.com@localhost/) by moving the notes as you described. I think that we should report this upstream and revert the change for now to unblock the upgrade. Hopefully they will either provide a fix that avoids the space loss, or we'll have to come up with something that they can accept upstream.
Oops, my previous message was not correct. Just reverting the upstream commit is not enough; strip(1) does not work as intended :( If .note.* lines are removed both from elf.sc and misc-sections.sc, .note.* sections are located after .interp, as done by binutils 2.42, and everything seems just OK. Anyway, I've posted a bug report to upstream: https://sourceware.org/bugzilla/show_bug.cgi?id=33344 Thanks, rin
Best, christos