This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
ppc64_elf_edit_opd revamp, take 2
- From: Alan Modra <amodra at gmail dot com>
- To: binutils at sourceware dot org
- Date: Tue, 9 Dec 2014 14:36:02 +1030
- Subject: ppc64_elf_edit_opd revamp, take 2
- Authentication-results: sourceware.org; auth=none
Now that ld -r relocs are sorted by the pr17666 fix, there isn't so
much need to sort incoming relocs.
* elf64-ppc.c (sort_r_offset): Delete.
(ppc64_elf_edit_opd): Don't sort input relocs.
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index 2e9d35a..cb58df1 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -7589,21 +7589,6 @@ dec_dynrel_count (bfd_vma r_info,
return FALSE;
}
-/* qsort comparison function sorting relocs by r_offset. */
-
-static int
-sort_r_offset (const void *p, const void *q)
-{
- const Elf_Internal_Rela *a = (const Elf_Internal_Rela *) p;
- const Elf_Internal_Rela *b = (const Elf_Internal_Rela *) q;
-
- if (a->r_offset < b->r_offset)
- return -1;
- else if (a->r_offset > b->r_offset)
- return 1;
- return 0;
-}
-
/* Remove unused Official Procedure Descriptor entries. Currently we
only remove those associated with functions in discarded link-once
sections, or weakly defined functions that have been overridden. It
@@ -7657,7 +7642,6 @@ ppc64_elf_edit_opd (struct bfd_link_info *info)
info->keep_memory);
if (relstart == NULL)
return FALSE;
- qsort (relstart, sec->reloc_count, sizeof (*relstart), sort_r_offset);
/* First run through the relocs to check they are sane, and to
determine whether we need to edit this opd section. */
--
Alan Modra
Australia Development Lab, IBM