Re: [PATCH] x86: clean up vdso-layout.lds.S

From: Petr Tesarik
Date: Tue Jun 09 2009 - 03:57:49 EST


Roland McGrath pÃÅe v Ãt 09. 06. 2009 v 00:52 -0700:
> > > I am wondering why we need -P -C here - but we do not need it for lds.S files?
> > > Seems like something we could let go.
>
> AFAIK these only affect readability of the lds.s output files.
> The difference should be entirely cosmetic.
>
> > > > > .altinstructions : { *(.altinstructions) }
> > > > > @@ -43,9 +42,49 @@ SECTIONS
> > > > > */
> > > > > . = ALIGN(0x100);
> > >
> > > What is 0x100?
> >
> > Um. No idea. Roland, you added this line in commit
> > f6b46ebf904f69a73907a5e6b1ed2228e3f03d9e. Can you shed some light on
> > this magic constant?
>
> You mean this one:
>
> /*
> * Align the actual code well away from the non-instruction data.
> * This is the best thing for the I-cache.
> */
> . = ALIGN(0x100);
>
> Reading the comment might make it obvious that it's intended for optimal
> code alignment. I suspect someone at the time told me 256 is as big as an
> I-cache line was ever likely to get. You could use L1_CACHE_BYTES instead
> I suppose.
>
> > What would you expect? The linker script language is quite limited in
> > its capabilities... Best I could do is split the ".broken" section into
> > several sections and move the descriptions from the individual comments
> > above here. If this muckle of empty ".broken.*" sections gets correctly
> > discarded and triggers no bug in binutils, I can probably do it.
>
> Adding more sections and section names unnecessarily bloats the size of the
> vDSO image. Keep the set of output sections to the necessary minimum.

Which version of binutils are you using? I'm using binutils-2.19, and
all empty sections get completely discarded, i.e. they do not affect the
size of the output in any way.

Petr Tesarik


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/