45e84a0
From fbcf305e5adc310e6383d4ec5e844f3f8d072116 Mon Sep 17 00:00:00 2001
45e84a0
From: Alexander Graf <agraf@suse.de>
45e84a0
Date: Mon, 12 Dec 2011 22:36:01 +0100
45e84a0
Subject: [PATCH 20/25] PPC: Fix linker scripts on ppc hosts
45e84a0
45e84a0
When compiling qemu statically with multilib on PPC, we hit the
45e84a0
same issue that commit 845f2c2812d9ed24b36c02a3d06ee83aeafe8b49
45e84a0
is fixing. Do the same here.
45e84a0
45e84a0
Signed-off-by: Alexander Graf <agraf@suse.de>
45e84a0
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
45e84a0
(cherry picked from commit 665a04ae1cbfa8004a38cf0fe99ba799c978a1fe)
45e84a0
---
45e84a0
 ppc.ld   |   16 ++++++++++++++--
45e84a0
 ppc64.ld |   16 ++++++++++++++--
45e84a0
 2 files changed, 28 insertions(+), 4 deletions(-)
45e84a0
45e84a0
diff --git a/ppc.ld b/ppc.ld
45e84a0
index 69aa3f2..2a0dcad 100644
45e84a0
--- a/ppc.ld
45e84a0
+++ b/ppc.ld
45e84a0
@@ -49,8 +49,20 @@ SECTIONS
45e84a0
   .rela.sbss2     : { *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*) }
45e84a0
   .rel.bss        : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) }
45e84a0
   .rela.bss       : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) }
45e84a0
-  .rel.plt        : { *(.rel.plt) }
45e84a0
-  .rela.plt       : { *(.rela.plt) }
45e84a0
+  .rel.plt      :
45e84a0
+  {
45e84a0
+    *(.rel.plt)
45e84a0
+    PROVIDE (__rel_iplt_start = .);
45e84a0
+    *(.rel.iplt)
45e84a0
+    PROVIDE (__rel_iplt_end = .);
45e84a0
+  }
45e84a0
+  .rela.plt       :
45e84a0
+  {
45e84a0
+    *(.rela.plt)
45e84a0
+    PROVIDE (__rela_iplt_start = .);
45e84a0
+    *(.rela.iplt)
45e84a0
+    PROVIDE (__rela_iplt_end = .);
45e84a0
+  }
45e84a0
   .init           :
45e84a0
   {
45e84a0
     KEEP (*(.init))
45e84a0
diff --git a/ppc64.ld b/ppc64.ld
45e84a0
index 0a7c0dd..e2dafa0 100644
45e84a0
--- a/ppc64.ld
45e84a0
+++ b/ppc64.ld
45e84a0
@@ -54,8 +54,20 @@ SECTIONS
45e84a0
       *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*)
45e84a0
       *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
45e84a0
     }
45e84a0
-  .rel.plt        : { *(.rel.plt) }
45e84a0
-  .rela.plt       : { *(.rela.plt) }
45e84a0
+  .rel.plt      :
45e84a0
+  {
45e84a0
+    *(.rel.plt)
45e84a0
+    PROVIDE (__rel_iplt_start = .);
45e84a0
+    *(.rel.iplt)
45e84a0
+    PROVIDE (__rel_iplt_end = .);
45e84a0
+  }
45e84a0
+  .rela.plt       :
45e84a0
+  {
45e84a0
+    *(.rela.plt)
45e84a0
+    PROVIDE (__rela_iplt_start = .);
45e84a0
+    *(.rela.iplt)
45e84a0
+    PROVIDE (__rela_iplt_end = .);
45e84a0
+  }
45e84a0
   .rela.tocbss	  : { *(.rela.tocbss) }
45e84a0
   .init           :
45e84a0
   {
45e84a0
-- 
45e84a0
1.7.7.5
45e84a0