summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libc/sysdeps/linux/alpha/brk.S2
-rw-r--r--libc/sysdeps/linux/ia64/brk.S10
-rw-r--r--libc/sysdeps/linux/powerpc/brk.S8
3 files changed, 9 insertions, 11 deletions
diff --git a/libc/sysdeps/linux/alpha/brk.S b/libc/sysdeps/linux/alpha/brk.S
index 05c3b2c43..a108c0d36 100644
--- a/libc/sysdeps/linux/alpha/brk.S
+++ b/libc/sysdeps/linux/alpha/brk.S
@@ -68,7 +68,7 @@ brk:
/* Update __curbrk and return cleanly. */
mov $31, $0
-$ok: stq $16, __curbrk
+$ok: stq $16, HIDDEN_JUMPTARGET(__curbrk)
addq $30, 8, $30
ret
diff --git a/libc/sysdeps/linux/ia64/brk.S b/libc/sysdeps/linux/ia64/brk.S
index 6d146a579..35547b74b 100644
--- a/libc/sysdeps/linux/ia64/brk.S
+++ b/libc/sysdeps/linux/ia64/brk.S
@@ -31,14 +31,15 @@
.align 8
__curbrk:
data8 0
+libc_hidden_data_def(__curbrk)
weak_alias (__curbrk, ___brk_addr)
-LEAF(__brk)
+LEAF(brk)
.regstk 1, 0, 0, 0
DO_CALL(__NR_brk)
cmp.ltu p6, p0 = ret0, in0
- addl r9 = @ltoff(__curbrk), gp
+ addl r9 = @ltoff(HIDDEN_JUMPTARGET(__curbrk)), gp
;;
ld8 r9 = [r9]
(p6) mov ret0 = ENOMEM
@@ -47,6 +48,5 @@ LEAF(__brk)
st8 [r9] = ret0
mov ret0 = 0
ret
-END(__brk)
-
-weak_alias (__brk, brk)
+END(brk)
+libc_hidden_def(brk)
diff --git a/libc/sysdeps/linux/powerpc/brk.S b/libc/sysdeps/linux/powerpc/brk.S
index 2fd8e5518..95b4dfd0d 100644
--- a/libc/sysdeps/linux/powerpc/brk.S
+++ b/libc/sysdeps/linux/powerpc/brk.S
@@ -52,12 +52,12 @@ brk:
mflr r4
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r5
- lwz r5,__curbrk@got(r5)
+ lwz r5,HIDDEN_JUMPTARGET(__curbrk)@got(r5)
mtlr r4
stw r3,0(r5)
#else
- lis r4,__curbrk@ha
- stw r3,__curbrk@l(r4)
+ lis r4,HIDDEN_JUMPTARGET(__curbrk)@ha
+ stw r3,HIDDEN_JUMPTARGET(__curbrk)@l(r4)
#endif
cmplw r6,r3
addi r1,r1,16
@@ -70,6 +70,4 @@ brk:
.size brk,.-brk
libc_hidden_def(brk)
-/* won't help too much, HIDDEN_JUMPTARGET should be used here as well, now the reloc remains */
-libc_hidden_data_def(__curbrk)
#endif