1ef01931fSBen Gras 2ef01931fSBen Gras#------------------------------------------------------------------------------ 3*835f6802SDirk Vogt# $File: olf,v 1.4 2009/09/19 16:28:11 christos Exp $ 4ef01931fSBen Gras# olf: file(1) magic for OLF executables 5ef01931fSBen Gras# 6ef01931fSBen Gras# We have to check the byte order flag to see what byte order all the 7ef01931fSBen Gras# other stuff in the header is in. 8ef01931fSBen Gras# 9ef01931fSBen Gras# MIPS R3000 may also be for MIPS R2000. 10ef01931fSBen Gras# What're the correct byte orders for the nCUBE and the Fujitsu VPP500? 11ef01931fSBen Gras# 12ef01931fSBen Gras# Created by Erik Theisen <etheisen@openbsd.org> 13ef01931fSBen Gras# Based on elf from Daniel Quinlan <quinlan@yggdrasil.com> 14ef01931fSBen Gras0 string \177OLF OLF 15ef01931fSBen Gras>4 byte 0 invalid class 16ef01931fSBen Gras>4 byte 1 32-bit 17ef01931fSBen Gras>4 byte 2 64-bit 18ef01931fSBen Gras>7 byte 0 invalid os 19ef01931fSBen Gras>7 byte 1 OpenBSD 20ef01931fSBen Gras>7 byte 2 NetBSD 21ef01931fSBen Gras>7 byte 3 FreeBSD 22ef01931fSBen Gras>7 byte 4 4.4BSD 23ef01931fSBen Gras>7 byte 5 Linux 24ef01931fSBen Gras>7 byte 6 SVR4 25ef01931fSBen Gras>7 byte 7 esix 26ef01931fSBen Gras>7 byte 8 Solaris 27ef01931fSBen Gras>7 byte 9 Irix 28ef01931fSBen Gras>7 byte 10 SCO 29ef01931fSBen Gras>7 byte 11 Dell 30ef01931fSBen Gras>7 byte 12 NCR 31ef01931fSBen Gras>5 byte 0 invalid byte order 32ef01931fSBen Gras>5 byte 1 LSB 33ef01931fSBen Gras>>16 leshort 0 no file type, 34ef01931fSBen Gras>>16 leshort 1 relocatable, 35ef01931fSBen Gras>>16 leshort 2 executable, 36ef01931fSBen Gras>>16 leshort 3 shared object, 37ef01931fSBen Gras# Core handling from Peter Tobias <tobias@server.et-inf.fho-emden.de> 38ef01931fSBen Gras# corrections by Christian 'Dr. Disk' Hechelmann <drdisk@ds9.au.s.shuttle.de> 39ef01931fSBen Gras>>16 leshort 4 core file 40ef01931fSBen Gras>>>(0x38+0xcc) string >\0 of '%s' 41ef01931fSBen Gras>>>(0x38+0x10) lelong >0 (signal %d), 42ef01931fSBen Gras>>16 leshort &0xff00 processor-specific, 43ef01931fSBen Gras>>18 leshort 0 no machine, 44ef01931fSBen Gras>>18 leshort 1 AT&T WE32100 - invalid byte order, 45ef01931fSBen Gras>>18 leshort 2 SPARC - invalid byte order, 46ef01931fSBen Gras>>18 leshort 3 Intel 80386, 47ef01931fSBen Gras>>18 leshort 4 Motorola 68000 - invalid byte order, 48ef01931fSBen Gras>>18 leshort 5 Motorola 88000 - invalid byte order, 49ef01931fSBen Gras>>18 leshort 6 Intel 80486, 50ef01931fSBen Gras>>18 leshort 7 Intel 80860, 51ef01931fSBen Gras>>18 leshort 8 MIPS R3000_BE - invalid byte order, 52ef01931fSBen Gras>>18 leshort 9 Amdahl - invalid byte order, 53ef01931fSBen Gras>>18 leshort 10 MIPS R3000_LE, 54ef01931fSBen Gras>>18 leshort 11 RS6000 - invalid byte order, 55ef01931fSBen Gras>>18 leshort 15 PA-RISC - invalid byte order, 56ef01931fSBen Gras>>18 leshort 16 nCUBE, 57ef01931fSBen Gras>>18 leshort 17 VPP500, 58ef01931fSBen Gras>>18 leshort 18 SPARC32PLUS, 59ef01931fSBen Gras>>18 leshort 20 PowerPC, 60ef01931fSBen Gras>>18 leshort 0x9026 Alpha, 61ef01931fSBen Gras>>20 lelong 0 invalid version 62ef01931fSBen Gras>>20 lelong 1 version 1 63ef01931fSBen Gras>>36 lelong 1 MathCoPro/FPU/MAU Required 64ef01931fSBen Gras>8 string >\0 (%s) 65ef01931fSBen Gras>5 byte 2 MSB 66ef01931fSBen Gras>>16 beshort 0 no file type, 67ef01931fSBen Gras>>16 beshort 1 relocatable, 68ef01931fSBen Gras>>16 beshort 2 executable, 69ef01931fSBen Gras>>16 beshort 3 shared object, 70ef01931fSBen Gras>>16 beshort 4 core file, 71ef01931fSBen Gras>>>(0x38+0xcc) string >\0 of '%s' 72ef01931fSBen Gras>>>(0x38+0x10) belong >0 (signal %d), 73ef01931fSBen Gras>>16 beshort &0xff00 processor-specific, 74ef01931fSBen Gras>>18 beshort 0 no machine, 75ef01931fSBen Gras>>18 beshort 1 AT&T WE32100, 76ef01931fSBen Gras>>18 beshort 2 SPARC, 77ef01931fSBen Gras>>18 beshort 3 Intel 80386 - invalid byte order, 78ef01931fSBen Gras>>18 beshort 4 Motorola 68000, 79ef01931fSBen Gras>>18 beshort 5 Motorola 88000, 80ef01931fSBen Gras>>18 beshort 6 Intel 80486 - invalid byte order, 81ef01931fSBen Gras>>18 beshort 7 Intel 80860, 82ef01931fSBen Gras>>18 beshort 8 MIPS R3000_BE, 83ef01931fSBen Gras>>18 beshort 9 Amdahl, 84ef01931fSBen Gras>>18 beshort 10 MIPS R3000_LE - invalid byte order, 85ef01931fSBen Gras>>18 beshort 11 RS6000, 86ef01931fSBen Gras>>18 beshort 15 PA-RISC, 87ef01931fSBen Gras>>18 beshort 16 nCUBE, 88ef01931fSBen Gras>>18 beshort 17 VPP500, 89ef01931fSBen Gras>>18 beshort 18 SPARC32PLUS, 90ef01931fSBen Gras>>18 beshort 20 PowerPC or cisco 4500, 91ef01931fSBen Gras>>18 beshort 21 cisco 7500, 92ef01931fSBen Gras>>18 beshort 24 cisco SVIP, 93ef01931fSBen Gras>>18 beshort 25 cisco 7200, 94ef01931fSBen Gras>>18 beshort 36 cisco 12000, 95ef01931fSBen Gras>>18 beshort 0x9026 Alpha, 96ef01931fSBen Gras>>20 belong 0 invalid version 97ef01931fSBen Gras>>20 belong 1 version 1 98ef01931fSBen Gras>>36 belong 1 MathCoPro/FPU/MAU Required 99