hurd: Avoid a PLT reference

* sysdeps/mach/hurd/i386/____longjmp_chk.S (____longjmp_chk): Do not
	use PLT to call _hurd_self_sigstate.
This commit is contained in:
Samuel Thibault 2018-06-14 01:43:04 +02:00
parent 126b3ec370
commit 06d1a8263d
2 changed files with 3 additions and 6 deletions

View File

@ -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>

View File

@ -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)