[U-Boot] [PATCH] ARMv7: Fix linker errors across toolchain versions
Premi, Sanjeev
premi at ti.com
Wed Dec 1 18:19:23 CET 2010
> -----Original Message-----
> From: u-boot-bounces at lists.denx.de
> [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Albert ARIBAUD
> Sent: Wednesday, December 01, 2010 10:43 PM
> To: u-boot at lists.denx.de
> Subject: Re: [U-Boot] [PATCH] ARMv7: Fix linker errors across
> toolchain versions
>
> Le 01/12/2010 16:17, Sanjeev Premi a écrit :
> > This patch fixes the linker problems noticed while
> > building the omap3_evm with Codesourcery toolchains
> > 2009q1, 2009q3 and 2010q1.
> >
> > The compilation was tested as success for both
> > omap3_evm and omap3_beagle with toolchain versions
> > 2009q1 and 2010q1.
> >
> > [1] http://marc.info/?l=u-boot&m=129104332808386&w=2
> >
> > Signed-off-by: Sanjeev Premi<premi at ti.com>
> > ---
> > The patch touches all ARMv7 architectures, will need
> > to be reviewed thoroughly.
> >
> > I am getting hang of relocation feature, but definitely
> > hands-on. Impact would have to be reviewd as well.
> > This is the reason for sending the patch early - before
> > i start testing on the evm.
> >
> > arch/arm/cpu/armv7/u-boot.lds | 26 +++++++++++++++-----------
> > 1 files changed, 15 insertions(+), 11 deletions(-)
> >
> > diff --git a/arch/arm/cpu/armv7/u-boot.lds
> b/arch/arm/cpu/armv7/u-boot.lds
> > index 5725c30..faf6ad8 100644
> > --- a/arch/arm/cpu/armv7/u-boot.lds
> > +++ b/arch/arm/cpu/armv7/u-boot.lds
> > @@ -55,22 +55,26 @@ SECTIONS
> >
> > . = ALIGN(4);
> >
> > - .rel.dyn : {
> > - __rel_dyn_start = .;
> > - *(.rel*)
> > - __rel_dyn_end = .;
> > - }
> > -
> > .dynsym : {
> > __dynsym_start = .;
> > *(.dynsym)
> > }
> >
> > - .bss __rel_dyn_start (OVERLAY) : {
> > - __bss_start = .;
> > - *(.bss)
> > - . = ALIGN(4);
> > - _end = .;
> > + OVERLAY : NOCROSSREFS
> > + {
> > + .rel.dyn {
> > + __rel_dyn_start = .;
> > + *(.rel*)
> > + __rel_dyn_end = .;
> > + }
> > +
> > + .bss
> > + {
> > + __bss_start = .;
> > + *(.bss)
> > + . = ALIGN(4);
> > + _end = .;
> > + }
> > }
> >
> > /DISCARD/ : { *(.dynstr*) }
>
> Nak -- what we want to overlay is .bss on one hand, and
> .rel.dyn *plus*
> .dynsym on the other hand; OVERLAY { ... } does not allow this.
[sp] From the earlier discussion, I inferred the overlay was supposed
to be .rel.dyn and .bss.
Let me get the ".rel.dyn + .dynsym" overlay with ".bss".
If it works across compiler versions would that be okay?
~sanjeev
>
> Also, this change modifies the mapping, so if mi makes an obvious bug
> disappear, it may be only because the resulting u-boot corrupts
> relocation now in a less obvious way.
>
> Amicalement,
> --
> Albert.
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>
More information about the U-Boot
mailing list