| History log of /src/usr.bin/dc/Makefile |
| Revision | | Date | Author | Comments |
| 1.7 |
| 19-Oct-2025 |
riastradh | 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
|
| 1.6 |
| 18-Sep-2025 |
mrg | introduce a couple of new turn-off-gcc-warning variables and use them.
GCC 14 has a new annoying calloc() checker that we turn off in a bunch of places, and there are a few more dangling-pointer issuse that come up, but seem bogus.
|
| 1.5 |
| 19-Jul-2025 |
christos | branches: 1.5.2; crypto needs threads
|
| 1.4 |
| 11-Jun-2018 |
kamil | branches: 1.4.14; Restore the MKGROFF=bo MKCXX=yes build
Mark the documentation in dc(1), gprof(1), rogue(6) and fsck_ffs(8) with the .roff flag in SUBDIR.
Sponsored by <The NetBSD Foundation>
|
| 1.3 |
| 21-May-2017 |
riastradh | branches: 1.3.8; Remove MKCRYPTO option.
Originally, MKCRYPTO was introduced because the United States classified cryptography as a munition and restricted its export. The export controls were substantially relaxed fifteen years ago, and are essentially irrelevant for software with published source code.
In the intervening time, nobody bothered to remove the option after its motivation -- the US export restriction -- was eliminated. I'm not aware of any other operating system that has a similar option; I expect it is mainly out of apathy for churn that we still have it. Today, cryptography is an essential part of modern computing -- you can't use the internet responsibly without cryptography.
The position of the TNF board of directors is that TNF makes no representation that MKCRYPTO=no satisfies any country's cryptography regulations.
My personal position is that the availability of cryptography is a basic human right; that any local laws restricting it to a privileged few are fundamentally immoral; and that it is wrong for developers to spend effort crippling cryptography to work around such laws.
As proposed on tech-crypto, tech-security, and tech-userlevel to no objections:
https://mail-index.netbsd.org/tech-crypto/2017/05/06/msg000719.html https://mail-index.netbsd.org/tech-security/2017/05/06/msg000928.html https://mail-index.netbsd.org/tech-userlevel/2017/05/06/msg010547.html
P.S. Reviewing all the uses of MKCRYPTO in src revealed a lot of *bad* crypto that was conditional on it, e.g. DES in telnet... That should probably be removed too, but on the grounds that it is bad, not on the grounds that it is (nominally) crypto.
|
| 1.2 |
| 10-Apr-2017 |
christos | branches: 1.2.2; 1.2.4; build fixes.
|
| 1.1 |
| 10-Apr-2017 |
christos | branches: 1.1.1; Initial revision
|
| 1.1.1.1 |
| 10-Apr-2017 |
christos | Import OpenBSD's dc.
|
| 1.2.4.2 |
| 26-Apr-2017 |
pgoyette | Sync with HEAD
|
| 1.2.4.1 |
| 10-Apr-2017 |
pgoyette | file Makefile was added on branch pgoyette-localcount on 2017-04-26 02:53:34 +0000
|
| 1.2.2.2 |
| 10-Apr-2017 |
christos | 758515
|
| 1.2.2.1 |
| 10-Apr-2017 |
christos | file Makefile was added on branch bouyer-socketcan on 2017-04-10 16:37:49 +0000
|
| 1.3.8.1 |
| 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.4.14.1 |
| 02-Aug-2025 |
perseant | Sync with HEAD
|
| 1.5.2.1 |
| 20-Nov-2025 |
martin | 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 <riastradh>, 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
|