Konstantin Belousov bd6060a1c6 Switch libc from using _sig{procmask,action,suspend} symbols, which
are aliases for the syscall stubs and are plt-interposed, to the
libc-private aliases of internally interposed sigprocmask() etc.

Since e.g. _sigaction is not interposed by libthr, calling signal()
removes thr_sighandler() from the handler slot etc.  The result was
breaking signal semantic and rtld locking.

The added __libc_sigprocmask and other symbols are hidden, they are
not exported and cannot be called through PLT.  The setjmp/longjmp
functions for x86 were changed to use direct calls, and since
PIC_PROLOGUE only needed for functional PLT indirection on i386, it is
removed as well.

The PowerPC bug of calling the syscall directly in the setjmp/longjmp
implementation is kept as is.

Reported by:	Pete French <petefrench@ingresso.co.uk>
Tested by:	Michiel Boland <boland37@xs4all.nl>
Reviewed by:	jilles (previous version)
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2015-08-29 14:25:01 +00:00
..
2011-11-26 16:49:25 +00:00
2012-08-11 12:07:24 +00:00
2011-10-01 12:19:48 +00:00
2011-10-01 12:19:48 +00:00
2013-08-18 13:25:18 +00:00
2012-04-26 19:21:58 +00:00
2011-05-25 14:13:53 +00:00
2015-02-15 21:11:07 +00:00
2015-04-26 10:29:43 +00:00
2011-12-20 22:56:13 +00:00
2013-04-11 20:15:37 +00:00
2015-04-26 10:56:06 +00:00
2015-04-26 10:52:37 +00:00
2015-04-26 10:52:37 +00:00
2015-04-26 10:52:37 +00:00
2015-04-26 10:52:37 +00:00
2015-04-26 10:52:37 +00:00
2015-04-26 10:52:37 +00:00
2015-04-26 10:52:37 +00:00
2015-04-26 10:52:37 +00:00
2015-04-26 10:52:37 +00:00
2015-04-26 10:52:37 +00:00
2012-03-26 15:18:14 +00:00
2011-02-04 16:40:50 +00:00
2013-04-23 13:03:03 +00:00
2012-12-12 15:27:33 +00:00
2015-08-18 00:21:25 +00:00
2010-01-17 15:43:14 +00:00
2015-02-17 16:01:00 +00:00
2015-08-19 20:31:03 +00:00