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] |
I'm using GCC2.7 and binutsil 2.7 to target a little 68010 system (AT&T 3b1 without UNIX). The executables I download need to start at $3000, which I am able to do. However, when I use objdump, all the dis-assembled addresses start at 0, even though the jumps and load/store addresses are correct. target=m68k-unknown-aout host=solaris2.5 exec-prefix=68- GCC 2.7.0 (no patches) BinUtils 2.7 (no patches) I would like to know what to tell the linker to locate the VMA and LMA to $3000 also. I'm using _Ttext 0x03000 to locate things. I was using a linker script but the got unwiedly. It does work correctly, it just this utility output that is wierd. I drive "ld" directly, instead of using GCC. --------------------------------------- float % 68-objdump -d -r --show-raw-insn my_os.dli : 00000114 <__start-2eec> 4e b9 00 00 3c 06 jsr 00003c06 <___main> : --------------------------------------- ( $3000 - $2eec = $114 ) When I get header info from "objdump" it reveals: --------------------------------------- float % 68-ld -V ld version 2.7 (with BFD 2.7) Supported emulations: m68kaout float % 68-objdump -h my_os.dli my_os.dli: file format a.out-zero-big Sections: Idx Name Size VMA LMA File off Algn 0 .text 00000c8c 00000000 00000000 00000020 2**2 CONTENTS, ALLOC, LOAD, CODE 1 .data 00000020 00000c8c 00000c8c 00000cac 2**2 CONTENTS, ALLOC, LOAD, DATA 2 .bss 0000002c 00000cac 00000cac 00000000 2**2 ALLOC float % --------------------------------------- Both VMA and LMA are $0 for .text, when they should be $03000. I link with this (inside a script): --------------------------------------- ld -N -Ttext 0x03000 -Map mapfile -o $DEST $LIB/crt0.o $OBJS \ -lspede -lgcc -lspede --------------------------------------- A portion of the linker map. --------------------------------------- Memory Configuration Name Origin Length *default* 0x00000000 0xffffffff Linker script and memory map Address of section .text set to 0x3000 LOAD /usr/local/spede/gcc68/m68k-unknown-aout/lib/crt0.o LOAD t1.o LOAD /usr/local/spede/gcc68/m68k-unknown-aout/lib/libspede.a LOAD /usr/local/spede/gcc68/m68k-unknown-aout/lib/libgcc.a LOAD /usr/local/spede/gcc68/m68k-unknown-aout/lib/libspede.a 0x00000000 PROVIDE (__stack, 0x0) 0x00002000 .=0x2000 .text 0x00003000 0xc8c CREATE_OBJECT_SYMBOLS *(.text) .text 0x00003000 0x6c /usr/local/spede/gcc68/m68k-unknown-aout/l ib/crt0.o 0x00003000 _start 0x0000306a GDBexit .text 0x0000306c 0xb4 t1.o : : : .bss 0x00003cac 0x8 /usr/local/spede/gcc68/m68k-unknown-aout/l ib/libspede.a(brk.o) .bss 0x00003cb4 0x4 /usr/local/spede/gcc68/m68k-unknown-aout/l ib/libgcc.a(__main.o) *(COMMON) COMMON 0x00003cb8 0x10 t1.o 0x00003cb8 latest COMMON 0x00003cc8 0x10 /usr/local/spede/gcc68/m68k-unknown-aout/l ib/libgcc.a(__main.o) 0x00003cc8 __DTOR_LIST__ 0x00003cd0 __CTOR_LIST__ 0x00003cd8 _end=ALIGN(0x4) 0x00003cd8 __end=ALIGN(0x4) OUTPUT(my_os.dli a.out-zero-big) --------------------------------------- --- The railroad train will come no more. --- brian witt