]> granicus.if.org Git - file/commitdiff
Guy Harris's Jan '93 megadeltas.
authorIan Darwin <ian@darwinsys.com>
Fri, 19 Feb 1993 14:36:15 +0000 (14:36 +0000)
committerIan Darwin <ian@darwinsys.com>
Fri, 19 Feb 1993 14:36:15 +0000 (14:36 +0000)
45 files changed:
magic/Magdir/alliant
magic/Magdir/audio
magic/Magdir/blit
magic/Magdir/clipper
magic/Magdir/commands
magic/Magdir/compress
magic/Magdir/convex
magic/Magdir/diamond
magic/Magdir/dump
magic/Magdir/elf
magic/Magdir/encore
magic/Magdir/hp
magic/Magdir/ibm370
magic/Magdir/ibm6000
magic/Magdir/images
magic/Magdir/interleaf
magic/Magdir/ispell
magic/Magdir/lif
magic/Magdir/mirage
magic/Magdir/mkid
magic/Magdir/motorola
magic/Magdir/msdos
magic/Magdir/ncr
magic/Magdir/old/ar
magic/Magdir/old/iris
magic/Magdir/old/mips
magic/Magdir/old/postscript
magic/Magdir/old/sunraster
magic/Magdir/old/x11
magic/Magdir/pbm
magic/Magdir/pdp
magic/Magdir/plus5
magic/Magdir/pyramid
magic/Magdir/sendmail
magic/Magdir/sequent
magic/Magdir/softquad
magic/Magdir/sun
magic/Magdir/terminfo
magic/Magdir/tex
magic/Magdir/typeset
magic/Magdir/unknown
magic/Magdir/varied.out
magic/Magdir/vax
magic/Magdir/xenix
magic/Magdir/zilog

index a2eaa2bbcce5843963b97bfd4c4df872b514418b..52ed628db29393b79b9809073ef88e1d76224cee 100644 (file)
@@ -1,5 +1,11 @@
 #
 # Alliant FX series a.out files:
+# If the FX series is the one that had a processor with a 68K-derived
+# instruction set, the "short" should probably become "beshort" and the
+# "long" should probably become "belong".
+# If it's the i860-based one, they should probably become either the
+# big-endian or little-endian versions, depending on the mode they ran
+# the 860 in....
 #
 0      short           0420            0420 Alliant virtual executable
 >2     short           &0x0020         common library
index 75b8ac2a55d5a898d0698ecee4b84f9ef3704357..743c4b65d8ea9be89bcf5988453ff4c58d0e47bd 100644 (file)
@@ -1,4 +1,8 @@
 # Sound formats, from Jan Nicolai Langfeldt <janl@ifi.uio.no>
+#
+# XXX -what the hell is the "mips" stuff doing there?  It looks like
+# the archive stuff from "iris"....
+#
 0       string          .snd            audio data:
 >12     long            1               8-bit u-law,
 >12     long            2               8-bit linear PCM,
index 4f6bb7e6468d4513d078aca806d2fa8b83066aa7..0f4804da8c0232ce29e28e830e6f23d127f21a7f 100644 (file)
@@ -1,5 +1,10 @@
 # 68K Blit stuff as seen from 680x0 machine
 # Note that this 0407 conflicts with several other a.out formats...
+#
+# XXX - should this be redone with "be" and "le", so that it works on
+# little-endian machines as well?  If so, what's the deal with
+# "VAX-order" and "VAX-order2"?
+#
 #0     long            0407            68K Blit (standalone) executable
 #0     short           0407            VAX-order2 68K Blit (standalone) executable
 0      short           03401           VAX-order 68K Blit (standalone) executable
index c9ad7c7149587ec1cbf18c189de28a8d26a28810..f4e9fa73cbce4c414330a57e3ff1980505f12106 100644 (file)
@@ -1,25 +1,52 @@
-# CLIPPER
-0      short           0575            CLIPPER executable (VAX #)
->20    short           0407            (writable text)
+#
+# Intergraph, formerly Fairchild, Clipper.
+#
+# XXX - what byte order does the Clipper use?
+#
+# XXX - what's the "!" stuff:
+#
+# >18  short           !074000,000000  C1 R1 
+# >18  short           !074000,004000  C2 R1
+# >18  short           !074000,010000  C3 R1
+# >18  short           !074000,074000  TEST
+#
+# I shall assume it's ANDing the field with the first value and
+# comparing it with the second, and rewrite it as:
+#
+# >18  short&074000    000000          C1 R1 
+# >18  short&074000    004000          C2 R1
+# >18  short&074000    010000          C3 R1
+# >18  short&074000    074000          TEST
+#
+# as SVR3.1's "file" doesn't support anything of the "!074000,000000"
+# sort, nor does SunOS 4.x, so either it's something Intergraph added
+# in CLIX, or something AT&T added in SVR3.2 or later, or something
+# somebody else thought was a good idea; it's not documented in the
+# man page for this version of "magic", nor does it appear to be
+# implemented (at least not after I blew off the bogus code to turn
+# old-style "&"s into new-style "&"s, which just didn't work at all).
+#
+0      short           0575            CLIPPER COFF executable (VAX #)
+>20    short           0407            (impure)
 >20    short           0410            (5.2 compatible)
->20    short           0411            (swapped)
->20    short           0413            (paged)
+>20    short           0411            (pure)
+>20    short           0413            (demand paged)
 >20    short           0443            (target shared library)
 >12    long            >0              not stripped
 >22    short           >0              - version %ld
-0      short           0577            CLIPPER executable
->18    short           !074000,000000  C1 R1 
->18    short           !074000,004000  C2 R1
->18    short           !074000,010000  C3 R1
->18    short           !074000,074000  TEST
->20    short           0407            (writable text)
->20    short           0410            (swapped)
+0      short           0577            CLIPPER COFF executable
+>18    short&074000    000000          C1 R1 
+>18    short&074000    004000          C2 R1
+>18    short&074000    010000          C3 R1
+>18    short&074000    074000          TEST
+>20    short           0407            (impure)
+>20    short           0410            (pure)
 >20    short           0411            (separate I&D)
 >20    short           0413            (paged)
 >20    short           0443            (target shared library)
 >12    long            >0              not stripped
 >22    short           >0              - version %ld
->48    long            !01,01          alignment trap enabled
+>48    long&01         01              alignment trap enabled
 >52    byte            1               -Ctnc
 >52    byte            2               -Ctsw
 >52    byte            3               -Ctpw
index dc47a49b48b56b3a2b430c42b95a1ee87d546091..4431ff4f537f80738bd5ed420d0f662896d6307b 100644 (file)
@@ -2,6 +2,10 @@
 # Magic.shell: Shell Scripts
 # "Commands": stuff for various shells and interpreters.
 #
+# XXX - should "... script" have "text" appended to it?
+# Or is there no guarantee that the script in question is, in fact,
+# all text?
+#
 0      string          :\ shell archive or commands for antique kernel text
 0      string          #!/bin/sh               Bourne Shell script
 0      string          #!\ /bin/sh             Bourne Shell script
 0      string          #!\ /bin/perl   perl commands text
 0      string          eval\ "exec\ /bin/perl  perl commands text
 
+#
 #      An "antique" kernel is either unmodified early V7,
 #      without DMR's 1979 mod for #!, or any kernel
-#      derived from a pre-v7 kernel (i.e., System V)
+#      derived from a such a kernel (e.g., vanilla AT&T System V
+#      prior to SVR4)
+#
+#      XXX - why is this here *twice*?
+#
 0      string          :\              shell archive or commands for antique kernel text
index 1f11f147f2fa7e9230ca4d0d239763571e424ce5..d4693476cc0ed4949cf5f2694fb97b3e4c3fc636 100644 (file)
@@ -1,8 +1,30 @@
-# Formats for "compress" proper have been moved into "compress.c".
 #
-0      short           017037          packed data
-# CPL  - added pack to /etc/magic
+# Formats for various forms of compressed data
+# Formats for "compress" proper have been moved into "compress.c",
+# because it tries to uncompress it to figure out what's inside.
+#
+# XXX - the two "packed data" versions are byte-swapped versions of
+# one another; is that because the 2-byte magic number is written
+# out in native byte order, with "unpack" figuring out the byte order
+# from the magic number (in which case both can be left as is, or
+# changed to specify a byte order *and* to indicate the byte order of
+# the packing machine), or because the old "file" didn't have any way of
+# having "magic"-file entries that specified a particular byte order?
+#
 0      short           017436          packed data
+0      short           017037          packed data
+
+#
+# This magic number is byte-order-independent.
+#
+0      short           017437          old packed data
+
+#
+# XXX - why *two* entries for "compacted data", one of which is
+# byte-order independent, and one of which is byte-order dependent?
+#
+0      short           0x1fff          compacted data
+0      string          \377\037        compacted data
 0      short           0145405         huf output
 #
 # Squeeze and Crunch...
index 560fd485a6aaac1f9ced80138bad129bd48ae3ef..0220a81473683d0f84d7e07da4114b0b0074a350 100644 (file)
@@ -1 +1,4 @@
+#
+# XXX - what byte order does a Convex use?
+#
 0      long            0513            Convex executable
index abf712daf753c45e42801c3f30a8cd39f53c5dc6..d515d61fe9a175e7ec5ebd0925beafcd38ff35ad 100644 (file)
@@ -1,5 +1,8 @@
+#
 # ... diamond is a multi-media mail and electronic conferencing system....
 #
+# XXX - I think it was either renamed Slate, or replaced by Slate....
+#
 #      The full deal is too long...
 #0     string  <list>\n<protocol\ bbn-multimedia-format>       Diamond Multimedia Document
 0      string  =<list>\n<protocol\ bbn-m       Diamond Multimedia Document
index f6279f5ce9b432225928788e8964724f099ecfa8..923fffd0d232cef78b5a3be158d90565ce26129a 100644 (file)
@@ -1,6 +1,9 @@
 #
 # magic.dump, dump file format. For new and old dump filesystems
 #
+# No, these shouldn't specify a specific byte order, because the byte
+# order is dependent on the machine that produced the dump.
+#
 24     long    60012           new-fs dump file,
 >4     date    x               Previous dump %s,
 >8     date    x               This dump %s,
index fb47f2135bfd75077f123ce565d37aa8f49cdf0d..e34332dc1c700d95202d67f9c207bb6c5b725449 100644 (file)
@@ -1,18 +1,44 @@
+#
 # ELF
-0      string          \7fELF            ELF
+# Missing MIPS image type and flags
+#
+# Question marks on processor types flag "should not happen because the
+# byte order is wrong".  We have to check the byte order flag to see what
+# byte order all the other stuff in the header is in.
+#
+0      string          \177ELF         ELF
+>4     byte            0               invalid class
 >4     byte            1               32-bit
+>4     byte            2               64-bit
+>5     byte            0               invalid byte order
 >5     byte            1               LSB
+>>16   leshort         0               unknown type
+>>16   leshort         1               relocatable
+>>16   leshort         2               executable
+>>16   leshort         3               dynamic lib
+>>16   leshort         4               core file
+>>18   leshort         0               unknown machine
+>>18   leshort         1               WE32100 and up
+>>18   leshort         2               SPARC?
+>>18   leshort         3               i386 (386 and up)
+>>18   leshort         4               M68000?
+>>18   leshort         5               M88000?
+>>18   leshort         7               i860
+>>20   lelong          1               Version 1
+>>36   lelong          1               MathCoPro/FPU/MAU Required
 >5     byte            2               MSB
->16    short           0               unknown type
->16    short           1               relocatable
->16    short           2               executable
->16    short           3               dynamic lib
->16    short           4               core file
->18    short           0               unknown machine
->18    short           1               WE32100
->18    short           2               SPARC
->18    short           3               80386
->18    short           4               M68000
->18    short           5               M88000
->20    long            1               Version 1
->36    long            1               MathCoPro/FPU/MAU Required
+>>16   beshort         0               unknown type
+>>16   beshort         1               relocatable
+>>16   beshort         2               executable
+>>16   beshort         3               dynamic lib
+>>16   beshort         4               core file
+>>18   beshort         0               unknown machine
+>>18   beshort         1               WE32100 and up
+>>18   beshort         2               SPARC
+>>18   beshort         3               i386 (386 and up)?
+>>18   beshort         4               M68000
+>>18   beshort         5               M88000
+>>18   beshort         7               i860
+>>20   belong          1               Version 1
+>>36   belong          1               MathCoPro/FPU/MAU Required
+
index 276db51d0856b9e0b6499c83a9605b2820bff085..7244f87a9110cef0e9ce9230b3518b9d8fa1275d 100644 (file)
@@ -1,6 +1,9 @@
 #
 # magic.encore: Recognize encore machines
 #
+# XXX - needs to have the byte order specified (NS32K was little-endian,
+# dunno whether they run the 88K in little-endian mode or not).
+#
 0      short           0x154           Encore
 >20    short           0x107           executable
 >20    short           0x108           pure executable
index 78db1c0a878393cb34c45561efe6de104d32754f..1353d8c14df16656a4bbfc1002b31ede7e66bcf6 100644 (file)
@@ -1,60 +1,80 @@
 #
 # magic.hp: Hewlett Packard Magic
 #
+# XXX - somebody should figure out whether any byte order needs to be
+# applied to the "TML" stuff; I'm assuming the Apollo stuff is
+# big-endian as it was mostly 68K-based.
+#
+# HP-PA is big-endian, so it (and "800", which is *also* HP-PA-based; I
+# assume "HPPA-RISC1.1" really means "HP-PA Version 1.1", which first
+# showed up in the 700 series, although later 800 series machines are,
+# I think, based on the PA7100 which implements HP-PA 1.1) are flagged
+# as big-endian.
+#
+# I think the 500 series was the old stack-based machines, running a
+# UNIX environment atop the "SUN kernel"; dunno whether it was
+# big-endian or little-endian.
+#
+# I'm guessing that the 200 series was 68K-based; the 300 and 400 series
+# are.
+#
+# The "misc" stuff needs a byte order; the archives look suspiciously
+# like the old 177545 archives (0xff65 = 0177545).
+#
 #### Old Apollo stuff
-0      short           0627            Apollo m68k COFF executable
->18    short           ^040000         not stripped 
->22    short           >0              - version %ld
-0      short           0624            apollo a88k COFF executable
->18    short           ^040000         not stripped 
->22    short           >0              - version %ld
+0      beshort         0627            Apollo m68k COFF executable
+>18    beshort         ^040000         not stripped 
+>22    beshort         >0              - version %ld
+0      beshort         0624            apollo a88k COFF executable
+>18    beshort         ^040000         not stripped 
+>22    beshort         >0              - version %ld
 0       long            01203604016     TML 0123 byte-order format
 0       long            01702407010     TML 1032 byte-order format
 0       long            01003405017     TML 2301 byte-order format
 0       long            01602007412     TML 3210 byte-order format
 #### HPPA
-0      long            0x02100106      HPPA-RISC1.1 relocatable object
-0      long            0x02100107      HPPA-RISC1.1 executable
->(144) long            0x054ef630      dynamically linked
->96    long            >0              -not stripped
+0      belong          0x02100106      HPPA-RISC1.1 relocatable object
+0      belong          0x02100107      HPPA-RISC1.1 executable
+>(144) belong          0x054ef630      dynamically linked
+>96    belong          >0              -not stripped
 
-0      long            0x02100108      HPPA-RISC1.1 shared executable
->(144) long            0x054ef630      dynamically linked
->96    long            >0              -not stripped
+0      belong          0x02100108      HPPA-RISC1.1 shared executable
+>(144) belong          0x054ef630      dynamically linked
+>96    belong          >0              -not stripped
 
-0      long            0x0210010b      HPPA-RISC1.1 demand-load executable
->(144) long            0x054ef630      dynamically linked
->96    long            >0              -not stripped
+0      belong          0x0210010b      HPPA-RISC1.1 demand-load executable
+>(144) belong          0x054ef630      dynamically linked
+>96    belong          >0              -not stripped
 
-0      long            0x0210010e      HPPA-RISC1.1 shared library
->96    long            >0              -not stripped
+0      belong          0x0210010e      HPPA-RISC1.1 shared library
+>96    belong          >0              -not stripped
 
-0      long            0x0210010d      HPPA-RISC1.1 dynamic load library
->96    long            >0              -not stripped
+0      belong          0x0210010d      HPPA-RISC1.1 dynamic load library
+>96    belong          >0              -not stripped
 
 #### 800
-0      long            0x020b0106      HP s800 relocatable object
+0      belong          0x020b0106      HP s800 relocatable object
 
-0      long            0x020b0107      HP s800 executable
->(144) long            0x054ef630      dynamically linked
->96    long            >0              -not stripped
+0      belong          0x020b0107      HP s800 executable
+>(144) belong          0x054ef630      dynamically linked
+>96    belong          >0              -not stripped
 
-0      long            0x020b0108      HP s800 shared executable
->(144) long            0x054ef630      dynamically linked
->96    long            >0              -not stripped
+0      belong          0x020b0108      HP s800 shared executable
+>(144) belong          0x054ef630      dynamically linked
+>96    belong          >0              -not stripped
 
-0      long            0x020b010b      HP s800 demand-load executable
->(144) long            0x054ef630      dynamically linked
->96    long            >0              -not stripped
+0      belong          0x020b010b      HP s800 demand-load executable
+>(144) belong          0x054ef630      dynamically linked
+>96    belong          >0              -not stripped
 
-0      long            0x020b010e      HP s800 shared library
->96    long            >0              -not stripped
+0      belong          0x020b010e      HP s800 shared library
+>96    belong          >0              -not stripped
 
-0      long            0x020b010d      HP s800 dynamic load library
->96    long            >0              -not stripped
+0      belong          0x020b010d      HP s800 dynamic load library
+>96    belong          >0              -not stripped
 
-0      long            0x213c6172      archive file
->68    long            0x020b0619      -HP s800 relocatable library
+0      belong          0x213c6172      archive file
+>68    belong          0x020b0619      -HP s800 relocatable library
 
 #### 500
 0      long            0x02080106      HP s500 relocatable executable
 >16    long            >0              -version %ld
 
 #### 200
-0      long            0x020c0108      HP s200 pure executable
->4     short           >0              -version %ld
->8     long            &0x80000000     save fp regs
->8     long            &0x40000000     dynamically linked
->8     long            &0x20000000     debuggable
->36    long            >0              not stripped
-
-0      long            0x020c0107      HP s200 executable
->4     short           >0              -version %ld
->8     long            &0x80000000     save fp regs
->8     long            &0x40000000     dynamically linked
->8     long            &0x20000000     debuggable
->36    long            >0              not stripped
-
-0      long            0x020c010b      HP s200 demand-load executable
->4     short           >0              -version %ld
->8     long            &0x80000000     save fp regs
->8     long            &0x40000000     dynamically linked
->8     long            &0x20000000     debuggable
->36    long            >0              not stripped
-
-0      long            0x020c0106      HP s200 relocatable executable
->4     short           >0              -version %ld
->6     short           >0              -highwater %d
->8     long            &0x80000000     save fp regs
->8     long            &0x20000000     debuggable
->8     long            &0x10000000     PIC
-
-0      long            0x020a0108      HP s200 (2.x release) pure executable
->4     short           >0              -version %ld
->36    long            >0              not stripped
-
-0      long            0x020a0107      HP s200 (2.x release) executable
->4     short           >0              -version %ld
->36    long            >0              not stripped
-
-0      long            0x020c010e      HP s200 shared library
->4     short           >0              -version %ld
->6     short           >0              -highwater %d
->36    long            >0              not stripped
-
-0      long            0x020c010d      HP s200 dynamic load library
->4     short           >0              -version %ld
->6     short           >0              -highwater %d
->36    long            >0              not stripped
+0      belong          0x020c0108      HP s200 pure executable
+>4     beshort         >0              -version %ld
+>8     belong          &0x80000000     save fp regs
+>8     belong          &0x40000000     dynamically linked
+>8     belong          &0x20000000     debuggable
+>36    belong          >0              not stripped
+
+0      belong          0x020c0107      HP s200 executable
+>4     beshort         >0              -version %ld
+>8     belong          &0x80000000     save fp regs
+>8     belong          &0x40000000     dynamically linked
+>8     belong          &0x20000000     debuggable
+>36    belong          >0              not stripped
+
+0      belong          0x020c010b      HP s200 demand-load executable
+>4     beshort         >0              -version %ld
+>8     belong          &0x80000000     save fp regs
+>8     belong          &0x40000000     dynamically linked
+>8     belong          &0x20000000     debuggable
+>36    belong          >0              not stripped
+
+0      belong          0x020c0106      HP s200 relocatable executable
+>4     beshort         >0              -version %ld
+>6     beshort         >0              -highwater %d
+>8     belong          &0x80000000     save fp regs
+>8     belong          &0x20000000     debuggable
+>8     belong          &0x10000000     PIC
+
+0      belong          0x020a0108      HP s200 (2.x release) pure executable
+>4     beshort         >0              -version %ld
+>36    belong          >0              not stripped
+
+0      belong          0x020a0107      HP s200 (2.x release) executable
+>4     beshort         >0              -version %ld
+>36    belong          >0              not stripped
+
+0      belong          0x020c010e      HP s200 shared library
+>4     beshort         >0              -version %ld
+>6     beshort         >0              -highwater %d
+>36    belong          >0              not stripped
+
+0      belong          0x020c010d      HP s200 dynamic load library
+>4     beshort         >0              -version %ld
+>6     beshort         >0              -highwater %d
+>36    belong          >0              not stripped
 
 #### MISC
 0      long            0x0000ff65      HP old archive
index 6f3da142a54bcb4a853f2722ca3c7c33ef2d14d8..b40fbf4208872eb7cf791447d77a1f6c1887ce28 100644 (file)
@@ -1,5 +1,19 @@
 #
-# magic.ibm370:
+# IBM 370 and compatibles.
 #
-0      short           0x15d           ibm 370 pure executable
->12    long            >0              not stripped
+# "ibm370" said that 0x15d == 0535 was "ibm 370 pure executable".
+# What the heck *is* "USS/370"?
+#
+0       beshort                0531            SVR2 executable (Amdahl-UTS)
+>12    belong          >0              not stripped
+>24     belong         >0              - version %ld
+0      beshort         0534            SVR2 pure executable (Amdahl-UTS)
+>12    belong          >0              not stripped
+>24    belong          >0              - version %ld
+0      beshort         0530            SVR2 pure executable (USS/370)
+>12    belong          >0              not stripped
+>24    belong          >0              - version %ld
+0      beshort         0535            SVR2 executable (USS/370)
+>12    belong          >0              not stripped
+>24    belong          >0              - version %ld
+
index 79f348aa7c0f37f81689c40bb180133664675e89..e4d73df4ec7af365dc8cce2265f20227fd3650b4 100644 (file)
@@ -1,13 +1,17 @@
+#
 # magic.rs6000:
-0      short           0x01df          executable (RISC System/6000 V3.1) or obj module
->12    long            >0              not stripped
+#
+# RS/6000 and the RT PC.
+#
+0      beshort         0x01df          executable (RISC System/6000 V3.1) or obj module
+>12    belong          >0              not stripped
 # Breaks sun4 statically linked execs.
-#0       short         0x0103          executable (RT Version 2) or obj module
+#0      beshort                0x0103          executable (RT Version 2) or obj module
 #>2    byte            0x50            pure
-#>28   long            >0              not stripped
-#>6    short           >0              - version %ld
-0      short           0x0104          shared library
-0      short           0x0105          ctab data
-0      short           0xfe04          structured file
+#>28   belong          >0              not stripped
+#>6    beshort         >0              - version %ld
+0      beshort         0x0104          shared library
+0      beshort         0x0105          ctab data
+0      beshort         0xfe04          structured file
 0      string          0xabcdef        message catalog
 #0     string          <aiaff>         archive
index cd0279868c28466fa27dac3df9b80ce1b9d2d581..39970d27eca052010154b801dc89809658b72d93 100644 (file)
@@ -2,6 +2,8 @@
 # additions by janl@ifi.uio.no as well as others. Jan also suggested
 # merging several one- and two-line files into here.
 #
+# XXX - byte order for GIF and TIFF fields?
+#
 
 0      string          xbtoa                   btoa'd file
 
index af726b0546171a6c0da97a19af9cd12be697a58f..ab5f3c654f6203c5d077e61c2a5df37a2ffa4c64 100644 (file)
@@ -2,3 +2,6 @@
 # magic for InterLeaf TPS:
 0      string          =\210OPS        Interleaf saved data
 0      string          =<!OPS          Interleaf document text
+>5     string          ,\ Version\     (version
+>>14   string          >\0             %s)
+
index d226ce9d4945fa6e9575ba49c400620bafeacd4c..04814b8f19381fb0b81b00707939a0b5e923f8eb 100644 (file)
@@ -1,6 +1,8 @@
 #
 # magic.ispell
 #
+# XXX - byte order?
+#
 0      short   0xffff9601      ispell hash file
 >2     short   0x00    - 8-bit, no capitalization, 26 flags
 >2     short   0x01    - 7-bit, no capitalization, 26 flags 
index b1037f16741d0d890ecb073a40ef3a827e20abd2..9ac80b9c1b86ed06a32b982d3fc7630736b33115 100644 (file)
@@ -1,4 +1,6 @@
 #
 # magic.lif:
 #
+# XXX - byte order?
+#
 0      short           0x8000          lif file
index 28ee77861b3b084c70b7e30677749978b7b438e2..8a2dbcbe837406a1e69f89a5f894ad14ae110620 100644 (file)
@@ -1 +1,4 @@
+#
+# XXX - byte order?
+#
 0      long    31415           Mirage Assembler m.out executable
index 8480bc33a712d01d31f2f5b80ae08423b4b2ffe4..cd2cf864421ff8fda07c3f1b8d89442499be9f8d 100644 (file)
@@ -1,3 +1,7 @@
+#
 # ID is the binary tags database produced by mkid(1).
+#
+# XXX - byte order?
+#
 0      string          \311\304        ID tags data
 >2     short           >0              version %d
index 0733b653b8698f09f0607f5c638b1f4997d6fc48..b89279468fdb00158fece1ab6314d76a3298110a 100644 (file)
@@ -1,8 +1,28 @@
+#
 # Motorola
-0      short           0520            mc68k executable
->12    long            >0              not stripped
-0      short           0521            mc68k executable (shared)
->12    long            >0              not stripped
-0      short           0522            mc68k executable (shared demand paged)
->12    long            >0              not stripped
-
+#
+# 68K
+#
+0      beshort         0520            mc68k COFF
+>18    beshort         ^00000020       object
+>18    beshort         &00000020       executable
+>12    belong          >0              not stripped
+>168   string          .lowmem         Apple toolbox
+>20    beshort         0407            (impure)
+>20    beshort         0410            (pure)
+>20    beshort         0413            (demand paged)
+>20    beshort         0421            (standalone)
+0      beshort         0521            mc68k executable (shared)
+>12    belong          >0              not stripped
+0      beshort         0522            mc68k executable (shared demand paged)
+>12    belong          >0              not stripped
+#
+# Motorola/UniSoft 68K Binary Compatibility Standard (BCS)
+#
+0      beshort         0554            68K BCS executable
+#
+# 88K
+#
+# Motorola/88Open BCS
+#
+0      beshort         0555            88K BCS executable
index 8e8841b61f171a968733d2ea4e626528867709a4..830493aef993abc8aad294707f45f181545673bd 100644 (file)
@@ -1,23 +1,8 @@
-# various intel-CPU magic numbers
-0      short           01006           80286 executable (STL)
->31    byte            <0x040          small model
->31    byte            =0x048          large model     
->31    byte            =0x049          huge model 
->16    long            >0              not stripped
+#
+# Various MS-DOS magic numbers
+#
 0      string          MZ              DOS executable (EXE)
 0      string          LZ              DOS executable (built-in)
 0      byte            0xe9            DOS executable (COM)
 0      byte            0xeb            DOS executable (COM)
 0      byte            0xf0            MS-DOS program library
-0      short           =0512           80286 executable small model (COFF)
->12    long            >0              not stripped
->22    short           >0              - version %ld
-0      short           =0522           80286 executable large model (COFF)
->12    long            >0              not stripped
->22    short           >0              - version %ld
-0      short           =0514           80386 executable
->12    long            >0              not stripped
->22    short           >0              - version %ld
-0      string          PK              zip archive file 
->2     byte            >0              - version [%d
->3     byte            >0              %d]
index 10f63ef9dfc20fd1852e37e001755f10edcd6107..89df75058d6b5c6211e66451acb770937a89d9ab 100644 (file)
@@ -5,43 +5,43 @@
 # Michael R. Wayne  ***  TMC & Associates  ***  INTERNET: wayne@ford-vax.arpa
 # uucp: {philabs | pyramid} !fmsrl7!wayne   OR   wayne@fmsrl7.UUCP
 #
-0      short           000610  Tower/XP rel 2 object
->12       long                 >0      not stripped
->20       short                0407    executable
->20       short                0410    pure executable
->22       short                >0      -version %ld
-0      short           000615  Tower/XP rel 2 object
->12       long                 >0      not stripped
->20       short                0407    executable
->20       short                0410    pure executable
->22       short                >0      -version %ld
-0      short           000620  Tower/XP rel 3 object
->12       long                 >0      not stripped
->20       short                0407    executable
->20       short                0410    pure executable
->22       short                >0      -version %ld
-0      short           000625  Tower/XP rel 3 object
->12       long                 >0      not stripped
->20       short                0407    executable
->20       short                0410    pure executable
->22       short                >0      -version %ld
-0      short           000630  Tower32/600/400 68020 object
->12       long                 >0      not stripped
->20       short                0407    executable
->20       short                0410    pure executable
->22       short                >0      -version %ld
-0      short           000640  Tower32/800 68020
->18       short                &020000 w/68881 object
->18       short                &040000 compatible object
->18       short                &~060000        object
->20       short                0407    executable
->20       short                0413    pure executable
->12       long                 >0      not stripped
->22       short                >0      -version %ld
-0      short           000645  Tower32/800 68010
->18       short                &040000 compatible object
->18       short                &~060000 object
->20       short                0407    executable
->20       short                0413    pure executable
->12       long                 >0      not stripped
->22       short                >0      -version %ld
+0      beshort         000610  Tower/XP rel 2 object
+>12       belong               >0      not stripped
+>20       beshort              0407    executable
+>20       beshort              0410    pure executable
+>22       beshort              >0      - version %ld
+0      beshort         000615  Tower/XP rel 2 object
+>12       belong               >0      not stripped
+>20       beshort              0407    executable
+>20       beshort              0410    pure executable
+>22       beshort              >0      - version %ld
+0      beshort         000620  Tower/XP rel 3 object
+>12       belong               >0      not stripped
+>20       beshort              0407    executable
+>20       beshort              0410    pure executable
+>22       beshort              >0      - version %ld
+0      beshort         000625  Tower/XP rel 3 object
+>12       belong               >0      not stripped
+>20       beshort              0407    executable
+>20       beshort              0410    pure executable
+>22       beshort              >0      - version %ld
+0      beshort         000630  Tower32/600/400 68020 object
+>12       belong               >0      not stripped
+>20       beshort              0407    executable
+>20       beshort              0410    pure executable
+>22       beshort              >0      - version %ld
+0      beshort         000640  Tower32/800 68020
+>18       beshort              &020000 w/68881 object
+>18       beshort              &040000 compatible object
+>18       beshort              &~060000        object
+>20       beshort              0407    executable
+>20       beshort              0413    pure executable
+>12       belong               >0      not stripped
+>22       beshort              >0      - version %ld
+0      beshort         000645  Tower32/800 68010
+>18       beshort              &040000 compatible object
+>18       beshort              &~060000 object
+>20       beshort              0407    executable
+>20       beshort              0413    pure executable
+>12       belong               >0      not stripped
+>22       beshort              >0      - version %ld
index 1c5674941e2ea5c71f06cb4345d1e8c38e5f7dfb..5ab63aeab522b899118682109f46da5b76eb0281 100644 (file)
@@ -1,22 +1,58 @@
 #
 # "ar", for all kinds of archives.
+#
+# XXX - why are there multiple <ar> thingies?  Note that 0x213c6172 is
+# "!<ar", so, for new-style (4.xBSD/SVR2andup) archives, we have:
+#
+# 0    string          !<arch>         current ar archive
+# 0    long            0x213c6172      archive file
+#
+# and for SVR3.1 archives, we have:
+#
+# 0    string          \<ar>           System V Release 1 ar archive
+# 0    string          =<ar>           archive
+# 0    string          =<ar>           archive
+#
+# XXX - did Aegis really store shared libraries, breakpointed modules,
+# and absolute code program modules in the same format as new-style
+# "ar" archives?
+#
 0      string          !<arch>         current ar archive
 >8     string          __.SYMDEF       random library
->0     long            =65538          - pre SR9.5
->0     long            =65539          - post SR9.5
->0     short           2               - object archive
->0     short           3               - shared library module
->0     short           4               - debug break-pointed module
->0     short           5               - absolute code program module
+>0     belong          =65538          - pre SR9.5
+>0     belong          =65539          - post SR9.5
+>0     beshort         2               - object archive
+>0     beshort         3               - shared library module
+>0     beshort         4               - debug break-pointed module
+>0     beshort         5               - absolute code program module
 0      string          \<ar>           System V Release 1 ar archive
 0      string          =<ar>           archive
-0      long            0xff6d          obsolete ar archive
+#
+# XXX - from "vax", which appears to collect a bunch of byte-swapped
+# thingies, to help you recognize VAX files on big-endian machines;
+# with "leshort", "lelong", and "string", that's no longer necessary....
+#
+# 0    long            0x3c61723e      VAX 5.0 archive
+#
 0      long            0x213c6172      archive file
-0      long            0177555         very old archive
-0      short           0177555         very old PDP-11 archive
-0      long            0177545         old archive
-0      short           0177545         old PDP-11 archive
+0      lelong          0177555         very old VAX archive
+0      leshort         0177555         very old PDP-11 archive
+#
+# XXX - "pdp" claims that 0177545 can have an __.SYMDEF member and thus
+# be a random library (it said 0xff65 rather than 0177545).
+#
+0      lelong          0177545         old VAX archive
+>8     string          __.SYMDEF       random library
+0      leshort         0177545         old PDP-11 archive
+>8     string          __.SYMDEF       random library
+#
 0      string          =<ar>           archive
+#
+# From "pdp":
+#
+0      lelong          0x39bed         PDP-11 old archive
+0      lelong          0x39bee         PDP-11 4.0 archive
+#
 0      string          -h-             Software Tools format archive text
 # "arc" archiver
 0      byte            26              'arc' archive
@@ -24,3 +60,7 @@
 >1     byte            1               (old format)
 # Rahul Dhesi's zoo archive format, from keith@cerberus.uchicago.edu.
 20     long            0xdca7c4fd      Rahul Dhesi's "zoo" archive
+# ZIP archiver
+0      string          PK              zip archive file 
+>2     byte            >0              - version [%d
+>3     byte            >0              %d]
index cbb07abaf66e3b4a0ec8df4a06d53ad08f893b84..952a5f19789f0ade6f4cb0fc97f7d2d0310cda96 100644 (file)
@@ -1,6 +1,11 @@
 #
 # magic.iris: Magic for mips from an iris4d
 #
+# Dunno what byte-order munging is needed; all of SGI's *current*
+# machines and OSes run in big-endian mode on the MIPS machines,
+# as far as I know, but they do have the MIPSEB and MIPSEL stuff
+# here....
+#
 0      short           0x0160          mipseb
 >20    short           0407            executable
 >20    short           0410            pure
index e20492e8e0f39eb31a7c7165f7d084dd3cb3914b..ae17cbda2cdb87a80b0b00d089869d81d62dc68e 100644 (file)
@@ -1,2 +1,8 @@
+#
 # RISC MIPS decstation
+# Should this be "leshort", given that DEC ran the DECstations in
+# little-endian mode?
+#
+# Where is the non-SGI, non-DEC MIPS stuff?
+#
 0      short           0x6201          MIPS executable
index 494b478e606271f21cfa72417d1080cd3612208c..f367d290e24543a484055442313b8c4abbdce91f 100644 (file)
@@ -1,7 +1,10 @@
 #
 # magic.postscript: Magic for postscript files
 #
+# XXX - should we match only versions 1.0 and 2.0, or should we wildcard
+# it?
+#
 0      string          %!              PostScript document
 >2     string  PS-Adobe-               conforming
->11    string  1.0                     at level %s
->11    string  2.0                     at level %s
+>>11   string  1.0                     at level %s
+>>11   string  2.0                     at level %s
index 10c297b1c126c7bb85df68ac052c3835ad2da718..864055c1ed85cacb3d02735e57b40a1db92ec76a 100644 (file)
@@ -1,4 +1,8 @@
+#
 # Sun rasterfiles
+#
+# XXX - byte order?  What about the 386i?
+#
 0      string  \x59\xa6\x6a\x95        rasterfile
 >4     long    >0              %d
 >8     long    >0              x %d
index d725027a6136cf994e0b6138df180269efcec74b..ed0ff440e401e863b96029aa94dd3e4c026e6c7a 100644 (file)
@@ -1,4 +1,9 @@
 #
 # magic.x11
 #
+# I think this is byte-order-dependent; if so, it should become:
+#
+# 0    belong  00000004        X11 big-endian snf font
+# 0    lelong  00000004        X11 little-endian snf font
+#
 0      long    00000004        X11 snf font
index db6eca1add25ecb68910e8a473ba3f544467981c..bed702e66079c8ab16574c12e94546e597d24ff3 100644 (file)
@@ -1 +1,4 @@
+#
+# XXX - byte order?
+#
 0      short   0x2a17  "compact bitmap" format (Poskanzer)
index 8eeda5d25cd5e24c77c9469078252b5e66babe7e..cf1129dbc3b66dbb1842b09795bc78203707b151 100644 (file)
@@ -1,36 +1,22 @@
 #
-# magic.pdp: PDP 11
+# magic.pdp: PDP-11 executable/object and APL workspace
 #
-0      long            0x39bed         PDP-11 old archive
-0      long            0x39bee         PDP-11 4.0 archive
-0      long            0x836c          PDP-11 double precision APL workspace
-0      long            0x836d          PDP-11 single precision APL workspace
+0      lelong          0101555         PDP-11 single precision APL workspace
+0      lelong          0101554         PDP-11 double precision APL workspace
 
-0      short           0177555         very old PDP-11 archive
-0      short           0177545         old PDP-11 archive
-
-0      short           0407            PDP-11 executable
->8     short           >0              not stripped
-
-0      short           0401            PDP-11 unix-rt ldp
-0      short           0405            PDP-11 old overlay
-
-0      short           0410            PDP-11 pure executable
->8     short           >0              not stripped
-#>2    short           >0              - version %ld
+#
+# PDP-11 a.out
+#
+0      leshort         0407            PDP-11 executable
+>8     leshort         >0              not stripped
 
-0      short           0411            PDP-11 separate I&D executable
->8     short           >0              not stripped
-#>2    short           >0              - version %ld
+0      leshort         0401            PDP-11 UNIX/RT ldp
+0      leshort         0405            PDP-11 old overlay
 
-0      long            0413            PDP-11 demand paged pure executable
->16    long            >0              not stripped
-#>2    short           >0              - version %ld
+0      leshort         0410            PDP-11 pure executable
+>8     leshort         >0              not stripped
 
-0      long            0420            PDP-11 demand paged (first page unmapped) pure executable
->16    long            >0              not stripped
-#>2    short           >0              - version %ld
-0      short           0437            PDP-11 kernel overlay
+0      leshort         0411            PDP-11 separate I&D executable
+>8     leshort         >0              not stripped
 
-0      short           0xff65          PDP-11/pre System V/old Sun ar archive
->8     string          __.SYMDEF       random library
+0      leshort         0437            PDP-11 kernel overlay
index 432e6482045e47e9e687ac2387a5b67c35105ce8..a5fa4e7dccedaeb9bc0082e0e4f8b651401484ee 100644 (file)
@@ -1,4 +1,8 @@
+#
 #/etc/magic entries for Plus Five's UNIX MUMPS
+#
+# XXX - byte order?  Paging Hokey....
+#
 0      short           0x259           mumps avl global
 >2     byte            >0              (V%d)
 >6     byte            >0              with %d byte name
index c87175f21d8dda3732fe5f7940cd8c1ea3779913..b9c9e56cc8f0216d1d93ff6a40e753190da2d2be 100644 (file)
@@ -1,6 +1,8 @@
 #
 # magic.pyramid: Magic for pyramids
 #
+# XXX - byte order?
+#
 0      long            0x50900107      Pyramid 90x family executable
 0      long            0x50900108      Pyramid 90x family pure executable
 >16    long            >0              not stripped
index 07c167ab0bde75f5635aaf3f64823de42a43086a..7eea31d217fb99cb0d3cb03a24c9b59270905a83 100644 (file)
@@ -1,6 +1,8 @@
 #
 # magic.sendmail:
 #
+# XXX - byte order?
+#
 0      byte    046       Sendmail frozen configuration 
 >16    string  >\0       - version %s
 0      short   0x271c    Sendmail frozen configuration
index 33e9e8e7979f326eef65f4d6d78fcec49dc05afb..24e317b0349178b02311ebaba18add1c68a8a9c5 100644 (file)
@@ -1,18 +1,10 @@
 # Sequent information updated by Don Dwiggins <atsun!dwiggins>.
 # For Sequent's multiprocessor systems (incomplete).
-0       short   0x00ea          BALANCE NS32000 .o
-0       short   0x10ea          BALANCE NS32000 executable (0 @ 0)
->16     long    >0              not stripped
-0       short   0x20ea          BALANCE NS32000 executable (invalid @ 0)
->16     long    >0              not stripped
-0       short   0x30ea          BALANCE NS32000 standalone executable
->16     long    >0              not stripped
-#   The above seen byte-swapped, e.g. from a remote NFS mount
-0       short   0xea00          BALANCE NS32000 .o (byte-swapped)
-0       short   0xea10          BALANCE NS32000 executable (0 @ 0, byte-swapped)
->16     long    >0              not stripped
-0       short   0xea20          BALANCE NS32000 executable (invalid @ 0, byte-swapped)
->16     long    >0              not stripped
-0       short   0xea30          BALANCE NS32000 standalone executable (byte-swapped)
->16     long    >0              not stripped
+0       leshort   0x00ea        BALANCE NS32000 .o
+0       leshort   0x10ea        BALANCE NS32000 executable (0 @ 0)
+>16     lelong    >0            not stripped
+0       leshort   0x20ea        BALANCE NS32000 executable (invalid @ 0)
+>16     lelong    >0            not stripped
+0       leshort   0x30ea        BALANCE NS32000 standalone executable
+>16     lelong    >0            not stripped
 # Also need info on Sequent "Symmetry" series...
index 9e603720396717e049854feb567d17b3aefc4844..e49d052ee7cbe1cf50b5646f72c381ee679508a4 100644 (file)
@@ -1,6 +1,9 @@
 # SoftQuad Publishing Software magic numbers
-# $Id: softquad,v 1.7 1993/01/05 12:51:54 ian Exp $
+# $Id: softquad,v 1.8 1993/02/19 14:36:43 ian Exp $
 # Author/Editor and RulesBuilder
+#
+# XXX - byte order?
+#
 0      string          \<!SQ\ DTD>     Compiled SGML rules file
 >9     string          >\0              Type %s
 0      string          \<!SQ\ A/E>     A/E SGML Document binary
index fcc99a43dfcc0c9d54e09c3e34f91d1eb6024d1f..5891e441ed21aeb3cf21b39d63d24e0ad6667e6d 100644 (file)
@@ -1,32 +1,69 @@
-# Values for big-endian Sun (MC680x0, SPARC) binaries
-1      byte            3               SPARC
->0     byte            &0x80           dynamically linked
->2     short           0407            executable
->2     short           0410            pure executable
->2     short           0413            demand paged executable
->16    long            >0              not stripped
-1      byte            2               mc68020
->0     byte            &0x80           dynamically linked
->2     short           0407            executable
->2     short           0410            pure executable
->2     short           0413            demand paged executable
->16    long            >0              not stripped
-1      byte            1               mc68010
->0     byte            &0x80           dynamically linked
->2     short           0407            executable
->2     short           0410            pure executable
->2     short           0413            demand paged executable
->16    long            >0              not stripped
+#
+# Values for big-endian Sun (MC680x0, SPARC) binaries on pre-5.x
+# releases.
+# (5.x uses ELF.)
+#
+0      belong&0777777  0600413         sparc demand paged
+>0     byte            &0x80
+>>20   belong          <4096           shared library
+>>20   belong          =4096           dynamically linked executable
+>>20   belong          >4096           dynamically linked executable
+>16    belong          >0              not stripped
+0      belong&0777777  0600410         sparc pure
+>0     byte            &0x80           dynamically linked executable
+>0     byte            ^0x80           executable
+>16    belong          >0              not stripped
+0      belong&0777777  0600407         sparc
+>0     byte            &0x80           dynamically linked executable
+>0     byte            ^0x80           executable
+>16    belong          >0              not stripped
+
+0      belong&0777777  0400413         mc68020 demand paged
+>0     byte            &0x80
+>>20   belong          <4096           shared library
+>>20   belong          =4096           dynamically linked executable
+>>20   belong          >4096           dynamically linked executable
+>16    belong          >0              not stripped
+0      belong&0777777  0400410         mc68020 pure
+>0     byte            &0x80           dynamically linked executable
+>0     byte            ^0x80           executable
+>16    belong          >0              not stripped
+0      belong&0777777  0400407         mc68020
+>0     byte            &0x80           dynamically linked executable
+>0     byte            ^0x80           executable
+>16    belong          >0              not stripped
+
+0      belong&0777777  0200413         mc68010 demand paged
+>0     byte            &0x80
+>>20   belong          <4096           shared library
+>>20   belong          =4096           dynamically linked executable
+>>20   belong          >4096           dynamically linked executable
+>16    belong          >0              not stripped
+0      belong&0777777  0200410         mc68010 pure
+>0     byte            &0x80           dynamically linked executable
+>0     byte            ^0x80           executable
+>16    belong          >0              not stripped
+0      belong&0777777  0200407         mc68010
+>0     byte            &0x80           dynamically linked executable
+>0     byte            ^0x80           executable
+>16    belong          >0              not stripped
+
 # reworked these to avoid anything beginning with zero becoming "old sun-2"
-0      long            0407            old sun-2 executable
->16    long            >0              not stripped
-0      long            0410            old sun-2 pure executable
->16    long            >0              not stripped
-0      long            0413            old sun-2 demand paged executable
->16    long            >0              not stripped
+0      belong          0407            old sun-2 executable
+>16    belong          >0              not stripped
+0      belong          0410            old sun-2 pure executable
+>16    belong          >0              not stripped
+0      belong          0413            old sun-2 demand paged executable
+>16    belong          >0              not stripped
+
 #
-0      long            0x080456        core file
->128   string          >0              from '%s'
+# Core files.  "SPARC 4.x BCP" means "core file from a SunOS 4.x SPARC
+# binary executed in compatibility mode under SunOS 5.x".
 #
-0      short           05401           byte-swapped demand paged executable
-0      short           010001          byte-swapped demand paged executable
+0      belong          0x080456        SunOS core file
+>4     belong          432             (SPARC)
+>>132  string          >\0             from '%s'
+>4     belong          826             (68K)
+>>128  string          >\0             from '%s'
+>4     belong          456             (SPARC 4.x BCP)
+>>152  string          >\0             from '%s'
index bceab950dc1c6b8b46e093be73c9f1e5cf02f2b4..76e171d84db61b1bc0cba44a5360924e73f88d90 100644 (file)
@@ -1,4 +1,8 @@
+#
 # Terminfo
+#
+# XXX - byte order for screen images?
+#
 0      string          \032\001        Compiled terminfo entry
 0      short           0433            Curses screen image
 0      short           0434            Curses screen image
index bb564d840a0d6fcacc4491c4c869645e9fbbd8ca..20ee02b89ad38fb973157ce35ca4ee5414bfb6e8 100644 (file)
@@ -1,6 +1,8 @@
 #
 # magic.tex: 
 #
+# XXX - needs byte-endian stuff (big-endian and little-endian DVI?)
+#
 0      short   0173402 DVI File
 >16    string  >\0     (%s)
 0      short   0173531 Packed TeX Font
index dbb073349860f160e67ba82f76b2d5603da1989f..506456350c18210005cff81a21a3b893afb47511 100644 (file)
@@ -1,3 +1,5 @@
 # other typesetting magic
 0      string          \100\357        very old (C/A/T) troff output data
 0      string          Interpress/Xerox        Xerox InterPress data
+>16    string          /                       (version
+>>17   string          >\0                     %s)
index adddbd6cbe7e5d71031db98697d5b90537776026..1ea5f066d6ff25c849766b063eaac262c01aea0f 100644 (file)
@@ -1,6 +1,21 @@
 #
 # magic.unknown: Unknown machine magic
 #
+# XXX - this probably should be pruned, as it'll match PDP-11 and
+# VAX image formats.
+#
+# 0x107 is 0407; 0x108 is 0410; both are PDP-11 (executable and pure,
+# respectively).
+#
+# 0x109 is 0411; that's PDP-11 split I&D, but the PDP-11 version doesn't
+# have the "version %ld", which may be a bogus COFFism (I don't think
+# there ever was COFF for the PDP-11).
+#
+# 0x10B is 0413; that's VAX demand-paged, but this is a short, not a
+# long, as it would be on a VAX.
+#
+# 0x10C is 0414, 0x10D is 0415, and 0x10E is 416; those *are* unknown.
+#
 0      short           0x107           unknown machine executable
 >8     short           >0              not stripped
 >15    byte            >0              - version %ld
index b05cad9a37c8e4aed87d12370ac15a1eef74b2f0..3a997d1c5711937537687c6fd7f341a17cf2b073 100644 (file)
@@ -1,38 +1,5 @@
 #      Herewith many of the object file formats used by USG systems.
-#      The `versions' should be un-commented if they work for you.
-0      short           0570            SysV executable
->12    long            >0              not stripped
-#>22   short           >0              - version %ld
-0      short           0575            SysV pure executable
->12    long            >0              not stripped
-#>22   short           >0              - version %ld
-0      short           0502            basic-16 executable
->12    long            >0              not stripped
-0      short           0503            basic-16 executable (TV)
->12    long            >0              not stripped
-0      short           0510            x86 executable
->12    long            >0              not stripped
-0      short           0511            x86 executable (TV)
->12    long            >0              not stripped
-0      short           0550            3b20 executable
->12    long            >0              not stripped
-0      short           0551            3b20 executable (TV)
->12    long            >0              not stripped
-0      short           0560            WE32000 executable
->12    long            >0              not stripped
->18    short           ^00010000       - N/A on 3b2/300 w/paging
->18    short           &00020000       - 32100 required
->18    short           &00040000       and mau hardware required
->20    short           0443            (target shared library)
->20    short           0410            (swapped)
->20    short           0413            (paged)
->22    short           >0              - version %ld
-0      short           0561            WE32000 executable (TV)
->12    long            >0              not stripped
+#      Most have been moved to files for a particular processor,
+#      and deleted if they duplicate other entries.
 #
 0      short           0610            Perkin-Elmer executable
-#
-# Motorola/UniSoft Application Binary Interface (ABI)
-0      short   0554    68K BCS executable
-# Motorola/88Open ABI
-0      short   0555    88K BCS executable
index 0fa8962f76e328edc9ed71837398d36e4f552c18..f45080c3196e6da5044eb1acfd929d1674803897 100644 (file)
@@ -1,27 +1,33 @@
 #
-# magic.vax: Vax magic...
+# magic.pdp: VAX executable/object and APL workspace
 #
-0      long            0x3c61723e      VAX 5.0 archive
-0      long            0x65ff0000      VAX 3.0 archive
-0      long            0x836e          VAX double precision APL workspace
-0      long            0x836f          VAX single precision APL workspace
-0      short           0x178           vax executable
-0      short           0x17d           vax pure executable
-# Michael R. Wayne  ***  TMC & Associates  ***  INTERNET: wayne@ford-vax.arpa
-# From: dupuy@amsterdam.columbia.edu (Alexander Dupuy)
-# Byte-swapped VAXen
-# Here are a few lines you can add to /etc/magic on your sun workstations in
-# order to recognize VAX executables and objects.... you could do something
-# similar (in reverse) for your vaxen, but since 4.3+NFS' file(1) doesn't look
-# for /etc/magic, I've never bothered.  It really should be built in to file(1)
-# so you would see the state of setuid/setgid/sticky bits.  Or actually, there
-# should be support for checking that sort of thing in /etc/magic.
+0      lelong          0101557         VAX single precision APL workspace
+0      lelong          0101556         VAX double precision APL workspace
+
 #
-0      long            00700200000     VAX executable
->16    long            &0x7fffffff     not stripped
-0      long            01000200000     VAX pure executable
->16    long            &0x7fffffff     not stripped
-0      long            01300200000     VAX demand-paged pure executable
->16    long            &0x7fffffff     not stripped
-0      long            0101557         VAX single precision APL workspace
-0      long            0101556         VAX double precision APL workspace
+# VAX a.out (32V, BSD)
+#
+0      lelong          0407            VAX executable
+>16    lelong          >0              not stripped
+
+0      lelong          0410            VAX pure executable
+>16    lelong          >0              not stripped
+
+0      lelong          0413            VAX demand paged pure executable
+>16    lelong          >0              not stripped
+
+0      lelong          0420            VAX demand paged (first page unmapped) pure executable
+>16    lelong          >0              not stripped
+
+#
+# VAX COFF
+#
+# The `versions' should be un-commented if they work for you.
+# (Was the problem just one of endianness?)
+#
+0      leshort         0570            VAX COFF executable
+>12    lelong          >0              not stripped
+#>22   leshort         >0              - version %ld
+0      leshort         0575            VAX COFF pure executable
+>12    lelong          >0              not stripped
+#>22   leshort         >0              - version %ld
index 66370c82e900ddd2daf65004690ab1fcd4ea2591..72bb0df4af4f3ad1de414a765d08bca13b2e785d 100644 (file)
@@ -1,53 +1,68 @@
-# Microsoft
+#
+# Microsoft (Xenix, not DOS)
+#
+# "Middle model" stuff, and "Xenix 8086 relocatable or 80286 small
+# model" lifted from "magic.xenix", with comment "derived empirically;
+# treat as folklore until proven"
+#
+# "small model", "large model", "huge model" stuff lifted from XXX
+#
+# XXX - "x.out" collides with PDP-11 archives....
+#
 0      string          core            core file (Xenix)
 0      byte            0x80            8086 relocatable (Microsoft)
-0      byte            0xf0            MS-DOS library
-0      short           0xff65          x.out
+0      leshort         0xff65          x.out
 >2     string          __.SYMDEF        randomized
 >0     byte            x               archive
-0      short           0x206           Microsoft a.out
->0x1e  short           &0x10           overlay
->0x1e  short           &0x2            separate
->0x1e  short           &0x4            pure
->0x1e  short           &0x800          segmented
->0x1e  short           &0x400          standalone
->0x1e  short           &0x8            fixed-stack
+0      leshort         0x206           Microsoft a.out
+>8     leshort         1               Middle model
+>0x1e  leshort         &0x10           overlay
+>0x1e  leshort         &0x2            separate
+>0x1e  leshort         &0x4            pure
+>0x1e  leshort         &0x800          segmented
+>0x1e  leshort         &0x400          standalone
+>0x1e  leshort         &0x8            fixed-stack
 >0x1c  byte            &0x80           byte-swapped
 >0x1c  byte            &0x40           word-swapped
->0x10  long            >0              not-stripped
->0x1e  short           ^0xc000         pre-SysV
+>0x10  lelong          >0              not-stripped
+>0x1e  leshort         ^0xc000         pre-SysV
 >0x1c  byte            &0x4            86
 >0x1c  byte            &0x9            286
 >0x1c  byte            &0xa            386
->0x1e  short           &0x1            executable
->0x1e  short           ^0x1            object file
->0x1e  short           &0x40           Large Text
->0x1e  short           &0x20           Large Data
->0x1e  short           &0x120          Huge Objects Enabled
+>0x1f  byte            <0x040          small model
+>0x1f  byte            =0x048          large model     
+>0x1f  byte            =0x049          huge model 
+>0x1e  leshort         &0x1            executable
+>0x1e  leshort         ^0x1            object file
+>0x1e  leshort         &0x40           Large Text
+>0x1e  leshort         &0x20           Large Data
+>0x1e  leshort         &0x120          Huge Objects Enabled
+>0x10  lelong          >0              not stripped
 
-0      short           0x140           old Microsoft 8086 x.out
+0      leshort         0x140           old Microsoft 8086 x.out
 >0x3   byte            &0x4            separate
 >0x3   byte            &0x2            pure
 >0     byte            &0x1            executable
 >0     byte            ^0x1            relocatable
->0x14  long            >0              not stripped
+>0x14  lelong          >0              not stripped
 
-0      long            0x206           b.out
->0x1e  short           &0x10           overlay
->0x1e  short           &0x2            separate
->0x1e  short           &0x4            pure
->0x1e  short           &0x800          segmented
->0x1e  short           &0x400          standalone
->0x1e  short           &0x1            executable
->0x1e  short           ^0x1            object file
->0x1e  short           &0x4000         V2.3
->0x1e  short           &0x8000         V3.0
+0      lelong          0x206           b.out
+>0x1e  leshort         &0x10           overlay
+>0x1e  leshort         &0x2            separate
+>0x1e  leshort         &0x4            pure
+>0x1e  leshort         &0x800          segmented
+>0x1e  leshort         &0x400          standalone
+>0x1e  leshort         &0x1            executable
+>0x1e  leshort         ^0x1            object file
+>0x1e  leshort         &0x4000         V2.3
+>0x1e  leshort         &0x8000         V3.0
 >0x1c  byte            &0x4            86
 >0x1c  byte            &0xb            186
 >0x1c  byte            &0x9            286
 >0x1c  byte            &0x29           286
 >0x1c  byte            &0xa            386
->0x1e  short           &0x4            Large Text
->0x1e  short           &0x2            Large Data
->0x1e  short           &0x102          Huge Objects Enabled
+>0x1e  leshort         &0x4            Large Text
+>0x1e  leshort         &0x2            Large Data
+>0x1e  leshort         &0x102          Huge Objects Enabled
 
+0      leshort         0x580           XENIX 8086 relocatable or 80286 small model
index ce8560aeddd4ad5af1a8afd4316592e42323d1d7..c7503cddd5d1b3402046b78509a4b9bc4634c7d6 100644 (file)
@@ -1,4 +1,9 @@
-# Zilog
+#
+# Zilog Z8000.
+#
+# Was it big-endian or little-endian?  My Product Specification doesn't
+# say.
+#
 0      long            0xe807          object file (z8000 a.out)
 0      long            0xe808          pure object file (z8000 a.out)
 0      long            0xe809          separate object file (z8000 a.out)