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

📄 elf_file.h

📁 Source Code of jlinkserver for Segger JLink
💻 H
📖 第 1 页 / 共 5 页
字号:
#define ELF_NOTE_OS_SOLARIS2	2#define ELF_NOTE_OS_FREEBSD	3/* Move records.  */typedef struct{  Elf32_Xword m_value;		/* Symbol value.  */  Elf32_Word m_info;		/* Size and index.  */  Elf32_Word m_poffset;		/* Symbol offset.  */  Elf32_Half m_repeat;		/* Repeat count.  */  Elf32_Half m_stride;		/* Stride info.  */} Elf32_Move;typedef struct{  Elf64_Xword m_value;		/* Symbol value.  */  Elf64_Xword m_info;		/* Size and index.  */  Elf64_Xword m_poffset;	/* Symbol offset.  */  Elf64_Half m_repeat;		/* Repeat count.  */  Elf64_Half m_stride;		/* Stride info.  */} Elf64_Move;/* Macro to construct move records.  */#define ELF32_M_SYM(info)	((info) >> 8)#define ELF32_M_SIZE(info)	((unsigned char) (info))#define ELF32_M_INFO(sym, size)	(((sym) << 8) + (unsigned char) (size))#define ELF64_M_SYM(info)	ELF32_M_SYM (info)#define ELF64_M_SIZE(info)	ELF32_M_SIZE (info)#define ELF64_M_INFO(sym, size)	ELF32_M_INFO (sym, size)/* Motorola 68k specific definitions.  *//* Values for Elf32_Ehdr.e_flags.  */#define EF_CPU32	0x00810000/* m68k relocs.  */#define R_68K_NONE	0		/* No reloc */#define R_68K_32	1		/* Direct 32 bit  */#define R_68K_16	2		/* Direct 16 bit  */#define R_68K_8		3		/* Direct 8 bit  */#define R_68K_PC32	4		/* PC relative 32 bit */#define R_68K_PC16	5		/* PC relative 16 bit */#define R_68K_PC8	6		/* PC relative 8 bit */#define R_68K_GOT32	7		/* 32 bit PC relative GOT entry */#define R_68K_GOT16	8		/* 16 bit PC relative GOT entry */#define R_68K_GOT8	9		/* 8 bit PC relative GOT entry */#define R_68K_GOT32O	10		/* 32 bit GOT offset */#define R_68K_GOT16O	11		/* 16 bit GOT offset */#define R_68K_GOT8O	12		/* 8 bit GOT offset */#define R_68K_PLT32	13		/* 32 bit PC relative PLT address */#define R_68K_PLT16	14		/* 16 bit PC relative PLT address */#define R_68K_PLT8	15		/* 8 bit PC relative PLT address */#define R_68K_PLT32O	16		/* 32 bit PLT offset */#define R_68K_PLT16O	17		/* 16 bit PLT offset */#define R_68K_PLT8O	18		/* 8 bit PLT offset */#define R_68K_COPY	19		/* Copy symbol at runtime */#define R_68K_GLOB_DAT	20		/* Create GOT entry */#define R_68K_JMP_SLOT	21		/* Create PLT entry */#define R_68K_RELATIVE	22		/* Adjust by program base *//* Keep this the last entry.  */#define R_68K_NUM	23/* Intel 80386 specific definitions.  *//* i386 relocs.  */#define R_386_NONE	   0		/* No reloc */#define R_386_32	   1		/* Direct 32 bit  */#define R_386_PC32	   2		/* PC relative 32 bit */#define R_386_GOT32	   3		/* 32 bit GOT entry */#define R_386_PLT32	   4		/* 32 bit PLT address */#define R_386_COPY	   5		/* Copy symbol at runtime */#define R_386_GLOB_DAT	   6		/* Create GOT entry */#define R_386_JMP_SLOT	   7		/* Create PLT entry */#define R_386_RELATIVE	   8		/* Adjust by program base */#define R_386_GOTOFF	   9		/* 32 bit offset to GOT */#define R_386_GOTPC	   10		/* 32 bit PC relative offset to GOT */#define R_386_32PLT	   11#define R_386_TLS_TPOFF	   14		/* Offset in static TLS block */#define R_386_TLS_IE	   15		/* Address of GOT entry for static TLS					   block offset */#define R_386_TLS_GOTIE	   16		/* GOT entry for static TLS block					   offset */#define R_386_TLS_LE	   17		/* Offset relative to static TLS					   block */#define R_386_TLS_GD	   18		/* Direct 32 bit for GNU version of					   general dynamic thread local data */#define R_386_TLS_LDM	   19		/* Direct 32 bit for GNU version of					   local dynamic thread local data					   in LE code */#define R_386_16	   20#define R_386_PC16	   21#define R_386_8		   22#define R_386_PC8	   23#define R_386_TLS_GD_32	   24		/* Direct 32 bit for general dynamic					   thread local data */#define R_386_TLS_GD_PUSH  25		/* Tag for pushl in GD TLS code */#define R_386_TLS_GD_CALL  26		/* Relocation for call to					   __tls_get_addr() */#define R_386_TLS_GD_POP   27		/* Tag for popl in GD TLS code */#define R_386_TLS_LDM_32   28		/* Direct 32 bit for local dynamic					   thread local data in LE code */#define R_386_TLS_LDM_PUSH 29		/* Tag for pushl in LDM TLS code */#define R_386_TLS_LDM_CALL 30		/* Relocation for call to					   __tls_get_addr() in LDM code */#define R_386_TLS_LDM_POP  31		/* Tag for popl in LDM TLS code */#define R_386_TLS_LDO_32   32		/* Offset relative to TLS block */#define R_386_TLS_IE_32	   33		/* GOT entry for negated static TLS					   block offset */#define R_386_TLS_LE_32	   34		/* Negated offset relative to static					   TLS block */#define R_386_TLS_DTPMOD32 35		/* ID of module containing symbol */#define R_386_TLS_DTPOFF32 36		/* Offset in TLS block */#define R_386_TLS_TPOFF32  37		/* Negated offset in static TLS block *//* Keep this the last entry.  */#define R_386_NUM	   38/* SUN SPARC specific definitions.  *//* Legal values for ST_TYPE subfield of st_info (symbol type).  */#define STT_REGISTER	13		/* Global register reserved to app. *//* Values for Elf64_Ehdr.e_flags.  */#define EF_SPARCV9_MM		3#define EF_SPARCV9_TSO		0#define EF_SPARCV9_PSO		1#define EF_SPARCV9_RMO		2#define EF_SPARC_LEDATA		0x800000 /* little endian data */#define EF_SPARC_EXT_MASK	0xFFFF00#define EF_SPARC_32PLUS		0x000100 /* generic V8+ features */#define EF_SPARC_SUN_US1	0x000200 /* Sun UltraSPARC1 extensions */#define EF_SPARC_HAL_R1		0x000400 /* HAL R1 extensions */#define EF_SPARC_SUN_US3	0x000800 /* Sun UltraSPARCIII extensions *//* SPARC relocs.  */#define R_SPARC_NONE		0	/* No reloc */#define R_SPARC_8		1	/* Direct 8 bit */#define R_SPARC_16		2	/* Direct 16 bit */#define R_SPARC_32		3	/* Direct 32 bit */#define R_SPARC_DISP8		4	/* PC relative 8 bit */#define R_SPARC_DISP16		5	/* PC relative 16 bit */#define R_SPARC_DISP32		6	/* PC relative 32 bit */#define R_SPARC_WDISP30		7	/* PC relative 30 bit shifted */#define R_SPARC_WDISP22		8	/* PC relative 22 bit shifted */#define R_SPARC_HI22		9	/* High 22 bit */#define R_SPARC_22		10	/* Direct 22 bit */#define R_SPARC_13		11	/* Direct 13 bit */#define R_SPARC_LO10		12	/* Truncated 10 bit */#define R_SPARC_GOT10		13	/* Truncated 10 bit GOT entry */#define R_SPARC_GOT13		14	/* 13 bit GOT entry */#define R_SPARC_GOT22		15	/* 22 bit GOT entry shifted */#define R_SPARC_PC10		16	/* PC relative 10 bit truncated */#define R_SPARC_PC22		17	/* PC relative 22 bit shifted */#define R_SPARC_WPLT30		18	/* 30 bit PC relative PLT address */#define R_SPARC_COPY		19	/* Copy symbol at runtime */#define R_SPARC_GLOB_DAT	20	/* Create GOT entry */#define R_SPARC_JMP_SLOT	21	/* Create PLT entry */#define R_SPARC_RELATIVE	22	/* Adjust by program base */#define R_SPARC_UA32		23	/* Direct 32 bit unaligned *//* Additional Sparc64 relocs.  */#define R_SPARC_PLT32		24	/* Direct 32 bit ref to PLT entry */#define R_SPARC_HIPLT22		25	/* High 22 bit PLT entry */#define R_SPARC_LOPLT10		26	/* Truncated 10 bit PLT entry */#define R_SPARC_PCPLT32		27	/* PC rel 32 bit ref to PLT entry */#define R_SPARC_PCPLT22		28	/* PC rel high 22 bit PLT entry */#define R_SPARC_PCPLT10		29	/* PC rel trunc 10 bit PLT entry */#define R_SPARC_10		30	/* Direct 10 bit */#define R_SPARC_11		31	/* Direct 11 bit */#define R_SPARC_64		32	/* Direct 64 bit */#define R_SPARC_OLO10		33	/* 10bit with secondary 13bit addend */#define R_SPARC_HH22		34	/* Top 22 bits of direct 64 bit */#define R_SPARC_HM10		35	/* High middle 10 bits of ... */#define R_SPARC_LM22		36	/* Low middle 22 bits of ... */#define R_SPARC_PC_HH22		37	/* Top 22 bits of pc rel 64 bit */#define R_SPARC_PC_HM10		38	/* High middle 10 bit of ... */#define R_SPARC_PC_LM22		39	/* Low miggle 22 bits of ... */#define R_SPARC_WDISP16		40	/* PC relative 16 bit shifted */#define R_SPARC_WDISP19		41	/* PC relative 19 bit shifted */#define R_SPARC_7		43	/* Direct 7 bit */#define R_SPARC_5		44	/* Direct 5 bit */#define R_SPARC_6		45	/* Direct 6 bit */#define R_SPARC_DISP64		46	/* PC relative 64 bit */#define R_SPARC_PLT64		47	/* Direct 64 bit ref to PLT entry */#define R_SPARC_HIX22		48	/* High 22 bit complemented */#define R_SPARC_LOX10		49	/* Truncated 11 bit complemented */#define R_SPARC_H44		50	/* Direct high 12 of 44 bit */#define R_SPARC_M44		51	/* Direct mid 22 of 44 bit */#define R_SPARC_L44		52	/* Direct low 10 of 44 bit */#define R_SPARC_REGISTER	53	/* Global register usage */#define R_SPARC_UA64		54	/* Direct 64 bit unaligned */#define R_SPARC_UA16		55	/* Direct 16 bit unaligned */#define R_SPARC_TLS_GD_HI22	56#define R_SPARC_TLS_GD_LO10	57#define R_SPARC_TLS_GD_ADD	58#define R_SPARC_TLS_GD_CALL	59#define R_SPARC_TLS_LDM_HI22	60#define R_SPARC_TLS_LDM_LO10	61#define R_SPARC_TLS_LDM_ADD	62#define R_SPARC_TLS_LDM_CALL	63#define R_SPARC_TLS_LDO_HIX22	64#define R_SPARC_TLS_LDO_LOX10	65#define R_SPARC_TLS_LDO_ADD	66#define R_SPARC_TLS_IE_HI22	67#define R_SPARC_TLS_IE_LO10	68#define R_SPARC_TLS_IE_LD	69#define R_SPARC_TLS_IE_LDX	70#define R_SPARC_TLS_IE_ADD	71#define R_SPARC_TLS_LE_HIX22	72#define R_SPARC_TLS_LE_LOX10	73#define R_SPARC_TLS_DTPMOD32	74#define R_SPARC_TLS_DTPMOD64	75#define R_SPARC_TLS_DTPOFF32	76#define R_SPARC_TLS_DTPOFF64	77#define R_SPARC_TLS_TPOFF32	78#define R_SPARC_TLS_TPOFF64	79/* Keep this the last entry.  */#define R_SPARC_NUM		80/* For Sparc64, legal values for d_tag of Elf64_Dyn.  */#define DT_SPARC_REGISTER 0x70000001#define DT_SPARC_NUM	2/* Bits present in AT_HWCAP, primarily for Sparc32.  */#define HWCAP_SPARC_FLUSH	1	/* The cpu supports flush insn.  */#define HWCAP_SPARC_STBAR	2#define HWCAP_SPARC_SWAP	4#define HWCAP_SPARC_MULDIV	8#define HWCAP_SPARC_V9		16	/* The cpu is v9, so v8plus is ok.  */#define HWCAP_SPARC_ULTRA3	32/* MIPS R3000 specific definitions.  *//* Legal values for e_flags field of Elf32_Ehdr.  */#define EF_MIPS_NOREORDER   1		/* A .noreorder directive was used */#define EF_MIPS_PIC	    2		/* Contains PIC code */#define EF_MIPS_CPIC	    4		/* Uses PIC calling sequence */#define EF_MIPS_XGOT	    8#define EF_MIPS_64BIT_WHIRL 16#define EF_MIPS_ABI2	    32#define EF_MIPS_ABI_ON32    64#define EF_MIPS_ARCH	    0xf0000000	/* MIPS architecture level *//* Legal values for MIPS architecture level.  */#define EF_MIPS_ARCH_1	    0x00000000	/* -mips1 code.  */#define EF_MIPS_ARCH_2	    0x10000000	/* -mips2 code.  */#define EF_MIPS_ARCH_3	    0x20000000	/* -mips3 code.  */#define EF_MIPS_ARCH_4	    0x30000000	/* -mips4 code.  */#define EF_MIPS_ARCH_5	    0x40000000	/* -mips5 code.  */#define EF_MIPS_ARCH_32	    0x60000000	/* MIPS32 code.  */#define EF_MIPS_ARCH_64	    0x70000000	/* MIPS64 code.  *//* The following are non-official names and should not be used.  */#define E_MIPS_ARCH_1	  0x00000000	/* -mips1 code.  */#define E_MIPS_ARCH_2	  0x10000000	/* -mips2 code.  */#define E_MIPS_ARCH_3	  0x20000000	/* -mips3 code.  */#define E_MIPS_ARCH_4	  0x30000000	/* -mips4 code.  */#define E_MIPS_ARCH_5	  0x40000000	/* -mips5 code.  */#define E_MIPS_ARCH_32	  0x60000000	/* MIPS32 code.  */#define E_MIPS_ARCH_64	  0x70000000	/* MIPS64 code.  *//* Special section indices.  */#define SHN_MIPS_ACOMMON    0xff00	/* Allocated common symbols */#define SHN_MIPS_TEXT	    0xff01	/* Allocated test symbols.  */#define SHN_MIPS_DATA	    0xff02	/* Allocated data symbols.  */#define SHN_MIPS_SCOMMON    0xff03	/* Small common symbols */#define SHN_MIPS_SUNDEFINED 0xff04	/* Small undefined symbols *//* Legal values for sh_type field of Elf32_Shdr.  */#define SHT_MIPS_LIBLIST       0x70000000 /* Shared objects used in link */#define SHT_MIPS_MSYM	       0x70000001#define SHT_MIPS_CONFLICT      0x70000002 /* Conflicting symbols */#define SHT_MIPS_GPTAB	       0x70000003 /* Global data area sizes */#define SHT_MIPS_UCODE	       0x70000004 /* Reserved for SGI/MIPS compilers */#define SHT_MIPS_DEBUG	       0x70000005 /* MIPS ECOFF debugging information*/#define SHT_MIPS_REGINFO       0x70000006 /* Register usage information */#define SHT_MIPS_PACKAGE       0x70000007#define SHT_MIPS_PACKSYM       0x70000008#define SHT_MIPS_RELD	       0x70000009#define SHT_MIPS_IFACE         0x7000000b#define SHT_MIPS_CONTENT       0x7000000c#define SHT_MIPS_OPTIONS       0x7000000d /* Miscellaneous options.  */#define SHT_MIPS_SHDR	       0x70000010#define SHT_MIPS_FDESC	       0x70000011#define SHT_MIPS_EXTSYM	       0x70000012#define SHT_MIPS_DENSE	       0x70000013#define SHT_MIPS_PDESC	       0x70000014#define SHT_MIPS_LOCSYM	       0x70000015#define SHT_MIPS_AUXSYM	       0x70000016#define SHT_MIPS_OPTSYM	       0x70000017#define SHT_MIPS_LOCSTR	       0x70000018#define SHT_MIPS_LINE	       0x70000019#define SHT_MIPS_RFDESC	       0x7000001a#define SHT_MIPS_DELTASYM      0x7000001b#define SHT_MIPS_DELTAINST     0x7000001c#define SHT_MIPS_DELTACLASS    0x7000001d#define SHT_MIPS_DWARF         0x7000001e /* DWARF debugging information.  */#define SHT_MIPS_DELTADECL     0x7000001f#define SHT_MIPS_SYMBOL_LIB    0x70000020#define SHT_MIPS_EVENTS	       0x70000021 /* Event section.  */#define SHT_MIPS_TRANSLATE     0x70000022#define SHT_MIPS_PIXIE	       0x70000023#define SHT_MIPS_XLATE	       0x70000024#define SHT_MIPS_XLATE_DEBUG   0x70000025#define SHT_MIPS_WHIRL	       0x70000026#define SHT_MIPS_EH_REGION     0x70000027#define SHT_MIPS_XLATE_OLD     0x70000028#define SHT_MIPS_PDR_EXCEPTION 0x70000029/* Legal values for sh_flags field of Elf32_Shdr.  */#define SHF_MIPS_GPREL	 0x10000000	/* Must be part of global data area */#define SHF_MIPS_MERGE	 0x20000000#define SHF_MIPS_ADDR	 0x40000000#define SHF_MIPS_STRINGS 0x80000000#define SHF_MIPS_NOSTRIP 0x08000000#define SHF_MIPS_LOCAL	 0x04000000

⌨️ 快捷键说明

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