This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]