A heads up on this commit: if you're following -current and using any perl modules that pull in threaded libraries from packages, such as mysql/mariadb integration via DBD::mysql, then you may want to wait the day or so until the ports package builds have caught up with the change. The perl in base built against libpthread.19.0 cannot load the mysql.so shared object linked against libpthread.18.1
Philip Guenther ---------- Forwarded message ---------- From: Philip Guenther <guent...@cvs.openbsd.org> Date: Mon, Apr 6, 2015 at 6:27 PM Subject: CVS: cvs.openbsd.org: src To: source-chan...@cvs.openbsd.org CVSROOT: /cvs Module name: src Changes by: guent...@cvs.openbsd.org 2015/04/06 19:27:07 Modified files: lib/csu : crtbegin.c crtbeginS.c lib/libc : shlib_version lib/libc/arch/alpha: SYS.h lib/libc/arch/alpha/sys: fork.S lib/libc/arch/amd64: SYS.h lib/libc/arch/amd64/sys: fork.S lib/libc/arch/arm: SYS.h lib/libc/arch/arm/sys: fork.S lib/libc/arch/hppa: SYS.h lib/libc/arch/hppa/sys: fork.S lib/libc/arch/hppa64: SYS.h lib/libc/arch/hppa64/sys: fork.S lib/libc/arch/i386: SYS.h lib/libc/arch/i386/sys: fork.S lib/libc/arch/m88k: SYS.h lib/libc/arch/m88k/sys: fork.S lib/libc/arch/mips64: SYS.h lib/libc/arch/mips64/sys: fork.S lib/libc/arch/powerpc: SYS.h lib/libc/arch/powerpc/sys: fork.S lib/libc/arch/sh: SYS.h lib/libc/arch/sh/sys: fork.S lib/libc/arch/sparc: SYS.h lib/libc/arch/sparc/sys: fork.S lib/libc/arch/sparc64: SYS.h lib/libc/arch/sparc64/sys: fork.S lib/libc/arch/vax: SYS.h lib/libc/arch/vax/sys: fork.S lib/libc/include: thread_private.h lib/libc/stdlib: atexit.c lib/libc/sys : Makefile.inc lib/libc/thread: Makefile.inc unithread_malloc_lock.c lib/librthread : rthread.c rthread_fork.c rthread_libc.c shlib_version regress/lib/csu/callbacks: Makefile regress/lib/csu/callbacks/pthread_atfork: Makefile pthread_atfork_test.c Added files: lib/libc/include: atfork.h lib/libc/sys : w_fork.c lib/libc/thread: atfork.c regress/lib/csu/callbacks/pthread_atfork: expected_child.out expected_parent.out Log message: Make pthread_atfork() track the DSO that called it like atexit() does, unregistering callbacks if the DSO is unloaded. Move the callback handling from libpthread to libc, though libpthread still overrides the inner call to handle locking and thread-library reinitialization. Major version bump for both libc and libpthread. verification that this fixes various ports ajacoutot@ asm assistance miod@; ok millert@ deraadt@