[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] Re[2]: GCC 4.4.0 cross-compiler available



ggn (HOL) wrote:
The following ports for individual systems on particular architectures have been
obsoleted:

-Generic a.out on IA32 and m68k (i[34567]86-*-aout*, m68k-*-aout*)

You're right, I had been very alarmed when I saw that...
But it might not be so harmful...
If is said that "generic" a.out support will be removed in the next version, but not "specific" ones.

GCC has built-in support for generic object file formats, for writing code for embedded targets where there is no operating systems. Currently, on such systems, the GCC toolchains use ELF file format, then the linker produces a raw binary image, or a specific executable format. In that case, there is no advantage of using a.out as intermediate object file format, since they are read only by GNU tools, and they prefer ELF.

But object file format are also used by existing OSes, in a specific way. As far as I know, m68k-netbsd and m68k-openbsd still use a specific a.out file format. So as far as these targets will remain in the official GCC sources, there will be enough a.out support in GCC and the binutils for porting our MiNT patches as-is.

For memory, we could quite easily use the ELF object file format on the MiNT target (my tests worked very well), but I don't know how to embed correct ELF debug information into the standard MiNT/TOS file format. It must be readable by GDB and other GNU tools. It might not be so difficult, but it requires very deep investigation in the BFD and linker code.

--
Vincent Rivière