Re: [PATCH 03/11] s390: vmlinux.lds.S: Explicitly handle '.got' and '.plt' sections

From: Nathan Chancellor
Date: Wed Feb 14 2024 - 14:48:45 EST


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