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]

Re: binutils 2.18 release linker script


Hi Jari,

   .sbss :
   {
       . = ALIGN(4);
       *(.sbss) /* small uninitialized data */
       . = ALIGN(4);
       *(.scommon) /* small 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?

First try repeating your test using a linker built from the latest mainline binutils sources. (In case you have encountered a bug that has already been fixed).


Second check the linker command line to make sure that your linker script really is being used. If you are invoking the linker via gcc for example then it is possible that another script is automatically being added to the linker command line.

If the problem persists please file a bug report at:

http://sourceware.org/bugzilla/

It will really help if you can include a test case that reproduces the problem.

Cheers
  Nick


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