On Wed, Feb 14, 2024 at 01:20:55PM +0100, Heiko Carstens wrote: > On Mon, Feb 12, 2024 at 09:31:53PM -0800, Fangrui Song wrote: > > On Wed, Feb 7, 2024 at 4:15 PM Nathan Chancellor <nathan@xxxxxxxxxx> wrote: > > > + ASSERT(SIZEOF(.got.plt) == 0, "Unexpected GOT/PLT entries detected!") > > > + .plt : { > > > + *(.plt) > > > + *(.plt.*) > > > + *(.iplt) > > > + *(.igot .igot.plt) > > > + } > > > + ASSERT(SIZEOF(.plt) == 0, "Unexpected run-time procedure linkages detected!") > > > + > > > > It seems that arches that drop .plt typically place input section > > description on one line. This saves vertical space. > > It's shorter to use one input section description to match multiple > > sections, e.g. > > > > *(.plt .iplt) > > Yes, I'll change Nathan's patch so it looks like arm64: > > /* > * Sections that should stay zero sized, which is safer to > * explicitly check instead of blindly discarding. > */ > .plt : { > *(.plt) *(.plt.*) *(.iplt) *(.igot .igot.plt) > } Thanks a lot for changing this. I tried to be consistent with the rest of the linker script but I guess there were not really any sections that had this many lines to make it one lining it worth it prior to this point. Stylistic expectations are hard to account for :) Cheers, Nathan