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
..
2013-04-23 14:36:44 +00:00
2015-07-04 16:42:14 +00:00
2015-07-04 16:42:14 +00:00
2013-04-23 14:36:44 +00:00
2013-04-23 14:36:44 +00:00
2013-04-23 14:36:44 +00:00
2015-04-22 01:54:25 +00:00
2013-04-23 14:36:44 +00:00
2013-04-23 14:36:44 +00:00
2013-04-23 14:36:44 +00:00
2014-07-22 16:39:11 +00:00
2014-07-22 23:29:54 +00:00
2013-04-23 14:36:44 +00:00
2013-04-23 14:36:44 +00:00
2013-07-12 17:37:05 +00:00
2014-07-20 20:29:28 +00:00
2013-04-23 14:36:44 +00:00
2013-08-09 17:24:23 +00:00
2013-08-09 17:24:23 +00:00
2015-08-02 02:00:20 +00:00
2013-04-23 14:36:44 +00:00
2013-04-23 14:36:44 +00:00
2014-07-22 16:39:11 +00:00
2014-07-22 23:29:54 +00:00
2013-04-23 14:36:44 +00:00
2014-07-22 16:10:56 +00:00
2012-05-12 20:27:13 +00:00
2013-04-23 14:36:44 +00:00
2015-07-04 16:42:14 +00:00
2013-04-23 14:36:44 +00:00
2014-07-20 21:24:29 +00:00
2014-07-20 21:24:29 +00:00
2013-04-23 14:36:44 +00:00
2014-07-20 21:24:29 +00:00
2012-05-12 20:27:13 +00:00
2013-04-23 14:36:44 +00:00