_hurd_fd_error_signal): Add hidden prototype.
[_HURD_FD_H_HIDDEN_DEF] (_hurd_fd_error, _hurd_fd_error_signal): Add
hidden def.
+ * hurd/catch-signal.c (__hurd_catch_signal): Call __libc_siglongjmp
+ instead if siglongjmp.
+ (hurd_safe_memmove): Call __libc_longjmp instead of longjmp.
+ * hurd/hurdfault.c (faulted): Call __libc_longjmp instead of longjmp.
+ * include/setjmp.h (__libc_siglongjmp, __libc_longjmp): New hidden
+ prototypes.
+ * libio/iolibio.h (_IO_puts): New hidden prototype.
+ * libio/ioputs.c (_IO_puts): New hidden def.
+ * setjmp/longjmp.c (__libc_longjmp, __libc_siglongjmp): New hidden
+ defs.
+ * sysdeps/mach/hurd/sigwait.c (__sigwait): Call __libc_longjmp instead
+ of longjmp.
* sysdeps/mach/hurd/localplt.data: New file.
instance calling hurd_catch_signal again would then dump core. */
sigjmp_buf buf;
void throw (int signo, long int sigcode, struct sigcontext *scp)
- { siglongjmp (buf, scp->sc_error ?: EGRATUITOUS); }
+ { __libc_siglongjmp (buf, scp->sc_error ?: EGRATUITOUS); }
struct hurd_signal_preemptor preemptor =
{
{
jmp_buf buf;
void throw (int signo, long int sigcode, struct sigcontext *scp)
- { longjmp (buf, scp->sc_error ?: EGRATUITOUS); }
+ { __libc_longjmp (buf, scp->sc_error ?: EGRATUITOUS); }
struct hurd_signal_preemptor src_preemptor =
{
__libc_fatal ("BUG: unexpected fault in signal thread\n");
_hurdsig_fault_preemptor.signals = 0;
- longjmp (_hurdsig_fault_env, 1);
+ __libc_longjmp (_hurdsig_fault_env, 1);
}
static char faultstack[1024];
extern void __libc_longjmp (sigjmp_buf env, int val)
__attribute__ ((noreturn));
+libc_hidden_proto (__libc_siglongjmp)
+libc_hidden_proto (__libc_longjmp)
+
libc_hidden_proto (_setjmp)
libc_hidden_proto (__sigsetjmp)
extern void _IO_perror (const char*) __THROW;
extern int _IO_printf (const char*, ...);
extern int _IO_puts (const char*);
+libc_hidden_proto (_IO_puts)
extern int _IO_scanf (const char*, ...);
extern void _IO_setbuffer (FILE *, char*, size_t) __THROW;
libc_hidden_proto (_IO_setbuffer)
}
weak_alias (_IO_puts, puts)
+libc_hidden_def (_IO_puts)
weak_alias (__libc_siglongjmp, _longjmp)
weak_alias (__libc_siglongjmp, longjmp)
weak_alias (__libc_siglongjmp, siglongjmp)
+libc_hidden_def (__libc_longjmp)
+libc_hidden_def (__libc_siglongjmp)
#endif
handler (int sig)
{
assert (sig == signo);
- longjmp (buf, 1);
+ __libc_longjmp (buf, 1);
}
wait = __mach_reply_port ();