Does Ghidra 10.2.2 support loading the older a.out executable format? This format (sometimes rendered as "AOUT") was used on various UNIX-like systems such as SunOS and BSD, and was the simpler predecessor to COFF. I am attempting to import and disassemble a.out files that were built for Motorola 68K / VxWorks 5.5. The Linux 'file' utility identifies them as the following, which looks correct:
a.out SunOS mc68020 executable not stripped
Ghidra will only import them as "raw binary", but I'm not sure whether that is because the a.out format is not supported at all, or rather because the combination of target OS and architecture results in a header with magic numbers currently unknown to the loader. I looked in the 68000.opinion
file and found this section, suggesting that the AOUT format is at least partially known to Ghidra:
<constraint loader="Assembler Output (AOUT)" compilerSpecID="default">
<constraint primary="1" processor="68000" endian="big" size="32" />
<constraint primary="2" processor="68000" endian="big" size="32" />
<constraint primary="200" processor="68000" endian="big" size="32" />
<constraint primary="300" processor="68000" endian="big" size="32" />
</constraint>
I'm hoping to be able to take advantage of existing Ghidra functionality for parsing the relocation tables in these binaries. Does support for this particular a.out format require a new loader class in Ghidra (or modifications to an existing class)? Or could it be done with appropriate changes to the .opinion
file section shown above?