Hi Michael, On Sat, 07 Jul 2012 16:55:21 +1000 Michael Ellerman <mich...@ellerman.id.au> wrote: > > On Fri, 2012-07-06 at 17:09 +1000, Stephen Rothwell wrote: > > This allows the linker to know that calls to them do not need to switch > > TOC and stop errors like the following when linking large configurations: > > > arch/powerpc/lib/crtsavres.S | 5 ++++- > > You didn't make any change to the linker script? How does this section > get in there? I don't see a .text* anywhere?
Yeah. ld just seems to figure it out (I note that we also have sections called .text.unlikely and .text.startup). > > diff --git a/arch/powerpc/lib/crtsavres.S b/arch/powerpc/lib/crtsavres.S > > index 1c893f0..b2c68ce 100644 > > --- a/arch/powerpc/lib/crtsavres.S > > +++ b/arch/powerpc/lib/crtsavres.S > > @@ -41,12 +41,13 @@ > > #include <asm/ppc_asm.h> > > > > .file "crtsavres.S" > > - .section ".text" > > > > #ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE > > > > #ifndef CONFIG_PPC64 > > > > + .section ".text" > > + > > /* Routines for saving integer registers, called by the compiler. */ > > /* Called with r11 pointing to the stack header word of the caller of the > > */ > > /* function, just beyond the end of the integer save area. */ > > @@ -232,6 +233,8 @@ _GLOBAL(_rest32gpr_31_x) > > > > #else /* CONFIG_PPC64 */ > > > > + .section ".text.save.restore","ax",@progbits > > + > > .globl _savegpr0_14 > > _savegpr0_14: > > std r14,-144(r1) > > Any reason to not put the 32-bit versions in the same section? AFAICS > nothing in that file uses the TOC. 32 bit does not use a toc (apparently). And I figured to make the minimal change to the output. -- Cheers, Stephen Rothwell s...@canb.auug.org.au
pgpEZnOW7VpPA.pgp
Description: PGP signature
_______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev