summaryrefslogtreecommitdiff
path: root/mozilla-973977.patch
blob: d8ec932c663b31d1d1d674d08b199e1b3f718895 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# HG changeset patch
# Parent c2172c2aaa693e00c989f76c83b83a2be97afaab
# User Ulrich Weigand <uweigand@de.ibm.com>
Bug 973977 - Mark SharedStub hidden to fix ppc64 build failure


diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s
--- a/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s
+++ b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s
@@ -15,16 +15,21 @@
 .set f15,15; .set f16,16; .set f17,17; .set f18,18; .set f19,19
 .set f20,20; .set f21,21; .set f22,22; .set f23,23; .set f24,24
 .set f25,25; .set f26,26; .set f27,27; .set f28,28; .set f29,29
 .set f30,30; .set f31,31
 
         .section ".text"
         .align 2
         .globl SharedStub
+        # Make the symbol hidden so that the branch from the stub does
+        # not go via a PLT.  This is not only better for performance,
+        # but may be necessary to avoid linker errors since there is
+        # no place to restore the TOC register in a sibling call.
+        .hidden SharedStub
         .section ".opd","aw"
         .align 3
 
 SharedStub:
         .quad   .SharedStub,.TOC.@tocbase
         .previous
         .type   SharedStub,@function
 
bgstack15