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

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/