1*380b5c7dSchl# $OpenBSD: mach,v 1.4 2008/05/08 01:40:57 chl Exp $ 2d4e7c603Sniklas 3*380b5c7dSchl#------------------------------------------------------------ 4*380b5c7dSchl# Mach has two magic numbers, 0xcafebabe and 0xfeedface. 5*380b5c7dSchl# Unfortunately the first, cafebabe, is shared with 6*380b5c7dSchl# Java ByteCode, so they are both handled in the file "cafebabe". 7*380b5c7dSchl# The "feedface" ones are handled herein. 8*380b5c7dSchl#------------------------------------------------------------ 9*380b5c7dSchl0 lelong&0xfeffffff 0xfeedface Mach-O 10*380b5c7dSchl>0 byte 0xcf 64-bit 11*380b5c7dSchl>12 lelong 1 object 12*380b5c7dSchl>12 lelong 2 executable 13*380b5c7dSchl>12 lelong 3 fixed virtual memory shared library 14*380b5c7dSchl>12 lelong 4 core 15*380b5c7dSchl>12 lelong 5 preload executable 16*380b5c7dSchl>12 lelong 6 dynamically linked shared library 17*380b5c7dSchl>12 lelong 7 dynamic linker 18*380b5c7dSchl>12 lelong 8 bundle 19*380b5c7dSchl>12 lelong 9 dynamically linked shared library stub 20*380b5c7dSchl>12 lelong >9 21*380b5c7dSchl>>12 lelong x filetype=%ld 22*380b5c7dSchl>4 lelong <0 23*380b5c7dSchl>>4 lelong x architecture=%ld 24*380b5c7dSchl>4 lelong 1 vax 25*380b5c7dSchl>4 lelong 2 romp 26*380b5c7dSchl>4 lelong 3 architecture=3 27*380b5c7dSchl>4 lelong 4 ns32032 28*380b5c7dSchl>4 lelong 5 ns32332 29*380b5c7dSchl>4 lelong 6 m68k 30*380b5c7dSchl>4 lelong 7 i386 31*380b5c7dSchl>4 lelong 8 mips 32*380b5c7dSchl>4 lelong 9 ns32532 33*380b5c7dSchl>4 lelong 10 architecture=10 34*380b5c7dSchl>4 lelong 11 hppa 35*380b5c7dSchl>4 lelong 12 acorn 36*380b5c7dSchl>4 lelong 13 m88k 37*380b5c7dSchl>4 lelong 14 sparc 38*380b5c7dSchl>4 lelong 15 i860-big 39*380b5c7dSchl>4 lelong 16 i860 40*380b5c7dSchl>4 lelong 17 rs6000 41*380b5c7dSchl>4 lelong 18 ppc 42*380b5c7dSchl>4 lelong 16777234 ppc64 43*380b5c7dSchl>4 lelong >16777234 44*380b5c7dSchl>>4 lelong x architecture=%ld 45ab0f8c09Smillert# 46*380b5c7dSchl0 belong&0xfffffffe 0xfeedface Mach-O 47*380b5c7dSchl>3 byte 0xcf 64-bit 48ab0f8c09Smillert>12 belong 1 object 49ab0f8c09Smillert>12 belong 2 executable 50*380b5c7dSchl>12 belong 3 fixed virtual memory shared library 51ab0f8c09Smillert>12 belong 4 core 52ab0f8c09Smillert>12 belong 5 preload executable 5336c0c0feStedu>12 belong 6 dynamically linked shared library 5436c0c0feStedu>12 belong 7 dynamic linker 5536c0c0feStedu>12 belong 8 bundle 56*380b5c7dSchl>12 belong 9 dynamically linked shared library stub 57*380b5c7dSchl>12 belong >9 58ab0f8c09Smillert>>12 belong x filetype=%ld 59ab0f8c09Smillert>4 belong <0 60ab0f8c09Smillert>>4 belong x architecture=%ld 61ab0f8c09Smillert>4 belong 1 vax 62ab0f8c09Smillert>4 belong 2 romp 63ab0f8c09Smillert>4 belong 3 architecture=3 64ab0f8c09Smillert>4 belong 4 ns32032 65ab0f8c09Smillert>4 belong 5 ns32332 66ab0f8c09Smillert>4 belong 6 for m68k architecture 6736c0c0feStedu# from NeXTstep 3.0 <mach/machine.h> 6836c0c0feStedu# i.e. mc680x0_all, ignore 6936c0c0feStedu# >>8 belong 1 (mc68030) 7036c0c0feStedu>>8 belong 2 (mc68040) 7136c0c0feStedu>>8 belong 3 (mc68030 only) 72ab0f8c09Smillert>4 belong 7 i386 73ab0f8c09Smillert>4 belong 8 mips 74ab0f8c09Smillert>4 belong 9 ns32532 75ab0f8c09Smillert>4 belong 10 architecture=10 76*380b5c7dSchl>4 belong 11 hppa 77ab0f8c09Smillert>4 belong 12 acorn 78ab0f8c09Smillert>4 belong 13 m88k 79ab0f8c09Smillert>4 belong 14 sparc 80ab0f8c09Smillert>4 belong 15 i860-big 81ab0f8c09Smillert>4 belong 16 i860 82ab0f8c09Smillert>4 belong 17 rs6000 8336c0c0feStedu>4 belong 18 ppc 84*380b5c7dSchl>4 belong 16777234 ppc64 85*380b5c7dSchl>4 belong >16777234 86ab0f8c09Smillert>>4 belong x architecture=%ld 87