[U-Boot-Users] [PATCH] Fix linker scripts: add NOLOAD atribute to .bss/.sbss sections

Clemens Koller
2007-12-12T11:17:43Z

brino schrieb:
> Hi All,
>
> This fix doesn't work with binutils-2.18. I'm building u-boot for the amcc
> yosemite board using cygwin and cross binutils-2.18/gcc-4.2.2 for a
> powerpc-eabi target.

Yes, binutils-2.18 have this broken. binutils-2.17 work fine.

> The linker complains that "section .text can't be
> allocated in segment 0." The .bss section is by default a NOLOAD section
> with binutils-2.18 meaning it occupies no space in the file. However, the
> .bss section is an ALLOC section meaning it does occupy space in target
> memory. The linker runs an error check to make sure all sections will
> fit within the file and all sections will fit within target memory. All
> sections
> do fit within the file, however the sections do not fit within target memory
> because of the wrap around end of memory.
>
> We could definitely drop the TEXT_BASE address lower which would fix
> the problem, but isn't ideal since the image would take up more flash for
> no reason. We could link with TEXT_BASE=0 and then burn it to flash at
> address 0xFFF80000 (this is where the current TEXT_BASE is for the
> yosemite board). Whats the reason it's linked at 0xFFF80000 anyway?
> Is there an elf loader which burns it into flash? There's also the 'AT'
> attribute in the linker script which may help, however, I don't quite
> understand the use of it yet. Any suggestions on how to approach this?

I am about to verify the latest binutils-snapshot. There have been
the following patch included:
http://sourceware.org/ml/binutils/2007-11/msg00235.html
which should fix that issue.

Please be patient... I'll give you an update ASAP.

Regards,

Clemens Koller
__________________________________
R&D Imaging Devices
Anagramm GmbH
Rupert-Mayer-Stra?e 45/1
Linhof Werksgel?nde
D-81379 M?nchen
Tel.089-741518-50
Fax 089-741518-19