diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-06-14 01:43:04 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-06-14 01:43:23 +0200 |
commit | 06d1a8263d72dfb3e638cb98c92bee3405262f44 (patch) | |
tree | 34b080c0e9108d98de22fed73f126dffaa0eeec6 | |
parent | 126b3ec370f0fa8ecbbce27c8c4b621b1ce6f02d (diff) | |
download | glibc-06d1a8263d72dfb3e638cb98c92bee3405262f44.tar.gz glibc-06d1a8263d72dfb3e638cb98c92bee3405262f44.tar.xz glibc-06d1a8263d72dfb3e638cb98c92bee3405262f44.zip |
hurd: Avoid a PLT reference
* sysdeps/mach/hurd/i386/____longjmp_chk.S (____longjmp_chk): Do not use PLT to call _hurd_self_sigstate.
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | 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) |