From: Samuel Thibault Date: Wed, 13 Jun 2018 23:43:04 +0000 (+0200) Subject: hurd: Avoid a PLT reference X-Git-Tag: glibc-2.28~207 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=06d1a8263d72dfb3e638cb98c92bee3405262f44;p=thirdparty%2Fglibc.git hurd: Avoid a PLT reference * sysdeps/mach/hurd/i386/____longjmp_chk.S (____longjmp_chk): Do not use PLT to call _hurd_self_sigstate. --- diff --git a/ChangeLog b/ChangeLog index fab0c81adac..d094d20cfd3 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 1ee7bae2e46..1bde0efc3df 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)