xref: /dragonfly/contrib/file/magic/Magdir/aout (revision e8af9738aedb388303c5d81561534fa7f675fc6c)
1
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.
6#
7
8#
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)
11#
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.
17#
180         lelong              0407                a.out little-endian 32-bit executable
19>16       lelong              >0                  not stripped
20>32       byte                0x6a                (uses BSD/OS shared libs)
21
220         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)
25
260         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)
29
30#
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).
33#
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.
37#
380         belong              0407                a.out big-endian 32-bit executable
39>16       belong              >0                  not stripped
40
410         belong              0410                a.out big-endian 32-bit pure executable
42>16       belong              >0                  not stripped
43
440         belong              0413                a.out big-endian 32-bit demand paged executable
45>16       belong              >0                  not stripped
46
47