[U-Boot-Users] [PATCH] Fix linker scripts: add NOLOAD atribute to .bss/.sbss sections
clemens.koller at anagramm.de
Wed Dec 12 12:17:43 CET 2007
> 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
> 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:
which should fix that issue.
Please be patient... I'll give you an update ASAP.
R&D Imaging Devices
More information about the U-Boot