This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
binutils 2.18 release linker script
- From: Jari Kuusisto <jari dot h dot kuusisto at gmail dot com>
- To: binutils at sourceware dot org
- Date: Mon, 29 Sep 2008 10:25:22 +0300
- Subject: binutils 2.18 release linker script
Hello all,
I'm having troubles setting correct memory addresses for .sbss and .bss
data sections in my linker script. I'm trying to set the following:
.sbss :
{
. = ALIGN(4);
*(.sbss) /* small uninitialized data */
. = ALIGN(4);
*(.scommon) /* small common */
} > external_ram AT > external_ram
.bss :
{
. = ALIGN(4);
*(.bss) /* large uninitialized data */
. = ALIGN(4);
*(COMMON) /* large common */
} > external_ram AT > external_ram
The external_ram is specified in MEMORY to address 0x400000:
external_ram : org = 0x400000, len = 0x400000
However when linking, the memory addresses (VMA and LMA) seem to be wrong:
/usr/local/lib/gcc/powerpc-eabi/4.3.2/../../../../powerpc-eabi/bin/ld:
section .sbss [00023f80 -> 000243bf] overlaps section .ramcode [00023f7d
-> 0005d674]
/usr/local/lib/gcc/powerpc-eabi/4.3.2/../../../../powerpc-eabi/bin/ld:
section .reloc_exceptions [0005d675 -> 0005d774] overlaps section .bss
[000243c0 -> 0008a11e]
It seems that linker is still trying to put the .bss and .sbss data
sections to rom despite the linker script output section attributes.
Can someone tell me what I'm doing wrong?
BR. Jari K.