linker script for V850?
Nick Clifton
nickc@redhat.com
Tue May 2 08:52:00 GMT 2006
Hi Torsten,
First of all, this question should be asked on the binutils mailing
list (binutils@sourceware.org) since it concerns the linker and linker
scripts and not the newlib mailing list since it does not concern the
newlib C library. I am adding a CC to the the binutils list and I
suggest that future respondents remove the CC to newlib.
Second of all, it really helps if you can provide a *small*
reproducible example when you encounter a problem like this. It lets us
investigate the problem on our own machines, often leading to a much
speedier answer.
Also you do not mention which version of the linker you are using,
nor whether you have checked to see if this problem still exists with
the sources in the mainline binutils CVS repository. (It may be that
there is an actual bug in the linker that you are using and that this
bug has now been fixed).
> So i tried to split it into two sections ".tdata_ram" and
> ".tdata_rom":
>
> .tdata_ram ALIGN (4) :
> {
> PROVIDE (__ep = .);
> *(.tbyte)
> *(.tcommon_byte)
> *(.tbss)
> *(.tcommon)
> } >ram
>
> .tdata_rom ALIGN (4) :
> {
> *(.tdata)
> } >ram AT>rom
In theory this looks like the right way to solve your problem.
> But this also fails. I expected this to work, as i really separate
> RAM and ROM. The error at linking is this:
>
> v850e-unknown-elf-gcc -o hw2.elf \
> Ã Ã Ã Ã Ã Ã Ã Ã -Wl,-Map=hw2.map \
> Ã Ã Ã Ã Ã Ã Ã Ã -Wl,-Tv850.x \
> Ã Ã Ã Ã Ã Ã Ã Ã main.o vectors.o
> c:\v850e\bin\..\lib\gcc\v850e-unknown-elf\3.4.6\..\..\..\..
> \v850e-unknown-elf\bin\ld.exe: address 0x75ec of hw2.elf section .tdata is
> not within region ram
Have you tried separating the .tdata_ram and .tdata_rom sections so that
the .tdata_rom section is near the beginning of the SECTIONS part of the
linker script, with the other sections that are being placed into the
rom memory region and the .tdata_ram section is near the end of the
SECTIONS part of the script, with the other sections that are being
placed into the ram memory region ?
Cheers
Nick
More information about the Newlib
mailing list