This is the mail archive of the crossgcc@cygnus.com mailing list for the crossgcc project.


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

VMA and LMA pb


Hi all,

I am currently using gcc for PowerQuicc860 (elf32ppc/ppc-eabi) on a sparc
host. I am running into trouble when I try to set up LMA different from
VMA.

In the project that I am building, the code is loaded into memory from PCI,
at @ FFxxxxxx, but PCI is at base adress FFxxxxxx, so all the code must be
referenced to 0 to have a correct donload.

I try the command:
      SECTION addr : AT(LMA)
But unfortunatly, it doesn't work for all section (including .text and
.data).

I have the following linker commands:

     LOAD_OFFSET = 0xffc00000
     . = 0xffc00000
     .text : AT( ADDR(.text) - LOAD_OFFSET)
     { blablabla}
     .data : AT(ADDR(.data) - LOAD_OFFSET)
     {.. .. .. }
     .bss : AT(ADDR(.bss) -LOAD_OFFSET)

.text and .data have VMA = LMA = ffc0xxxx, .bss has VMA = fffc0xxxx LMA =
0000xxxx

In the map file, load adress displayed is correct, but not on output
file...

Anybody have an idea or another way to do it?

Thanks

MC.


_______________________________________________
New CrossGCC FAQ: http://www.objsw.com/CrossGCC
_______________________________________________
To remove yourself from the crossgcc list, send
mail to crossgcc-request@cygnus.com with the
text 'unsubscribe' (without the quotes) in the
body of the message.