Red Hat Bugzilla – Bug 433920
alpha/ECOFF support for GAS
Last modified: 2008-02-22 23:38:14 EST
I'm cross-compiling for a Tru64/Alpha target, which uses ECOFF.
While GAS's support for *ELF* is pretty good on Alpha, the ECOFF code has
languished .. I've tried hacking at binutils for a while now and am at a point
where I would benefit from advice from someone who might know binutils' history
and internals better than me.
The rest of binutils seems to work really well with alpha-coff (eg objdump)
My suspicion is that only a small effort is required to bring coff/alpha.h and
config/tc-alpha.c up to date.
When I enabled gas for target=alphaev68-dec-osf5.1b, gas fails the hello world
test program with:
hello-gas.s:29: Fatal error: unhandled relocation type (null)
I tracked this down to internal reloc code DUMMY_RELOC_LITUSE_JSR not handled.
And that happens because RELOC_OP_P isn't defined. And when it is defined, then
a whole bunch of things defined only in include/elf/alpha.h are required and not
found in tc-alpha.c. Then I got lost.
So, can anyone help with some pointers to fixing this?
If you are cross compiling to Tru64/Alpha, just build your own binutils with
that support. I have no interest in enabling ECOFF support in binutils and
enabling it may have security consequences, because it is certainly far less
maintained code than ELF.
Sorry, I should have reported to email@example.com. This is not a bug for any
package released by Red Hat. Also, I am building my own binutils with a target
for Tru64, but I didn't make that clear.