From 06d1a8263d72dfb3e638cb98c92bee3405262f44 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Thu, 14 Jun 2018 01:43:04 +0200 Subject: [PATCH] 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 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.43.5