mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-23 03:29:47 +08:00
Mon Oct 14 11:17:24 1996 Richard Henderson <rth@tamu.edu>
* reloc.c: Create a new BFD_RELOC_ALPHA_ELF_LITERAL. It was a mistake to have reused the ECOFF LITERAL for ELF since they have different semantics. * elf64-alpha.c (elf_reloc_map): Map from ELF_LITERAL. * bfd-in2.h, libbfd.h: Rebuild. * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Trap .got section overflow. * elf64-alpha.c (elf64_alpha_relocate_section): Do not emit a dynamic relocation for an undefweak symbol when we are building a static executable.
This commit is contained in:
@ -1,3 +1,18 @@
|
|||||||
|
Mon Oct 14 11:17:24 1996 Richard Henderson <rth@tamu.edu>
|
||||||
|
|
||||||
|
* reloc.c: Create a new BFD_RELOC_ALPHA_ELF_LITERAL. It was a
|
||||||
|
mistake to have reused the ECOFF LITERAL for ELF since they have
|
||||||
|
different semantics.
|
||||||
|
* elf64-alpha.c (elf_reloc_map): Map from ELF_LITERAL.
|
||||||
|
* bfd-in2.h, libbfd.h: Rebuild.
|
||||||
|
|
||||||
|
* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Trap .got
|
||||||
|
section overflow.
|
||||||
|
|
||||||
|
* elf64-alpha.c (elf64_alpha_relocate_section): Do not emit a
|
||||||
|
dynamic relocation for an undefweak symbol when we are building
|
||||||
|
a static executable.
|
||||||
|
|
||||||
Thu Oct 10 11:15:06 1996 Stan Shebs <shebs@andros.cygnus.com>
|
Thu Oct 10 11:15:06 1996 Stan Shebs <shebs@andros.cygnus.com>
|
||||||
|
|
||||||
* mpw-make.sed (config.bfd, targmatch.sed): Edit references to
|
* mpw-make.sed (config.bfd, targmatch.sed): Edit references to
|
||||||
|
@ -1635,6 +1635,12 @@ 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
|
in with the file's GP value on reading, for convenience, as with the
|
||||||
GPDISP_LO16 reloc.
|
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
|
The LITUSE reloc, on the instruction using the loaded address, gives
|
||||||
information to the linker that it might be able to use to optimize
|
information to the linker that it might be able to use to optimize
|
||||||
away some literal section references. The symbol is ignored (read
|
away some literal section references. The symbol is ignored (read
|
||||||
@ -1646,6 +1652,7 @@ of instruction using the register:
|
|||||||
|
|
||||||
The GNU linker currently doesn't do any of this optimizing. */
|
The GNU linker currently doesn't do any of this optimizing. */
|
||||||
BFD_RELOC_ALPHA_LITERAL,
|
BFD_RELOC_ALPHA_LITERAL,
|
||||||
|
BFD_RELOC_ALPHA_ELF_LITERAL,
|
||||||
BFD_RELOC_ALPHA_LITUSE,
|
BFD_RELOC_ALPHA_LITUSE,
|
||||||
|
|
||||||
/* The HINT relocation indicates a value that should be filled into the
|
/* The HINT relocation indicates a value that should be filled into the
|
||||||
|
13
bfd/libbfd.h
13
bfd/libbfd.h
@ -631,6 +631,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
|
|||||||
"BFD_RELOC_ALPHA_GPDISP_LO16",
|
"BFD_RELOC_ALPHA_GPDISP_LO16",
|
||||||
"BFD_RELOC_ALPHA_GPDISP",
|
"BFD_RELOC_ALPHA_GPDISP",
|
||||||
"BFD_RELOC_ALPHA_LITERAL",
|
"BFD_RELOC_ALPHA_LITERAL",
|
||||||
|
"BFD_RELOC_ALPHA_ELF_LITERAL",
|
||||||
"BFD_RELOC_ALPHA_LITUSE",
|
"BFD_RELOC_ALPHA_LITUSE",
|
||||||
"BFD_RELOC_ALPHA_HINT",
|
"BFD_RELOC_ALPHA_HINT",
|
||||||
"BFD_RELOC_ALPHA_LINKAGE",
|
"BFD_RELOC_ALPHA_LINKAGE",
|
||||||
@ -745,6 +746,18 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
|
|||||||
"BFD_RELOC_D10V_18_PCREL",
|
"BFD_RELOC_D10V_18_PCREL",
|
||||||
/* end-sanitize-d10v */
|
/* end-sanitize-d10v */
|
||||||
|
|
||||||
|
/* start-sanitize-m32r */
|
||||||
|
"BFD_RELOC_M32R_UIMM24",
|
||||||
|
"BFD_RELOC_M32R_DISP8",
|
||||||
|
"BFD_RELOC_M32R_DISP16",
|
||||||
|
"BFD_RELOC_M32R_DISP24",
|
||||||
|
/* end-sanitize-m32r */
|
||||||
|
|
||||||
|
/* start-sanitize-v850 */
|
||||||
|
"BFD_RELOC_V850_9_PCREL",
|
||||||
|
"BFD_RELOC_V850_22_PCREL",
|
||||||
|
/* end-sanitize-v850 */
|
||||||
|
|
||||||
"@@overflow: BFD_RELOC_UNUSED@@",
|
"@@overflow: BFD_RELOC_UNUSED@@",
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
22
bfd/reloc.c
22
bfd/reloc.c
@ -1903,6 +1903,8 @@ ENUMDOC
|
|||||||
|
|
||||||
ENUM
|
ENUM
|
||||||
BFD_RELOC_ALPHA_LITERAL
|
BFD_RELOC_ALPHA_LITERAL
|
||||||
|
ENUMX
|
||||||
|
BFD_RELOC_ALPHA_ELF_LITERAL
|
||||||
ENUMX
|
ENUMX
|
||||||
BFD_RELOC_ALPHA_LITUSE
|
BFD_RELOC_ALPHA_LITUSE
|
||||||
ENUMDOC
|
ENUMDOC
|
||||||
@ -1915,6 +1917,12 @@ ENUMDOC
|
|||||||
in with the file's GP value on reading, for convenience, as with the
|
in with the file's GP value on reading, for convenience, as with the
|
||||||
GPDISP_LO16 reloc.
|
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
|
The LITUSE reloc, on the instruction using the loaded address, gives
|
||||||
information to the linker that it might be able to use to optimize
|
information to the linker that it might be able to use to optimize
|
||||||
away some literal section references. The symbol is ignored (read
|
away some literal section references. The symbol is ignored (read
|
||||||
@ -2244,22 +2252,22 @@ COMMENT
|
|||||||
COMMENT
|
COMMENT
|
||||||
{* start-sanitize-m32r *}
|
{* start-sanitize-m32r *}
|
||||||
ENUM
|
ENUM
|
||||||
BFD_RELOC_M32R_10_PCREL
|
BFD_RELOC_M32R_UIMM24
|
||||||
ENUMDOC
|
ENUMDOC
|
||||||
Mitsubishi M32R relocs.
|
Mitsubishi M32R relocs.
|
||||||
|
This is a 24 bit address.
|
||||||
|
ENUM
|
||||||
|
BFD_RELOC_M32R_DISP8
|
||||||
|
ENUMDOC
|
||||||
This is a 10-bit reloc with the right 2 bits assumed to be 0.
|
This is a 10-bit reloc with the right 2 bits assumed to be 0.
|
||||||
ENUM
|
ENUM
|
||||||
BFD_RELOC_M32R_18_PCREL
|
BFD_RELOC_M32R_DISP16
|
||||||
ENUMDOC
|
ENUMDOC
|
||||||
This is an 18-bit reloc with the right 2 bits assumed to be 0.
|
This is an 18-bit reloc with the right 2 bits assumed to be 0.
|
||||||
ENUM
|
ENUM
|
||||||
BFD_RELOC_M32R_26_PCREL
|
BFD_RELOC_M32R_DISP24
|
||||||
ENUMDOC
|
ENUMDOC
|
||||||
This is an 26-bit reloc with the right 2 bits assumed to be 0.
|
This is an 26-bit reloc with the right 2 bits assumed to be 0.
|
||||||
ENUM
|
|
||||||
BFD_RELOC_M32R_24
|
|
||||||
ENUMDOC
|
|
||||||
This is a 24 bit reloc.
|
|
||||||
COMMENT
|
COMMENT
|
||||||
{* end-sanitize-m32r *}
|
{* end-sanitize-m32r *}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user