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 13:33:13 +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
2014-04-21 17:40:23 +00:00
2013-04-23 13:33:13 +00:00
2013-04-23 13:33:13 +00:00
2014-12-10 08:18:22 +00:00
2013-04-23 14:36:44 +00:00
2013-04-23 13:33:13 +00:00
2013-04-23 13:33:13 +00:00
2012-05-09 17:27:49 +00:00
2013-04-23 14:36:44 +00:00
2012-04-29 16:28:39 +00:00
2013-04-23 13:33:13 +00:00
2013-04-23 14:36:44 +00:00
2015-04-22 01:54:25 +00:00
2014-06-02 13:48:57 +00:00
2014-06-02 13:48:57 +00:00
2013-04-23 14:36:44 +00:00
2013-04-23 13:33:13 +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 13:33:13 +00:00
2014-07-26 08:41:03 +00:00
2013-04-23 13:33:13 +00:00
2013-04-23 14:36:44 +00:00
2013-04-23 14:36:44 +00:00
2014-07-22 22:49:37 +00:00
2013-04-23 13:33:13 +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
2013-04-23 13:33:13 +00:00
2013-04-23 13:33:13 +00:00
2014-07-31 08:28:42 +00:00
2014-07-20 20:29:28 +00:00
2013-04-23 14:36:44 +00:00
2012-04-29 16:28:39 +00:00
2013-04-23 14:36:44 +00:00
2014-03-04 02:19:39 +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
2015-04-23 14:22:20 +00:00
2015-04-23 14:22:20 +00:00
2013-04-23 14:36:44 +00:00
2013-11-17 02:03:45 +00:00
2013-04-23 13:33:13 +00:00
2014-06-23 08:25:03 +00:00
2013-04-23 13:33:13 +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 13:33:13 +00:00
2013-04-23 14:36:44 +00:00
2014-07-22 16:10:56 +00:00
2013-04-23 13:33:13 +00:00
2013-11-17 02:03:45 +00:00
2012-05-12 20:27:13 +00:00
2013-04-23 13:33:13 +00:00
2013-02-18 22:47:59 +00:00
2013-04-23 13:33:13 +00:00
2013-04-23 14:36:44 +00:00
2013-04-23 13:33:13 +00:00
2013-04-23 13:33:13 +00:00
2013-04-23 13:33:13 +00:00
2013-04-23 13:33: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
2015-08-29 14:25:01 +00:00
2014-03-07 15:35:54 +00:00
2013-04-23 14:36:44 +00:00
2013-04-23 13:33:13 +00:00
2014-07-20 21:24:29 +00:00
2013-04-23 13:33:13 +00:00
2014-07-20 21:24:29 +00:00
2013-04-23 13:33:13 +00:00
2013-04-23 13:33:13 +00:00
2013-04-23 14:36:44 +00:00
2013-04-23 13:33:13 +00:00
2013-04-23 13:33:13 +00:00
2013-04-23 13:33:13 +00:00
2012-04-21 06:10:18 +00:00
2013-04-23 13:33:13 +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
2013-08-31 22:32:42 +00:00
2015-02-18 03:33:17 +00:00
2012-07-04 17:35:07 +00:00