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

📄 elf_file.h

📁 Source Code of jlinkserver for Segger JLink
💻 H
📖 第 1 页 / 共 5 页
字号:
#define SHF_MIPS_NAMES	 0x02000000#define SHF_MIPS_NODUPE	 0x01000000/* Symbol tables.  *//* MIPS specific values for `st_other'.  */#define STO_MIPS_DEFAULT		0x0#define STO_MIPS_INTERNAL		0x1#define STO_MIPS_HIDDEN			0x2#define STO_MIPS_PROTECTED		0x3#define STO_MIPS_SC_ALIGN_UNUSED	0xff/* MIPS specific values for `st_info'.  */#define STB_MIPS_SPLIT_COMMON		13/* Entries found in sections of type SHT_MIPS_GPTAB.  */typedef union{  struct    {      Elf32_Word gt_current_g_value;	/* -G value used for compilation */      Elf32_Word gt_unused;		/* Not used */    } gt_header;			/* First entry in section */  struct    {      Elf32_Word gt_g_value;		/* If this value were used for -G */      Elf32_Word gt_bytes;		/* This many bytes would be used */    } gt_entry;				/* Subsequent entries in section */} Elf32_gptab;/* Entry found in sections of type SHT_MIPS_REGINFO.  */typedef struct{  Elf32_Word	ri_gprmask;		/* General registers used */  Elf32_Word	ri_cprmask[4];		/* Coprocessor registers used */  Elf32_Sword	ri_gp_value;		/* $gp register value */} Elf32_RegInfo;/* Entries found in sections of type SHT_MIPS_OPTIONS.  */typedef struct{  unsigned char kind;		/* Determines interpretation of the				   variable part of descriptor.  */  unsigned char size;		/* Size of descriptor, including header.  */  Elf32_Section section;	/* Section header index of section affected,				   0 for global options.  */  Elf32_Word info;		/* Kind-specific information.  */} Elf_Options;/* Values for `kind' field in Elf_Options.  */#define ODK_NULL	0	/* Undefined.  */#define ODK_REGINFO	1	/* Register usage information.  */#define ODK_EXCEPTIONS	2	/* Exception processing options.  */#define ODK_PAD		3	/* Section padding options.  */#define ODK_HWPATCH	4	/* Hardware workarounds performed */#define ODK_FILL	5	/* record the fill value used by the linker. */#define ODK_TAGS	6	/* reserve space for desktop tools to write. */#define ODK_HWAND	7	/* HW workarounds.  'AND' bits when merging. */#define ODK_HWOR	8	/* HW workarounds.  'OR' bits when merging.  *//* Values for `info' in Elf_Options for ODK_EXCEPTIONS entries.  */#define OEX_FPU_MIN	0x1f	/* FPE's which MUST be enabled.  */#define OEX_FPU_MAX	0x1f00	/* FPE's which MAY be enabled.  */#define OEX_PAGE0	0x10000	/* page zero must be mapped.  */#define OEX_SMM		0x20000	/* Force sequential memory mode?  */#define OEX_FPDBUG	0x40000	/* Force floating point debug mode?  */#define OEX_PRECISEFP	OEX_FPDBUG#define OEX_DISMISS	0x80000	/* Dismiss invalid address faults?  */#define OEX_FPU_INVAL	0x10#define OEX_FPU_DIV0	0x08#define OEX_FPU_OFLO	0x04#define OEX_FPU_UFLO	0x02#define OEX_FPU_INEX	0x01/* Masks for `info' in Elf_Options for an ODK_HWPATCH entry.  */#define OHW_R4KEOP	0x1	/* R4000 end-of-page patch.  */#define OHW_R8KPFETCH	0x2	/* may need R8000 prefetch patch.  */#define OHW_R5KEOP	0x4	/* R5000 end-of-page patch.  */#define OHW_R5KCVTL	0x8	/* R5000 cvt.[ds].l bug.  clean=1.  */#define OPAD_PREFIX	0x1#define OPAD_POSTFIX	0x2#define OPAD_SYMBOL	0x4/* Entry found in `.options' section.  */typedef struct{  Elf32_Word hwp_flags1;	/* Extra flags.  */  Elf32_Word hwp_flags2;	/* Extra flags.  */} Elf_Options_Hw;/* Masks for `info' in ElfOptions for ODK_HWAND and ODK_HWOR entries.  */#define OHWA0_R4KEOP_CHECKED	0x00000001#define OHWA1_R4KEOP_CLEAN	0x00000002/* MIPS relocs.  */#define R_MIPS_NONE		0	/* No reloc */#define R_MIPS_16		1	/* Direct 16 bit */#define R_MIPS_32		2	/* Direct 32 bit */#define R_MIPS_REL32		3	/* PC relative 32 bit */#define R_MIPS_26		4	/* Direct 26 bit shifted */#define R_MIPS_HI16		5	/* High 16 bit */#define R_MIPS_LO16		6	/* Low 16 bit */#define R_MIPS_GPREL16		7	/* GP relative 16 bit */#define R_MIPS_LITERAL		8	/* 16 bit literal entry */#define R_MIPS_GOT16		9	/* 16 bit GOT entry */#define R_MIPS_PC16		10	/* PC relative 16 bit */#define R_MIPS_CALL16		11	/* 16 bit GOT entry for function */#define R_MIPS_GPREL32		12	/* GP relative 32 bit */#define R_MIPS_SHIFT5		16#define R_MIPS_SHIFT6		17#define R_MIPS_64		18#define R_MIPS_GOT_DISP		19#define R_MIPS_GOT_PAGE		20#define R_MIPS_GOT_OFST		21#define R_MIPS_GOT_HI16		22#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_TRAPNIL	0x00010000 /* Trap nil pointer dereference.  */#define EF_PARISC_EXT		0x00020000 /* Program uses arch. extensions. */#define EF_PARISC_LSB		0x00040000 /* Program expects little endian. */#define EF_PARISC_WIDE		0x00080000 /* Program expects wide mode.  */#define EF_PARISC_NO_KABP	0x00100000 /* No kernel assisted branch					      prediction.  */#define EF_PARISC_LAZYSWAP	0x00400000 /* Allow lazy swapping.  */#define EF_PARISC_ARCH		0x0000ffff /* Architecture version.  *//* Defined values for `e_flags & EF_PARISC_ARCH' are:  */#define EFA_PARISC_1_0		    0x020b /* PA-RISC 1.0 big-endian.  */#define EFA_PARISC_1_1		    0x0210 /* PA-RISC 1.1 big-endian.  */#define EFA_PARISC_2_0		    0x0214 /* PA-RISC 2.0 big-endian.  *//* Additional section indeces.  */#define SHN_PARISC_ANSI_COMMON	0xff00	   /* Section for tenatively declared					      symbols in ANSI C.  */#define SHN_PARISC_HUGE_COMMON	0xff01	   /* Common blocks in huge model.  *//* Legal values for sh_type field of Elf32_Shdr.  */#define SHT_PARISC_EXT		0x70000000 /* Contains product specific ext. */#define SHT_PARISC_UNWIND	0x70000001 /* Unwind information.  */#define SHT_PARISC_DOC		0x70000002 /* Debug info for optimized code. *//* Legal values for sh_flags field of Elf32_Shdr.  */#define SHF_PARISC_SHORT	0x20000000 /* Section with short addressing. */#define SHF_PARISC_HUGE		0x40000000 /* Section far from gp.  */#define SHF_PARISC_SBP		0x80000000 /* Static branch prediction code. *//* Legal values for ST_TYPE subfield of st_info (symbol type).  */#define STT_PARISC_MILLICODE	13	/* Millicode function entry point.  */#define STT_HP_OPAQUE		(STT_LOOS + 0x1)#define STT_HP_STUB		(STT_LOOS + 0x2)/* 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_DIR17F		4	/* 17 bits of eff. address.  */#define R_PARISC_DIR14R		6	/* Right 14 bits of eff. address.  */#define R_PARISC_PCREL32	9	/* 32-bit rel. address.  */#define R_PARISC_PCREL21L	10	/* Left 21 bits of rel. address.  */#define R_PARISC_PCREL17R	11	/* Right 17 bits of rel. address.  */#define R_PARISC_PCREL17F	12	/* 17 bits of rel. address.  */#define R_PARISC_PCREL14R	14	/* Right 14 bits of rel. address.  */#define R_PARISC_DPREL21L	18	/* Left 21 bits of rel. address.  */#define R_PARISC_DPREL14R	22	/* Right 14 bits of rel. address.  */#define R_PARISC_GPREL21L	26	/* GP-relative, left 21 bits.  */#define R_PARISC_GPREL14R	30	/* GP-relative, right 14 bits.  */#define R_PARISC_LTOFF21L	34	/* LT-relative, 

⌨️ 快捷键说明

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