⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 elf.h

📁 tcc
💻 H
📖 第 1 页 / 共 4 页
字号:
#define R_MIPS_GOT_LO16		23#define R_MIPS_SUB		24#define R_MIPS_INSERT_A		25#define R_MIPS_INSERT_B		26#define R_MIPS_DELETE		27#define R_MIPS_HIGHER		28#define R_MIPS_HIGHEST		29#define R_MIPS_CALL_HI16	30#define R_MIPS_CALL_LO16	31#define R_MIPS_SCN_DISP		32#define R_MIPS_REL16		33#define R_MIPS_ADD_IMMEDIATE	34#define R_MIPS_PJUMP		35#define R_MIPS_RELGOT		36#define R_MIPS_JALR		37/* Keep this the last entry.  */#define R_MIPS_NUM		38/* Legal values for p_type field of Elf32_Phdr.  */#define PT_MIPS_REGINFO	0x70000000	/* Register usage information */#define PT_MIPS_RTPROC  0x70000001	/* Runtime procedure table. */#define PT_MIPS_OPTIONS 0x70000002/* Special program header types.  */#define PF_MIPS_LOCAL	0x10000000/* Legal values for d_tag field of Elf32_Dyn.  */#define DT_MIPS_RLD_VERSION  0x70000001	/* Runtime linker interface version */#define DT_MIPS_TIME_STAMP   0x70000002	/* Timestamp */#define DT_MIPS_ICHECKSUM    0x70000003	/* Checksum */#define DT_MIPS_IVERSION     0x70000004	/* Version string (string tbl index) */#define DT_MIPS_FLAGS	     0x70000005	/* Flags */#define DT_MIPS_BASE_ADDRESS 0x70000006	/* Base address */#define DT_MIPS_MSYM	     0x70000007#define DT_MIPS_CONFLICT     0x70000008	/* Address of CONFLICT section */#define DT_MIPS_LIBLIST	     0x70000009	/* Address of LIBLIST section */#define DT_MIPS_LOCAL_GOTNO  0x7000000a	/* Number of local GOT entries */#define DT_MIPS_CONFLICTNO   0x7000000b	/* Number of CONFLICT entries */#define DT_MIPS_LIBLISTNO    0x70000010	/* Number of LIBLIST entries */#define DT_MIPS_SYMTABNO     0x70000011	/* Number of DYNSYM entries */#define DT_MIPS_UNREFEXTNO   0x70000012	/* First external DYNSYM */#define DT_MIPS_GOTSYM	     0x70000013	/* First GOT entry in DYNSYM */#define DT_MIPS_HIPAGENO     0x70000014	/* Number of GOT page table entries */#define DT_MIPS_RLD_MAP	     0x70000016	/* Address of run time loader map.  */#define DT_MIPS_DELTA_CLASS  0x70000017	/* Delta C++ class definition.  */#define DT_MIPS_DELTA_CLASS_NO    0x70000018 /* Number of entries in						DT_MIPS_DELTA_CLASS.  */#define DT_MIPS_DELTA_INSTANCE    0x70000019 /* Delta C++ class instances.  */#define DT_MIPS_DELTA_INSTANCE_NO 0x7000001a /* Number of entries in						DT_MIPS_DELTA_INSTANCE.  */#define DT_MIPS_DELTA_RELOC  0x7000001b /* Delta relocations.  */#define DT_MIPS_DELTA_RELOC_NO 0x7000001c /* Number of entries in					     DT_MIPS_DELTA_RELOC.  */#define DT_MIPS_DELTA_SYM    0x7000001d /* Delta symbols that Delta					   relocations refer to.  */#define DT_MIPS_DELTA_SYM_NO 0x7000001e /* Number of entries in					   DT_MIPS_DELTA_SYM.  */#define DT_MIPS_DELTA_CLASSSYM 0x70000020 /* Delta symbols that hold the					     class declaration.  */#define DT_MIPS_DELTA_CLASSSYM_NO 0x70000021 /* Number of entries in						DT_MIPS_DELTA_CLASSSYM.  */#define DT_MIPS_CXX_FLAGS    0x70000022 /* Flags indicating for C++ flavor.  */#define DT_MIPS_PIXIE_INIT   0x70000023#define DT_MIPS_SYMBOL_LIB   0x70000024#define DT_MIPS_LOCALPAGE_GOTIDX 0x70000025#define DT_MIPS_LOCAL_GOTIDX 0x70000026#define DT_MIPS_HIDDEN_GOTIDX 0x70000027#define DT_MIPS_PROTECTED_GOTIDX 0x70000028#define DT_MIPS_OPTIONS	     0x70000029 /* Address of .options.  */#define DT_MIPS_INTERFACE    0x7000002a /* Address of .interface.  */#define DT_MIPS_DYNSTR_ALIGN 0x7000002b#define DT_MIPS_INTERFACE_SIZE 0x7000002c /* Size of the .interface section. */#define DT_MIPS_RLD_TEXT_RESOLVE_ADDR 0x7000002d /* Address of rld_text_rsolve						    function stored in GOT.  */#define DT_MIPS_PERF_SUFFIX  0x7000002e /* Default suffix of dso to be added					   by rld on dlopen() calls.  */#define DT_MIPS_COMPACT_SIZE 0x7000002f /* (O32)Size of compact rel section. */#define DT_MIPS_GP_VALUE     0x70000030 /* GP value for aux GOTs.  */#define DT_MIPS_AUX_DYNAMIC  0x70000031 /* Address of aux .dynamic.  */#define DT_MIPS_NUM	     0x32/* Legal values for DT_MIPS_FLAGS Elf32_Dyn entry.  */#define RHF_NONE		   0		/* No flags */#define RHF_QUICKSTART		   (1 << 0)	/* Use quickstart */#define RHF_NOTPOT		   (1 << 1)	/* Hash size not power of 2 */#define RHF_NO_LIBRARY_REPLACEMENT (1 << 2)	/* Ignore LD_LIBRARY_PATH */#define RHF_NO_MOVE		   (1 << 3)#define RHF_SGI_ONLY		   (1 << 4)#define RHF_GUARANTEE_INIT	   (1 << 5)#define RHF_DELTA_C_PLUS_PLUS	   (1 << 6)#define RHF_GUARANTEE_START_INIT   (1 << 7)#define RHF_PIXIE		   (1 << 8)#define RHF_DEFAULT_DELAY_LOAD	   (1 << 9)#define RHF_REQUICKSTART	   (1 << 10)#define RHF_REQUICKSTARTED	   (1 << 11)#define RHF_CORD		   (1 << 12)#define RHF_NO_UNRES_UNDEF	   (1 << 13)#define RHF_RLD_ORDER_SAFE	   (1 << 14)/* Entries found in sections of type SHT_MIPS_LIBLIST.  */typedef struct{  Elf32_Word l_name;		/* Name (string table index) */  Elf32_Word l_time_stamp;	/* Timestamp */  Elf32_Word l_checksum;	/* Checksum */  Elf32_Word l_version;		/* Interface version */  Elf32_Word l_flags;		/* Flags */} Elf32_Lib;typedef struct{  Elf64_Word l_name;		/* Name (string table index) */  Elf64_Word l_time_stamp;	/* Timestamp */  Elf64_Word l_checksum;	/* Checksum */  Elf64_Word l_version;		/* Interface version */  Elf64_Word l_flags;		/* Flags */} Elf64_Lib;/* Legal values for l_flags.  */#define LL_NONE		  0#define LL_EXACT_MATCH	  (1 << 0)	/* Require exact match */#define LL_IGNORE_INT_VER (1 << 1)	/* Ignore interface version */#define LL_REQUIRE_MINOR  (1 << 2)#define LL_EXPORTS	  (1 << 3)#define LL_DELAY_LOAD	  (1 << 4)#define LL_DELTA	  (1 << 5)/* Entries found in sections of type SHT_MIPS_CONFLICT.  */typedef Elf32_Addr Elf32_Conflict;/* HPPA specific definitions.  *//* Legal values for e_flags field of Elf32_Ehdr.  */#define EF_PARISC_TRAPNL	1	/* Trap nil pointer dereference.  */#define EF_PARISC_EXT		2	/* Program uses arch. extensions.  */#define EF_PARISC_ARCH		0xffff0000 /* Architecture version.  *//* Defined values are:				0x020b	PA-RISC 1.0 big-endian				0x0210	PA-RISC 1.1 big-endian				0x028b	PA-RISC 1.0 little-endian				0x0290	PA-RISC 1.1 little-endian*//* Legal values for sh_type field of Elf32_Shdr.  */#define SHT_PARISC_GOT		0x70000000 /* GOT for external data.  */#define SHT_PARISC_ARCH		0x70000001 /* Architecture extensions.  */#define SHT_PARISC_GLOBAL	0x70000002 /* Definition of $global$.  */#define SHT_PARISC_MILLI	0x70000003 /* Millicode routines.  */#define SHT_PARISC_UNWIND	0x70000004 /* Unwind information.  */#define SHT_PARISC_PLT		0x70000005 /* Procedure linkage table.  */#define SHT_PARISC_SDATA	0x70000006 /* Short initialized data.  */#define SHT_PARISC_SBSS		0x70000007 /* Short uninitialized data.  */#define SHT_PARISC_SYMEXTN	0x70000008 /* Argument/relocation info.  */#define SHT_PARISC_STUBS	0x70000009 /* Linker stubs.  *//* Legal values for sh_flags field of Elf32_Shdr.  */#define SHF_PARISC_GLOBAL	0x10000000 /* Section defines dp.  */#define SHF_PARISC_SHORT	0x20000000 /* Section with short addressing. *//* Legal values for ST_TYPE subfield of st_info (symbol type).  */#define STT_PARISC_MILLICODE	13	/* Millicode function entry point.  *//* HPPA relocs.  */#define R_PARISC_NONE		0	/* No reloc.  */#define R_PARISC_DIR32		1	/* Direct 32-bit reference.  */#define R_PARISC_DIR21L		2	/* Left 21 bits of eff. address.  */#define R_PARISC_DIR17R		3	/* Right 17 bits of eff. address.  */#define R_PARISC_DIR14R		4	/* Right 14 bits of eff. address.  */#define R_PARISC_PCREL21L	5	/* PC-relative, left 21 bits.  */#define R_PARISC_PCREL14R	6	/* PC-relative, right 14 bits.  */#define R_PARISC_PCREL17C	7	/* Conditional PC-relative, ignore					   if displacement > 17bits.  */#define R_PARISC_PCREL17F	8	/* Conditional PC-relative, must					   fit in 17bits.  */#define R_PARISC_DPREL21L	9	/* DP-relative, left 21 bits.  */#define R_PARISC_DPREL14R	10	/* DP-relative, right 14 bits.  */#define R_PARISC_DPREL14F	11	/* DP-relative, must bit in 14 bits. */#define R_PARISC_DLTREL21L	12	/* DLT-relative, left 21 bits.  */#define R_PARISC_DLTREL14R	13	/* DLT-relative, right 14 bits.  */#define R_PARISC_DLTREL14F	14	/* DLT-relative, must fit in 14 bits.*/#define R_PARISC_DLTIND21L	15	/* DLT-relative indirect, left					   21 bits.  */#define R_PARISC_DLTIND14R	16	/* DLT-relative indirect, right					   14 bits.  */#define R_PARISC_DLTIND14F	17	/* DLT-relative indirect, must fit					   int 14 bits.  */#define R_PARISC_PLABEL32	18	/* Direct 32-bit reference to proc.  *//* Alpha specific definitions.  *//* Legal values for e_flags field of Elf64_Ehdr.  */#define EF_ALPHA_32BIT		1	/* All addresses must be < 2GB.  */#define EF_ALPHA_CANRELAX	2	/* Relocations for relaxing exist.  *//* Legal values for sh_type field of Elf64_Shdr.  *//* These two are primerily concerned with ECOFF debugging info.  */#define SHT_ALPHA_DEBUG		0x70000001#define SHT_ALPHA_REGINFO	0x70000002/* Legal values for sh_flags field of Elf64_Shdr.  */#define SHF_ALPHA_GPREL		0x10000000/* Legal values for st_other field of Elf64_Sym.  */#define STO_ALPHA_NOPV		0x80	/* No PV required.  */#define STO_ALPHA_STD_GPLOAD	0x88	/* PV only used for initial ldgp.  *//* Alpha relocs.  */#define R_ALPHA_NONE		0	/* No reloc */#define R_ALPHA_REFLONG		1	/* Direct 32 bit */#define R_ALPHA_REFQUAD		2	/* Direct 64 bit */#define R_ALPHA_GPREL32		3	/* GP relative 32 bit */#define R_ALPHA_LITERAL		4	/* GP relative 16 bit w/optimization */#define R_ALPHA_LITUSE		5	/* Optimization hint for LITERAL */#define R_ALPHA_GPDISP		6	/* Add displacement to GP */#define R_ALPHA_BRADDR		7	/* PC+4 relative 23 bit shifted */#define R_ALPHA_HINT		8	/* PC+4 relative 16 bit shifted */#define R_ALPHA_SREL16		9	/* PC relative 16 bit */#define R_ALPHA_SREL32		10	/* PC relative 32 bit */#define R_ALPHA_SREL64		11	/* PC relative 64 bit */#define R_ALPHA_OP_PUSH		12	/* OP stack push */#define R_ALPHA_OP_STORE	13	/* OP stack pop and store */#define R_ALPHA_OP_PSUB		14	/* OP stack subtract */#define R_ALPHA_OP_PRSHIFT	15	/* OP stack right shift */#define R_ALPHA_GPVALUE		16#define R_ALPHA_GPRELHIGH	17#define R_ALPHA_GPRELLOW	18#define R_ALPHA_IMMED_GP_16	19#define R_ALPHA_IMMED_GP_HI32	20#define R_ALPHA_IMMED_SCN_HI32	21#define R_ALPHA_IMMED_BR_HI32	22#define R_ALPHA_IMMED_LO32	23#define R_ALPHA_COPY		24	/* Copy symbol at runtime */#define R_ALPHA_GLOB_DAT	25	/* Create GOT entry */#define R_ALPHA_JMP_SLOT	26	/* Create PLT entry */#define R_ALPHA_RELATIVE	27	/* Adjust by program base *//* Keep this the last entry.  */#define R_ALPHA_NUM		28/* PowerPC specific declarations *//* PowerPC relocations defined by the ABIs */#define R_PPC_NONE		0#define R_PPC_ADDR32		1	/* 32bit absolute address */#define R_PPC_ADDR24		2	/* 26bit address, 2 bits ignored.  */#define R_PPC_ADDR16		3	/* 16bit absolute address */#define R_PPC_ADDR16_LO		4	/* lower 16bit of absolute address */#define R_PPC_ADDR16_HI		5	/* high 16bit of absolute address */#define R_PPC_ADDR16_HA		6	/* adjusted high 16bit */#define R_PPC_ADDR14		7	/* 16bit address, 2 bits ignored */#define R_PPC_ADDR14_BRTAKEN	8#define R_PPC_ADDR14_BRNTAKEN	9#define R_PPC_REL24		10	/* PC relative 26 bit */#define R_PPC_REL14		11	/* PC relative 16 bit */#define R_PPC_REL14_BRTAKEN	12#define R_PPC_REL14_BRNTAKEN	13#define R_PPC_GOT16		14#define R_PPC_GOT16_LO		15#define R_PPC_GOT16_HI		16#define R_PPC_GOT16_HA		17#define R_PPC_PLTREL24		18#define R_PPC_COPY		19#define R_PPC_GLOB_DAT		20#define R_PPC_JMP_SLOT		21#define R_PPC_RELATIVE		22#define R_PPC_LOCAL24PC		23#define R_PPC_UADDR32		24#define R_PPC_UADDR16		25#define R_PPC_REL32		26#define R_PPC_PLT32		27#define R_PPC_PLTREL32		28#define R_PPC_PLT16_LO		29#define R_PPC_PLT16_HI		30#define R_PPC_PLT16_HA		31#define R_PPC_SDAREL16		32#define R_PPC_SECTOFF		33#define R_PPC_SECTOFF_LO	34#define R_PPC_SECTOFF_HI	35#define R_PPC_SECTOFF_HA	36/* Keep this the last entry.  */#define R_PPC_NUM		37/* The remaining relocs are from the Embedded ELF ABI, and are not   in the SVR4 ELF ABI.  */#define R_PPC_EMB_NADDR32	101#define R_PPC_EMB_NADDR16	102#define R_PPC_EMB_NADDR16_LO	103#define R_PPC_EMB_NADDR16_HI	104#define R_PPC_EMB_NADDR16_HA	105#define R_PPC_EMB_SDAI16	106#define R_PPC_EMB_SDA2I16	107#define R_PPC_EMB_SDA2REL	108#define R_PPC_EMB_SDA21		109	/* 16 bit offset in SDA */#define R_PPC_EMB_MRKREF	110#define R_PPC_EMB_RELSEC16	111#define R_PPC_EMB_RELST_LO	112#define R_PPC_EMB_RELST_HI	113#define R_PPC_EMB_RELST_HA	114#define R_PPC_EMB_BIT_FLD	115#define R_PPC_EMB_RELSDA	116	/* 16 bit relative offset in SDA *//* Diab tool relocations.  */#define R_PPC_DIAB_SDA21_LO	180	/* like EMB_SDA21, but lower 16 bit */#define R_PPC_DIAB_SDA21_HI	181	/* like EMB_SDA21, but high 16 bit */#define R_PPC_DIAB_SDA21_HA	182	/* like EMB_SDA21, adjusted high 16 */#define R_PPC_DIAB_RELSDA_LO	183	/* like EMB_RELSDA, but lower 16 bit */#define R_PPC_DIAB_RELSDA_HI	184	/* like EMB_RELSDA, but high 16 bit */#define R_PPC_DIAB_RELSDA_HA	185	/* like EMB_RELSDA, adjusted high 16 *//* This is a phony reloc to handle any old fashioned TOC16 references   that may still be in object files.  */#define R_PPC_TOC16		255/* ARM specific declarations *//* Processor specific flags for the ELF header e_flags field.  */#define EF_ARM_RELEXEC     0x01#define EF_ARM_HASENTRY    0x02#define EF_ARM_INTERWORK   0x04#define EF_ARM_APCS_26     0x08#define EF_ARM_APCS_FLOAT  0x10#define EF_ARM_PIC         0x20#define EF_ALIGN8          0x40		/* 8-bit structure alignment is in use */#define EF_NEW_ABI         0x80#define EF_OLD_ABI         0x100/* Additional symbol types for Thumb */#define STT_ARM_TFUNC      0xd/* ARM-specific values for sh_flags */#define SHF_ARM_ENTRYSECT  0x10000000   /* Section contains an entry point */#define SHF_ARM_COMDEF     0x80000000   /* Section may be multiply defined					   in the input to a link step *//* ARM-specific program header flags */#define PF_ARM_SB          0x10000000   /* Segment contains the location					   addressed by the static base *//* ARM relocs.  */#define R_ARM_NONE		0	/* No reloc */#define R_ARM_PC24		1	/* PC relative 26 bit branch */#define R_ARM_ABS32		2	/* Direct 32 bit  */#define R_ARM_REL32		3	/* PC relative 32 bit */#define R_ARM_PC13		4#define R_ARM_ABS16		5	/* Direct 16 bit */#define R_ARM_ABS12		6	/* Direct 12 bit */#define R_ARM_THM_ABS5		7#define R_ARM_ABS8		8	/* Direct 8 bit */#define R_ARM_SBREL32		9#define R_ARM_THM_PC22		10#define R_ARM_THM_PC8		11#define R_ARM_AMP_VCALL9	12#define R_ARM_SWI24		13#define R_ARM_THM_SWI8		14#define R_ARM_XPC25		15#define R_ARM_THM_XPC22		16#define R_ARM_COPY		20	/* Copy symbol at runtime */#define R_ARM_GLOB_DAT		21	/* Create GOT entry */#define R_ARM_JUMP_SLOT		22	/* Create PLT entry */#define R_ARM_RELATIVE		23	/* Adjust by program base */#define R_ARM_GOTOFF		24	/* 32 bit offset to GOT */#define R_ARM_GOTPC		25	/* 32 bit PC relative offset to GOT */#define R_ARM_GOT32		26	/* 32 bit GOT entry */#define R_ARM_PLT32		27	/* 32 bit PLT address */#define R_ARM_GNU_VTENTRY	100#define R_ARM_GNU_VTINHERIT	101#define R_ARM_THM_PC11		102	/* thumb unconditional branch */#define R_ARM_THM_PC9		103	/* thumb conditional branch */#define R_ARM_RXPC25		249#define R_ARM_RSBREL32		250#define R_ARM_THM_RPC22		251#define R_ARM_RREL32		252#define R_ARM_RABS22		253#define R_ARM_RPC24		254#define R_ARM_RBASE		255/* Keep this the last entry.  */#define R_ARM_NUM		256#endif	/* elf.h */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -