diff options
author | John David Anglin <danglin@gcc.gnu.org> | 2017-09-30 19:02:57 -0400 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2017-09-30 19:02:57 -0400 |
commit | 388784cfddc20ada56d3e52f830d6445b14aa3af (patch) | |
tree | 70986acb16f4c3bef0101e42c06bb9e4c004c378 /sysdeps/unix/sysv/linux/hppa | |
parent | 2000067a4be0dc8a70f6d3704a9e8388eb9066c9 (diff) | |
download | glibc-388784cfddc20ada56d3e52f830d6445b14aa3af.tar.gz glibc-388784cfddc20ada56d3e52f830d6445b14aa3af.tar.xz glibc-388784cfddc20ada56d3e52f830d6445b14aa3af.zip |
Fix hppa text relocations in libc.so
[BZ libc/22165] * sysdeps/unix/sysv/linux/hppa/getcontext.S (__getcontext): Use PIC code to load address of __getcontext_ret when generating PIC code.
Diffstat (limited to 'sysdeps/unix/sysv/linux/hppa')
-rw-r--r-- | sysdeps/unix/sysv/linux/hppa/getcontext.S | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/hppa/getcontext.S b/sysdeps/unix/sysv/linux/hppa/getcontext.S index 68a74a0b7e..b201d8fda2 100644 --- a/sysdeps/unix/sysv/linux/hppa/getcontext.S +++ b/sysdeps/unix/sysv/linux/hppa/getcontext.S @@ -145,8 +145,13 @@ ENTRY(__getcontext) stw %r4, oR24(%r26) stw %r5, oR25(%r26) stw %r6, oR26(%r26) +#ifdef PIC + addil LT%__getcontext_ret, %r19 + ldw RT%__getcontext_ret(%r1), %r1 +#else ldil L%__getcontext_ret, %r1 ldo R%__getcontext_ret(%r1), %r1 +#endif stw %r1, oR2(%r26) /* Save the current signal mask. */ |