opnsense-src/lib/libc/i386/gen
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
..
_ctx_start.S Add section .note.GNU-stack for assembly files used by 386 and amd64. 2011-01-07 16:08:40 +00:00
_set_tp.c Include a couple of headers to ensure consistency between the prototype and 2005-09-12 19:52:42 +00:00
_setjmp.S Replace the WEAK_ALIAS() alias with the WEAK_REFERENCE() alias. Use it and 2013-11-21 22:31:18 +00:00
fabs.S Add section .note.GNU-stack for assembly files used by 386 and amd64. 2011-01-07 16:08:40 +00:00
flt_rounds.c Make FLT_ROUNDS correctly reflect the dynamic rounding mode. 2004-07-19 08:17:25 +00:00
getcontextx.c The getcontext() from the __fillcontextx() call in the 2013-05-28 04:54:16 +00:00
infinity.c
makecontext.c Make sure the first argument to the user function is 16-byte aligned. 2004-12-05 21:22:08 +00:00
Makefile.inc Add API for obtaining extended machine context states that cannot be 2012-01-21 18:00:28 +00:00
rfork_thread.S libc/i386: Do not export .cerror. 2012-09-05 21:41:05 +00:00
setjmp.S Switch libc from using _sig{procmask,action,suspend} symbols, which 2015-08-29 14:25:01 +00:00
signalcontext.c Follow previous change in makecontext. Use %esi to store next ucp 2004-07-02 23:20:05 +00:00
sigsetjmp.S Switch libc from using _sig{procmask,action,suspend} symbols, which 2015-08-29 14:25:01 +00:00