* elfcode.h (write_relocs): For rela relocations, adjust the
addend for relocations involving section symbols to account for the lossage of 1:1 mapping from input section symbols to output section symbols.
This commit is contained in:
parent
35be712d11
commit
9a5334e590
|
@ -1,3 +1,10 @@
|
|||
Sun Apr 10 01:02:24 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||||
|
||||
* elfcode.h (write_relocs): For rela relocations, adjust the
|
||||
addend for relocations involving section symbols to account
|
||||
for the lossage of 1:1 mapping from input section symbols to
|
||||
output section symbols.
|
||||
|
||||
Fri Apr 8 12:22:02 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||||
|
||||
* aoutx.h (NAME(aout,make_sections)): New function.
|
||||
|
|
|
@ -1171,6 +1171,17 @@ write_relocs (abfd, sec, xxx)
|
|||
dst_rela.r_offset = ptr->address;
|
||||
|
||||
sym = *ptr->sym_ptr_ptr;
|
||||
|
||||
/* If SYM is a section symbol for an input section, which
|
||||
has been combined with other similar input sections (ld -r),
|
||||
then adjust the addend by the output_offset of sym->section.
|
||||
|
||||
Apparently elf_symbol_from_bfd_symbol doesn't provide a 1:1
|
||||
mapping from bfd symbol to elf symbols in this case. */
|
||||
if ((sym->flags & BSF_SECTION_SYM)
|
||||
&& sym->section)
|
||||
ptr->addend += sym->section->output_offset;
|
||||
|
||||
if (sym == last_sym)
|
||||
n = last_sym_idx;
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue