238 lines
6.3 KiB
OpenEdge ABL
238 lines
6.3 KiB
OpenEdge ABL
ifnd ELF_I
|
|
ELF_I equ 1
|
|
clrso
|
|
Elf_Ehdr.ei_mag: so.b 4
|
|
Elf_Ehdr.ei_class: so.b 1
|
|
Elf_Ehdr.ei_data: so.b 1
|
|
Elf_Ehdr.ei_version so.b 1
|
|
Elf_Ehdr.ei_osabi: so.b 1
|
|
Elf_Ehdr.ei_padd: so.b 8
|
|
Elf_Ehdr.e_type: so.w 1
|
|
Elf_Ehdr.e_machine: so.w 1
|
|
Elf_Ehdr.e_version: so.l 1
|
|
Elf_Ehdr.sizeof equ __SO
|
|
Elf32_Ehdr.e_entry: so.l 1
|
|
Elf32_Ehdr.e_phoff: so.l 1
|
|
Elf32_Ehdr.e_shoff: so.l 1
|
|
Elf32_Ehdr.e_flags: so.l 1
|
|
Elf32_Ehdr.e_ehsize: so.w 1
|
|
Elf32_Ehdr.e_phentsize: so.w 1
|
|
Elf32_Ehdr.e_phnum: so.w 1
|
|
Elf32_Ehdr.e_shentsize: so.w 1
|
|
Elf32_Ehdr.e_shnum: so.w 1
|
|
Elf32_Ehdr.e_shstrndx: so.w 1
|
|
Elf32_Ehdr.sizeof equ __SO
|
|
|
|
|
|
ELFMAG0 equ $7f ; EI_MAG
|
|
ELFMAG1 equ 'E'
|
|
ELFMAG2 equ 'L'
|
|
ELFMAG3 equ 'F'
|
|
|
|
ELFCLASSNONE equ 0 ; EI_CLASS
|
|
ELFCLASS32 equ 1
|
|
ELFCLASS64 equ 2
|
|
ELFCLASSNUM equ 3
|
|
|
|
ELFDATANONE equ 0 ; EI_DATA
|
|
ELFDATA2LSB equ 1
|
|
ELFDATA2MSB equ 2
|
|
ELFDATANUM equ 3
|
|
|
|
ET_NONE equ 0 ; e_type
|
|
ET_REL equ 1
|
|
ET_EXEC equ 2
|
|
ET_DYN equ 3
|
|
ET_CORE equ 4
|
|
ET_NUM equ 5
|
|
ET_LOOS equ $fe00 ; OS specific range
|
|
ET_LOSUNW equ $feff
|
|
ET_SUNWPSEUDO equ $feff
|
|
ET_HISUNW equ $feff
|
|
ET_HIOS equ $feff
|
|
ET_LOPROC equ $ff00 ; processor specific range
|
|
ET_HIPROC equ $ffff
|
|
|
|
EM_NONE equ 0 ; e_machine
|
|
EM_M32 equ 1 ; AT&T WE 32100
|
|
EM_SPARC equ 2 ; Sun SPARC
|
|
EM_386 equ 3 ; Intel 80386
|
|
EM_68K equ 4 ; Motorola 68000
|
|
EM_88K equ 5 ; Motorola 88000
|
|
EM_486 equ 6 ; Intel 80486
|
|
EM_860 equ 7 ; Intel i860
|
|
EM_MIPS equ 8 ; MIPS RS3000 Big-Endian
|
|
EM_S370 equ 9 ; IBM System/370 Processor
|
|
EM_MIPS_RS3_LE equ 10 ; MIPS RS3000 Little-Endian
|
|
EM_RS6000 equ 11 ; RS6000
|
|
EM_UNKNOWN12 equ 12
|
|
EM_UNKNOWN13 equ 13
|
|
EM_UNKNOWN14 equ 14
|
|
EM_PA_RISC equ 15 ; PA-RISC
|
|
EM_nCUBE equ 16 ; nCUBE
|
|
EM_VPP500 equ 17 ; Fujitsu VPP500
|
|
EM_SPARC32PLUS equ 18 ; Sun SPARC 32+
|
|
EM_960 equ 19 ; Intel 80960
|
|
EM_PPC equ 20 ; PowerPC
|
|
EM_PPC64 equ 21 ; 64-bit PowerPC
|
|
EM_UNKNOWN22 equ 22
|
|
EM_UNKNOWN23 equ 23
|
|
EM_UNKNOWN24 equ 24
|
|
EM_UNKNOWN25 equ 25
|
|
EM_UNKNOWN26 equ 26
|
|
EM_UNKNOWN27 equ 27
|
|
EM_UNKNOWN28 equ 28
|
|
EM_UNKNOWN29 equ 29
|
|
EM_UNKNOWN30 equ 30
|
|
EM_UNKNOWN31 equ 31
|
|
EM_UNKNOWN32 equ 32
|
|
EM_UNKNOWN33 equ 33
|
|
EM_UNKNOWN34 equ 34
|
|
EM_UNKNOWN35 equ 35
|
|
EM_V800 equ 36 ; NEX V800
|
|
EM_FR20 equ 37 ; Fujitsu FR20
|
|
EM_RH32 equ 38 ; TRW RH-32
|
|
EM_RCE equ 39 ; Motorola RCE
|
|
EM_ARM equ 40 ; Advanced RISC Marchines ARM
|
|
EM_ALPHA equ 41 ; Digital Alpha
|
|
EM_SH equ 42 ; Hitachi SH
|
|
EM_SPARCV9 equ 43 ; Sun SPARC V9 (64-bit)
|
|
EM_TRICORE equ 44 ; Siemens Tricore embedded processor
|
|
EM_ARC equ 45 ; Argonaut RISC Core,
|
|
; Argonaut Technologies Inc.
|
|
EM_H8_300 equ 46 ; Hitachi H8/300
|
|
EM_H8_300H equ 47 ; Hitachi H8/300H
|
|
EM_H8S equ 48 ; Hitachi H8S
|
|
EM_H8_500 equ 49 ; Hitachi H8/500
|
|
EM_IA_64 equ 50 ; Intel IA64
|
|
EM_MIPS_X equ 51 ; Stanford MIPS-X
|
|
EM_COLDFIRE equ 52 ; Motorola ColdFire
|
|
EM_68HC12 equ 53 ; Motorola M68HC12
|
|
EM_MMA equ 54 ; Fujitsu MMA Mulimedia Accelerator
|
|
EM_PCP equ 55 ; Siemens PCP
|
|
EM_NCPU equ 56 ; Sony nCPU embedded RISC processor
|
|
EM_NDR1 equ 57 ; Denso NDR1 microprocessor
|
|
EM_STARCORE equ 58 ; Motorola Star*Core processor
|
|
EM_ME16 equ 59 ; Toyota ME16 processor
|
|
EM_ST100 equ 60 ; STMicroelectronics ST100 processor
|
|
EM_TINYJ equ 61 ; Advanced Logic Corp. TinyJ
|
|
; embedded processor family
|
|
EM_AMD64 equ 62 ; AMDs x86-64 architecture
|
|
EM_X86_64 equ EM_AMD64 ; (compatibility)
|
|
|
|
EM_PDSP equ 63 ; Sony DSP Processor
|
|
EM_UNKNOWN64 equ 64
|
|
EM_UNKNOWN65 equ 65
|
|
EM_FX66 equ 66 ; Siemens FX66 microcontroller
|
|
EM_ST9PLUS equ 67 ; STMicroelectronics ST9+8/16 bit
|
|
; microcontroller
|
|
EM_ST7 equ 68 ; STMicroelectronics ST7 8-bit
|
|
; microcontroller
|
|
EM_68HC16 equ 69 ; Motorola MC68HC16 Microcontroller
|
|
EM_68HC11 equ 70 ; Motorola MC68HC11 Microcontroller
|
|
EM_68HC08 equ 71 ; Motorola MC68HC08 Microcontroller
|
|
EM_68HC05 equ 72 ; Motorola MC68HC05 Microcontroller
|
|
EM_SVX equ 73 ; Silicon Graphics SVx
|
|
EM_ST19 equ 74 ; STMicroelectronics ST19 8-bit
|
|
; microcontroller
|
|
EM_VAX equ 75 ; Digital VAX
|
|
EM_CRIS equ 76 ; Axis Communications 32-bit
|
|
; embedded processor
|
|
EM_JAVELIN equ 77 ; Infineon Technologies 32-bit
|
|
; embedded processor
|
|
EM_FIREPATH equ 78 ; Element 14 64-bit DSP Processor
|
|
EM_ZSP equ 79 ; LSI Logic 16-bit DSP Processor
|
|
EM_MMIX equ 80 ; Donald Knuth's educational
|
|
; 64-bit processor
|
|
EM_HUANY equ 81 ; Harvard University
|
|
; machine-independent
|
|
; object files
|
|
EM_PRISM equ 82 ; SiTera Prism
|
|
EM_AVR equ 83 ; Atmel AVR 8-bit microcontroller
|
|
EM_FR30 equ 84 ; Fujitsu FR30
|
|
EM_D10V equ 85 ; Mitsubishi D10V
|
|
EM_D30V equ 86 ; Mitsubishi D30V
|
|
EM_V850 equ 87 ; NEC v850
|
|
EM_M32R equ 88 ; Mitsubishi M32R
|
|
EM_MN10300 equ 89 ; Matsushita MN10300
|
|
EM_MN10200 equ 90 ; Matsushita MN10200
|
|
EM_PJ equ 91 ; picoJava
|
|
EM_OPENRISC equ 92 ; OpenRISC 32-bit embedded processor
|
|
EM_ARC_A5 equ 93 ; ARC Cores Tangent-A5
|
|
EM_XTENSA equ 94 ; Tensilica Xtensa architecture
|
|
EM_NUM equ 95
|
|
|
|
EV_NONE equ 0 ; e_version, EI_VERSION
|
|
EV_CURRENT equ 1
|
|
EV_NUM equ 2
|
|
|
|
|
|
ELFOSABI_NONE equ 0 ; No extensions or unspecified
|
|
ELFOSABI_HPUX equ 1 ; Hewlett-Packard HP-UX
|
|
ELFOSABI_NETBSD equ 2 ; NetBSD
|
|
ELFOSABI_LINUX equ 3 ; Linux
|
|
ELFOSABI_UNKNOWN4 equ 4
|
|
ELFOSABI_UNKNOWN5 equ 5
|
|
ELFOSABI_SOLARIS equ 6 ; Sun Solaris
|
|
ELFOSABI_AIX equ 7 ; AIX
|
|
ELFOSABI_IRIX equ 8 ; IRIX
|
|
ELFOSABI_FREEBSD equ 9 ; FreeBSD
|
|
ELFOSABI_TRU64 equ 10 ; Compaq TRU64 UNIX
|
|
ELFOSABI_MODESTO equ 11 ; Novell Modesto
|
|
ELFOSABI_OPENBSD equ 12 ; Open BSD
|
|
|
|
clrso
|
|
Elf32_Phdr.p_type: so.l 1
|
|
Elf32_Phdr.p_offset: so.l 1
|
|
Elf32_Phdr.p_vaddr: so.l 1
|
|
Elf32_Phdr.p_paddr: so.l 1
|
|
Elf32_Phdr.p_filesz: so.l 1
|
|
Elf32_Phdr.p_memsz: so.l 1
|
|
Elf32_Phdr.p_flags: so.l 1
|
|
Elf32_Phdr.p_align: so.l 1
|
|
Elf32_Phdr.sizeof equ __SO
|
|
|
|
PT_NULL equ 0 ; p_type
|
|
PT_LOAD equ 1
|
|
PT_DYNAMIC equ 2
|
|
PT_INTERP equ 3
|
|
PT_NOTE equ 4
|
|
PT_SHLIB equ 5
|
|
PT_PHDR equ 6
|
|
PT_TLS equ 7
|
|
PT_NUM equ 8
|
|
|
|
PT_LOOS equ $60000000 ; OS specific range
|
|
|
|
;
|
|
; Note: The amd64 psABI defines that the UNWIND program header
|
|
; should reside in the OS specific range of the program
|
|
; headers.
|
|
;
|
|
PT_SUNW_UNWIND equ $6464e550 ; amd64 UNWIND program header
|
|
PT_GNU_EH_FRAME equ PT_SUNW_UNWIND
|
|
|
|
|
|
PT_LOSUNW equ $6ffffffa
|
|
PT_SUNWBSS equ $6ffffffa ; Sun Specific segment
|
|
PT_SUNWSTACK equ $6ffffffb ; describes the stack segment
|
|
PT_SUNWDTRACE equ $6ffffffc ; private
|
|
PT_SUNWCAP equ $6ffffffd ; hard/soft capabilities segment
|
|
PT_HISUNW equ $6fffffff
|
|
PT_HIOS equ $6fffffff
|
|
|
|
PT_LOPROC equ $70000000 ; processor specific range
|
|
PT_HIPROC equ $7fffffff
|
|
|
|
PF_R equ $4 ; p_flags
|
|
PF_W equ $2
|
|
PF_X equ $1
|
|
|
|
PF_MASKOS equ $0ff00000 ; OS specific values
|
|
PF_MASKPROC equ $f0000000 ; processor specific values
|
|
|
|
PF_SUNW_FAILURE equ $00100000 ; mapping absent due to failure
|
|
|
|
PN_XNUM equ $ffff ; extended program header index
|
|
endif
|