From 1997c9943a1979a7407f3c70ead92493a799e13e Mon Sep 17 00:00:00 2001
From: Alan Modra <amodra@gmail.com>
Date: Thu, 12 May 2016 23:59:26 +0930
Subject: [PATCH] ld -z combreloc reloc sorting

PLT relocs don't appear in .rela.dyn, at least not when using
normal linker scripts.  However, if they do, then they ought to be
placed last rather than in the middle of other relocs.

	* elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
---
 bfd/ChangeLog | 4 ++++
 bfd/elf-bfd.h | 4 ++--
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 333b882a58f..40f1827d46d 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,7 @@
+2016-05-12  Alan Modra  <amodra@gmail.com>
+
+	* elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
+
 2016-05-11  Andrew Bennett  <andrew.bennett@imgtec.com>
 
 	* elfxx-mips.c (print_mips_ases): Add DSPR3.
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index 863fc39f2f7..fc552ad4fa7 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -703,9 +703,9 @@ struct elf_size_info {
 enum elf_reloc_type_class {
   reloc_class_normal,
   reloc_class_relative,
-  reloc_class_plt,
   reloc_class_copy,
-  reloc_class_ifunc
+  reloc_class_ifunc,
+  reloc_class_plt
 };
 
 struct elf_reloc_cookie
-- 
GitLab