elf_repl.h | elf_repl.h | |||
---|---|---|---|---|
/* | /* | |||
elf_repl.h - public header file for systems that lack it. | * elf_repl.h - public header file for systems that lack it. | |||
Copyright (C) 1995 - 2002 Michael Riepe | * Copyright (C) 1995 - 2006 Michael Riepe | |||
* | ||||
This library is free software; you can redistribute it and/or | * This library is free software; you can redistribute it and/or | |||
modify it under the terms of the GNU Library General Public | * modify it under the terms of the GNU Library General Public | |||
License as published by the Free Software Foundation; either | * License as published by the Free Software Foundation; either | |||
version 2 of the License, or (at your option) any later version. | * version 2 of the License, or (at your option) any later version. | |||
* | ||||
This library is distributed in the hope that it will be useful, | * This library is distributed in the hope that it will be useful, | |||
but WITHOUT ANY WARRANTY; without even the implied warranty of | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||
Library General Public License for more details. | * Library General Public License for more details. | |||
* | ||||
You should have received a copy of the GNU Library General Public | * You should have received a copy of the GNU Library General Public | |||
License along with this library; if not, write to the Free Software | * License along with this library; if not, write to the Free Software | |||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US | |||
*/ | A | |||
*/ | ||||
/* @(#) $Id: elf_repl.h,v 1.18 2005/05/21 15:39:21 michael Exp $ */ | /* @(#) $Id: elf_repl.h,v 1.20 2006/07/07 22:16:15 michael Exp $ */ | |||
/* | /* | |||
* NEVER INCLUDE THIS FILE DIRECTLY - USE <libelf.h> INSTEAD! | * NEVER INCLUDE THIS FILE DIRECTLY - USE <libelf.h> INSTEAD! | |||
*/ | */ | |||
#ifndef _ELF_REPL_H | #ifndef _ELF_REPL_H | |||
#define _ELF_REPL_H | #define _ELF_REPL_H | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
skipping to change at line 237 | skipping to change at line 237 | |||
#define EM_68HC12 53 /* Motorola M68HC12 */ | #define EM_68HC12 53 /* Motorola M68HC12 */ | |||
#define EM_MMA 54 /* Fujitsu MMA Multimedia Accelerator */ | #define EM_MMA 54 /* Fujitsu MMA Multimedia Accelerator */ | |||
#define EM_PCP 55 /* Siemens PCP */ | #define EM_PCP 55 /* Siemens PCP */ | |||
#define EM_NCPU 56 /* Sony nCPU embedded RISC processor */ | #define EM_NCPU 56 /* Sony nCPU embedded RISC processor */ | |||
#define EM_NDR1 57 /* Denso NDR1 microprocessor */ | #define EM_NDR1 57 /* Denso NDR1 microprocessor */ | |||
#define EM_STARCORE 58 /* Motorola Star*Core processor */ | #define EM_STARCORE 58 /* Motorola Star*Core processor */ | |||
#define EM_ME16 59 /* Toyota ME16 processor */ | #define EM_ME16 59 /* Toyota ME16 processor */ | |||
#define EM_ST100 60 /* STMicroelectronics ST100 processor */ | #define EM_ST100 60 /* STMicroelectronics ST100 processor */ | |||
#define EM_TINYJ 61 /* Advanced Logic Corp. TinyJ embedded proce ssor family */ | #define EM_TINYJ 61 /* Advanced Logic Corp. TinyJ embedded proce ssor family */ | |||
#define EM_X86_64 62 /* AMD x86-64 architecture */ | #define EM_X86_64 62 /* AMD x86-64 architecture */ | |||
#define EM_AMD64 EM_X86_64 | ||||
#define EM_PDSP 63 /* Sony DSP Processor */ | #define EM_PDSP 63 /* Sony DSP Processor */ | |||
#define EM_FX66 66 /* Siemens FX66 microcontroller */ | #define EM_FX66 66 /* Siemens FX66 microcontroller */ | |||
#define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16 bit microcon troller */ | #define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16 bit microcon troller */ | |||
#define EM_ST7 68 /* STMicroelectronics ST7 8-bit microcontrol ler */ | #define EM_ST7 68 /* STMicroelectronics ST7 8-bit microcontrol ler */ | |||
#define EM_68HC16 69 /* Motorola MC68HC16 Microcontroller */ | #define EM_68HC16 69 /* Motorola MC68HC16 Microcontroller */ | |||
#define EM_68HC11 70 /* Motorola MC68HC11 Microcontroller */ | #define EM_68HC11 70 /* Motorola MC68HC11 Microcontroller */ | |||
#define EM_68HC08 71 /* Motorola MC68HC08 Microcontroller */ | #define EM_68HC08 71 /* Motorola MC68HC08 Microcontroller */ | |||
#define EM_68HC05 72 /* Motorola MC68HC05 Microcontroller */ | #define EM_68HC05 72 /* Motorola MC68HC05 Microcontroller */ | |||
#define EM_SVX 73 /* Silicon Graphics SVx */ | #define EM_SVX 73 /* Silicon Graphics SVx */ | |||
#define EM_ST19 74 /* STMicroelectronics ST19 8-bit mic rocontroller */ | #define EM_ST19 74 /* STMicroelectronics ST19 8-bit mic rocontroller */ | |||
skipping to change at line 368 | skipping to change at line 369 | |||
#define SHT_LOOS 0x60000000 | #define SHT_LOOS 0x60000000 | |||
#define SHT_HIOS 0x6fffffff | #define SHT_HIOS 0x6fffffff | |||
#define SHT_LOPROC 0x70000000 | #define SHT_LOPROC 0x70000000 | |||
#define SHT_HIPROC 0x7fffffff | #define SHT_HIPROC 0x7fffffff | |||
#define SHT_LOUSER 0x80000000 | #define SHT_LOUSER 0x80000000 | |||
#define SHT_HIUSER 0xffffffff | #define SHT_HIUSER 0xffffffff | |||
/* | /* | |||
* Solaris extensions | * Solaris extensions | |||
*/ | */ | |||
#define SHT_LOSUNW 0x6ffffff4 | ||||
#define SHT_SUNW_dof 0x6ffffff4 | ||||
#define SHT_SUNW_cap 0x6ffffff5 | ||||
#define SHT_SUNW_SIGNATURE 0x6ffffff6 | ||||
#define SHT_SUNW_ANNOTATE 0x6ffffff7 | ||||
#define SHT_SUNW_DEBUGSTR 0x6ffffff8 | ||||
#define SHT_SUNW_DEBUG 0x6ffffff9 | ||||
#define SHT_SUNW_move 0x6ffffffa | #define SHT_SUNW_move 0x6ffffffa | |||
#define SHT_SUNW_COMDAT 0x6ffffffb | #define SHT_SUNW_COMDAT 0x6ffffffb | |||
#define SHT_SUNW_syminfo 0x6ffffffc | #define SHT_SUNW_syminfo 0x6ffffffc | |||
#define SHT_SUNW_verdef 0x6ffffffd | #define SHT_SUNW_verdef 0x6ffffffd | |||
#define SHT_SUNW_verneed 0x6ffffffe | #define SHT_SUNW_verneed 0x6ffffffe | |||
#define SHT_SUNW_versym 0x6fffffff | #define SHT_SUNW_versym 0x6fffffff | |||
#define SHT_HISUNW 0x6fffffff | ||||
#define SHT_SPARC_GOTDATA 0x70000000 | ||||
#define SHT_AMD64_UNWIND 0x70000001 | ||||
/* | /* | |||
* GNU extensions | * GNU extensions | |||
*/ | */ | |||
#define SHT_GNU_verdef 0x6ffffffd | #define SHT_GNU_verdef 0x6ffffffd | |||
#define SHT_GNU_verneed 0x6ffffffe | #define SHT_GNU_verneed 0x6ffffffe | |||
#define SHT_GNU_versym 0x6fffffff | #define SHT_GNU_versym 0x6fffffff | |||
/* | /* | |||
* sh_flags | * sh_flags | |||
skipping to change at line 399 | skipping to change at line 411 | |||
#define SHF_STRINGS 0x20 | #define SHF_STRINGS 0x20 | |||
#define SHF_INFO_LINK 0x40 | #define SHF_INFO_LINK 0x40 | |||
#define SHF_LINK_ORDER 0x80 | #define SHF_LINK_ORDER 0x80 | |||
#define SHF_OS_NONCONFORMING 0x100 | #define SHF_OS_NONCONFORMING 0x100 | |||
#define SHF_GROUP 0x200 | #define SHF_GROUP 0x200 | |||
#define SHF_TLS 0x400 | #define SHF_TLS 0x400 | |||
#define SHF_MASKOS 0x0ff00000 | #define SHF_MASKOS 0x0ff00000 | |||
#define SHF_MASKPROC 0xf0000000 | #define SHF_MASKPROC 0xf0000000 | |||
/* | /* | |||
* Solaris extensions | ||||
*/ | ||||
#define SHF_AMD64_LARGE 0x10000000 | ||||
#define SHF_ORDERED 0x40000000 | ||||
#define SHF_EXCLUDE 0x80000000 | ||||
/* | ||||
* Section group flags | * Section group flags | |||
*/ | */ | |||
#define GRP_COMDAT 0x1 | #define GRP_COMDAT 0x1 | |||
#define GRP_MASKOS 0x0ff00000 | #define GRP_MASKOS 0x0ff00000 | |||
#define GRP_MASKPROC 0xf0000000 | #define GRP_MASKPROC 0xf0000000 | |||
/* | /* | |||
* Symbol table | * Symbol table | |||
*/ | */ | |||
typedef struct { | typedef struct { | |||
Elf32_Word st_name; | Elf32_Word st_name; | |||
Elf32_Addr st_value; | Elf32_Addr st_value; | |||
Elf32_Word st_size; | Elf32_Word st_size; | |||
unsigned char st_info; | unsigned char st_info; | |||
unsigned char st_other; | unsigned char st_other; | |||
skipping to change at line 584 | skipping to change at line 603 | |||
Elf64_Off p_offset; | Elf64_Off p_offset; | |||
Elf64_Addr p_vaddr; | Elf64_Addr p_vaddr; | |||
Elf64_Addr p_paddr; | Elf64_Addr p_paddr; | |||
Elf64_Xword p_filesz; | Elf64_Xword p_filesz; | |||
Elf64_Xword p_memsz; | Elf64_Xword p_memsz; | |||
Elf64_Xword p_align; | Elf64_Xword p_align; | |||
} Elf64_Phdr; | } Elf64_Phdr; | |||
#endif /* __LIBELF64 */ | #endif /* __LIBELF64 */ | |||
/* | /* | |||
* Special numbers | ||||
*/ | ||||
#define PN_XNUM 0xffff | ||||
/* | ||||
* p_type | * p_type | |||
*/ | */ | |||
#define PT_NULL 0 | #define PT_NULL 0 | |||
#define PT_LOAD 1 | #define PT_LOAD 1 | |||
#define PT_DYNAMIC 2 | #define PT_DYNAMIC 2 | |||
#define PT_INTERP 3 | #define PT_INTERP 3 | |||
#define PT_NOTE 4 | #define PT_NOTE 4 | |||
#define PT_SHLIB 5 | #define PT_SHLIB 5 | |||
#define PT_PHDR 6 | #define PT_PHDR 6 | |||
#define PT_TLS 7 | #define PT_TLS 7 | |||
#define PT_NUM 8 | #define PT_NUM 8 | |||
#define PT_LOOS 0x60000000 | #define PT_LOOS 0x60000000 | |||
#define PT_HIOS 0x6fffffff | #define PT_HIOS 0x6fffffff | |||
#define PT_LOPROC 0x70000000 | #define PT_LOPROC 0x70000000 | |||
#define PT_HIPROC 0x7fffffff | #define PT_HIPROC 0x7fffffff | |||
/* | /* | |||
* Solaris extensions | ||||
*/ | ||||
#define PT_SUNW_UNWIND 0x6464e550 | ||||
#define PT_LOSUNW 0x6ffffffa | ||||
#define PT_SUNWBSS 0x6ffffffa | ||||
#define PT_SUNWSTACK 0x6ffffffb | ||||
#define PT_SUNWDTRACE 0x6ffffffc | ||||
#define PT_SUNWCAP 0x6ffffffd | ||||
#define PT_HISUNW 0x6fffffff | ||||
/* | ||||
* p_flags | * p_flags | |||
*/ | */ | |||
#define PF_X 0x1 | #define PF_X 0x1 | |||
#define PF_W 0x2 | #define PF_W 0x2 | |||
#define PF_R 0x4 | #define PF_R 0x4 | |||
#define PF_MASKOS 0x0ff00000 | #define PF_MASKOS 0x0ff00000 | |||
#define PF_MASKPROC 0xf0000000 | #define PF_MASKPROC 0xf0000000 | |||
/* | /* | |||
* Dynamic structure | * Dynamic structure | |||
skipping to change at line 893 | skipping to change at line 929 | |||
#define VER_FLG_BASE 0x1 /* vd_flags only */ | #define VER_FLG_BASE 0x1 /* vd_flags only */ | |||
#define VER_FLG_WEAK 0x2 | #define VER_FLG_WEAK 0x2 | |||
/* | /* | |||
* Elf*_Versym special values | * Elf*_Versym special values | |||
*/ | */ | |||
#define VER_NDX_LOCAL 0 | #define VER_NDX_LOCAL 0 | |||
#define VER_NDX_GLOBAL 1 | #define VER_NDX_GLOBAL 1 | |||
/* | /* | |||
* Solaris extensions | ||||
*/ | ||||
/* | ||||
* Move section | * Move section | |||
*/ | */ | |||
#if __LIBELF64 | #if __LIBELF64 | |||
typedef struct { | typedef struct { | |||
Elf32_Lword m_value; | Elf32_Lword m_value; | |||
Elf32_Word m_info; | Elf32_Word m_info; | |||
Elf32_Word m_poffset; | Elf32_Word m_poffset; | |||
Elf32_Half m_repeat; | Elf32_Half m_repeat; | |||
Elf32_Half m_stride; | Elf32_Half m_stride; | |||
skipping to change at line 923 | skipping to change at line 963 | |||
#define ELF32_M_SYM(info) ((info)>>8) | #define ELF32_M_SYM(info) ((info)>>8) | |||
#define ELF32_M_SIZE(info) ((unsigned char)(info)) | #define ELF32_M_SIZE(info) ((unsigned char)(info)) | |||
#define ELF32_M_INFO(sym, sz) (((sym)<<8)+(unsigned char)(sz)) | #define ELF32_M_INFO(sym, sz) (((sym)<<8)+(unsigned char)(sz)) | |||
#define ELF64_M_SYM(info) ((Elf64_Xword)(info)>>8) | #define ELF64_M_SYM(info) ((Elf64_Xword)(info)>>8) | |||
#define ELF64_M_SIZE(info) ((unsigned char)(info)) | #define ELF64_M_SIZE(info) ((unsigned char)(info)) | |||
#define ELF64_M_INFO(sym, sz) (((Elf64_Xword)(sym)<<8)+(unsigned char)(sz) ) | #define ELF64_M_INFO(sym, sz) (((Elf64_Xword)(sym)<<8)+(unsigned char)(sz) ) | |||
#endif /* __LIBELF64 */ | #endif /* __LIBELF64 */ | |||
/* | ||||
* Capabilities | ||||
*/ | ||||
typedef struct { | ||||
Elf32_Word c_tag; | ||||
union { | ||||
Elf32_Word c_val; | ||||
Elf32_Addr c_ptr; | ||||
} c_un; | ||||
} Elf32_Cap; | ||||
typedef struct { | ||||
Elf64_Xword c_tag; | ||||
union { | ||||
Elf64_Xword c_val; | ||||
Elf64_Addr c_ptr; | ||||
} c_un; | ||||
} Elf64_Cap; | ||||
#define CA_SUNW_NULL 0 /* c_un ignored */ | ||||
#define CA_SUNW_HW_1 1 /* c_un.c_val */ | ||||
#define CA_SUNW_SF_1 2 /* c_un.c_val */ | ||||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif /* __cplusplus */ | #endif /* __cplusplus */ | |||
#endif /* _ELF_REPL_H */ | #endif /* _ELF_REPL_H */ | |||
End of changes. 11 change blocks. | ||||
21 lines changed or deleted | 86 lines changed or added | |||
nlist.h | nlist.h | |||
---|---|---|---|---|
/* | /* | |||
* nlist.h - public header file for nlist(3). | * nlist.h - public header file for nlist(3). | |||
* Copyright (C) 1995 - 1998, 2004 Michael Riepe | * Copyright (C) 1995 - 2006 Michael Riepe | |||
* | * | |||
* This library is free software; you can redistribute it and/or | * This library is free software; you can redistribute it and/or | |||
* modify it under the terms of the GNU Library General Public | * modify it under the terms of the GNU Library General Public | |||
* License as published by the Free Software Foundation; either | * License as published by the Free Software Foundation; either | |||
* version 2 of the License, or (at your option) any later version. | * version 2 of the License, or (at your option) any later version. | |||
* | * | |||
* This library is distributed in the hope that it will be useful, | * This library is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||
* Library General Public License for more details. | * Library General Public License for more details. | |||
* | * | |||
* You should have received a copy of the GNU Library General Public | * You should have received a copy of the GNU Library General Public | |||
* License along with this library; if not, write to the Free Software | * License along with this library; if not, write to the Free Software | |||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US A | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US A | |||
*/ | */ | |||
/* @(#) $Id: nlist.h,v 1.7 2005/05/21 15:39:25 michael Exp $ */ | /* @(#) $Id: nlist.h,v 1.9 2006/04/25 16:26:39 michael Exp $ */ | |||
#ifndef _NLIST_H | #ifndef _NLIST_H | |||
#define _NLIST_H | #define _NLIST_H | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif /* __cplusplus */ | #endif /* __cplusplus */ | |||
struct nlist { | struct nlist { | |||
char* n_name; | char* n_name; | |||
long n_value; | long n_value; | |||
short n_scnum; | short n_scnum; | |||
unsigned short n_type; | unsigned short n_type; | |||
char n_sclass; | char n_sclass; | |||
char n_numaux; | char n_numaux; | |||
}; | }; | |||
#if __STDC__ || defined(__cplusplus) || defined(_WIN32) | #if (__STDC__ + 0) || defined(__cplusplus) || defined(_WIN32) | |||
extern int nlist(const char *__filename, struct nlist *__nl); | extern int nlist(const char *__filename, struct nlist *__nl); | |||
#else /* __STDC__ || defined(__cplusplus) */ | #else /* __STDC__ || defined(__cplusplus) */ | |||
extern int nlist(); | extern int nlist(); | |||
#endif /* __STDC__ || defined(__cplusplus) */ | #endif /* __STDC__ || defined(__cplusplus) */ | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif /* __cplusplus */ | #endif /* __cplusplus */ | |||
#endif /* _NLIST_H */ | #endif /* _NLIST_H */ | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 3 lines changed or added | |||