summaryrefslogtreecommitdiff
path: root/distrib
diff options
context:
space:
mode:
authorPhilip Guenther <guenther@cvs.openbsd.org>2016-05-07 19:05:25 +0000
committerPhilip Guenther <guenther@cvs.openbsd.org>2016-05-07 19:05:25 +0000
commitbe4e94637d7117375492627b79c41629c7da9bc3 (patch)
tree61a9fabcc07d38d2720bbb937e83103928286550 /distrib
parent33d8693716b4a6d503e0ba97f94a783905b87f28 (diff)
Use a Thread Information Block in both single and multi-threaded programs.
This stores errno, the cancelation flags, and related bits for each thread and is allocated by ld.so or libc.a. This is an ABI break from 5.9-stable! Make libpthread dlopen'able by moving the cancelation wrappers into libc and doing locking and fork/errno handling via callbacks that libpthread registers when it first initializes. 'errno' *must* be declared via <errno.h> now! Clean up libpthread's symbol exports like libc. On powerpc, offset the TIB/TCB/TLS data from the register per the ELF spec. Testing by various, particularly sthen@ and patrick@ ok kettenis@
Diffstat (limited to 'distrib')
-rw-r--r--distrib/sets/lists/base/md.alpha1
-rw-r--r--distrib/sets/lists/base/md.amd641
-rw-r--r--distrib/sets/lists/base/md.armish1
-rw-r--r--distrib/sets/lists/base/md.armv71
-rw-r--r--distrib/sets/lists/base/md.hppa1
-rw-r--r--distrib/sets/lists/base/md.hppa641
-rw-r--r--distrib/sets/lists/base/md.i3861
-rw-r--r--distrib/sets/lists/base/md.landisk1
-rw-r--r--distrib/sets/lists/base/md.loongson1
-rw-r--r--distrib/sets/lists/base/md.luna88k1
-rw-r--r--distrib/sets/lists/base/md.macppc1
-rw-r--r--distrib/sets/lists/base/md.octeon1
-rw-r--r--distrib/sets/lists/base/md.sgi1
-rw-r--r--distrib/sets/lists/base/md.socppc1
-rw-r--r--distrib/sets/lists/base/md.sparc1
-rw-r--r--distrib/sets/lists/base/md.sparc641
-rw-r--r--distrib/sets/lists/base/md.zaurus1
-rw-r--r--distrib/sets/lists/base/mi6
-rw-r--r--distrib/sets/lists/comp/mi1
-rw-r--r--distrib/special/libstubs/Makefile4
20 files changed, 23 insertions, 5 deletions
diff --git a/distrib/sets/lists/base/md.alpha b/distrib/sets/lists/base/md.alpha
index 0fef6889948..b34ff8a05b5 100644
--- a/distrib/sets/lists/base/md.alpha
+++ b/distrib/sets/lists/base/md.alpha
@@ -2042,6 +2042,7 @@
./usr/libdata/perl5/site_perl/alpha-openbsd/termcap.ph
./usr/libdata/perl5/site_perl/alpha-openbsd/termios.ph
./usr/libdata/perl5/site_perl/alpha-openbsd/tgmath.ph
+./usr/libdata/perl5/site_perl/alpha-openbsd/tib.ph
./usr/libdata/perl5/site_perl/alpha-openbsd/time.ph
./usr/libdata/perl5/site_perl/alpha-openbsd/tls.ph
./usr/libdata/perl5/site_perl/alpha-openbsd/ttyent.ph
diff --git a/distrib/sets/lists/base/md.amd64 b/distrib/sets/lists/base/md.amd64
index e387aa63ff3..76d2a9cbc71 100644
--- a/distrib/sets/lists/base/md.amd64
+++ b/distrib/sets/lists/base/md.amd64
@@ -2076,6 +2076,7 @@
./usr/libdata/perl5/site_perl/amd64-openbsd/termcap.ph
./usr/libdata/perl5/site_perl/amd64-openbsd/termios.ph
./usr/libdata/perl5/site_perl/amd64-openbsd/tgmath.ph
+./usr/libdata/perl5/site_perl/amd64-openbsd/tib.ph
./usr/libdata/perl5/site_perl/amd64-openbsd/time.ph
./usr/libdata/perl5/site_perl/amd64-openbsd/tls.ph
./usr/libdata/perl5/site_perl/amd64-openbsd/ttyent.ph
diff --git a/distrib/sets/lists/base/md.armish b/distrib/sets/lists/base/md.armish
index 169d5d617b3..dd8ee579129 100644
--- a/distrib/sets/lists/base/md.armish
+++ b/distrib/sets/lists/base/md.armish
@@ -2058,6 +2058,7 @@
./usr/libdata/perl5/site_perl/arm-openbsd/termcap.ph
./usr/libdata/perl5/site_perl/arm-openbsd/termios.ph
./usr/libdata/perl5/site_perl/arm-openbsd/tgmath.ph
+./usr/libdata/perl5/site_perl/arm-openbsd/tib.ph
./usr/libdata/perl5/site_perl/arm-openbsd/time.ph
./usr/libdata/perl5/site_perl/arm-openbsd/tls.ph
./usr/libdata/perl5/site_perl/arm-openbsd/ttyent.ph
diff --git a/distrib/sets/lists/base/md.armv7 b/distrib/sets/lists/base/md.armv7
index 8233e3597aa..eed9a4e8468 100644
--- a/distrib/sets/lists/base/md.armv7
+++ b/distrib/sets/lists/base/md.armv7
@@ -2058,6 +2058,7 @@
./usr/libdata/perl5/site_perl/arm-openbsd/termcap.ph
./usr/libdata/perl5/site_perl/arm-openbsd/termios.ph
./usr/libdata/perl5/site_perl/arm-openbsd/tgmath.ph
+./usr/libdata/perl5/site_perl/arm-openbsd/tib.ph
./usr/libdata/perl5/site_perl/arm-openbsd/time.ph
./usr/libdata/perl5/site_perl/arm-openbsd/tls.ph
./usr/libdata/perl5/site_perl/arm-openbsd/ttyent.ph
diff --git a/distrib/sets/lists/base/md.hppa b/distrib/sets/lists/base/md.hppa
index 91a8fe70aaf..b9256cbc3c9 100644
--- a/distrib/sets/lists/base/md.hppa
+++ b/distrib/sets/lists/base/md.hppa
@@ -2044,6 +2044,7 @@
./usr/libdata/perl5/site_perl/hppa-openbsd/termcap.ph
./usr/libdata/perl5/site_perl/hppa-openbsd/termios.ph
./usr/libdata/perl5/site_perl/hppa-openbsd/tgmath.ph
+./usr/libdata/perl5/site_perl/hppa-openbsd/tib.ph
./usr/libdata/perl5/site_perl/hppa-openbsd/time.ph
./usr/libdata/perl5/site_perl/hppa-openbsd/tls.ph
./usr/libdata/perl5/site_perl/hppa-openbsd/ttyent.ph
diff --git a/distrib/sets/lists/base/md.hppa64 b/distrib/sets/lists/base/md.hppa64
index ca17f432eb6..84093b0e0dd 100644
--- a/distrib/sets/lists/base/md.hppa64
+++ b/distrib/sets/lists/base/md.hppa64
@@ -1971,6 +1971,7 @@
./usr/libdata/perl5/site_perl/hppa64-openbsd/termcap.ph
./usr/libdata/perl5/site_perl/hppa64-openbsd/termios.ph
./usr/libdata/perl5/site_perl/hppa64-openbsd/tgmath.ph
+./usr/libdata/perl5/site_perl/hppa64-openbsd/tib.ph
./usr/libdata/perl5/site_perl/hppa64-openbsd/time.ph
./usr/libdata/perl5/site_perl/hppa64-openbsd/tls.ph
./usr/libdata/perl5/site_perl/hppa64-openbsd/ttyent.ph
diff --git a/distrib/sets/lists/base/md.i386 b/distrib/sets/lists/base/md.i386
index db57c19b4bd..1cc1047df79 100644
--- a/distrib/sets/lists/base/md.i386
+++ b/distrib/sets/lists/base/md.i386
@@ -2079,6 +2079,7 @@
./usr/libdata/perl5/site_perl/i386-openbsd/termcap.ph
./usr/libdata/perl5/site_perl/i386-openbsd/termios.ph
./usr/libdata/perl5/site_perl/i386-openbsd/tgmath.ph
+./usr/libdata/perl5/site_perl/i386-openbsd/tib.ph
./usr/libdata/perl5/site_perl/i386-openbsd/time.ph
./usr/libdata/perl5/site_perl/i386-openbsd/tls.ph
./usr/libdata/perl5/site_perl/i386-openbsd/ttyent.ph
diff --git a/distrib/sets/lists/base/md.landisk b/distrib/sets/lists/base/md.landisk
index ce2f341526a..e13ecc10a9e 100644
--- a/distrib/sets/lists/base/md.landisk
+++ b/distrib/sets/lists/base/md.landisk
@@ -2057,6 +2057,7 @@
./usr/libdata/perl5/site_perl/sh-openbsd/termcap.ph
./usr/libdata/perl5/site_perl/sh-openbsd/termios.ph
./usr/libdata/perl5/site_perl/sh-openbsd/tgmath.ph
+./usr/libdata/perl5/site_perl/sh-openbsd/tib.ph
./usr/libdata/perl5/site_perl/sh-openbsd/time.ph
./usr/libdata/perl5/site_perl/sh-openbsd/tls.ph
./usr/libdata/perl5/site_perl/sh-openbsd/ttyent.ph
diff --git a/distrib/sets/lists/base/md.loongson b/distrib/sets/lists/base/md.loongson
index ee015dabc67..a32e324e04d 100644
--- a/distrib/sets/lists/base/md.loongson
+++ b/distrib/sets/lists/base/md.loongson
@@ -2064,6 +2064,7 @@
./usr/libdata/perl5/site_perl/mips64el-openbsd/termcap.ph
./usr/libdata/perl5/site_perl/mips64el-openbsd/termios.ph
./usr/libdata/perl5/site_perl/mips64el-openbsd/tgmath.ph
+./usr/libdata/perl5/site_perl/mips64el-openbsd/tib.ph
./usr/libdata/perl5/site_perl/mips64el-openbsd/time.ph
./usr/libdata/perl5/site_perl/mips64el-openbsd/tls.ph
./usr/libdata/perl5/site_perl/mips64el-openbsd/ttyent.ph
diff --git a/distrib/sets/lists/base/md.luna88k b/distrib/sets/lists/base/md.luna88k
index 4d79ce71bb9..fda5ba3c1f3 100644
--- a/distrib/sets/lists/base/md.luna88k
+++ b/distrib/sets/lists/base/md.luna88k
@@ -1954,6 +1954,7 @@
./usr/libdata/perl5/site_perl/m88k-openbsd/termcap.ph
./usr/libdata/perl5/site_perl/m88k-openbsd/termios.ph
./usr/libdata/perl5/site_perl/m88k-openbsd/tgmath.ph
+./usr/libdata/perl5/site_perl/m88k-openbsd/tib.ph
./usr/libdata/perl5/site_perl/m88k-openbsd/time.ph
./usr/libdata/perl5/site_perl/m88k-openbsd/tls.ph
./usr/libdata/perl5/site_perl/m88k-openbsd/ttyent.ph
diff --git a/distrib/sets/lists/base/md.macppc b/distrib/sets/lists/base/md.macppc
index cdbc6a251f1..e69370bdb64 100644
--- a/distrib/sets/lists/base/md.macppc
+++ b/distrib/sets/lists/base/md.macppc
@@ -2089,6 +2089,7 @@
./usr/libdata/perl5/site_perl/powerpc-openbsd/termcap.ph
./usr/libdata/perl5/site_perl/powerpc-openbsd/termios.ph
./usr/libdata/perl5/site_perl/powerpc-openbsd/tgmath.ph
+./usr/libdata/perl5/site_perl/powerpc-openbsd/tib.ph
./usr/libdata/perl5/site_perl/powerpc-openbsd/time.ph
./usr/libdata/perl5/site_perl/powerpc-openbsd/tls.ph
./usr/libdata/perl5/site_perl/powerpc-openbsd/ttyent.ph
diff --git a/distrib/sets/lists/base/md.octeon b/distrib/sets/lists/base/md.octeon
index ecbf7f07ab9..eb17af53da2 100644
--- a/distrib/sets/lists/base/md.octeon
+++ b/distrib/sets/lists/base/md.octeon
@@ -2027,6 +2027,7 @@
./usr/libdata/perl5/site_perl/mips64-openbsd/termcap.ph
./usr/libdata/perl5/site_perl/mips64-openbsd/termios.ph
./usr/libdata/perl5/site_perl/mips64-openbsd/tgmath.ph
+./usr/libdata/perl5/site_perl/mips64-openbsd/tib.ph
./usr/libdata/perl5/site_perl/mips64-openbsd/time.ph
./usr/libdata/perl5/site_perl/mips64-openbsd/tls.ph
./usr/libdata/perl5/site_perl/mips64-openbsd/ttyent.ph
diff --git a/distrib/sets/lists/base/md.sgi b/distrib/sets/lists/base/md.sgi
index 15a50360040..b21fb2ab811 100644
--- a/distrib/sets/lists/base/md.sgi
+++ b/distrib/sets/lists/base/md.sgi
@@ -2091,6 +2091,7 @@
./usr/libdata/perl5/site_perl/mips64-openbsd/termcap.ph
./usr/libdata/perl5/site_perl/mips64-openbsd/termios.ph
./usr/libdata/perl5/site_perl/mips64-openbsd/tgmath.ph
+./usr/libdata/perl5/site_perl/mips64-openbsd/tib.ph
./usr/libdata/perl5/site_perl/mips64-openbsd/time.ph
./usr/libdata/perl5/site_perl/mips64-openbsd/tls.ph
./usr/libdata/perl5/site_perl/mips64-openbsd/ttyent.ph
diff --git a/distrib/sets/lists/base/md.socppc b/distrib/sets/lists/base/md.socppc
index e8530eadc31..d2a80dac4ef 100644
--- a/distrib/sets/lists/base/md.socppc
+++ b/distrib/sets/lists/base/md.socppc
@@ -2076,6 +2076,7 @@
./usr/libdata/perl5/site_perl/powerpc-openbsd/termcap.ph
./usr/libdata/perl5/site_perl/powerpc-openbsd/termios.ph
./usr/libdata/perl5/site_perl/powerpc-openbsd/tgmath.ph
+./usr/libdata/perl5/site_perl/powerpc-openbsd/tib.ph
./usr/libdata/perl5/site_perl/powerpc-openbsd/time.ph
./usr/libdata/perl5/site_perl/powerpc-openbsd/tls.ph
./usr/libdata/perl5/site_perl/powerpc-openbsd/ttyent.ph
diff --git a/distrib/sets/lists/base/md.sparc b/distrib/sets/lists/base/md.sparc
index bd8b193ba73..11ef7de0005 100644
--- a/distrib/sets/lists/base/md.sparc
+++ b/distrib/sets/lists/base/md.sparc
@@ -1591,6 +1591,7 @@
./usr/libdata/perl5/site_perl/sparc-openbsd/termcap.ph
./usr/libdata/perl5/site_perl/sparc-openbsd/termios.ph
./usr/libdata/perl5/site_perl/sparc-openbsd/tgmath.ph
+./usr/libdata/perl5/site_perl/sparc-openbsd/tib.ph
./usr/libdata/perl5/site_perl/sparc-openbsd/time.ph
./usr/libdata/perl5/site_perl/sparc-openbsd/tls.ph
./usr/libdata/perl5/site_perl/sparc-openbsd/ttyent.ph
diff --git a/distrib/sets/lists/base/md.sparc64 b/distrib/sets/lists/base/md.sparc64
index a46820df03c..126b8a958cf 100644
--- a/distrib/sets/lists/base/md.sparc64
+++ b/distrib/sets/lists/base/md.sparc64
@@ -1651,6 +1651,7 @@
./usr/libdata/perl5/site_perl/sparc64-openbsd/termcap.ph
./usr/libdata/perl5/site_perl/sparc64-openbsd/termios.ph
./usr/libdata/perl5/site_perl/sparc64-openbsd/tgmath.ph
+./usr/libdata/perl5/site_perl/sparc64-openbsd/tib.ph
./usr/libdata/perl5/site_perl/sparc64-openbsd/time.ph
./usr/libdata/perl5/site_perl/sparc64-openbsd/tls.ph
./usr/libdata/perl5/site_perl/sparc64-openbsd/ttyent.ph
diff --git a/distrib/sets/lists/base/md.zaurus b/distrib/sets/lists/base/md.zaurus
index 01067239021..1f43b6df990 100644
--- a/distrib/sets/lists/base/md.zaurus
+++ b/distrib/sets/lists/base/md.zaurus
@@ -2012,6 +2012,7 @@
./usr/libdata/perl5/site_perl/arm-openbsd/termcap.ph
./usr/libdata/perl5/site_perl/arm-openbsd/termios.ph
./usr/libdata/perl5/site_perl/arm-openbsd/tgmath.ph
+./usr/libdata/perl5/site_perl/arm-openbsd/tib.ph
./usr/libdata/perl5/site_perl/arm-openbsd/time.ph
./usr/libdata/perl5/site_perl/arm-openbsd/tls.ph
./usr/libdata/perl5/site_perl/arm-openbsd/ttyent.ph
diff --git a/distrib/sets/lists/base/mi b/distrib/sets/lists/base/mi
index 78bb15241ad..3251f28ac0e 100644
--- a/distrib/sets/lists/base/mi
+++ b/distrib/sets/lists/base/mi
@@ -610,8 +610,8 @@
./usr/games
./usr/include
./usr/lib
-./usr/lib/libc.so.86.0
-./usr/lib/libc.so.86.0.a
+./usr/lib/libc.so.87.0
+./usr/lib/libc.so.87.0.a
./usr/lib/libcrypto.so.38.0
./usr/lib/libcurses.so.14.0
./usr/lib/libedit.so.5.2
@@ -633,7 +633,7 @@
./usr/lib/libpanelw.so.6.0
./usr/lib/libpcap.so.8.1
./usr/lib/libperl.so.17.1
-./usr/lib/libpthread.so.21.0
+./usr/lib/libpthread.so.22.0
./usr/lib/libradius.so.1.0
./usr/lib/libreadline.so.4.0
./usr/lib/librpcsvc.so.2.0
diff --git a/distrib/sets/lists/comp/mi b/distrib/sets/lists/comp/mi
index c1ab44c3f84..86057434657 100644
--- a/distrib/sets/lists/comp/mi
+++ b/distrib/sets/lists/comp/mi
@@ -1410,6 +1410,7 @@
./usr/include/termcap.h
./usr/include/termios.h
./usr/include/tgmath.h
+./usr/include/tib.h
./usr/include/time.h
./usr/include/tls.h
./usr/include/ttyent.h
diff --git a/distrib/special/libstubs/Makefile b/distrib/special/libstubs/Makefile
index 8853173e095..8f07014debc 100644
--- a/distrib/special/libstubs/Makefile
+++ b/distrib/special/libstubs/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.17 2015/10/17 21:48:42 guenther Exp $
+# $OpenBSD: Makefile,v 1.18 2016/05/07 19:05:24 guenther Exp $
.include <bsd.own.mk>
LIB= stubs
@@ -30,7 +30,7 @@ NOPIC= Yes
NOPROFILE=Yes
CFLAGS+=-DSHA2_SMALL -UYP -DNO_LOG_BAD_DNS_RESPONSES \
- -DFLOATING_POINT -DASRNODEBUG \
+ -DFLOATING_POINT -DASRNODEBUG -D__LIBC__ \
-I${LIBCSRCDIR}/include -I${LIBCSRCDIR}/hidden \
-I${LIBCSRCDIR}/asr -I${LIBCSRCDIR}/locale -I${LIBCSRCDIR}/gdtoa \
-I${LIBCSRCDIR}/arch/${MACHINE_CPU}/gdtoa -I${LIBCSRCDIR}/stdio \