]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
Fix known issues which blow up the process after dlopen("libthr.so")
authorkib <kib@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sun, 18 Jan 2015 11:54:20 +0000 (11:54 +0000)
committerkib <kib@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sun, 18 Jan 2015 11:54:20 +0000 (11:54 +0000)
commite4f1cc83d7c662326328cd6c7868df1b8e12a227
tree0e4ae5740dfb6ba34a4755307529abeee008c52c
parent7fca9a324303cf2e2c94362cfb2a1da0a19e78be
Fix known issues which blow up the process after dlopen("libthr.so")
(or loading a dso linked to libthr.so into process which was not
linked against threading library).

MFC r276630:
Remove interposing, fix malloc, reinstall signal handlers wrappers on
libthr load.

MFC r276681:
Avoid calling internal libc function through PLT or accessing data
though GOT.

MFC r277032:
Reduce the size of the interposing table and amount of
cancellation-handling code in the libthr.

MFC note:
r276646 ("do not erronously export 'openat' symbol from rtld") is not
applicable to stable/10 yet, since PATHFDS support was not merged.

git-svn-id: svn://svn.freebsd.org/base/stable/10@277317 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
66 files changed:
contrib/jemalloc/include/jemalloc/internal/mutex.h
contrib/jemalloc/src/jemalloc.c
contrib/jemalloc/src/mutex.c
lib/libc/Makefile
lib/libc/compat-43/creat.c
lib/libc/gen/Makefile.inc
lib/libc/gen/Symbol.map
lib/libc/gen/__pthread_mutex_init_calloc_cb_stub.c [new file with mode: 0644]
lib/libc/gen/pause.c
lib/libc/gen/raise.c
lib/libc/gen/sleep.c
lib/libc/gen/termios.c
lib/libc/gen/usleep.c
lib/libc/gen/wait.c
lib/libc/gen/wait3.c
lib/libc/gen/waitpid.c
lib/libc/include/libc_private.h
lib/libc/stdlib/Symbol.map
lib/libc/stdlib/jemalloc/Symbol.map
lib/libc/stdlib/system.c
lib/libc/sys/Makefile.inc
lib/libc/sys/Symbol.map
lib/libc/sys/__error.c
lib/libc/sys/accept.c [new file with mode: 0644]
lib/libc/sys/accept4.c [new file with mode: 0644]
lib/libc/sys/aio_suspend.c [new file with mode: 0644]
lib/libc/sys/close.c [new file with mode: 0644]
lib/libc/sys/connect.c [new file with mode: 0644]
lib/libc/sys/fcntl.c
lib/libc/sys/fork.c [new file with mode: 0644]
lib/libc/sys/fsync.c [new file with mode: 0644]
lib/libc/sys/interposing_table.c [new file with mode: 0644]
lib/libc/sys/msync.c [new file with mode: 0644]
lib/libc/sys/nanosleep.c [new file with mode: 0644]
lib/libc/sys/open.c [new file with mode: 0644]
lib/libc/sys/openat.c [new file with mode: 0644]
lib/libc/sys/poll.c [new file with mode: 0644]
lib/libc/sys/pselect.c [new file with mode: 0644]
lib/libc/sys/read.c [new file with mode: 0644]
lib/libc/sys/readv.c [new file with mode: 0644]
lib/libc/sys/recvfrom.c [new file with mode: 0644]
lib/libc/sys/recvmsg.c [new file with mode: 0644]
lib/libc/sys/select.c [new file with mode: 0644]
lib/libc/sys/sendmsg.c [new file with mode: 0644]
lib/libc/sys/sendto.c [new file with mode: 0644]
lib/libc/sys/setcontext.c [new file with mode: 0644]
lib/libc/sys/sigaction.c [new file with mode: 0644]
lib/libc/sys/sigprocmask.c [new file with mode: 0644]
lib/libc/sys/sigsuspend.c [new file with mode: 0644]
lib/libc/sys/sigtimedwait.c [new file with mode: 0644]
lib/libc/sys/sigwait.c
lib/libc/sys/sigwaitinfo.c [new file with mode: 0644]
lib/libc/sys/swapcontext.c [moved from lib/libc/gen/swapcontext.c with 71% similarity]
lib/libc/sys/wait4.c [new file with mode: 0644]
lib/libc/sys/write.c [new file with mode: 0644]
lib/libc/sys/writev.c [new file with mode: 0644]
lib/libthr/Makefile
lib/libthr/pthread.map
lib/libthr/sys/thr_error.c
lib/libthr/thread/thr_create.c
lib/libthr/thread/thr_fork.c
lib/libthr/thread/thr_init.c
lib/libthr/thread/thr_printf.c
lib/libthr/thread/thr_private.h
lib/libthr/thread/thr_sig.c
lib/libthr/thread/thr_syscalls.c