[RFT/RFC PATCH 6/6] ARM: keep .text and .fixup regions together

Arnd Bergmann arnd at arndb.de
Fri Mar 13 04:52:09 PDT 2015


On Friday 13 March 2015 12:26:11 Ard Biesheuvel wrote:
> On 13 March 2015 at 12:18, Arnd Bergmann <arnd at arndb.de> wrote:
> > On Thursday 12 March 2015 21:22:02 Russell King - ARM Linux wrote:
> >> On Thu, Mar 12, 2015 at 10:18:26PM +0100, Ard Biesheuvel wrote:
> >> > >> Note that the TEXT_TEXT macro will emit *(.text) again but this should be
> >> > >> harmless.
> >> > >
> >> > > However, I wonder if by doing this, we're weakening the ability for
> >> > > kallsyms final link to succeed:
> >> > >
> >> > > /* .text section. Map to function alignment to avoid address changes
> >> > >  * during second ld run in second ld pass when generating System.map */
> >> > >
> >> > > Can we not just move .fixup before TEXT_TEXT?  The only thing between it
> >> > > and .text would be .text.hot.
> >> > >
> >> >
> >> > Putting .fixup before .text already helps, but not enough for the
> >> > .config Arnd gave me that I have been testing this with.
> >> >
> >> > What *(.text .fixup) does (i.e., putting both section names inside the
> >> > parentheses), is emitting both sections for each input object file, so
> >> > they will always be close to the object that it refers to, so it is
> >> > not the same thing.
> >>
> >> I'll suggest a different solution then - how about modifying
> >> asm-generic/vmlinux.lds.h to change *(.text) to *(.text .text.fixup)
> >> and we move all the .fixup sections to .text.fixup ?  Arnd?
> >
> > No objections from me, but I really don't know enough about the possible
> > side-effects this may have on the other architectures, so we need to
> > run this by the linux-arch mailing list.
> >
> 
> I don't think it could affect any other architecture if nobody is
> populating .text.fixup yet.

Ah, I missed that part of the suggestion. Yes, sounds good to me then.

	Arnd



More information about the linux-arm-kernel mailing list