Merge branch 'vendor/FILE'
[dragonfly.git] / contrib / file / magic / Magdir / aout
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 #
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)
21
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)
25
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)
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 #
38 0       belong          0407            a.out big-endian 32-bit executable
39 >16     belong          >0              not stripped
40
41 0       belong          0410            a.out big-endian 32-bit pure executable
42 >16     belong          >0              not stripped
43
44 0       belong          0413            a.out big-endian 32-bit demand paged executable
45 >16     belong          >0              not stripped
46