This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: undefined reference when mixing a.out and ELF object files ?
Nick Clifton wrote:
Hmm, well the linker fix I mentioned would not help you in this case,
since the linker would just emit an error message and refuse to link in
the old libraries.
If is just a test to add somewhere, it would be better than a silent
failure.
I assume that you do not have the option of recompiling these libraries
with the new assembler in place, so that they are transformed into ELF
format ?
When the ELF support will be OK, of course it will be the solution. But
there is quite a lot libraries, and few people. The intermediate
solution of mixing object types would be perfect for making the
transition smoothly. However, for test purposes, it is probably easy to
write a shell script for converting all the libraries in /usr/lib into
the ELF format using objcopy.
Given that this aout-zero-big format is unsupported I think that
recompiling the libraries may be the only answer. Sorry.
The a.out-zero-big format is supported by the binutils, moreover it is
the default a.out object file format for m68k (see gas/config/tc-m68k.h).
The problem seems to be present when the undefined symbols are in ELF
object files, when the symbols are defined in a.out files, and when the
output is something other ELF (a.out or "binary").
It is actually an unlucky mix of supported things.
But because it involves a.out, I think I'm on my own :-( :-(
Thanks for your explanations.
--
Vincent Rivière