hurd: Fix reference to _hurd_self_sigstate

* sysdeps/hurd/include/hurd/signal.h (_hurd_self_sigstate): Add hidden
	prototype and definition.
	* sysdeps/mach/hurd/i386/____longjmp_chk.S (____longjmp_chk): Use
	hidden target for _hurd_self_sigstate.
This commit is contained in:
Samuel Thibault 2018-06-16 14:07:23 +00:00
parent f96a85e0fe
commit 4d0ac0375b
3 changed files with 14 additions and 1 deletions

View File

@ -26,6 +26,10 @@
__swtch_pri, __thread_switch, __evc_wait): Add hidden prototypes.
* sysdeps/mach/hurd/localplt.data (siglongjmp, longjmp,
__libc_lseek64, _IO_funlockfile): Whitelist PLT references.
* sysdeps/hurd/include/hurd/signal.h (_hurd_self_sigstate): Add hidden
prototype and definition.
* sysdeps/mach/hurd/i386/____longjmp_chk.S (____longjmp_chk): Use
hidden target for _hurd_self_sigstate.
2018-06-15 Joseph Myers <joseph@codesourcery.com>

View File

@ -1,9 +1,18 @@
#ifndef _HURD_SIGNAL_H
extern struct hurd_sigstate *_hurd_self_sigstate (void) __attribute__ ((__const__));
#ifndef _ISOMAC
libc_hidden_proto (_hurd_self_sigstate)
#endif
#include_next <hurd/signal.h>
#ifndef _ISOMAC
libc_hidden_proto (_hurd_exception2signal)
libc_hidden_proto (_hurd_intr_rpc_mach_msg)
libc_hidden_proto (_hurd_thread_sigstate)
libc_hidden_proto (_hurd_raise_signal)
#endif
#ifdef _HURD_SIGNAL_H_HIDDEN_DEF
libc_hidden_def (_hurd_self_sigstate)
#endif
#endif

View File

@ -68,7 +68,7 @@ ENTRY (____longjmp_chk)
/* TODO: need locking? */
/* struct hurd_sigstate * _hurd_self_sigstate (void) */
call _hurd_self_sigstate
call HIDDEN_JUMPTARGET(_hurd_self_sigstate)
/* TODO: %eax and %eax->sigaltstack are always valid? */
testl $SS_ONSTACK, (HURD_SIGSTATE__SIGALTSTACK__OFFSET + SIGALTSTACK__SS_FLAGS__OFFSET)(%eax)