[U-Boot] Build failures with older toolchain

Premi, Sanjeev premi at ti.com
Wed Dec 1 15:56:47 CET 2010


> -----Original Message-----
> From: u-boot-bounces at lists.denx.de 
> [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Premi, Sanjeev
> Sent: Tuesday, November 30, 2010 7:56 PM
> To: u-boot at lists.denx.de
> Subject: Re: [U-Boot] Build failures with older toolchain
> 
> > -----Original Message-----
> > From: u-boot-bounces at lists.denx.de 
> > [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Premi, Sanjeev
> > Sent: Monday, November 29, 2010 8:38 PM
> > To: Wolfgang Denk
> > Cc: u-boot at lists.denx.de
> > Subject: Re: [U-Boot] Build failures with older toolchain
> > 
> 
> [snip]...[snip]
> 
> > > >
> > > >      I am process of downloading the 2009q3 version from 
> > > codesourcery
> > > >      Albert mentioned he is using it. Are you on the same 
> > version as
> > > >      well?
> > > 
> > > No, I'm using ELDk 4.2
> > 
> > [sp] Okay, so I downloaded both 2009-q3 and 2010.09-50 
> versions of the
> >      Codesourcery Lite edition.
> >      
> >      There is no difference in the observations between 
> > 2009q3 and 2010q1.
> > 

[snip]...[snip]

There were some good patches posted recently esp the bss_debug
tool and fix for ARM relocation from Andreas. Applied them in
order to get more information.

In addition, added print indicating the function being called
in for (init_funcptr= ....) loop within board_init_f().

Also added a print in the function omap3_evm_get_revision() just
to see if it ever gets called in due to incorrect sequencing.

I could confirm that functions in init_sequence[] are called
and omap3_evm_get_revision() is not called in this sequence.

When everything failed, I went back to the u-boot.lds and
changed the way overlay is defined.

...AND PROBLEM SEEMS TO BE SOLVED!

I can now compile u-boot with both 2009q1 and 2010q1 without
any error. (yet to try with 2010.09)

To verify, I wanted to do a before-and-after comparison but
couldn't have done for the omap3_evm - used omap3_beagle instead.

I haven't yet tried running the binary on the board; but here
are top level observations:

1) .bss and .rel.dyn are starting at same address.
2) The size of .rodata has increased. (Why? not yet spent time on?)

Sending the patch in next few mins:

~sanjeev

(Comparison: "<before" and ">after")

753c753
< .rodata         0x80035578     0x9f38
---
> .rodata         0x80035578     0x9f46
757c757
<  .rodata        0x8003571c       0xbc arch/arm/lib/libarm.o
---

=== [contents deleted] ===

< .u_boot_cmd     0x80041aac      0x658
---
> .u_boot_cmd     0x80041abc      0x658

=== [contents deleted] ===

967,968c967,973
< .rel.dyn        0x80042104     0x5af0
<                 0x80042104                __rel_dyn_start = .
---
> .dynsym         0x80042114       0xa0
>                 0x80042114                __dynsym_start = .
>  *(.dynsym)
>  .dynsym        0x80042114       0xa0 arch/arm/cpu/armv7/start.o
> 
> .rel.dyn        0x800421b4     0x5af0
>                 0x800421b4                __rel_dyn_start = .

=== [contents deleted] ===

984,985c986,987
< .bss            0x80042104    0x31ba8
<                 0x80042104                __bss_start = .
---
> .bss            0x800421b4    0x31bb4 load address 0x80047ca4
>                 0x80073d68                __bss_start = .

=== [contents deleted] ===

< .dynbss         0x80073cac        0x0
---
> .dynbss         0x80073d68        0x0 load address 0x80079858



More information about the U-Boot mailing list