2 #------------------------------------------------------------------------------
3 # $File: aout,v 1.1 2013/01/09 22:37:23 christos Exp $
4 # aout: file(1) magic for a.out executable/object/etc entries that
5 # handle executables on multiple platforms.
9 # Little-endian 32-bit-int a.out, merged from bsdi (for BSD/OS, from
10 # BSDI), netbsd, and vax (for UNIX/32V and BSD)
12 # XXX - is there anything we can look at to distinguish BSD/OS 386 from
13 # NetBSD 386 from various VAX binaries? The BSD/OS shared library flag
14 # works only for binaries using shared libraries. Grabbing the entry
15 # point from the a.out header, using it to find the first code executed
16 # in the program, and looking at that might help.
18 0 lelong 0407 a.out little-endian 32-bit executable
19 >16 lelong >0 not stripped
20 >32 byte 0x6a (uses BSD/OS shared libs)
22 0 lelong 0410 a.out little-endian 32-bit pure executable
23 >16 lelong >0 not stripped
24 >32 byte 0x6a (uses BSD/OS shared libs)
26 0 lelong 0413 a.out little-endian 32-bit demand paged pure executable
27 >16 lelong >0 not stripped
28 >32 byte 0x6a (uses BSD/OS shared libs)
31 # Big-endian 32-bit-int a.out, merged from sun (for old 68010 SunOS a.out),
32 # mips (for old 68020(!) SGI a.out), and netbsd (for old big-endian a.out).
34 # XXX - is there anything we can look at to distinguish old SunOS 68010
35 # from old 68020 IRIX from old NetBSD? Again, I guess we could look at
36 # the first instruction or instructions in the program.
38 0 belong 0407 a.out big-endian 32-bit executable
39 >16 belong >0 not stripped
41 0 belong 0410 a.out big-endian 32-bit pure executable
42 >16 belong >0 not stripped
44 0 belong 0413 a.out big-endian 32-bit demand paged executable
45 >16 belong >0 not stripped