NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PR/59685 CVS commit: [netbsd-11] src



The following reply was made to PR lib/59685; it has been noted by GNATS.

From: "Martin Husemann" <martin%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc: 
Subject: PR/59685 CVS commit: [netbsd-11] src
Date: Thu, 20 Nov 2025 18:46:48 +0000

 Module Name:	src
 Committed By:	martin
 Date:		Thu Nov 20 18:46:47 UTC 2025
 
 Modified Files:
 	src/crypto/external/apache2/openssl/bin [netbsd-11]: Makefile
 	src/crypto/external/apache2/openssl/dist/crypto/thread [netbsd-11]:
 	    api.c
 	src/crypto/external/apache2/openssl/lib/libcrypto [netbsd-11]: Makefile
 	    thread.inc
 	src/crypto/external/apache2/openssl/lib/libssl [netbsd-11]: thread.inc
 	src/crypto/external/bsd/heimdal [netbsd-11]: Makefile.inc
 	src/crypto/external/bsd/heimdal/bin/hxtool [netbsd-11]: Makefile
 	src/crypto/external/bsd/netpgp/bin [netbsd-11]: Makefile.inc
 	src/crypto/external/bsd/openssh/bin [netbsd-11]: Makefile.inc
 	src/distrib/sets/lists/base [netbsd-11]: shl.mi
 	src/distrib/sets/lists/debug [netbsd-11]: mi shl.mi
 	src/distrib/sets/lists/tests [netbsd-11]: mi shl.mi
 	src/etc/mtree [netbsd-11]: NetBSD.dist.tests
 	src/external/bsd/libfido2/bin [netbsd-11]: Makefile.inc
 	src/external/bsd/nsd [netbsd-11]: Makefile.inc
 	src/external/bsd/ntp [netbsd-11]: Makefile.inc
 	src/external/bsd/pam-u2f/bin/pamu2fcfg [netbsd-11]: Makefile
 	src/external/bsd/tcpdump/bin [netbsd-11]: Makefile
 	src/external/bsd/wpa/bin/hostapd [netbsd-11]: Makefile
 	src/external/bsd/wpa/bin/wpa_passphrase [netbsd-11]: Makefile
 	src/external/bsd/wpa/bin/wpa_supplicant [netbsd-11]: Makefile
 	src/games/factor [netbsd-11]: Makefile
 	src/lib/libc [netbsd-11]: shlib_version
 	src/lib/libc/include [netbsd-11]: reentrant.h
 	src/lib/libc/thread-stub [netbsd-11]: thread-stub.c
 	src/lib/libpthread [netbsd-11]: pthread.c pthread.h pthread_attr.c
 	    pthread_mi.expsym shlib_version
 	src/libexec/httpd [netbsd-11]: Makefile
 	src/share/mk [netbsd-11]: bsd.prog.mk
 	src/tests/crypto/libcrypto [netbsd-11]: Makefile Makefile.inc
 	src/tests/crypto/libcrypto/dh [netbsd-11]: Makefile
 	src/tests/lib/libc/hash [netbsd-11]: Makefile
 	src/tests/lib/libpthread [netbsd-11]: Makefile
 	src/tests/usr.bin/cc [netbsd-11]: Makefile
 	src/usr.bin/dc [netbsd-11]: Makefile
 	src/usr.bin/ftp [netbsd-11]: Makefile
 	src/usr.bin/moduli [netbsd-11]: Makefile.inc
 	src/usr.bin/nbsvtool [netbsd-11]: Makefile
 	src/usr.sbin/plainrsa-gen [netbsd-11]: Makefile
 	src/usr.sbin/syslogd [netbsd-11]: Makefile
 Added Files:
 	src/tests/lib/libpthread/weak [netbsd-11]: Makefile Makefile.inc
 	    t_pthread_weak_nothread.c t_pthread_weak_threaded.c
 	src/tests/lib/libpthread/weak/lib [netbsd-11]: Makefile
 	    h_pthread_weak.c h_pthread_weak.h
 	src/tests/usr.bin/cc [netbsd-11]: t_pthread_abuse.sh
 
 Log Message:
 Pull up following revision(s) (requested by riz in ticket #90):
 
 	games/factor/Makefile: revision 1.17
 	etc/mtree/NetBSD.dist.tests: revision 1.211
 	usr.sbin/plainrsa-gen/Makefile: revision 1.8
 	tests/lib/libpthread/weak/t_pthread_weak_threaded.c: revision 1.1
 	lib/libc/shlib_version: revision 1.300
 	tests/lib/libpthread/weak/test/Makefile: file removal
 	libexec/httpd/Makefile: revision 1.37
 	usr.bin/nbsvtool/Makefile: revision 1.5
 	usr.bin/moduli/Makefile.inc: revision 1.4
 	distrib/sets/lists/tests/shl.mi: revision 1.17
 	external/bsd/nsd/Makefile.inc: revision 1.11
 	tests/lib/libpthread/weak/test/t_pthread_weak_threaded.c: revision 1.1
 	tests/lib/libpthread/weak/Makefile: revision 1.1
 	tests/lib/libpthread/weak/test/Makefile: revision 1.1
 	tests/lib/libpthread/weak/Makefile: revision 1.2
 	lib/libpthread/pthread.c: revision 1.188
 	crypto/external/apache2/openssl/dist/crypto/thread/api.c: revision 1.2
 	usr.sbin/syslogd/Makefile: revision 1.39
 	tests/lib/libpthread/weak/test/t_pthread_weak_nothread.c: file removal
 	lib/libpthread/pthread_mi.expsym: revision 1.3
 	distrib/sets/lists/base/shl.mi: revision 1.1015
 	crypto/external/apache2/openssl/lib/libssl/thread.inc: revision 1.2
 	usr.bin/dc/Makefile: revision 1.7
 	tests/usr.bin/cc/Makefile: revision 1.10
 	tests/crypto/libcrypto/Makefile: revision 1.18
 	tests/lib/libpthread/weak/t_pthread_weak_nothread.c: revision 1.1
 	lib/libpthread/pthread_attr.c: revision 1.22
 	crypto/external/apache2/openssl/lib/libcrypto/thread.inc: revision 1.2
 	external/bsd/wpa/bin/wpa_passphrase/Makefile: revision 1.8
 	external/bsd/tcpdump/bin/Makefile: revision 1.29
 	external/bsd/ppp/usr.sbin/pppd/Makefile: revision 1.6
 	lib/libpthread/pthread.h: revision 1.42
 	crypto/external/bsd/heimdal/Makefile.inc: revision 1.14
 	tests/lib/libpthread/weak/test/t_pthread_weak_nothread.c: revision 1.1
 	distrib/sets/lists/debug/shl.mi: revision 1.373
 	usr.bin/ftp/Makefile: revision 1.44
 	crypto/external/bsd/netpgp/bin/Makefile.inc: revision 1.2
 	distrib/sets/lists/tests/mi: revision 1.1395
 	external/bsd/pam-u2f/bin/pamu2fcfg/Makefile: revision 1.8
 	distrib/sets/lists/tests/mi: revision 1.1396
 	distrib/sets/lists/debug/shl.mi: revision 1.376
 	tests/lib/libpthread/Makefile: revision 1.20
 	tests/lib/libc/hash/Makefile: revision 1.6
 	tests/crypto/libcrypto/dh/Makefile: revision 1.4
 	tests/lib/libpthread/Makefile: revision 1.21
 	tests/lib/libpthread/weak/lib/Makefile: revision 1.1
 	tests/lib/libpthread/weak/Makefile.inc: revision 1.1
 	tests/lib/libpthread/Makefile: revision 1.22
 	crypto/external/apache2/openssl/lib/libcrypto/Makefile: revision 1.3
 	external/bsd/libfido2/bin/Makefile.inc: revision 1.5
 	lib/libc/include/reentrant.h: revision 1.24
 	tests/lib/libpthread/weak/lib/h_pthread_weak.h: revision 1.1
 	tests/lib/libpthread/weak/lib/h_pthread_weak.c: revision 1.1
 	share/mk/bsd.prog.mk: revision 1.357
 	tests/crypto/libcrypto/Makefile.inc: revision 1.14
 	lib/libpthread/shlib_version: revision 1.21
 	external/bsd/wpa/bin/hostapd/Makefile: revision 1.21
 	external/bsd/ntp/Makefile.inc: revision 1.26
 	crypto/external/bsd/heimdal/bin/hxtool/Makefile: revision 1.8
 	external/bsd/wpa/bin/wpa_supplicant/Makefile: revision 1.14
 	distrib/sets/lists/debug/mi: revision 1.487
 	crypto/external/apache2/openssl/bin/Makefile: revision 1.2
 	lib/libc/thread-stub/thread-stub.c: revision 1.34
 	tests/usr.bin/cc/t_pthread_abuse.sh: revision 1.1
 	tests/lib/libpthread/weak/test/t_pthread_weak_threaded.c: file removal
 	crypto/external/bsd/openssh/bin/Makefile.inc: revision 1.8
 
 libpthread: Test pthread_create link errors without -(l)pthread.
 
 Prompted by:
 PR lib/59685: libcrypto should not depend on libpthread
 
 libc: Expose some more pthread stubs.
 
 Additionally, provide the option for pthread.h to expose
 pthread_create so that libc can provide a weak stub for it, if you
 define _NETBSD_PTHREAD_CREATE_WEAK.
 
 This allows libraries to use the functions without linking against
 libpthread for applications that don't need threads.  For example,
 with OpenSSL's libcrypto, as long as you don't try to raise
 OSSL_set_max_threads above 0, it won't ever try pthread_create.
 
 New pthread.h macros defined:
 pthread_attr_destroy            __libc_thr_attr_destroy
 pthread_attr_init               __libc_thr_attr_init
 pthread_attr_setdetachstate     __libc_thr_attr_setdetachstate
 pthread_detach                  __libc_thr_detach
 pthread_join                    __libc_thr_join
 
 New pthread.h macros defined if _NETBSD_PTHREAD_CREATE_WEAK is
 defined first:
 pthread_create                  __libc_thr_create
 
 New symbols defined by libc as weak aliases for stubs that always
 fail but can be overridden by libpthread:
 __libc_thr_attr_destroy
 __libc_thr_attr_init
 __libc_thr_attr_setdetachstate
 __libc_thr_detach
 __libc_thr_join
 Note that libc already defined __libc_thr_create.
 
 New internal stubs, not for overriding:
 __libc_thr_detach_stub
 __libc_thr_join_stub
 These were formerly called __libc_pthread_detach and
 __libc_pthread_join, respectively, and libc has defined weak aliases
 pthread_detach and pthread_join for them since 2013.  I retained all
 four of those symbols, but defined new ones in the __ namespace that
 match the pattern for other thread stubs to avoid raising questions
 about why the pattern seems to be broken.  I left a comment noting
 this fact too.
 
 New pthread strong aliases to override the libc symbols:
 __libc_thr_attr_destroy
 __libc_thr_attr_init
 __libc_thr_attr_setdetachstate
 __libc_thr_detach
 __libc_thr_join
 Note that pthread already defined a strong __libc_thr_create alias
 for the real pthread_create, so there is no need to add a new one.
 PR lib/59685: libcrypto should not depend on libpthread
 
 libpthread: Test pthread stubs in threaded vs non-threaded programs.
 PR lib/59685: libcrypto should not depend on libpthread
 
 libpthread: append to SUBDIR instead of overwrite it
 Noticed and from &lt;riastradh&gt;, thanks!
 PR lib/59685: libcrypto should not depend on libpthread
 
 tests/lib/libpthread: Fix tests in subdirectory.
 Need to use TESTS_SUBDIRS for this, not SUBDIR.  Avoid the extra
 nesting level while here; can make the library be a subdirectory of
 the directory where the tests live.
 PR lib/59685: libcrypto should not depend on libpthread
 
 openssl: Stop dragging libpthread into every libcrypto user.
 
 With the new _NETBSD_PTHREAD_CREATE_WEAK, libcrypto can have a call
 to pthread_create without linking against libpthread, so it is not
 necessary to link all libcrypto users against libpthread too.
 
 Applications that link against libcrypto but not libpthread can't use
 threaded OpenSSL functionality, of course -- OSSL_set_max_threads
 will always fail in such applications.
 
 This reverts all the makefile churn that I found for unnecessary
 libpthread linkage since the openssl 3.5 import.
 PR lib/59685: libcrypto should not depend on libpthread
 
 libc, libpthread: Bump for pthread stub additions.
 
 New symbols were added a couple weeks ago but I forgot to bump the
 shlib minors.
 PR lib/59685: libcrypto should not depend on libpthread
 
 
 To generate a diff of this commit:
 cvs rdiff -u -r1.1 -r1.1.2.1 src/crypto/external/apache2/openssl/bin/Makefile
 cvs rdiff -u -r1.1.1.1 -r1.1.1.1.2.1 \
     src/crypto/external/apache2/openssl/dist/crypto/thread/api.c
 cvs rdiff -u -r1.1.2.1 -r1.1.2.2 \
     src/crypto/external/apache2/openssl/lib/libcrypto/Makefile
 cvs rdiff -u -r1.1 -r1.1.2.1 \
     src/crypto/external/apache2/openssl/lib/libcrypto/thread.inc
 cvs rdiff -u -r1.1 -r1.1.2.1 \
     src/crypto/external/apache2/openssl/lib/libssl/thread.inc
 cvs rdiff -u -r1.13 -r1.13.2.1 src/crypto/external/bsd/heimdal/Makefile.inc
 cvs rdiff -u -r1.7 -r1.7.2.1 \
     src/crypto/external/bsd/heimdal/bin/hxtool/Makefile
 cvs rdiff -u -r1.1 -r1.1.2.1 src/crypto/external/bsd/netpgp/bin/Makefile.inc
 cvs rdiff -u -r1.7 -r1.7.2.1 src/crypto/external/bsd/openssh/bin/Makefile.inc
 cvs rdiff -u -r1.1008 -r1.1008.2.1 src/distrib/sets/lists/base/shl.mi
 cvs rdiff -u -r1.485.2.1 -r1.485.2.2 src/distrib/sets/lists/debug/mi
 cvs rdiff -u -r1.367.2.1 -r1.367.2.2 src/distrib/sets/lists/debug/shl.mi
 cvs rdiff -u -r1.1387.2.1 -r1.1387.2.2 src/distrib/sets/lists/tests/mi
 cvs rdiff -u -r1.16 -r1.16.4.1 src/distrib/sets/lists/tests/shl.mi
 cvs rdiff -u -r1.210 -r1.210.2.1 src/etc/mtree/NetBSD.dist.tests
 cvs rdiff -u -r1.4 -r1.4.2.1 src/external/bsd/libfido2/bin/Makefile.inc
 cvs rdiff -u -r1.10 -r1.10.2.1 src/external/bsd/nsd/Makefile.inc
 cvs rdiff -u -r1.25 -r1.25.2.1 src/external/bsd/ntp/Makefile.inc
 cvs rdiff -u -r1.7 -r1.7.2.1 src/external/bsd/pam-u2f/bin/pamu2fcfg/Makefile
 cvs rdiff -u -r1.28 -r1.28.2.1 src/external/bsd/tcpdump/bin/Makefile
 cvs rdiff -u -r1.20 -r1.20.2.1 src/external/bsd/wpa/bin/hostapd/Makefile
 cvs rdiff -u -r1.7 -r1.7.2.1 src/external/bsd/wpa/bin/wpa_passphrase/Makefile
 cvs rdiff -u -r1.13 -r1.13.2.1 \
     src/external/bsd/wpa/bin/wpa_supplicant/Makefile
 cvs rdiff -u -r1.16 -r1.16.2.1 src/games/factor/Makefile
 cvs rdiff -u -r1.298 -r1.298.2.1 src/lib/libc/shlib_version
 cvs rdiff -u -r1.23 -r1.23.2.1 src/lib/libc/include/reentrant.h
 cvs rdiff -u -r1.33 -r1.33.2.1 src/lib/libc/thread-stub/thread-stub.c
 cvs rdiff -u -r1.187 -r1.187.2.1 src/lib/libpthread/pthread.c
 cvs rdiff -u -r1.41 -r1.41.18.1 src/lib/libpthread/pthread.h
 cvs rdiff -u -r1.21 -r1.21.6.1 src/lib/libpthread/pthread_attr.c
 cvs rdiff -u -r1.2 -r1.2.2.1 src/lib/libpthread/pthread_mi.expsym
 cvs rdiff -u -r1.20 -r1.20.2.1 src/lib/libpthread/shlib_version
 cvs rdiff -u -r1.36 -r1.36.2.1 src/libexec/httpd/Makefile
 cvs rdiff -u -r1.356 -r1.356.2.1 src/share/mk/bsd.prog.mk
 cvs rdiff -u -r1.17 -r1.17.2.1 src/tests/crypto/libcrypto/Makefile
 cvs rdiff -u -r1.13 -r1.13.2.1 src/tests/crypto/libcrypto/Makefile.inc
 cvs rdiff -u -r1.3 -r1.3.2.1 src/tests/crypto/libcrypto/dh/Makefile
 cvs rdiff -u -r1.5 -r1.5.2.1 src/tests/lib/libc/hash/Makefile
 cvs rdiff -u -r1.19 -r1.19.2.1 src/tests/lib/libpthread/Makefile
 cvs rdiff -u -r0 -r1.2.2.2 src/tests/lib/libpthread/weak/Makefile
 cvs rdiff -u -r0 -r1.1.2.2 src/tests/lib/libpthread/weak/Makefile.inc \
     src/tests/lib/libpthread/weak/t_pthread_weak_nothread.c \
     src/tests/lib/libpthread/weak/t_pthread_weak_threaded.c
 cvs rdiff -u -r0 -r1.1.2.2 src/tests/lib/libpthread/weak/lib/Makefile \
     src/tests/lib/libpthread/weak/lib/h_pthread_weak.c \
     src/tests/lib/libpthread/weak/lib/h_pthread_weak.h
 cvs rdiff -u -r1.9 -r1.9.2.1 src/tests/usr.bin/cc/Makefile
 cvs rdiff -u -r0 -r1.1.2.2 src/tests/usr.bin/cc/t_pthread_abuse.sh
 cvs rdiff -u -r1.5 -r1.5.2.1 src/usr.bin/dc/Makefile
 cvs rdiff -u -r1.41 -r1.41.2.1 src/usr.bin/ftp/Makefile
 cvs rdiff -u -r1.3 -r1.3.2.1 src/usr.bin/moduli/Makefile.inc
 cvs rdiff -u -r1.4 -r1.4.2.1 src/usr.bin/nbsvtool/Makefile
 cvs rdiff -u -r1.7 -r1.7.2.1 src/usr.sbin/plainrsa-gen/Makefile
 cvs rdiff -u -r1.34 -r1.34.2.1 src/usr.sbin/syslogd/Makefile
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.
 


Home | Main Index | Thread Index | Old Index