1267843Sdelphij
2267843Sdelphij#------------------------------------------------------------------------------
3267843Sdelphij# $File: aout,v 1.1 2013/01/09 22:37:23 christos Exp $
4267843Sdelphij# aout:  file(1) magic for a.out executable/object/etc entries that
5267843Sdelphij# handle executables on multiple platforms.
6267843Sdelphij#
7267843Sdelphij
8267843Sdelphij#
9267843Sdelphij# Little-endian 32-bit-int a.out, merged from bsdi (for BSD/OS, from
10267843Sdelphij# BSDI), netbsd, and vax (for UNIX/32V and BSD)
11267843Sdelphij#
12267843Sdelphij# XXX - is there anything we can look at to distinguish BSD/OS 386 from
13267843Sdelphij# NetBSD 386 from various VAX binaries?  The BSD/OS shared library flag
14267843Sdelphij# works only for binaries using shared libraries.  Grabbing the entry
15267843Sdelphij# point from the a.out header, using it to find the first code executed
16267843Sdelphij# in the program, and looking at that might help.
17267843Sdelphij#
18267843Sdelphij0	lelong		0407		a.out little-endian 32-bit executable
19267843Sdelphij>16	lelong		>0		not stripped
20267843Sdelphij>32	byte		0x6a		(uses BSD/OS shared libs)
21267843Sdelphij
22267843Sdelphij0	lelong		0410		a.out little-endian 32-bit pure executable
23267843Sdelphij>16	lelong		>0		not stripped
24267843Sdelphij>32	byte		0x6a		(uses BSD/OS shared libs)
25267843Sdelphij
26267843Sdelphij0	lelong		0413		a.out little-endian 32-bit demand paged pure executable
27267843Sdelphij>16	lelong		>0		not stripped
28267843Sdelphij>32	byte		0x6a		(uses BSD/OS shared libs)
29267843Sdelphij
30267843Sdelphij#
31267843Sdelphij# Big-endian 32-bit-int a.out, merged from sun (for old 68010 SunOS a.out),
32267843Sdelphij# mips (for old 68020(!) SGI a.out), and netbsd (for old big-endian a.out).
33267843Sdelphij#
34267843Sdelphij# XXX - is there anything we can look at to distinguish old SunOS 68010
35267843Sdelphij# from old 68020 IRIX from old NetBSD?  Again, I guess we could look at
36267843Sdelphij# the first instruction or instructions in the program.
37267843Sdelphij#
38267843Sdelphij0	belong		0407		a.out big-endian 32-bit executable
39267843Sdelphij>16	belong		>0		not stripped
40267843Sdelphij
41267843Sdelphij0	belong		0410		a.out big-endian 32-bit pure executable
42267843Sdelphij>16	belong		>0		not stripped
43267843Sdelphij
44267843Sdelphij0	belong		0413		a.out big-endian 32-bit demand paged executable
45267843Sdelphij>16	belong		>0		not stripped
46267843Sdelphij
47