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: 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


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