This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: V850, linker script problem
On Sun, May 07, 2006 at 12:40:05PM +0200, Torsten Mohr wrote:
> I added another section for testing:
>
> .myqwe :
> {
> *(.myqwe)
> } > ram AT > rom
>
> in vectors.S:
> .section .myqwe,"w"
> .string "abcdefg"
>
> It leads to exactly the behaviour i expect:
>
> .myqwe 0x03ffe000 0x8 load address 0x00000678
> *(.myqwe)
> .myqwe 0x03ffe000 0x8 vectors.o
>
> I wonder why defining the sections the same way does not work
> for ".sdata" and for ".tdata".
A clue might be found in linking with something like:
LDFLAGS = -L /usr/local/lib/gcc/v850e/4.0.2/ -lc -lgcc
v850-ld -verbose -T your_linker_script -o test.elf your_object_files \
$(LDFLAGS) -M > test.map
(N.B. You're maybe not using gcc 4.0.2)
Allowing gcc to intrude into the linking process is a variable not fully
in your control. The above works for me, using the alternative "AT"
syntax in the linker script.
>
> C:
> The sections .sdata and .tdata are empty, but also when i add
> some data to it it results in the same error message.
What happens if you rename these output sections elephant and zebra?
(The only consequential changes should be any linker script lines which
use ADDR or LOADADDR of these sections.)
Erik