diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-06-16 14:07:23 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-06-16 14:07:23 +0000 |
commit | 4d0ac0375ba54da7d36aae6b7932e8813b2c89af (patch) | |
tree | 0ab0c8bd4a39d7189363c4aed14c76a7b2c0a49e | |
parent | f96a85e0fe83abdc30c73e6f01b995baf733e97b (diff) | |
download | glibc-4d0ac0375ba54da7d36aae6b7932e8813b2c89af.tar.gz |
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.
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | sysdeps/hurd/include/hurd/signal.h | 9 | ||||
-rw-r--r-- | sysdeps/mach/hurd/i386/____longjmp_chk.S | 2 |
3 files changed, 14 insertions, 1 deletions
@@ -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> diff --git a/sysdeps/hurd/include/hurd/signal.h b/sysdeps/hurd/include/hurd/signal.h index 1cb0adaa55..8ceab328c5 100644 --- a/sysdeps/hurd/include/hurd/signal.h +++ b/sysdeps/hurd/include/hurd/signal.h @@ -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 diff --git a/sysdeps/mach/hurd/i386/____longjmp_chk.S b/sysdeps/mach/hurd/i386/____longjmp_chk.S index 1bde0efc3d..7c3a73adba 100644 --- a/sysdeps/mach/hurd/i386/____longjmp_chk.S +++ b/sysdeps/mach/hurd/i386/____longjmp_chk.S @@ -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) |