Subject: Re: mips-ecoff deprecation
To: Simon Burge <simonb@wasabisystems.com>
From: Christopher SEKIYA <wileyc@rezrov.net>
List: tech-toolchain
Date: 03/01/2005 18:44:51
On Tue, Mar 01, 2005 at 01:37:48PM +1100, Simon Burge wrote:

> I would be quite happy to do away with our elf2ecoff and just use
> binutils objcopy if it worked.

Hell, I'd settle for working ELF support:

ip2xboot:    file format elf32-tradbigmips
architecture: mips:3000, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x88002000

Program Header:
0x70000000 off    0x0000c860 vaddr 0x8800c860 paddr 0x8800c860 align 2**2
         filesz 0x00000018 memsz 0x00000018 flags r--
    LOAD off    0x00000000 vaddr 0x88000000 paddr 0x88000000 align 2**16
         filesz 0x0000d650 memsz 0x0000d7c0 flags rwx
private flags = 1001: [abi=O32] [mips1] [not 32bitmode]

objdump thinks it starts at 0x88002000, which is what we want.

ARCS, however, sees this:

>> boot -f bootp()j
Cannot load bootp()j.
Text start 0x8000000, size 0xd7c0 doesn't fit in a FreeMemory area.
Unable to load bootp()j: not enough space

Kernels built using the same linker settings run fine.

What's really weird is that the same executable, when transmogrified into
ECOFF by objcopy, works.

The only change was the move from binutils-2.14 to 2.15.  This is going to
hurt support for ELF-only ARCS platforms, like IP32 ...

-- Chris
	GPG key FEB9DE7F (91AF 4534 4529 4BCC 31A5  938E 023E EEFB FEB9 DE7F)