PR ld/15382

* elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Don't multiply
	sh_size or reloc_count adjustment by count.
This commit is contained in:
Alan Modra 2013-04-22 15:03:01 +00:00
parent eb6c553bd4
commit 86f7d49be5
2 changed files with 10 additions and 4 deletions

View file

@ -1,3 +1,9 @@
2013-04-22 Alan Modra <amodra@gmail.com>
PR ld/15382
* elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Don't multiply
sh_size or reloc_count adjustment by count.
2013-04-22 Alan Modra <amodra@gmail.com>
* elf64-ppc.c (ppc64_elf_check_relocs): Don't call

View file

@ -2497,16 +2497,16 @@ extern asection _bfd_elf_large_com_section;
rel_hdr = _bfd_elf_single_rel_hdr (input_section->output_section); \
\
/* Avoid empty output section. */ \
if (rel_hdr->sh_size > count * rel_hdr->sh_entsize) \
if (rel_hdr->sh_size > rel_hdr->sh_entsize) \
{ \
rel_hdr->sh_size -= count * rel_hdr->sh_entsize; \
rel_hdr->sh_size -= rel_hdr->sh_entsize; \
rel_hdr = _bfd_elf_single_rel_hdr (input_section); \
rel_hdr->sh_size -= count * rel_hdr->sh_entsize; \
rel_hdr->sh_size -= rel_hdr->sh_entsize; \
\
memmove (rel, rel + count, \
(relend - rel - count) * sizeof (*rel)); \
\
input_section->reloc_count -= count; \
input_section->reloc_count--; \
relend -= count; \
rel--; \
continue; \