mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-24 04:00:07 +08:00
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Zero relocs
for discarded FDEs. Remove redundant assignment. * elflink.h (elf_bfd_discard_info): Save edited relocs.
This commit is contained in:
@ -1,3 +1,9 @@
|
|||||||
|
2002-09-23 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
|
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Zero relocs
|
||||||
|
for discarded FDEs. Remove redundant assignment.
|
||||||
|
* elflink.h (elf_bfd_discard_info): Save edited relocs.
|
||||||
|
|
||||||
2002-09-22 H.J. Lu <hjl@gnu.org>
|
2002-09-22 H.J. Lu <hjl@gnu.org>
|
||||||
|
|
||||||
* elf64-alpha.c (elf64_alpha_merge_ind_symbols): Don't merge
|
* elf64-alpha.c (elf64_alpha_merge_ind_symbols): Don't merge
|
||||||
|
@ -632,11 +632,11 @@ _bfd_elf_discard_section_eh_frame (abfd, info, sec, ehdrsec,
|
|||||||
goto free_no_table;
|
goto free_no_table;
|
||||||
if ((*reloc_symbol_deleted_p) (buf - ehbuf, cookie))
|
if ((*reloc_symbol_deleted_p) (buf - ehbuf, cookie))
|
||||||
{
|
{
|
||||||
cookie->rel = rel;
|
|
||||||
/* This is a FDE against discarded section, it should
|
/* This is a FDE against discarded section, it should
|
||||||
be deleted. */
|
be deleted. */
|
||||||
new_size -= hdr.length + 4;
|
new_size -= hdr.length + 4;
|
||||||
sec_info->entry[sec_info->count].removed = 1;
|
sec_info->entry[sec_info->count].removed = 1;
|
||||||
|
memset (rel, 0, sizeof (*rel));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -8482,7 +8482,12 @@ elf_bfd_discard_info (output_bfd, info)
|
|||||||
if (_bfd_elf_discard_section_eh_frame (abfd, info, eh, ehdr,
|
if (_bfd_elf_discard_section_eh_frame (abfd, info, eh, ehdr,
|
||||||
elf_reloc_symbol_deleted_p,
|
elf_reloc_symbol_deleted_p,
|
||||||
&cookie))
|
&cookie))
|
||||||
ret = true;
|
{
|
||||||
|
/* Relocs have been edited. Ensure edited version is
|
||||||
|
used later in relocate_section. */
|
||||||
|
elf_section_data (eh)->relocs = cookie.rels;
|
||||||
|
ret = true;
|
||||||
|
}
|
||||||
if (cookie.rels && elf_section_data (eh)->relocs != cookie.rels)
|
if (cookie.rels && elf_section_data (eh)->relocs != cookie.rels)
|
||||||
free (cookie.rels);
|
free (cookie.rels);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user