This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[hurd,commited] hurd: Avoid a PLT reference
- From: Samuel Thibault <samuel dot thibault at ens-lyon dot org>
- To: libc-alpha at sourceware dot org
- Cc: Samuel Thibault <samuel dot thibault at ens-lyon dot org>
- Date: Thu, 14 Jun 2018 01:43:49 +0200
- Subject: [hurd,commited] hurd: Avoid a PLT reference
* sysdeps/mach/hurd/i386/____longjmp_chk.S (____longjmp_chk): Do not
use PLT to call _hurd_self_sigstate.
---
ChangeLog | 2 ++
sysdeps/mach/hurd/i386/____longjmp_chk.S | 7 +------
2 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index fab0c81ada..d094d20cfd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,6 +10,8 @@
__thread_switch, __evc_wait): Move declarations to...
* sysdeps/mach/include/mach/mach_traps.h: ... new file, and add
attribute_hidden.
+ * sysdeps/mach/hurd/i386/____longjmp_chk.S (____longjmp_chk): Do not
+ use PLT to call _hurd_self_sigstate.
2018-06-13 Joseph Myers <joseph@codesourcery.com>
diff --git a/sysdeps/mach/hurd/i386/____longjmp_chk.S b/sysdeps/mach/hurd/i386/____longjmp_chk.S
index 1ee7bae2e4..1bde0efc3d 100644
--- a/sysdeps/mach/hurd/i386/____longjmp_chk.S
+++ b/sysdeps/mach/hurd/i386/____longjmp_chk.S
@@ -68,12 +68,7 @@ ENTRY (____longjmp_chk)
/* TODO: need locking? */
/* struct hurd_sigstate * _hurd_self_sigstate (void) */
-#ifdef PIC
- call 1f
-1: popl %ebx
- addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ebx
-#endif
- call JUMPTARGET(_hurd_self_sigstate)
+ call _hurd_self_sigstate
/* TODO: %eax and %eax->sigaltstack are always valid? */
testl $SS_ONSTACK, (HURD_SIGSTATE__SIGALTSTACK__OFFSET + SIGALTSTACK__SS_FLAGS__OFFSET)(%eax)
--
2.17.1