]> granicus.if.org Git - file/commitdiff
remove dup le/be
authorChristos Zoulas <christos@zoulas.com>
Fri, 2 Nov 2012 21:06:27 +0000 (21:06 +0000)
committerChristos Zoulas <christos@zoulas.com>
Fri, 2 Nov 2012 21:06:27 +0000 (21:06 +0000)
magic/Magdir/elf

index d1aa4fb2504187618903faf3a467c4ca54e41e56..cefc8ca6e2f8353841c8a1c111e7cb3d65181c5d 100644 (file)
@@ -1,6 +1,6 @@
 
 #------------------------------------------------------------------------------
-# $File: elf,v 1.55 2012/02/22 18:25:39 christos Exp $
+# $File: elf,v 1.56 2012/08/05 01:42:53 christos Exp $
 # elf:  file(1) magic for ELF executables
 #
 # We have to check the byte order flag to see what byte order all the
 # Modified by (3): Christian 'Dr. Disk' Hechelmann <drdisk@ds9.au.s.shuttle.de> (fix of core support)
 # Modified by (4): <gerardo.cacciari@gmail.com> (VMS Itanium)
 # Modified by (5): Matthias Urlichs <smurf@debian.org> (Listing of many architectures)
-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               no file type,
+
+0      name            elf-le
+>16    leshort         0               no file type,
 !:strength *2
 !:mime application/octet-stream
->>16   leshort         1               relocatable,
+>16    leshort         1               relocatable,
 !:mime application/x-object
->>16   leshort         2               executable,
+>16    leshort         2               executable,
 !:mime application/x-executable
->>16   leshort         3               shared object,
+>16    leshort         3               shared object,
 !:mime application/x-sharedlib
->>16   leshort         4               core file
+>16    leshort         4               core file
 !:mime application/x-coredump
 # Core file detection is not reliable.
 #>>>(0x38+0xcc) string >\0             of '%s'
 #>>>(0x38+0x10) lelong >0              (signal %d),
->>16   leshort         &0xff00         processor-specific,
->>18   leshort         0               no machine,
->>18   leshort         1               AT&T WE32100 - invalid byte order,
->>18   leshort         2               SPARC - invalid byte order,
->>18   leshort         3               Intel 80386,
->>18   leshort         4               Motorola
->>>4   byte            1
->>>>36 lelong          &0x01000000     68000 - invalid byte order,
->>>>36 lelong          &0x00810000     CPU32 - invalid byte order,
->>>>36 lelong          0               68020 - invalid byte order,
->>18   leshort         5               Motorola 88000 - invalid byte order,
->>18   leshort         6               Intel 80486,
->>18   leshort         7               Intel 80860,
+>16    leshort         &0xff00         processor-specific,
+>18    leshort         0               no machine,
+>18    leshort         1               AT&T WE32100
+>18    leshort         2               SPARC
+>18    leshort         3               Intel 80386,
+>18    leshort         4               Motorola
+>>   byte            1
+>>>36  lelong          &0x01000000     68000 - invalid byte order,
+>>>36  lelong          &0x00810000     CPU32 - invalid byte order,
+>>>36  lelong          0               68020 - invalid byte order,
+>18    leshort         5               Motorola 88000 - invalid byte order,
+>18    leshort         6               Intel 80486,
+>18    leshort         7               Intel 80860,
 # The official e_machine number for MIPS is now #8, regardless of endianness.
 # The second number (#10) will be deprecated later. For now, we still
 # say something if #10 is encountered, but only gory details for #8.
->>18   leshort         8               MIPS,
->>>4   byte            1
->>>>36 lelong          &0x20           N32
->>18   leshort         10              MIPS,
->>>4   byte            1
->>>>36 lelong          &0x20           N32
->>18   leshort         8
-# only for 32-bit
->>>4   byte            1
->>>>36  lelong&0xf0000000      0x00000000      MIPS-I
->>>>36  lelong&0xf0000000      0x10000000      MIPS-II
->>>>36  lelong&0xf0000000      0x20000000      MIPS-III
->>>>36  lelong&0xf0000000      0x30000000      MIPS-IV
->>>>36  lelong&0xf0000000      0x40000000      MIPS-V
->>>>36  lelong&0xf0000000      0x50000000      MIPS32
->>>>36  lelong&0xf0000000      0x60000000      MIPS64
->>>>36  lelong&0xf0000000      0x70000000      MIPS32 rel2
->>>>36  lelong&0xf0000000      0x80000000      MIPS64 rel2
-# only for 64-bit
->>>4   byte            2
->>>>48  lelong&0xf0000000      0x00000000      MIPS-I
->>>>48  lelong&0xf0000000      0x10000000      MIPS-II
->>>>48  lelong&0xf0000000      0x20000000      MIPS-III
->>>>48  lelong&0xf0000000      0x30000000      MIPS-IV
->>>>48  lelong&0xf0000000      0x40000000      MIPS-V
->>>>48  lelong&0xf0000000      0x50000000      MIPS32
->>>>48  lelong&0xf0000000      0x60000000      MIPS64
->>>>48  lelong&0xf0000000      0x70000000      MIPS32 rel2
->>>>48  lelong&0xf0000000      0x80000000      MIPS64 rel2
->>18   leshort         9               Amdahl - invalid byte order,
->>18   leshort         10              MIPS (deprecated),
->>18   leshort         11              RS6000 - invalid byte order,
->>18   leshort         15              PA-RISC - invalid byte order,
-# only for 32-bit
->>>4   byte            1
->>>>38 leshort         0x0214          2.0
->>>>36 leshort         &0x0008         (LP64)
-# only for 64-bit
->>>4   byte            2
->>>>50 leshort         0x0214          2.0
->>>>48 leshort         &0x0008         (LP64)
->>18   leshort         16              nCUBE,
->>18   leshort         17              Fujitsu VPP500,
->>18   leshort         18              SPARC32PLUS - invalid byte order,
->>18   leshort         20              PowerPC,
->>18   leshort         22              IBM S/390,
->>18   leshort         36              NEC V800,
->>18   leshort         37              Fujitsu FR20,
->>18   leshort         38              TRW RH-32,
->>18   leshort         39              Motorola RCE,
->>18   leshort         40              ARM,
->>>4   byte            1
->>>>36 lelong&0xff000000       0x04000000      EABI4
->>>>36 lelong&0xff000000       0x05000000      EABI5
->>18   leshort         41              Alpha,
->>18   leshort         0xa390          IBM S/390 (obsolete),
->>18   leshort         42              Renesas SH,
->>18   leshort         43              SPARC V9 - invalid byte order,
->>18   leshort         44              Siemens Tricore Embedded Processor,
->>18   leshort         45              Argonaut RISC Core, Argonaut Technologies Inc.,
->>18   leshort         46              Renesas H8/300,
->>18   leshort         47              Renesas H8/300H,
->>18   leshort         48              Renesas H8S,
->>18   leshort         49              Renesas H8/500,
->>18   leshort         50              IA-64,
->>18   leshort         51              Stanford MIPS-X,
->>18   leshort         52              Motorola Coldfire,
->>18   leshort         53              Motorola M68HC12,
->>18   leshort         54              Fujitsu MMA,
->>18   leshort         55              Siemens PCP,
->>18   leshort         56              Sony nCPU,
->>18   leshort         57              Denso NDR1,
->>18   leshort         58              Start*Core,
->>18   leshort         59              Toyota ME16,
->>18   leshort         60              ST100,
->>18   leshort         61              Tinyj emb.,
->>18   leshort         62              x86-64,
->>18   leshort         63              Sony DSP,
->>18   leshort         66              FX66,
->>18   leshort         67              ST9+ 8/16 bit,
->>18   leshort         68              ST7 8 bit,
->>18   leshort         69              MC68HC16,
->>18   leshort         70              MC68HC11,
->>18   leshort         71              MC68HC08,
->>18   leshort         72              MC68HC05,
->>18   leshort         73              SGI SVx,
->>18   leshort         74              ST19 8 bit,
->>18   leshort         75              Digital VAX,
->>18   leshort         76              Axis cris,
->>18   leshort         77              Infineon 32-bit embedded,
->>18   leshort         78              Element 14 64-bit DSP,
->>18   leshort         79              LSI Logic 16-bit DSP,
->>18   leshort         80              MMIX,
->>18   leshort         81              Harvard machine-independent,
->>18   leshort         82              SiTera Prism,
->>18   leshort         83              Atmel AVR 8-bit,
->>18   leshort         84              Fujitsu FR30,
->>18   leshort         85              Mitsubishi D10V,
->>18   leshort         86              Mitsubishi D30V,
->>18   leshort         87              NEC v850,
->>18   leshort         88              Renesas M32R,
->>18   leshort         89              Matsushita MN10300,
->>18   leshort         90              Matsushita MN10200,
->>18   leshort         91              picoJava,
->>18   leshort         92              OpenRISC,
->>18   leshort         93              ARC Cores Tangent-A5,
->>18   leshort         94              Tensilica Xtensa,
->>18   leshort         97              NatSemi 32k,
->>18   leshort         106             Analog Devices Blackfin,
->>18   leshort         113             Altera Nios II,
->>18   leshort         0xae            META,
->>18   leshort         187             Tilera TILE64,
->>18   leshort         188             Tilera TILEPro,
->>18   leshort         191             Tilera TILE-Gx,
->>18   leshort         0x3426          OpenRISC (obsolete),
->>18   leshort         0x8472          OpenRISC (obsolete),
->>18   leshort         0x9026          Alpha (unofficial),
->>20   lelong          0               invalid version
->>20   lelong          1               version 1
->5     byte            2               MSB
->>16   beshort         0               no file type,
-!:mime application/octet-stream
->>16   beshort         1               relocatable,
-!:mime application/x-object
->>16   beshort         2               executable,
-!:mime application/x-executable
->>16   beshort         3               shared object,
-!:mime application/x-sharedlib
->>16   beshort         4               core file,
-!:mime application/x-coredump
-#>>>(0x38+0xcc) string >\0             of '%s'
-#>>>(0x38+0x10) belong >0              (signal %d),
->>16   beshort         &0xff00         processor-specific,
->>18   beshort         0               no machine,
->>18   beshort         1               AT&T WE32100,
->>18   beshort         2               SPARC,
->>18   beshort         3               Intel 80386 - invalid byte order,
->>18   beshort         4               Motorola
->>>4   byte            1
->>>>36 belong          &0x01000000     68000,
->>>>36 belong          &0x00810000     CPU32,
->>>>36 belong          0               68020,
->>18   beshort         5               Motorola 88000,
->>18   beshort         6               Intel 80486 - invalid byte order,
->>18   beshort         7               Intel 80860,
-# only for MIPS - see comment in little-endian section above.
->>18   beshort         8               MIPS,
->>>4   byte            1
->>>>36 belong          &0x20           N32
->>18   beshort         10              MIPS,
->>>4   byte            1
->>>>36 belong          &0x20           N32
->>18   beshort         8
+>18    leshort         8               MIPS,
+>>4    byte            1
+>>>36  lelong          &0x20           N32
+>18    leshort         10              MIPS,
+>>4    byte            1
+>>>36  lelong          &0x20           N32
+>18    leshort         8
 # only for 32-bit
->>>4   byte            1
->>>>36  belong&0xf0000000      0x00000000      MIPS-I
->>>>36  belong&0xf0000000      0x10000000      MIPS-II
->>>>36  belong&0xf0000000      0x20000000      MIPS-III
->>>>36  belong&0xf0000000      0x30000000      MIPS-IV
->>>>36  belong&0xf0000000      0x40000000      MIPS-V
->>>>36  belong&0xf0000000      0x50000000      MIPS32
->>>>36  belong&0xf0000000      0x60000000      MIPS64
->>>>36  belong&0xf0000000      0x70000000      MIPS32 rel2
->>>>36  belong&0xf0000000      0x80000000      MIPS64 rel2
+>>   byte            1
+>>>36  lelong&0xf0000000       0x00000000      MIPS-I
+>>>36  lelong&0xf0000000       0x10000000      MIPS-II
+>>>36  lelong&0xf0000000       0x20000000      MIPS-III
+>>>36  lelong&0xf0000000       0x30000000      MIPS-IV
+>>>36  lelong&0xf0000000       0x40000000      MIPS-V
+>>>36  lelong&0xf0000000       0x50000000      MIPS32
+>>>36  lelong&0xf0000000       0x60000000      MIPS64
+>>>36  lelong&0xf0000000       0x70000000      MIPS32 rel2
+>>>36  lelong&0xf0000000       0x80000000      MIPS64 rel2
 # only for 64-bit
->>>4   byte            2
->>>>48 belong&0xf0000000       0x00000000      MIPS-I
->>>>48 belong&0xf0000000       0x10000000      MIPS-II
->>>>48 belong&0xf0000000       0x20000000      MIPS-III
->>>>48 belong&0xf0000000       0x30000000      MIPS-IV
->>>>48 belong&0xf0000000       0x40000000      MIPS-V
->>>>48 belong&0xf0000000       0x50000000      MIPS32
->>>>48 belong&0xf0000000       0x60000000      MIPS64
->>>>48 belong&0xf0000000       0x70000000      MIPS32 rel2
->>>>48 belong&0xf0000000       0x80000000      MIPS64 rel2
->>18   beshort         9               Amdahl,
->>18   beshort         10              MIPS (deprecated),
->>18   beshort         11              RS6000,
->>18   beshort         15              PA-RISC
+>>   byte            2
+>>>48  lelong&0xf0000000       0x00000000      MIPS-I
+>>>48  lelong&0xf0000000       0x10000000      MIPS-II
+>>>48  lelong&0xf0000000       0x20000000      MIPS-III
+>>>48  lelong&0xf0000000       0x30000000      MIPS-IV
+>>>48  lelong&0xf0000000       0x40000000      MIPS-V
+>>>48  lelong&0xf0000000       0x50000000      MIPS32
+>>>48  lelong&0xf0000000       0x60000000      MIPS64
+>>>48  lelong&0xf0000000       0x70000000      MIPS32 rel2
+>>>48  lelong&0xf0000000       0x80000000      MIPS64 rel2
+>18    leshort         9               Amdahl - invalid byte order,
+>18    leshort         10              MIPS (deprecated),
+>18    leshort         11              RS6000 - invalid byte order,
+>18    leshort         15              PA-RISC - invalid byte order,
 # only for 32-bit
->>>4   byte            1
->>>>38 beshort         0x0214          2.0
->>>>36 beshort         &0x0008         (LP64)
+>>   byte            1
+>>>38  leshort         0x0214          2.0
+>>>36  leshort         &0x0008         (LP64)
 # only for 64-bit
->>>4   byte            2
->>>>50 beshort         0x0214          2.0
->>>>48 beshort         &0x0008         (LP64)
->>18   beshort         16              nCUBE,
->>18   beshort         17              Fujitsu VPP500,
->>18   beshort         18              SPARC32PLUS,
+>>   byte            2
+>>>50  leshort         0x0214          2.0
+>>>48  leshort         &0x0008         (LP64)
+>18    leshort         16              nCUBE,
+>18    leshort         17              Fujitsu VPP500,
+>18    leshort         18              SPARC32PLUS,
 # only for 32-bit
->>>4   byte            1
->>>>36 belong&0xffff00 0x000100        V8+ Required,
->>>>36 belong&0xffff00 0x000200        Sun UltraSPARC1 Extensions Required,
->>>>36 belong&0xffff00 0x000400        HaL R1 Extensions Required,
->>>>36 belong&0xffff00 0x000800        Sun UltraSPARC3 Extensions Required,
->>18   beshort         20              PowerPC or cisco 4500,
->>18   beshort         21              64-bit PowerPC or cisco 7500,
->>18   beshort         22              IBM S/390,
->>18   beshort         23              Cell SPU,
->>18   beshort         24              cisco SVIP,
->>18   beshort         25              cisco 7200,
->>18   beshort         36              NEC V800 or cisco 12000,
->>18   beshort         37              Fujitsu FR20,
->>18   beshort         38              TRW RH-32,
->>18   beshort         39              Motorola RCE,
->>18   beshort         40              ARM,
->>>4   byte            1
->>>>36 belong&0xff000000       0x04000000      EABI4
->>>>36 belong&0xff000000       0x05000000      EABI5
->>18   beshort         41              Alpha,
->>18   beshort         42              Renesas SH,
->>18   beshort         43              SPARC V9,
->>>4   byte            2
->>>>48 belong&0xffff00 0x000200        Sun UltraSPARC1 Extensions Required,
->>>>48 belong&0xffff00 0x000400        HaL R1 Extensions Required,
->>>>48 belong&0xffff00 0x000800        Sun UltraSPARC3 Extensions Required,
->>>>48 belong&0x3      0               total store ordering,
->>>>48 belong&0x3      1               partial store ordering,
->>>>48 belong&0x3      2               relaxed memory ordering,
->>18   beshort         44              Siemens Tricore Embedded Processor,
->>18   beshort         45              Argonaut RISC Core, Argonaut Technologies Inc.,
->>18   beshort         46              Renesas H8/300,
->>18   beshort         47              Renesas H8/300H,
->>18   beshort         48              Renesas H8S,
->>18   beshort         49              Renesas H8/500,
->>18   beshort         50              IA-64,
->>18   beshort         51              Stanford MIPS-X,
->>18   beshort         52              Motorola Coldfire,
->>18   beshort         53              Motorola M68HC12,
->>18   beshort         73              Cray NV1,
->>18   beshort         75              Digital VAX,
->>18   beshort         88              Renesas M32R,
->>18   leshort         92              OpenRISC,
->>18   leshort         0x3426          OpenRISC (obsolete),
->>18   leshort         0x8472          OpenRISC (obsolete),
->>18   beshort         94              Tensilica Xtensa,
->>18   beshort         97              NatSemi 32k,
->>18   beshort         187             Tilera TILE64,
->>18   beshort         188             Tilera TILEPro,
->>18   beshort         191             Tilera TILE-Gx,
->>18   beshort         0x18ad          AVR32 (unofficial),
->>18   beshort         0x9026          Alpha (unofficial),
->>18   beshort         0xa390          IBM S/390 (obsolete),
->>>20  belong          0               invalid version
->>>20  belong          1               version 1
->>>4   byte            1
->>>>36 belong          1               MathCoPro/FPU/MAU Required
+>>4    byte            1
+>>>36  lelong&0xffff00 0x000100        V8+ Required,
+>>>36  lelong&0xffff00 0x000200        Sun UltraSPARC1 Extensions Required,
+>>>36  lelong&0xffff00 0x000400        HaL R1 Extensions Required,
+>>>36  lelong&0xffff00 0x000800        Sun UltraSPARC3 Extensions Required,
+>18    leshort         20              PowerPC or cisco 4500,
+>18    leshort         21              64-bit PowerPC or cisco 7500,
+>18    leshort         22              IBM S/390,
+>18    leshort         23              Cell SPU,
+>18    leshort         24              cisco SVIP,
+>18    leshort         25              cisco 7200,
+>18    leshort         36              NEC V800 or cisco 12000,
+>18    leshort         37              Fujitsu FR20,
+>18    leshort         38              TRW RH-32,
+>18    leshort         39              Motorola RCE,
+>18    leshort         40              ARM,
+>>4    byte            1
+>>>36  lelong&0xff000000       0x04000000      EABI4
+>>>36  lelong&0xff000000       0x05000000      EABI5
+>18    leshort         41              Alpha,
+>18    leshort         0xa390          IBM S/390 (obsolete),
+>18    leshort         42              Renesas SH,
+>18    leshort         43              SPARC V9,
+>>4    byte            2
+>>>48  lelong&0xffff00 0x000200        Sun UltraSPARC1 Extensions Required,
+>>>48  lelong&0xffff00 0x000400        HaL R1 Extensions Required,
+>>>48  lelong&0xffff00 0x000800        Sun UltraSPARC3 Extensions Required,
+>>>48  lelong&0x3      0               total store ordering,
+>>>48  lelong&0x3      1               partial store ordering,
+>>>48  lelong&0x3      2               relaxed memory ordering,
+>18    leshort         44              Siemens Tricore Embedded Processor,
+>18    leshort         45              Argonaut RISC Core, Argonaut Technologies Inc.,
+>18    leshort         46              Renesas H8/300,
+>18    leshort         47              Renesas H8/300H,
+>18    leshort         48              Renesas H8S,
+>18    leshort         49              Renesas H8/500,
+>18    leshort         50              IA-64,
+>18    leshort         51              Stanford MIPS-X,
+>18    leshort         52              Motorola Coldfire,
+>18    leshort         53              Motorola M68HC12,
+>18    leshort         54              Fujitsu MMA,
+>18    leshort         55              Siemens PCP,
+>18    leshort         56              Sony nCPU,
+>18    leshort         57              Denso NDR1,
+>18    leshort         58              Start*Core,
+>18    leshort         59              Toyota ME16,
+>18    leshort         60              ST100,
+>18    leshort         61              Tinyj emb.,
+>18    leshort         62              x86-64,
+>18    leshort         63              Sony DSP,
+>18    leshort         66              FX66,
+>18    leshort         67              ST9+ 8/16 bit,
+>18    leshort         68              ST7 8 bit,
+>18    leshort         69              MC68HC16,
+>18    leshort         70              MC68HC11,
+>18    leshort         71              MC68HC08,
+>18    leshort         72              MC68HC05,
+>18    leshort         73              SGI SVx or Cray NV1,
+>18    leshort         74              ST19 8 bit,
+>18    leshort         75              Digital VAX,
+>18    leshort         76              Axis cris,
+>18    leshort         77              Infineon 32-bit embedded,
+>18    leshort         78              Element 14 64-bit DSP,
+>18    leshort         79              LSI Logic 16-bit DSP,
+>18    leshort         80              MMIX,
+>18    leshort         81              Harvard machine-independent,
+>18    leshort         82              SiTera Prism,
+>18    leshort         83              Atmel AVR 8-bit,
+>18    leshort         84              Fujitsu FR30,
+>18    leshort         85              Mitsubishi D10V,
+>18    leshort         86              Mitsubishi D30V,
+>18    leshort         87              NEC v850,
+>18    leshort         88              Renesas M32R,
+>18    leshort         89              Matsushita MN10300,
+>18    leshort         90              Matsushita MN10200,
+>18    leshort         91              picoJava,
+>18    leshort         92              OpenRISC,
+>18    leshort         0x3426          OpenRISC (obsolete),
+>18    leshort         0x8472          OpenRISC (obsolete),
+>18    leshort         93              ARC Cores Tangent-A5,
+>18    leshort         94              Tensilica Xtensa,
+>18    leshort         97              NatSemi 32k,
+>18    leshort         106             Analog Devices Blackfin,
+>18    leshort         113             Altera Nios II,
+>18    leshort         0xae            META,
+>18    leshort         187             Tilera TILE64,
+>18    leshort         188             Tilera TILEPro,
+>18    leshort         191             Tilera TILE-Gx,
+>18    leshort         0x3426          OpenRISC (obsolete),
+>18    leshort         0x8472          OpenRISC (obsolete),
+>18    leshort         0x9026          Alpha (unofficial),
+>20    lelong          0               invalid version
+>20    lelong          1               version 1
+
+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 
+>>0    use             elf-le
+>5     byte            2               MSB 
+>>0    use             \^elf-le
 # Up to now only 0, 1 and 2 are defined; I've seen a file with 0x83, it seemed
 # like proper ELF, but extracting the string had bad results.
 >4      byte            <0x80