Subject: prom expectations of executable format
To: None <port-mips@netbsd.org>
From: Steve Rumble <steve@paintballresource.org>
List: port-mips
Date: 12/30/2002 18:31:12
I have a SGI Indigo R3000A-based machine that I want to make go.
Unfortunately, the prom does not appear to begin executing the
kernel (or boot loader-tried for simplicity) before issuing an
exception or hard locking. After digging through usenet archives, it
appears that the probable cause is the prom expecting a specific format.
Would I be incorrect in assuming that mimmicing the header configuration
of an IRIX 5.3 kernel is an acceptable strategy? If I appear to be on
the right track here, are certain attributes more important than others?
What should be attempted first? Binary flags, section flags, ordering,
or the simple existance of certain sections? elf2ecoff appears to strip
all but the a.out-compatible sections, however the IRIX binary includes
ecoff rdata, sdata, and sbss. I'm looking for any suggestions,
past experience, pointers to prior discussions, etc.
objdump -x snipets below.
Thanks in advance,
-Steve Rumble
IRIX 5.3 kernel:
unix: file format ecoff-bigmips
unix
architecture: mips:3000, flags 0x00000032:
EXEC_P, HAS_SYMS, HAS_LOCALS
start address 0x800026f0
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00128d20 80002000 80002000 00000170 2**4
CONTENTS, ALLOC, LOAD, CODE
1 .rdata 0000a490 8012ad20 8012ad20 00128e90 2**4
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 .data 0000e960 801351b0 801351b0 00133320 2**4
CONTENTS, ALLOC, LOAD, DATA
3 .sdata 00003140 80143b10 80143b10 00141c80 2**4
CONTENTS, ALLOC, LOAD, DATA
4 .sbss 00000d40 80146c50 80146c50 00000000 2**4
ALLOC
5 .bss 000219c0 80147990 80147990 00000000 2**4
ALLOC
6 .comment 00000024 00000000 00000000 00144e20 2**4
CONTENTS, NEVER_LOAD
NetBSD 1.6K ecoff
netbsd.ecoff: file format ecoff-bigmips
netbsd.ecoff
architecture: mips:3000, flags 0x00000012:
EXEC_P, HAS_SYMS
start address 0x80002000
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 002e8750 80002000 80002000 00000140 2**4
CONTENTS, ALLOC, LOAD
1 .data 00000000 802ea750 802ea750 002e8890 2**4
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 .bss 0003bbcc 802ea750 802ea750 00000000 2**4
ALLOC, LOAD
3 00000000 00000000 00000000 00000000 2**4
ALLOC, LOAD, DATA
4 00000000 00000000 00000000 00000000 2**4
ALLOC
5 00000000 00000000 00000000 00000000 2**4
ALLOC, LOAD