reloc.c

来自「基于4个mips核的noc设计」· C语言 代码 · 共 2,228 行 · 第 1/5 页

C
2,228
字号
  BFD_RELOC_SPARC_GOT13ENUMX  BFD_RELOC_SPARC_GOT22ENUMX  BFD_RELOC_SPARC_PC10ENUMX  BFD_RELOC_SPARC_PC22ENUMX  BFD_RELOC_SPARC_WPLT30ENUMX  BFD_RELOC_SPARC_COPYENUMX  BFD_RELOC_SPARC_GLOB_DATENUMX  BFD_RELOC_SPARC_JMP_SLOTENUMX  BFD_RELOC_SPARC_RELATIVEENUMX  BFD_RELOC_SPARC_UA16ENUMX  BFD_RELOC_SPARC_UA32ENUMX  BFD_RELOC_SPARC_UA64ENUMDOC  SPARC ELF relocations.  There is probably some overlap with other  relocation types already defined.ENUM  BFD_RELOC_SPARC_BASE13ENUMX  BFD_RELOC_SPARC_BASE22ENUMDOC  I think these are specific to SPARC a.out (e.g., Sun 4).ENUMEQ  BFD_RELOC_SPARC_64  BFD_RELOC_64ENUMX  BFD_RELOC_SPARC_10ENUMX  BFD_RELOC_SPARC_11ENUMX  BFD_RELOC_SPARC_OLO10ENUMX  BFD_RELOC_SPARC_HH22ENUMX  BFD_RELOC_SPARC_HM10ENUMX  BFD_RELOC_SPARC_LM22ENUMX  BFD_RELOC_SPARC_PC_HH22ENUMX  BFD_RELOC_SPARC_PC_HM10ENUMX  BFD_RELOC_SPARC_PC_LM22ENUMX  BFD_RELOC_SPARC_WDISP16ENUMX  BFD_RELOC_SPARC_WDISP19ENUMX  BFD_RELOC_SPARC_7ENUMX  BFD_RELOC_SPARC_6ENUMX  BFD_RELOC_SPARC_5ENUMEQX  BFD_RELOC_SPARC_DISP64  BFD_RELOC_64_PCRELENUMX  BFD_RELOC_SPARC_PLT64ENUMX  BFD_RELOC_SPARC_HIX22ENUMX  BFD_RELOC_SPARC_LOX10ENUMX  BFD_RELOC_SPARC_H44ENUMX  BFD_RELOC_SPARC_M44ENUMX  BFD_RELOC_SPARC_L44ENUMX  BFD_RELOC_SPARC_REGISTERENUMDOC  SPARC64 relocationsENUM  BFD_RELOC_SPARC_REV32ENUMDOC  SPARC little endian relocationENUM  BFD_RELOC_ALPHA_GPDISP_HI16ENUMDOC  Alpha ECOFF and ELF relocations.  Some of these treat the symbol or     "addend" in some special way.  For GPDISP_HI16 ("gpdisp") relocations, the symbol is ignored when     writing; when reading, it will be the absolute section symbol.  The     addend is the displacement in bytes of the "lda" instruction from     the "ldah" instruction (which is at the address of this reloc).ENUM  BFD_RELOC_ALPHA_GPDISP_LO16ENUMDOC  For GPDISP_LO16 ("ignore") relocations, the symbol is handled as     with GPDISP_HI16 relocs.  The addend is ignored when writing the     relocations out, and is filled in with the file's GP value on     reading, for convenience.ENUM  BFD_RELOC_ALPHA_GPDISPENUMDOC  The ELF GPDISP relocation is exactly the same as the GPDISP_HI16     relocation except that there is no accompanying GPDISP_LO16     relocation.ENUM  BFD_RELOC_ALPHA_LITERALENUMX  BFD_RELOC_ALPHA_ELF_LITERALENUMX  BFD_RELOC_ALPHA_LITUSEENUMDOC  The Alpha LITERAL/LITUSE relocs are produced by a symbol reference;     the assembler turns it into a LDQ instruction to load the address of     the symbol, and then fills in a register in the real instruction.     The LITERAL reloc, at the LDQ instruction, refers to the .lita     section symbol.  The addend is ignored when writing, but is filled     in with the file's GP value on reading, for convenience, as with the     GPDISP_LO16 reloc.     The ELF_LITERAL reloc is somewhere between 16_GOTOFF and GPDISP_LO16.     It should refer to the symbol to be referenced, as with 16_GOTOFF,     but it generates output not based on the position within the .got     section, but relative to the GP value chosen for the file during the     final link stage.     The LITUSE reloc, on the instruction using the loaded address, gives     information to the linker that it might be able to use to optimize     away some literal section references.  The symbol is ignored (read     as the absolute section symbol), and the "addend" indicates the type     of instruction using the register:              1 - "memory" fmt insn              2 - byte-manipulation (byte offset reg)              3 - jsr (target of branch)     The GNU linker currently doesn't do any of this optimizing.ENUM  BFD_RELOC_ALPHA_USER_LITERALENUMX  BFD_RELOC_ALPHA_USER_LITUSE_BASEENUMX  BFD_RELOC_ALPHA_USER_LITUSE_BYTOFFENUMX  BFD_RELOC_ALPHA_USER_LITUSE_JSRENUMX  BFD_RELOC_ALPHA_USER_GPDISPENUMX  BFD_RELOC_ALPHA_USER_GPRELHIGHENUMX  BFD_RELOC_ALPHA_USER_GPRELLOWENUMDOC  The BFD_RELOC_ALPHA_USER_* relocations are used by the assembler to     process the explicit !<reloc>!sequence relocations, and are mapped     into the normal relocations at the end of processing.ENUM  BFD_RELOC_ALPHA_HINTENUMDOC  The HINT relocation indicates a value that should be filled into the     "hint" field of a jmp/jsr/ret instruction, for possible branch-     prediction logic which may be provided on some processors.ENUM  BFD_RELOC_ALPHA_LINKAGEENUMDOC  The LINKAGE relocation outputs a linkage pair in the object file,     which is filled by the linker.ENUM  BFD_RELOC_ALPHA_CODEADDRENUMDOC  The CODEADDR relocation outputs a STO_CA in the object file,     which is filled by the linker.ENUM  BFD_RELOC_MIPS_JMPENUMDOC  Bits 27..2 of the relocation address shifted right 2 bits;     simple reloc otherwise.ENUM  BFD_RELOC_MIPS16_JMPENUMDOC  The MIPS16 jump instruction.ENUM  BFD_RELOC_MIPS16_GPRELENUMDOC  MIPS16 GP relative reloc.ENUM  BFD_RELOC_HI16ENUMDOC  High 16 bits of 32-bit value; simple reloc.ENUM  BFD_RELOC_HI16_SENUMDOC  High 16 bits of 32-bit value but the low 16 bits will be sign     extended and added to form the final result.  If the low 16     bits form a negative number, we need to add one to the high value     to compensate for the borrow when the low bits are added.ENUM  BFD_RELOC_LO16ENUMDOC  Low 16 bits.ENUM  BFD_RELOC_PCREL_HI16_SENUMDOC  Like BFD_RELOC_HI16_S, but PC relative.ENUM  BFD_RELOC_PCREL_LO16ENUMDOC  Like BFD_RELOC_LO16, but PC relative.ENUMEQ  BFD_RELOC_MIPS_GPREL  BFD_RELOC_GPREL16ENUMDOC  Relocation relative to the global pointer.ENUM  BFD_RELOC_MIPS_LITERALENUMDOC  Relocation against a MIPS literal section.ENUM  BFD_RELOC_MIPS_GOT16ENUMX  BFD_RELOC_MIPS_CALL16ENUMEQX  BFD_RELOC_MIPS_GPREL32  BFD_RELOC_GPREL32ENUMX  BFD_RELOC_MIPS_GOT_HI16ENUMX  BFD_RELOC_MIPS_GOT_LO16ENUMX  BFD_RELOC_MIPS_CALL_HI16ENUMX  BFD_RELOC_MIPS_CALL_LO16ENUMX  BFD_RELOC_MIPS_SUBENUMX  BFD_RELOC_MIPS_GOT_PAGEENUMX  BFD_RELOC_MIPS_GOT_OFSTENUMX  BFD_RELOC_MIPS_GOT_DISPENUMX  BFD_RELOC_MIPS_SHIFT5ENUMX  BFD_RELOC_MIPS_SHIFT6ENUMX  BFD_RELOC_MIPS_INSERT_AENUMX  BFD_RELOC_MIPS_INSERT_BENUMX  BFD_RELOC_MIPS_DELETEENUMX  BFD_RELOC_MIPS_HIGHESTENUMX  BFD_RELOC_MIPS_HIGHERENUMX  BFD_RELOC_MIPS_SCN_DISPENUMX  BFD_RELOC_MIPS_REL16ENUMX  BFD_RELOC_MIPS_RELGOTENUMX  BFD_RELOC_MIPS_JALRCOMMENTENUMDOC  MIPS ELF relocations.COMMENTENUM  BFD_RELOC_386_GOT32ENUMX  BFD_RELOC_386_PLT32ENUMX  BFD_RELOC_386_COPYENUMX  BFD_RELOC_386_GLOB_DATENUMX  BFD_RELOC_386_JUMP_SLOTENUMX  BFD_RELOC_386_RELATIVEENUMX  BFD_RELOC_386_GOTOFFENUMX  BFD_RELOC_386_GOTPCENUMDOC  i386/elf relocationsENUM  BFD_RELOC_X86_64_GOT32ENUMX  BFD_RELOC_X86_64_PLT32ENUMX  BFD_RELOC_X86_64_COPYENUMX  BFD_RELOC_X86_64_GLOB_DATENUMX  BFD_RELOC_X86_64_JUMP_SLOTENUMX  BFD_RELOC_X86_64_RELATIVEENUMX  BFD_RELOC_X86_64_GOTPCRELENUMX  BFD_RELOC_X86_64_32SENUMDOC  x86-64/elf relocationsENUM  BFD_RELOC_NS32K_IMM_8ENUMX  BFD_RELOC_NS32K_IMM_16ENUMX  BFD_RELOC_NS32K_IMM_32ENUMX  BFD_RELOC_NS32K_IMM_8_PCRELENUMX  BFD_RELOC_NS32K_IMM_16_PCRELENUMX  BFD_RELOC_NS32K_IMM_32_PCRELENUMX  BFD_RELOC_NS32K_DISP_8ENUMX  BFD_RELOC_NS32K_DISP_16ENUMX  BFD_RELOC_NS32K_DISP_32ENUMX  BFD_RELOC_NS32K_DISP_8_PCRELENUMX  BFD_RELOC_NS32K_DISP_16_PCRELENUMX  BFD_RELOC_NS32K_DISP_32_PCRELENUMDOC  ns32k relocationsENUM  BFD_RELOC_PJ_CODE_HI16ENUMX  BFD_RELOC_PJ_CODE_LO16ENUMX  BFD_RELOC_PJ_CODE_DIR16ENUMX  BFD_RELOC_PJ_CODE_DIR32ENUMX  BFD_RELOC_PJ_CODE_REL16ENUMX  BFD_RELOC_PJ_CODE_REL32ENUMDOC  Picojava relocs.  Not all of these appear in object files.ENUM  BFD_RELOC_PPC_B26ENUMX  BFD_RELOC_PPC_BA26ENUMX  BFD_RELOC_PPC_TOC16ENUMX  BFD_RELOC_PPC_B16ENUMX  BFD_RELOC_PPC_B16_BRTAKENENUMX  BFD_RELOC_PPC_B16_BRNTAKENENUMX  BFD_RELOC_PPC_BA16ENUMX  BFD_RELOC_PPC_BA16_BRTAKENENUMX  BFD_RELOC_PPC_BA16_BRNTAKENENUMX  BFD_RELOC_PPC_COPYENUMX  BFD_RELOC_PPC_GLOB_DATENUMX  BFD_RELOC_PPC_JMP_SLOTENUMX  BFD_RELOC_PPC_RELATIVEENUMX  BFD_RELOC_PPC_LOCAL24PCENUMX  BFD_RELOC_PPC_EMB_NADDR32ENUMX  BFD_RELOC_PPC_EMB_NADDR16ENUMX  BFD_RELOC_PPC_EMB_NADDR16_LOENUMX  BFD_RELOC_PPC_EMB_NADDR16_HIENUMX  BFD_RELOC_PPC_EMB_NADDR16_HAENUMX  BFD_RELOC_PPC_EMB_SDAI16ENUMX  BFD_RELOC_PPC_EMB_SDA2I16ENUMX  BFD_RELOC_PPC_EMB_SDA2RELENUMX  BFD_RELOC_PPC_EMB_SDA21ENUMX  BFD_RELOC_PPC_EMB_MRKREFENUMX  BFD_RELOC_PPC_EMB_RELSEC16ENUMX  BFD_RELOC_PPC_EMB_RELST_LOENUMX  BFD_RELOC_PPC_EMB_RELST_HIENUMX  BFD_RELOC_PPC_EMB_RELST_HAENUMX  BFD_RELOC_PPC_EMB_BIT_FLDENUMX  BFD_RELOC_PPC_EMB_RELSDAENUMDOC  Power(rs6000) and PowerPC relocations.ENUM  BFD_RELOC_I370_D12ENUMDOC  IBM 370/390 relocationsENUM  BFD_RELOC_CTORENUMDOC  The type of reloc used to build a contructor table - at the moment  probably a 32 bit wide absolute relocation, but the target can choose.  It generally does map to one of the other relocation types.ENUM  BFD_RELOC_ARM_PCRE

⌨️ 快捷键说明

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