This is the mail archive of the binutils-cvs@sourceware.org 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]

[binutils-gdb/binutils-2_25-branch] ppc64_elf_edit_opd revamp, take 2


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c35294d36256e7ae759f4198598de7e76d9127c0

commit c35294d36256e7ae759f4198598de7e76d9127c0
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Dec 9 14:31:01 2014 +1030

    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:
---
 bfd/ChangeLog   |  4 ++++
 bfd/elf64-ppc.c | 16 ----------------
 2 files changed, 4 insertions(+), 16 deletions(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 76e082b..9c07abe 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,6 +1,10 @@
 2015-02-11  Alan Modra  <amodra@gmail.com>
 
 	Apply from master.
+	2014-12-09  Alan Modra  <amodra@gmail.com>
+	* elf64-ppc.c (sort_r_offset): Delete.
+	(ppc64_elf_edit_opd): Don't sort input relocs.
+
 	2014-12-04  Alan Modra  <amodra@gmail.com>
 	PR 17666
 	* elflink.c: Include bfd_stdint.h.
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.  */


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