aout 1.7 KB

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