Home | History | Annotate | Download | only in cc
History log of /src/tests/usr.bin/cc/Makefile
RevisionDateAuthorComments
 1.11  27-Jan-2026  mrg add a test to confirm that __builtin_cabsl() is renamed to __c99_cabsl().

should pass on all netbsd platforms (GCC 12 or 14) since:
https://mail-index.netbsd.org/source-changes/2026/01/19/msg160286.html
 1.10  06-Oct-2025  riastradh libpthread: Test pthread_create link errors without -(l)pthread.

Prompted by:

PR lib/59685: libcrypto should not depend on libpthread
 1.9  18-Dec-2024  riastradh branches: 1.9.2;
tests/usr.bin/cc: Add test for ctype(3) detection.

PR lib/58912: ctype(3) abuse detection fails for variable references
 1.8  18-Aug-2019  kamil branches: 1.8.10;
Add ATF c and c++ tests for TSan, MSan, libFuzzer

These tests require Clang/LLVM 7 or newer on NetBSD.

Contributed by Yang Zheng during GSoC 2018.
 1.7  09-Feb-2019  mrg branches: 1.7.2;
add very simple test that you can link -fopenmp.

currently fails, but should work soon...
 1.6  29-Jan-2019  mgorny Move common UBSAN test case code into ubsan_common.subr

Reviewed by <kamil>
 1.5  29-Jan-2019  mgorny Move common ASAN test case code into asan_common.subr

Reviewed by <kamil>
 1.4  02-May-2018  kamil branches: 1.4.2;
Add new ATF Undefined Behavior Sanitizer tests

Add new cc and c++ tests to check whether UBSan works.
These tests are prepared for GCC (in base) and Clang (with external patches).

Enable these tests for all ports by default, just verify whether we are
using GCC/Clang or a compatible compiler.

Add five equivalent C and C++ tests:
- Integer addition overflow
- Integer divide by zero
- Integer negation overflow
- Integer subtraction overflow
- VLA out of bounds

All tests pass on NetBSD/amd64.

Patch submitted by <Harry Pantazis>
Minor cleanup by <myself>
 1.3  11-Apr-2018  kamil Import new C and C++ ATF tests for ASan

Add new tests:
- tests/usr.bin/cc/t_asan_poison.sh
- tests/usr.bin/c++/t_asan_poison.sh

These tests verify the following build options:
- regular
- profile
- pic
- pie
- compat32
- (static unsupported)

These tests verify whether ASan code can include compiler and sanitizer
specific header: <sanitizer/asan_interface.h>. The testing code checks
the ASAN_POISON_MEMORY_REGION() functionality, poisoning valid memory and
asserting that it triggers expected failure.

Patch submitted by <Siddharth Muralee>
 1.2  04-Apr-2018  kamil Add new ATF tests for Address Sanitzier (ASan)

Add new C and C++ tests:
- t_asan_double_free
- t_asan_global_buffer_overflow
- t_asan_heap_overflow
- t_asan_off_by_one
- t_asan_uaf

Each tests checks:
- regular build
- 32-bit
- PIC
- PIE
- profile

These tests require paxctl(8) to disable ASLR in order to work in a
predictable way. This is especially true for all !regular builds with
additional compiler flags.

There are no static variations of these tests as this mode is not supported
in upstream ASan.

Enable these tests on amd64 and i386.

Patch submitted by <Siddharth Muralee>
Additional polishing by myself.
 1.1  17-Mar-2012  jruoho branches: 1.1.2; 1.1.32;
Deprecate tests/toolchain.
 1.1.32.3  21-May-2018  pgoyette Sync with HEAD
 1.1.32.2  16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.32.1  07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.2.2  17-Apr-2012  yamt sync with head
 1.1.2.1  17-Mar-2012  yamt file Makefile was added on branch yamt-pagecache on 2012-04-17 00:09:17 +0000
 1.4.2.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4.2.1  10-Jun-2019  christos Sync with HEAD
 1.7.2.1  29-Aug-2019  martin Pull up following revision(s) (requested by kamil in ticket #120):

tests/usr.bin/cc/t_msan_poison.sh: revision 1.1
tests/usr.bin/cc/t_msan_allocated_memory.sh: revision 1.2
tests/usr.bin/cc/t_msan_poison.sh: revision 1.2
tests/usr.bin/c++/t_fuzzer_oom.sh: revision 1.1
tests/usr.bin/cc/t_tsan_signal_errno.sh: revision 1.1
tests/usr.bin/c++/t_fuzzer_simple.sh: revision 1.1
tests/usr.bin/c++/t_fuzzer_oom.sh: revision 1.2
tests/usr.bin/cc/t_tsan_signal_errno.sh: revision 1.2
tests/usr.bin/cc/t_tsan_heap_use_after_free.sh: revision 1.1
tests/usr.bin/c++/t_fuzzer_simple.sh: revision 1.2
tests/usr.bin/cc/t_tsan_heap_use_after_free.sh: revision 1.2
tests/usr.bin/c++/t_tsan_thread_leak.sh: revision 1.1
tests/usr.bin/c++/t_tsan_thread_leak.sh: revision 1.2
tests/usr.bin/cc/t_fuzzer_oom.sh: revision 1.1
distrib/sets/lists/tests/mi: revision 1.819
tests/usr.bin/cc/t_fuzzer_oom.sh: revision 1.2
tests/usr.bin/cc/t_fuzzer_timeout.sh: revision 1.1
tests/usr.bin/cc/t_msan_unpoison.sh: revision 1.1
tests/usr.bin/cc/t_fuzzer_timeout.sh: revision 1.2
tests/usr.bin/cc/t_msan_unpoison.sh: revision 1.2
tests/usr.bin/c++/t_msan_heap.sh: revision 1.1
tests/usr.bin/cc/t_tsan_locked_mutex_destroy.sh: revision 1.1
tests/usr.bin/c++/t_msan_heap.sh: revision 1.2
tests/usr.bin/cc/t_tsan_locked_mutex_destroy.sh: revision 1.2
tests/usr.bin/cc/Makefile: revision 1.8
tests/usr.bin/c++/t_msan_free.sh: revision 1.1
tests/usr.bin/c++/t_msan_unpoison.sh: revision 1.1
tests/usr.bin/c++/t_msan_free.sh: revision 1.2
tests/usr.bin/c++/t_msan_unpoison.sh: revision 1.2
tests/usr.bin/c++/t_tsan_heap_use_after_free.sh: revision 1.1
tests/usr.bin/cc/t_tsan_lock_order_inversion.sh: revision 1.1
tests/usr.bin/c++/t_tsan_heap_use_after_free.sh: revision 1.2
tests/usr.bin/c++/t_msan_poison.sh: revision 1.1
tests/usr.bin/c++/t_msan_partial_poison.sh: revision 1.1
tests/usr.bin/cc/t_tsan_lock_order_inversion.sh: revision 1.2
tests/usr.bin/c++/t_msan_poison.sh: revision 1.2
tests/usr.bin/c++/t_msan_partial_poison.sh: revision 1.2
tests/usr.bin/c++/t_msan_realloc.sh: revision 1.1
tests/usr.bin/cc/t_msan_shadow.sh: revision 1.1
tests/usr.bin/cc/t_msan_partial_poison.sh: revision 1.1
tests/usr.bin/c++/t_msan_realloc.sh: revision 1.2
tests/usr.bin/c++/t_msan_allocated_memory.sh: revision 1.1
tests/usr.bin/cc/t_msan_shadow.sh: revision 1.2
tests/usr.bin/cc/t_msan_partial_poison.sh: revision 1.2
tests/usr.bin/c++/t_msan_allocated_memory.sh: revision 1.2
tests/usr.bin/cc/t_msan_free.sh: revision 1.1
tests/usr.bin/cc/t_msan_free.sh: revision 1.2
tests/usr.bin/c++/t_tsan_locked_mutex_destroy.sh: revision 1.1
tests/usr.bin/c++/t_fuzzer_timeout.sh: revision 1.1
tests/usr.bin/cc/t_msan_heap.sh: revision 1.1
tests/usr.bin/c++/t_tsan_locked_mutex_destroy.sh: revision 1.2
tests/usr.bin/c++/t_fuzzer_timeout.sh: revision 1.2
tests/usr.bin/cc/t_tsan_thread_leak.sh: revision 1.1
tests/usr.bin/cc/t_msan_heap.sh: revision 1.2
tests/usr.bin/cc/t_tsan_thread_leak.sh: revision 1.2
tests/usr.bin/cc/t_tsan_data_race.sh: revision 1.1
tests/usr.bin/cc/t_tsan_data_race.sh: revision 1.2
tests/usr.bin/c++/t_tsan_lock_order_inversion.sh: revision 1.1
tests/usr.bin/c++/t_tsan_signal_errno.sh: revision 1.1
tests/usr.bin/c++/t_tsan_lock_order_inversion.sh: revision 1.2
tests/usr.bin/c++/Makefile: revision 1.12
tests/usr.bin/c++/t_tsan_signal_errno.sh: revision 1.2
tests/usr.bin/cc/t_msan_check_mem.sh: revision 1.1
tests/usr.bin/cc/t_msan_check_mem.sh: revision 1.2
tests/usr.bin/cc/t_msan_realloc.sh: revision 1.1
tests/usr.bin/c++/t_tsan_vptr_race.sh: revision 1.1
tests/usr.bin/cc/t_msan_realloc.sh: revision 1.2
tests/usr.bin/c++/t_tsan_vptr_race.sh: revision 1.2
tests/usr.bin/c++/t_msan_shadow.sh: revision 1.1
tests/usr.bin/c++/t_msan_shadow.sh: revision 1.2
tests/usr.bin/c++/t_msan_stack.sh: revision 1.1
tests/usr.bin/c++/t_tsan_data_race.sh: revision 1.1
tests/usr.bin/c++/t_msan_stack.sh: revision 1.2
tests/usr.bin/cc/t_fuzzer_simple.sh: revision 1.1
tests/usr.bin/c++/t_tsan_data_race.sh: revision 1.2
tests/usr.bin/cc/t_fuzzer_simple.sh: revision 1.2
tests/usr.bin/c++/t_msan_check_mem.sh: revision 1.1
tests/usr.bin/cc/t_msan_stack.sh: revision 1.1
tests/usr.bin/c++/t_msan_check_mem.sh: revision 1.2
tests/usr.bin/cc/t_msan_stack.sh: revision 1.2
tests/usr.bin/cc/t_msan_allocated_memory.sh: revision 1.1

Add ATF c and c++ tests for TSan, MSan, libFuzzer

These tests require Clang/LLVM 7 or newer on NetBSD.

Contributed by Yang Zheng during GSoC 2018.

-

Define target_not_supported_body() in TSan, MSan and libFuzzer tests
 1.8.10.1  02-Aug-2025  perseant Sync with HEAD
 1.9.2.2  02-Feb-2026  martin Pull up following revision(s) (requested by mrg in ticket #181):

distrib/sets/lists/tests/mi: revision 1.1407
tests/usr.bin/cc/Makefile: revision 1.11
tests/usr.bin/cc/t_libm_cabs.sh: revision 1.1

add a test to confirm that __builtin_cabsl() is renamed to __c99_cabsl().
 1.9.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 &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

RSS XML Feed