This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
Re: OSF/1 Binary format?
Date: Tue, 7 Dec 1999 01:00:06 -0500 (EST)
From: Scott Venier <scott@compu-aid.com>
I have a simulator that takes OSF/1 binaries and simulates their
execution. I've been working to port this simulator to linux on alpha,
and have only one last(?) problem - the format of the input binary. It
expects an a.out (I think. It uses the default format on an OSF/1 V3.2
machine) but I can't seem to generate an a.out file on linux.
As you have discovered, OSF/1 uses ECOFF. To produce a cross-compiler
for OSF/1 ECOFF, configure with something like --target
alpha-dec-osf3.2.
However, note that the GNU binutils do not fully support OSF/1. In
particular, they do not support shared libraries. Therefore, this
approach is likely to have some problems.
I tried rebuilding egcs and the binutils to the alpha-linuxecoff
target. Looking at <asm/a.out.h> seemed to indicate that OSF/1 actually
uses ecoff binaries, not a.out. I get the error at the end of this
message when building egcs. Is that because I don't have a crt0.o? Where
can I find one? I checked out the current glibc but didn't see a crt0.S
for alpha in there.
I don't know whether glibc supports ECOFF. It may only support ELF.
toplev.o: In function `compile_file':
/570/scottven/newest/egcs/gcc/toplev.c:3131: undefined reference to
`ASM_FILE_START'
/570/scottven/newest/egcs/gcc/toplev.c:3131: undefined reference to
`ASM_FILE_START'
This is a problem with gcc, not the binutils. ASM_FILE_START should
be a macro defined somewhere in the gcc tm.h file. You need to ask on
a gcc mailing list about this.
Ian