mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-22 19:09:31 +08:00
Don't emit relative relocations for non-loaded sections in shared objects.
Fix for DWARF-2 sections .debug_info and .debug_line.
This commit is contained in:
@ -1,3 +1,9 @@
|
|||||||
|
2000-04-01 Ken Block USG <block@zk3.dec.com>
|
||||||
|
|
||||||
|
* elf64-alpha.c (elf64_alpha_relocate_section): Don't emit
|
||||||
|
relative relocations for non-loaded sections in shared objects.
|
||||||
|
(elf64_alpha_check_relocs): Similarly.
|
||||||
|
|
||||||
Mon Apr 3 13:37:15 2000 Hans-Peter Nilsson <hp@axis.com>
|
Mon Apr 3 13:37:15 2000 Hans-Peter Nilsson <hp@axis.com>
|
||||||
|
|
||||||
* aoutx.h (NAME(aout,reloc_type_lookup)): Add BFD_RELOC_8 and
|
* aoutx.h (NAME(aout,reloc_type_lookup)): Add BFD_RELOC_8 and
|
||||||
@ -31,7 +37,7 @@ Wed Mar 30 15:28:00 2000 Donald Lindsay <dlindsay@cygnus.com>
|
|||||||
The new logic in m32r_elf_lo16_reloc() has been removed, and
|
The new logic in m32r_elf_lo16_reloc() has been removed, and
|
||||||
it instead calls the new routine to obtain that functionality.
|
it instead calls the new routine to obtain that functionality.
|
||||||
|
|
||||||
2000-03-27 Alan Modra <alan@linuxcare.com>
|
2000-03-27 Alan Modra <alan@linuxcare.com.au>
|
||||||
|
|
||||||
* elf32-avr.c (elf32_avr_gc_mark_hook, elf32_avr_gc_sweep_hook,
|
* elf32-avr.c (elf32_avr_gc_mark_hook, elf32_avr_gc_sweep_hook,
|
||||||
elf32_avr_check_relocs, avr_final_link_relocate,
|
elf32_avr_check_relocs, avr_final_link_relocate,
|
||||||
@ -84,7 +90,7 @@ Wed Mar 30 15:28:00 2000 Donald Lindsay <dlindsay@cygnus.com>
|
|||||||
* coff-h8300.c (h8300_reloc16_extra_cases): Fix the sanity
|
* coff-h8300.c (h8300_reloc16_extra_cases): Fix the sanity
|
||||||
check for R_MOVL2.
|
check for R_MOVL2.
|
||||||
|
|
||||||
2000-03-11 Alan Modra <alan@spri.levels.unisa.edu.au>
|
2000-03-11 Alan Modra <alan@linuxcare.com.au>
|
||||||
|
|
||||||
* ieee.c (ieee_archive_p): Return bfd_error_wrong_format on
|
* ieee.c (ieee_archive_p): Return bfd_error_wrong_format on
|
||||||
a format mismatch rather than an "error" from bfd_read such as
|
a format mismatch rather than an "error" from bfd_read such as
|
||||||
@ -114,7 +120,7 @@ Wed Mar 30 15:28:00 2000 Donald Lindsay <dlindsay@cygnus.com>
|
|||||||
are paired. The addend for R_MIPS_GNU_REL16_S2
|
are paired. The addend for R_MIPS_GNU_REL16_S2
|
||||||
is shifted right two bits.
|
is shifted right two bits.
|
||||||
|
|
||||||
2000-03-10 Alan Modra <alan@spri.levels.unisa.edu.au>
|
2000-03-10 Alan Modra <alan@linuxcare.com.au>
|
||||||
|
|
||||||
* reloc.c (bfd_perform_relocation): Undo emacs formatting of
|
* reloc.c (bfd_perform_relocation): Undo emacs formatting of
|
||||||
comment, and ensure it doesn't happen again.
|
comment, and ensure it doesn't happen again.
|
||||||
|
@ -2581,9 +2581,10 @@ elf64_alpha_check_relocs (abfd, info, sec, relocs)
|
|||||||
else
|
else
|
||||||
rent->count++;
|
rent->count++;
|
||||||
}
|
}
|
||||||
else if (info->shared)
|
else if (info->shared && (sec->flags & SEC_ALLOC))
|
||||||
{
|
{
|
||||||
/* If this is a shared library, we need a RELATIVE reloc. */
|
/* If this is a shared library, and the section is to be
|
||||||
|
loaded into memory, we need a RELATIVE reloc. */
|
||||||
sreloc->_raw_size += sizeof (Elf64_External_Rela);
|
sreloc->_raw_size += sizeof (Elf64_External_Rela);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -3623,7 +3624,7 @@ elf64_alpha_relocate_section (output_bfd, info, input_bfd, input_section,
|
|||||||
outrel.r_addend = addend;
|
outrel.r_addend = addend;
|
||||||
addend = 0, relocation = 0;
|
addend = 0, relocation = 0;
|
||||||
}
|
}
|
||||||
else if (info->shared)
|
else if (info->shared && (input_section->flags & SEC_ALLOC))
|
||||||
{
|
{
|
||||||
outrel.r_info = ELF64_R_INFO(0, R_ALPHA_RELATIVE);
|
outrel.r_info = ELF64_R_INFO(0, R_ALPHA_RELATIVE);
|
||||||
outrel.r_addend = 0;
|
outrel.r_addend = 0;
|
||||||
|
Reference in New Issue
Block a user