This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

ppc64_elf_edit_opd revamp, take 2

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)
       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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]