From: brino <raptorbrino@netscape.net>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] [PATCH] Fix linker scripts: add NOLOAD atribute to .bss/.sbss sections
Date: Tue, 11 Dec 2007 14:50:47 -0800 (PST) [thread overview]
Message-ID: <14285357.post@talk.nabble.com> (raw)
In-Reply-To: <20071207072815.4be2a59c@weaponx>
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. 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?
Thanks,
Brian
Josh Boyer-3 wrote:
>
> On Fri, 7 Dec 2007 12:16:54 +0100
> Wolfgang Denk <wd@denx.de> wrote:
>
>> With recent toolchain versions, some boards would not build because
>> or errors like this one (here for ocotea board when building with
>> ELDK 4.2):
>> ppc_4xx-ld: section .bootpg [fffff000 -> fffff23b] overlaps section .bss
>> [fffee900 -> fffff8ab]
>>
>> For many boards, the .bss section is big enough that it wraps around
>> at the end of the address space (0xFFFFFFFF), so the problem will not
>> be visible unless you use a 64 bit tool chain for development. On
>> some boards however, changes to the code size (due to different
>> optimizations) we bail out with section overlaps like above.
>>
>> The fix is to add the NOLOAD attribute to the .bss and .sbss
>> sections, telling the linker that .bss does not consume any space in
>> the image.
>
> YAY! I've been having to work around this for a while now. Looking
> forward to trying it out.
>
> josh
>
> -------------------------------------------------------------------------
> SF.Net email is sponsored by:
> Check out the new SourceForge.net Marketplace.
> It's the best place to buy or sell services for
> just about anything Open Source.
> http://sourceforge.net/services/buy/index.php
> _______________________________________________
> U-Boot-Users mailing list
> U-Boot-Users at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/u-boot-users
>
>
--
View this message in context: http://www.nabble.com/-PATCH--Fix-linker-scripts%3A-add-NOLOAD-atribute-to-.bss-.sbss-sections-tp14210775p14285357.html
Sent from the Uboot - Users mailing list archive at Nabble.com.
next prev parent reply other threads:[~2007-12-11 22:50 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-07 11:16 [U-Boot-Users] [PATCH] Fix linker scripts: add NOLOAD atribute to .bss/.sbss sections Wolfgang Denk
2007-12-07 13:28 ` Josh Boyer
2007-12-11 22:50 ` brino [this message]
2007-12-12 11:17 ` Clemens Koller
2007-12-12 11:32 ` [U-Boot-Users] fixed: " Clemens Koller
2008-01-12 19:34 ` [U-Boot-Users] " Wolfgang Denk
2008-01-13 13:59 ` Stefan Roese
2008-02-03 23:32 ` [U-Boot-Users] [PPC] PLEASE READ - was: " Wolfgang Denk
2008-02-04 10:37 ` Stefan Roese
2008-02-04 16:56 ` Scott Wood
2008-02-04 19:14 ` Wolfgang Denk
2008-02-04 19:17 ` Scott Wood
2008-02-14 22:19 ` Wolfgang Denk
2008-02-15 18:18 ` Joakim Tjernlund
2008-02-06 9:59 ` Joakim Tjernlund
2008-02-06 22:11 ` Wolfgang Denk
2008-02-07 0:20 ` Joakim Tjernlund
2008-02-07 16:13 ` Wolfgang Denk
2008-02-04 17:40 ` Timur Tabi
2008-02-04 19:16 ` Wolfgang Denk
2008-02-04 19:24 ` Timur Tabi
2008-02-04 20:36 ` Wolfgang Denk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=14285357.post@talk.nabble.com \
--to=raptorbrino@netscape.net \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox