freebsd-skq/lib
kib 8d1dfb4106 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).

- Remove libthr interposers of the libc functions, including
  __error(). Instead, functions calls are indirected through the
  interposing table, similar to how pthread stubs in libc are already
  done.  Libc by default points either to syscall trampolines or to
  existing libc implementations.  On libthr load, libthr rewrites the
  pointers to the cancellable implementations already in libthr.  The
  interposition table is separate from pthreads stubs indirection
  table to not pull pthreads stubs into static binaries.

- Postpone the malloc(3) internal mutexes initialization until libthr
  is loaded.  This avoids recursion between calloc(3) and static
  pthread_mutex_t initialization.

- Reinstall signal handlers with wrapper on libthr load.  The
  _rtld_is_dlopened(3) is used to avoid useless calls to sigaction(2)
  when libthr is statically referenced from the main binary.

In the process, fix openat(2), swapcontext(2) and setcontext(2)
interposing.  The libc symbols were exported at different versions
than libthr interposers.  Export both libc and libthr versions from
libc now, with default set to the higher version from libthr.

Remove unused and disconnected swapcontext(3) userspace implementation
from libc/gen.

No objections from:	deischen
Tested by:	pho, antoine (exp-run) (previous versions)
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2015-01-03 18:38:46 +00:00
..
atf Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
clang Update build for LLDB snapshot at upstream rev 216948 2014-11-26 17:40:03 +00:00
csu Use bsd.lib.mk here as all other csu Makefiles do. 2014-08-19 15:30:56 +00:00
libalias
libarchive Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
libauditd NO_MAN= has been deprecated in favor of MAN= for some time, go ahead 2014-04-13 05:21:56 +00:00
libbegemot
libblocksruntime
libbluetooth use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libbsdstat libbsdstat: fix warnings, set WARNS 2014-03-11 01:10:44 +00:00
libbsm
libbsnmp Fix build with recent binutils 2014-12-23 10:43:35 +00:00
libbz2
libc Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
libc_nonshared Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
libc++ Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
libcalendar use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libcam Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
libcapsicum Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
libcasper Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
libcom_err Remove GNU texinfo from base along with all info pages. 2015-01-02 18:45:03 +00:00
libcompat
libcompiler_rt Clean up detection of hard-float ABIs. As with big-endian in r272368 we 2014-10-01 16:08:19 +00:00
libcrypt Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
libcuse Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
libcxxrt Add support for __cxa_throw_bad_array_new_length in libcxxrt 2014-10-21 10:19:45 +00:00
libdevinfo use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libdevstat Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
libdpv mdoc: improvements to SEE ALSO. 2014-12-27 08:22:58 +00:00
libdwarf Update elftoolchain to upstream rev 3130 2014-12-29 19:16:40 +00:00
libedit Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
libefi use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libelf Bump SHLIB_MAJOR for libelf. 2014-01-21 21:13:13 +00:00
libelftc Update elftoolchain to upstream rev 3130 2014-12-29 19:16:40 +00:00
libevent Promote libevent to lib/ level and fold ftp-proxy into its parent Makefile. 2014-10-13 22:15:26 +00:00
libexecinfo Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
libexpat Fix spelling and wording. 2014-11-12 16:07:33 +00:00
libfetch Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
libfigpar Add new libraries/utilities for data throughput visualization. 2014-11-04 23:46:01 +00:00
libgeom Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
libgpib
libgpio Fix an off-by-one in gpio_pin_list(). 2014-12-02 06:24:45 +00:00
libgssapi mdoc: sort SEE ALSO. 2014-12-29 21:52:32 +00:00
libiconv Split the last gcc-specific flags off into CFLAGS.gcc. This also 2014-01-05 21:03:49 +00:00
libiconv_modules Replace malloc+memset with calloc. 2014-06-13 08:26:53 +00:00
libipsec Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
libjail In preparation for using clang's -Wcast-qual: 2014-11-25 21:01:08 +00:00
libkiconv Revert r274772: it is not valid on MIPS 2014-11-25 03:50:31 +00:00
libkvm Allow libkvm to get the kernel va to pa delta without the need for 2014-10-19 20:23:31 +00:00
libldns Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
liblzma
libmagic MFV r276568: 2015-01-02 21:20:02 +00:00
libmandoc Update mandoc to 1.13.2 2014-12-25 21:56:56 +00:00
libmd Revert r274772: it is not valid on MIPS 2014-11-25 03:50:31 +00:00
libmemstat Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
libmilter Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
libmp Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
libnandfs
libnetbsd Commit missing header for sys/time.h compat on NetBSD to unbreak the amd64/i386 2014-11-04 02:00:07 +00:00
libnetgraph use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libngatm
libnv Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
libohash Make libohash a proper internallib instead of hidding it in m4 2014-08-06 22:46:15 +00:00
libopie Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
libpam mdoc: improvements to SEE ALSO. 2014-12-27 08:31:52 +00:00
libpcap Add netmap support to libpcap. Tcpdump and other native pcap application can now 2014-10-06 15:48:28 +00:00
libpjdlog Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
libpmc Update the list of cross references to include the more modern set of 2014-07-28 10:17:41 +00:00
libproc Fix a memory leak that occured when looking up CTF info for a symbol. 2014-12-23 15:40:57 +00:00
libprocstat Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
libradius Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
librpcsec_gss mdoc: sort SEE ALSO. 2014-12-29 21:59:44 +00:00
librpcsvc Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
librt Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
librtld_db mdoc: improvements to SEE ALSO. 2014-12-27 08:31:52 +00:00
libsbuf Unbreak the ABI by reverting r268494 until the compat shims are provided 2014-07-28 07:20:22 +00:00
libsdp use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libsm Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
libsmb Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
libsmdb
libsmutil
libsqlite3 Fix typo 2014-11-25 11:08:58 +00:00
libstand Fix loader's ability to read the 10.1 release PowerPC ISOs. There appears to 2014-12-30 16:55:53 +00:00
libstdbuf
libstdthreads Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
libtacplus Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
libtelnet When building picobsd, define WITHOUT_OPENSSL and WITHOUT_KERBEROS and 2014-06-06 04:09:07 +00:00
libthr Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
libthread_db Remove ia64. 2014-07-07 00:27:09 +00:00
libucl Update libucl to latest version 2014-11-29 00:45:09 +00:00
libufs use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libugidfw
libulog Convert libraries to use LIBADD 2014-11-25 11:07:26 +00:00
libunbound Upgrade to Unbound 1.5.1. Almost all our local changes to date have been 2015-01-03 02:40:51 +00:00
libusb mdoc: improvements to SEE ALSO. 2014-12-27 08:31:52 +00:00
libusbhid
libutil mdoc: improvements to SEE ALSO. 2014-12-27 08:31:52 +00:00
libvgl use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libvmmapi Replace bhyve's minimal RTC emulation with a fully featured one in vmm.ko. 2014-12-30 22:19:34 +00:00
libwrap Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
libxo Move libxo to /lib 2014-12-25 03:15:56 +00:00
liby
libypclnt
libz only install .pc files when we are not installing 32bit compat libs... 2014-10-27 23:43:25 +00:00
msun mdoc: remove EOL whitespace. 2014-12-29 13:50:59 +00:00
ncurses Parallelize building lib/ncurses 2014-12-27 21:11:42 +00:00
tests Install category Kyuafiles from their category directories. 2013-11-08 14:29:06 +00:00
Makefile Deorbit the IEEE-488/GPIB support. 2014-12-25 20:15:13 +00:00
Makefile.inc