History log of /src/distrib/sets/lists/debug/mi
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.492 06-Dec-2025 skrll

Add a testcase for PR/59652.


# 1.491 23-Nov-2025 riastradh

ld.elf_so(1): Test concurrent dlopen/dlclose.

PR lib/59751: dlclose is not MT-safe depending on the libraries
unloaded


# 1.490 21-Oct-2025 pgoyette

Add .debug versions of new tests


# 1.489 13-Oct-2025 kre

add entries for new tests/fs/lfs/t_{basic,orphan}


# 1.488 10-Oct-2025 christos

Commit GSoC 2025 aio project by Ethan Miller:
https://blog.netbsd.org/tnf/entry/gsoc2025_asynchronous_i_o_framework


# 1.487 06-Oct-2025 riastradh

libpthread: Test pthread stubs in threaded vs non-threaded programs.

PR lib/59685: libcrypto should not depend on libpthread


# 1.486 15-Sep-2025 riastradh

ctype(3): New environment variable LIBC_ALLOWCTYPEABUSE.

If set, this does not force the ctype(3) functions to crash when
passed invalid inputs -- instead, they will return nonsense results,
and possibly print warnings to stderr, as is their right in
implementing undefined behaviour.

The nature of the nonsense results is unspecified. Currently, is*()
will always return true (even if that leads to mutually contradictory
conclusions, like isalpha and isdigit, or isgraph and isblank), and
tolower/toupper() will always return EOF. But perhaps in the future
the results may be randomized.

This way, if an application like firefox crashes on ctype abuse, you
can opt to accept the consequences of nonsense results instead by
running `env LIBC_ALLOWCTYPEABUSE= firefox' until the application is
fixed.

PR lib/58208: ctype(3) provides poor runtime feedback of abuse


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
# 1.485 17-Jul-2025 kre

branches: 1.485.2;
ATF test additions for O_CLOFORK.

These are Ricardo Branco's ATF test modifications for O_CLOFORK
& SOCK_CLOFORK (with some FD_CLOFORK included).

These have all been made able to be built & run in an environment
where O_CLOFORK (etc) are not yet visible to userland.


# 1.484 25-May-2025 martin

PR 59441: fix some annotations so MKDEBUGLIB=yes but MKDEBUG=no
builds work.


# 1.483 02-May-2025 riastradh

lib/csu: Test a static PIE with RELR relocations.

PR bin/59360: ld.elf_so(8): missing RELR support


# 1.482 02-May-2025 rillig

tests/strpct: demonstrate rounding errors


# 1.481 02-May-2025 riastradh

ld.elf_so: Add a trivial test for R_*_RELATIVE relocations.

PR bin/59360: ld.elf_so(8): missing RELR support


# 1.480 27-Apr-2025 martin

Fix names of new CSU tests


# 1.479 27-Apr-2025 riastradh

lib/csu: Add tests of {static, dynamic} x {pie, non-pie}.

Main goal here is to test static pies, but let's take advantage of
this to test the same code several ways, since the csu logic has some
differences for static vs dynamic builds too like the ordering of
_libc_init calls.

PR lib/59359: static pies are broken


# 1.478 22-Apr-2025 nia

Add basic tests for timespec_get(3), timespec_getres(3)

PR standards/58608


# 1.477 20-Apr-2025 riastradh

Test stack pointer alignment in various scenarios.

1. elf entry point
2. main function
3. signal handler

Extend the test to amd64 while here -- fortunately both aarch64 and
amd64 pass, but others, such as mips, will fail:

PR kern/59327: user stack pointer is not aligned properly

This extends the test that was previously written for:

PR kern/58149: aarch64: Cannot return from a signal handler if SP was
misaligned when the signal arrived

With any luck, this will help us to systematically eradicate misaligned
stack pointers as hypothesized to be the reason for:

PR port-mips/59236: Multiple segfaults in erlite3 boot


# 1.476 16-Apr-2025 riastradh

t_rtld_r_debug: Test this as a non-PIE executable too.

On MIPS, non-PIEs can use DT_MIPS_RLD_MAP or DT_MIPS_RLD_MAP_REL,
while PIEs can't use DT_MIPS_RLD_MAP because it relies on an absolute
virtual address baked into the file. So it's important to test both.

PR port-mips/59296: t_rtld_r_debug test is failing


# 1.475 10-Apr-2025 pgoyette

Fix sets-list for MKDEBUG build


# 1.474 09-Apr-2025 christos

updates for new OpenSSH


# 1.473 05-Apr-2025 riastradh

t_compat_cancel: Update set lists.

PR lib/59240: POSIX.1-2024: cancellation point audit
PR lib/59247: pthread_cancelstub.c is inadequately tested


# 1.472 01-Apr-2025 riastradh

stddef.h: New nullptr_t, unreachable().

Define __STDC_VERSION_STDDEF_H__ while here.

Order content according to standard, and quote the relevant clauses,
to make it easier to audit.

PR standards/58605: C23: __STDC_*_H__ versions
PR standards/58620: C23: <stddef.h> unreachable() macro
PR standards/58621: C23: <stddef.h> nullptr_t


# 1.471 31-Mar-2025 riastradh

pthread_cancel(3): Add some automatic tests.

PR lib/59240: POSIX.1-2024: cancellation point audit
PR lib/59134: POSIX-1.2024: pthread_setcancelstate must be
async-signal-safe


# 1.470 28-Mar-2025 riastradh

t_ctype: New test for ctype(3) functions/macros.

PR lib/58208: ctype(3) provides poor runtime feedback of abuse


# 1.469 13-Mar-2025 riastradh

execve(2), posix_spawn(2): Add test case for an embarrassing bug.

PR kern/58091: after fork/execve or posix_spawn, parent kill(child,
SIGTERM) has race condition making it unreliable


# 1.468 11-Mar-2025 brad

A driver and userland utility for a couple of families of the
Microchip Technology / SMSC fan controller chips.

The driver and utility supports the:

o EMC2101 and EMC2101-R
o EMC2103-1, EMC2102-2 and EMC2103-4
o EMC2104
o EMC2106
o EMC2301
o EMC2302
o EMC2303
o EMC2305

The EMC210X family supports 1 or 2 fans with tachometer. Depending on
the chip, it may support 2 additional fans without tach and might
support a high side attachment (i.e. a fan, usually 5v, driven
directly from the chip and not PWM or DAC). All versions of EMC210X
support internal temperature measurements, and depending on the chip,
may support up to 5 additional temperature zones. The tachometers and
temperature measurements are provided to the system via the envsys(4)
framework. Some chip types support GPIO pins and support is provided
via the gpio(4) framework.

The EMC230X family supports 1, 2, 3 or 5 fans with the same number of
tachometers. No temperature zone or GPIO support. The tachometers
are provided to the system via the envsys(4) framework. The fan
support can be provided by PWM signaling or DAC.

The two chip families mostly do PWM signaling for the fan speed, but a
number of them support DAC output, a 0 to 3v or so voltage. When the
chip supports external temperature zones, this is done usually by a
bipolar NPN or PNP transister configured as a diode, but some of the
chip varients support thermistors.

The emcfan(4) kernel driver provides a simple read / write / seek
device in /dev/ to the register set in the chip. The heavy lifting is
done in the userland utility emcfanctl(8) which provides the ability
to read and write to any valid register and provides some basic higher
level commands to control fan behavior. The output is simple text
lines, or JSON.

The kernel driver does not reset or other mess with the chip, aside
from reading registers. It is entirely possible that something else
in any particular system is the major manager of the fan controller
and it would not do for the kernel driver to mess too much with the
attached device. All interactions are intentional via the userland
utility.

It is known that a EMC2301 is present on the Raspberry PI 4 Compute IO
module (not to be confused with the Raspberry PI 4 Compute module
itself) and there is a breakout board from Adafruit with a EMC2101 on
it. The chips themselves are pretty inexpensive from Mouser or
Digi-key and can be soldered using the simpler SMD soldering
techniques. A number of the variants are QFN packages, but the pads
are exposed to the side of the chip. No other external components are
required to use these fan controllers.


# 1.467 02-Mar-2025 riastradh

libc: New _r variants of heapsort, mergesort, qsort.

Also kheapsort_r for kernel/standalone use.

These variants allow the caller to pass a cookie through to the
comparison function, e.g. if you want to sort an array of indices
into a buffer.

qsort_r is new in POSIX.1-2024; the others are obvious analogues of
our nonstandard extensions for heapsort and mergesort.

PR lib/58931: qsort_r() missing


# 1.466 27-Feb-2025 riastradh

Test whether exec/spawn will zero registers.

Currently implemented only for a handful of architectures; should
extend this to all the others, and extend as appropriate if we find
more register content is worth testing (like maybe vector registers,
but they are managed differently anyway and less likely to leak).

VAX test contributed (and tested) by Kalvis Duckmanton, with some
tweaks by me; the others written and tested by me. IA64 skipped,
even though I suspect it _would_ leak if the kernel code ran as is,
because I have no way to test it.

PR kern/59084: exec/spawn leaks register content


# 1.465 24-Feb-2025 martin

Provide a new attribute, efi_rt, derived from HAVE_EFI_RT, and use
that to mark sbin/efi.


# 1.464 24-Feb-2025 christos

new efi program


# 1.463 27-Jan-2025 christos

Add getnameinfo files


# 1.462 26-Jan-2025 kre

Correct a minor typo. s/sandboc/sandbox/


# 1.461 26-Jan-2025 christos

sets changes for new bind-9.


# 1.460 23-Jan-2025 christos

add new test


# 1.459 02-Jan-2025 kre

Fix build after recent regex tests addition (make it be an addition, and
don't forget tests/libtre)


# 1.458 01-Jan-2025 christos

new regex test.


# 1.457 22-Dec-2024 riastradh

t_time_arith: New test for timer calculations.

This will facilitate fixing various problems in the arithmetic to
determine, given an itimer's scheduled time (it_value) and periodic
interval (it_interval) along with the current time of actual expiry
(now), what time the itimer should be rescheduled for (next, new
value of it_timer) on the same clock.

Later we can also put tests for other functions like tvtohz here, and
make them test many different values of hz/tick.

XXX Not 100% sure about all of these cases -- there is some room for
reasonable discussion about what the right answer is. But we have
unquestionably implemented the wrong thing for many of these cases,
even if the answers this test checks for may not be quite right yet.

PR kern/58922: itimer(9): arithmetic overflow
PR kern/58925: itimer(9) responds erratically to clock wound back
PR kern/58926: itimer(9) integer overflow in overrun counting
PR kern/58927: itimer(9): overrun accounting is broken


# 1.456 17-Dec-2024 christos

add a PT_KILL test.


# 1.455 16-Dec-2024 brad

A driver for the MCP-2221 / 2221A multi-io chip. This is a USB to
UART / GPIO / I2C multi-io chip probably based upon a programmed PIC.
The end result is that simple gpio and i2c can exist on any system
that provides a USB port. This is everything from a RPI to a
Virtualbox VM.


o The UART presents itself as a umodem(4) device and pretty much works
as one would expect.

o There are 4 simple GPIO pins with multiple functions that attach to
gpio(4). Support for basic GPIO input and output exists with gpioctl,
the ADC, DAC and clock pulse functions exist as ALT functions. For
the ADC and DAC /dev/ devices are provided such that simple reads and
writes interact with the ADC and DAC. The IRQ function on pin GP1 and
bit banging the GPIO with gpiopps(4) and gpioow(4) are not really
supported. The short answer is that a spin lock is held while trying
to do USB transfers and that isn't allowed.

o There is a simple I2C engine that attaches to iic(4). This mostly
works as expected, except that a READ without STOP is not supported by
the engine which causes problems for some drivers. Most drivers do
not seem to use READ without STOP and seem to work as expected.
Support for changing the I2C speed is not supported, but nothing much
really does that.

o A userland utility called umcpmioctl(8) is provided that allows the
query of the status of the chip and allows for the query of the flash
memory and the setting of some of the flash memory parameters mostly
related to gpio. This utility interacts with a control device in
/dev/. The flash memory contents is copied to the sram on boot up of
the chip and can be used to adjust how the chip sets up the gpio pins,
among other things. Support for setting or entering the chip password
is not provided.

o A number of sysctls are provided to mess with various settings.
These are detailed in the man page.


While not perfect, the chip is reasonable, cheap, and has at least one
vendor making a breakout board. It is also one of the only ones in
this space that has enough documentation to write a driver.

Support for a related chip, the MCP-2210, which provides SPI and GPIO
may exist some day as the programming interface is very simular.


# 1.454 10-Nov-2024 riastradh

tests/kernel/t_cloexec: New tests for close-on-exec.

Verified that the following tests fail on a netbsd-10 kernel:

- clonedev_posixspawn
- dup3_posixspawn
- fcntldupfd_posixspawn

PR kern/58822: close-on-exec is broken for dup3 and opening cloning
devices


# 1.453 02-Nov-2024 christos

make zstd a private library (for now)


# 1.452 30-Oct-2024 christos

Hook zstd to the build and enable it for libarchive and file.


# 1.451 09-Oct-2024 kre

Add a test for clock_nanotime() [ PR kern/58733 ]

Add a t_nanosleep test to the kernel tests, to (to a limited extent)
validate its functionality.

Initially this concentrates on the issue from PR kern/58733
where if a process paused in nanosleep() is stopped, and then
continued, and if it is using TIMER_ABSTIME, the call will
return prematurely, but indicating success.

There are (currently) 4 test cases, to test all 4 possibilities
using CLOCK_MONOTONIC and CLOCK_REALTIME (if someone wants to
add any other clocks that make sense, that should be easy) and
TIMER_ABSTIME and TIMER_RELTIME.

Currently both TIMER_ABSTIME tests fail (the TIMER_RELTIME
tests pass). When the kernel bug is fixed, the ABSTIME
tests should be fixed along with it.

These tests are currently somewhat crude, and I'm not sure
how well they will work on a qemu test system (they work as
expected on bare metal).


# 1.450 03-Oct-2024 christos

new semtimedop(2) GSoC 2024 (Shivraj Jamgade)


# 1.449 19-Sep-2024 gdt

tests: Add test for remquo

This test currently fails, because remquo has bugs. (A bugfix will be
committed soon.) Test vectors derived from results from code by
Charles Karney in GeodesicLib/proj, and manually inspected.


# 1.448 09-Sep-2024 riastradh

math.h: Add math_errhandling, MATH_ERRNO, MATH_ERREXCEPT.

XXX Should maybe put a __math_errhandling in machine/math.h, but only
VAX uses MATH_ERRNO and that's not likely to change any time soon, so
this will serve for now with less churn.

PR standards/56234: missing C99 frobs in <math.h>


# 1.447 02-Sep-2024 ozaki-r

distrib, etc: install shmif_pcapin and its tests


# 1.446 27-Aug-2024 riastradh

arc4random(3): Add automatic tests.

This verifies that:
- arc4random zeroes its state and reseeds itself on fork
- arc4random reseeds itself on entropy consolidation (e.g., VM clone)
- arc4random falls back to global state if it can't allocate local
state because address space limits cause mmap to fail

NOTE: This adds a new libc symbol __arc4random_global, but it's in
the reserved namespace and only used by t_arc4random, so no libc
minor bump.

PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork


# 1.445 18-Aug-2024 rin

sets/lists: Make gdbserver MI by using MKGDBSERVER


# 1.444 15-Aug-2024 riastradh

libc: New functions c8rtomb(3) and mbrtoc8(3).

New in C23, for converting from UTF-8 to locale-dependent multibyte
sequences (c8rtomb) or vice versa (mbrtoc8), along with the new type
char8_t.

Conditional on either:
- _NETBSD_SOURCE
- _ISOC23_SOURCE
- __STDC_VERSION__ >= 202311L

(Riding the libc minor bump from this morning for the UTF-16/UTF-32
versions from C11.)

PR standards/58601: uchar.h C23 compliance: char8_t, mbrtoc8, c8rtomb


# 1.443 15-Aug-2024 riastradh

libc: New C11 functions mbrtoc16, mbrtoc32, c16rtomb, c32rtomb.

The mbrtoc16/32 functions read mulitbyte strings according to the
current locale into UTF-16/32 code unit sequences; the c16/32rtomb
functions write UTF-16/32 code unit sequences into multibyte strings
according to the current locale. The `r' means restartable: they
work incrementally and pick up where they left off.

NOTE: This bumps the libc minor version, since it adds new symbols.

PR lib/52374: <uchar.h> missing


# 1.442 15-Aug-2024 riastradh

uchar.h: New header file for C11 (and C++11) compliance.

Implementation of the new functions mbrtoc16, c16rtomb, mbrtoc32, and
c32rtomb to come later. Updates for C23 to come later.

PR lib/52374: <uchar.h> missing


# 1.441 09-Aug-2024 bad

add tests/kernel/t_umount.c: test case for unmount(2)

demonstrate that failing to umount and async mounted file system causes the
kernel syncer to start flushing dirty buffers for it.

PR kern/58564: async mounts revert to being synced after failed unmount


# 1.440 11-Jul-2024 riastradh

Revert the duplication of compat set lists; do it another way.

1. Restore the compatdir and compatfile tags in base and debug.

=> compatdir marks directories that should have per-ABI compat
subdirectories, like /usr/lib having /usr/lib/o32 and
/usr/lib/64 on mips64.

=> compatfile marks files that have per-ABI versions in the
nearest compatdir, like /usr/lib/o32/libc.so.12.221.

This is the mechanism we use to avoid duplicating every library
that has a compat version in multiple set lists.

2. Teach sets.subr to split the compatdir and compatfile entries out
into separate sets for base and debug.

The mechanism is to internally use:

- a new tag `omitcompat' when processing base and debug, so we
don't generate the per-ABI compat directories or per-ABI compat
files under them;

- a new tag `takecompat=${ABI}' when processing base32/64 and
debug32/64, so we _do_ generate the per-ABI compat directories
for ${ABI}.

=> On, e.g., mips64, base32 uses `takecompat=o32' and base64
uses `takecompat=64'.

=> On, e.g., aarch64, base32 uses
`takecompat=eabi,takecompat=eabihf', and there is no base64.

3. Record in sets.subr the list of `32' and `64' architectures for
each port.

This is maybe not the right place to put it, but it's also not
clear that we want to keep exactly this division -- maybe it would
be more sensible to just have per-ABI , e.g.:

(aarch64) base-eabi, base-eabihf
(amd64) base-i386
(mips64) base-o32, base-64
(mipsn64) base-o32, base-n32

But I'll leave cleaning that up for another day.

4. Adjust some sets. Mostly this commit shouldn't change what file
go in what sets, but, e.g., on mips64, the following move from
base32 to base64 as part of this change, which I think is
appropriate:

- /lib/64
- /libexec/ld.elf_so-64
- /usr/lib/64
- /usr/libdata/debug/lib/64
- /usr/libdata/debug/usr/lib/64
- /usr/libexec/ld.elf_so-64

TBD: Remove ./lib and ./usr/lib from debug/mi; they're already in
base/mi. Maybe move ./usr/libdata/debug to from base/mi to debug/mi.

This reverts most of the set list changes in:

https://mail-index.netbsd.org/source-changes/2024/04/09/msg150763.html

PR misc/58365


# 1.439 09-Jul-2024 christos

Add missing d


# 1.438 08-Jul-2024 christos

bump libssh, add sshd-session


# 1.437 07-Jul-2024 riastradh

t_ifunc: Test with all combinations of {relro, bindnow}.

PR lib/57792


# 1.436 01-Jul-2024 mrg

GCC sanitizers: only build the sanitizers if $MKGCCCMDS != "no".

there's a minor use-case for the configuration of "building sanitizers
for distribution, but not the compiler", but it's pretty uncommon, and
the latest sanitizers don't build at all on m68000 so enhance the
option to not build /usr/bin/gcc (which simply can't modern GCC on a
sun2) to not build the sanitizers either.

(if we were to split these, MKGCCSANITIZER would be good variable.)

update set lists for far too many files, including fixing MKDEBUG for
a couple of builds.


Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
# 1.435 05-May-2024 riastradh

branches: 1.435.2;
tests/lib/libm: Test nextafter/nexttoward and variants.

The tests are fairly trivial but should work without any conditionals
about floating-point formats.


# 1.434 28-Apr-2024 rillig

tests/cd9660: add debug info to the file list


# 1.433 28-Apr-2024 riastradh

libstdc++: Add test for PR lib/58206, sync_with_stdio busted.


# 1.432 23-Apr-2024 martin

Add new test program


# 1.431 09-Apr-2024 nia

Add new sets: base32, debug32, manhtml

- base32 contains (when MKCOMPAT=yes) shared libraries for 32-bit
compatibility, previously included in base

- debug32 contains (when MKCOMPAT=yes) debug symbols and static libraries
containing debug symbols for 32-bit compatiblity, previously included
in debug

- manhtml contains (when MKHTML=yes) the HTML files previously included
in 'man', which are of limited utility without third-party software.

The motivation for this change is to be able to easily exclude sets
from CD-ROM images that go over the size limit without xz compression
(which many NetBSD platforms struggle to extract at acceptable speeds).


# 1.430 15-Mar-2024 riastradh

libcrypto: Add some trivial tests for truncated SHA-512 variants.

These should use more of the test vectors from

https://csrc.nist.gov/Projects/Cryptographic-Algorithm-Validation-Program/Secure-Hashing#Testing

but this will do for now to detect the buffer overrun rake we left
lying around for ourselves.

PR lib/58039


# 1.429 22-Feb-2024 christos

new tool


# 1.428 22-Feb-2024 christos

add new bind tools


# 1.427 21-Feb-2024 christos

changes for new bind.
XXX: removing lint libraries where lint does not work anymore is temporary.


# 1.426 20-Feb-2024 christos

fix debug sets for sun2 (libgcc_s_g.a and libgcc_eh_g.a should be in shl.mi)


# 1.425 19-Feb-2024 riastradh

longjmp(3): Add test for PR lib/57946.


# 1.424 24-Nov-2023 riastradh

pthread: Add tests for pthread user stack allocation.

PR lib/57721

XXX pullup-10
XXX pullup-9
XXX pullup-8


# 1.423 10-Nov-2023 christos

Add test for:
PR/57689: RVP: getcwd() not overridable with -D_FORTIFY_SOURCE


# 1.422 06-Nov-2023 rin

lists/debug/mi: Sprinkle gcc to lib[al]san_g.a to fix clang build


# 1.421 17-Oct-2023 rjs

The t_fdrestart test requires rump.


# 1.420 17-Oct-2023 rjs

The inpcb tests are only built when rump is enabled.


# 1.419 15-Oct-2023 riastradh

t_fdrestart: New test of closing fd with another thread in I/O on it.

Adapted from regress/sys/kern/dislodgefd.

PR kern/57659


# 1.418 20-Aug-2023 riastradh

distrib/sets/lists: compat/linux/h_*.debug is amd64-only for now.


# 1.417 20-Aug-2023 riastradh

distrib/sets/lists: Add .debug files for new compat/linux tests.


# 1.416 08-Aug-2023 rin

lists: Fix build with MKGCCCMDS=no && MKDEBUGLIB=yes


# 1.415 04-Aug-2023 riastradh

t_ubsan, t_ubsanxx: Remove gcc=10, gcc=12 conditionals.

These are built unconditionally. Should help fix the clang build.


# 1.414 04-Aug-2023 mrg

more updates for sets and GCC 12

- renable sanitizer, add new shlib versions, enable tsan for arm64,
including moving some stuff into the per-cpu/arch dir from 'mi'.
- fix mips64, 68k, and ia64
- mark many any-gcc-version things just as "gcc" and remove dups
- mark many gcc=9 only things as obsolete
- mark many gcc=10 only things as obsolete with gcc=12 (more could
be done here.)


# 1.413 03-Aug-2023 rin

Fix lists for HAVE_GCC=12.


# 1.412 03-Aug-2023 nia

mark obsolete, don't remove from setlist


# 1.411 03-Aug-2023 nia

Revert addition of epoll to libc until discussion concludes


# 1.410 01-Aug-2023 mrg

various updates for GCC 12

- bump some shlibs
- add new header files
- add compiler-version header files
- disable sanitizer libraries for gcc12 for now


# 1.409 30-Jul-2023 riastradh

ld.elf_so: Add some known-answer tests for hash functions.

Make sure the testing mechanism detects the traditional overflow bug.


# 1.408 29-Jul-2023 christos

Add tests for t_memfd_create and fix bug found by tests


# 1.407 28-Jul-2023 christos

Add epoll(2) from Theodore Preduta as part of GSoC 2023


# 1.406 05-Jul-2023 riastradh

tests/libexec/ld.elf_so: Fix helper library makefiles.

1. Consolidate logic into a single helper.mk to reduce duplication.
2. Set NO* variables, not MK* variables which are reserved for user.
3. Avoid eager X!= in favour of lazy ${X:sh}.
4. Mark _g.a set list entries obsolete. Never should've been built!

PR misc/57462


# 1.405 21-Jun-2023 pgoyette

Looks like this debug library disappeared with the new heimdal. Mark
it obsolete to fix the MKDEBUGLIB build.


# 1.404 16-Jun-2023 wiz

mark some openssl 1.1 files as obsolete with openssl 3


# 1.403 06-Jun-2023 martin

Fix markup of libh_ MKDEBUGLIB=yes only files


# 1.402 06-Jun-2023 pgoyette

Fix MKDEBUGLIB build by adding these installed files to the debug
set list.

XXX
One could argue that these files are not of any use, so why install
them? I don't have a good argument either way, and this is (for
now) a simple work-around for PR bin/57455 Please feel free to
commit a different fix to avoid installing these files at all.


# 1.401 02-Jun-2023 martin

Add recent ld.elf_so test helpers debug info


# 1.400 31-May-2023 riastradh

ld.elf_so: Fix set lists for MKDEBUG=yes builds with t_tls_extern.

XXX pullup-10


# 1.399 24-May-2023 lukem

obsolete mkstr(1) and xstr(1)

These were only used on PDP-11 for two programs we don't ship,
and have been obsolete since the VAX days.

xstr never worked in the build.sh cross-build environment (22 years), or
parallel make environment (nearly 28 years), didn't work in the orignal 386bsd
import, and has never been needed in NetBSD as we don't have the older BSD
programs (pascal, pre-nvi ex) that needed mkstr/xstr on PDP-11.

PR toolchain/35964


# 1.398 10-May-2023 christos

update the sets for OpenSSL-3.x


# 1.397 21-Apr-2023 gutteridge

Add new test t_open_pr_57260

New test case that reflects the fix in PR kern/57260. The majority of
work for this case itself was by riastradh@, who'd supplied the basis
for it in the ticket, and provided further guidance.


# 1.396 30-Jan-2023 christos

add t_strchrnul


# 1.395 26-Dec-2022 christos

make gnu ctf needed for all new binutils.


Revision tags: netbsd-10-base
# 1.394 30-Nov-2022 ozaki-r

branches: 1.394.2;
tests: build and install t_ip_reass.c


# 1.393 22-Nov-2022 jakllsch

Fix h_lualibm debug set lists.


# 1.392 21-Nov-2022 christos

lua libm API from Phil Rulon


# 1.391 17-Nov-2022 ozaki-r

tests: build and install added test files


# 1.390 04-Nov-2022 ozaki-r

tests: add tests for invalid extra operations on a shutdown socket

The tests cover some error paths that normally happen.


# 1.389 28-Aug-2022 christos

fix sets


# 1.388 27-Aug-2022 christos

Add sincos{,f,l} from FreeBSD


# 1.387 06-Jun-2022 nia

build system: Revert all the recent additions of MK[...] knobs that
allow conditionally disabling the building of certain user space
programs in the 'base' set.

There is not enough consensus that this is the right way and a few
people had strong objections, see source-changes-d@.


# 1.386 31-May-2022 riastradh

libc: Reintroduce getentropy.

This was introduced two years ago when the getrandom/getentropy API
question was still open, and removed because the discussion was
ongoing. Now getentropy is more widely adopted and soon to be in
POSIX. So reintroduce the symbol into libc since we'll be keeping it
anyway. Discussion of details of the semantics, as interpreted by
NetBSD, is ongoing, but the symbol needs to get in before the
netbsd-10 branch. The draft POSIX text is
(https://www.opengroup.org/austin/docs/austin_1110.pdf):

SYNOPSIS
#include <unistd.h>

int getentropy(void *buffer, size_t length);

DESCRIPTION
The getentropy() function shall write length bytes of data
starting at the location pointed to by buffer. The output
shall be unpredictable high quality random data, generated by
a cryptographically secure pseudo-random number
generator. The maximum permitted value for the length
argument is given by the {GETENTROPY_MAX} symbolic constant
defined in <limits.h>.

RETURN VALUES
Upon successful completion, getentropy() shall return 0;
otherwise, -1 shall be retunred and errno set to indicate the
error.

ERRORS
The getentropy() function shall fail if:

[EINVAL] The value of length is greater than
{GETENTROPY_MAX}.

The getentropy() function may fail if:

[ENOSYS] The system does not provide the necessary
source of entropy.

RATIONALE
The getentropy() function is not a cancellation point.

Minor changes from the previous introduction of getentropy into libc:

- Return EINVAL, not EIO, on buflen > 256.
- Define GETENTROPY_MAX in limits.h.

The declaration of getentropy in unistd.h and definition of
GETENTROPY_MAX in limits.h are currently conditional on
_NETBSD_SOURCE. When the next revision of POSIX is finalized, we can
expose them also under _POSIX_C_SOURCE > 20yymmL as usual -- and this
can be done as a pullup without breaking existing compiled programs.


# 1.385 29-May-2022 nia

mk: Add MKTIMED and MKMOUSED flags for compiling NetBSD without timed
and moused


# 1.384 29-May-2022 nia

mk: Add a MKPPP flag to exclude pppd(8) and related utilities from
the build


# 1.383 28-May-2022 nia

mk: Add MKFINGER, MKTALK flags for not building
talk, talkd, finger, fingerd.


# 1.382 28-May-2022 nia

mk: Add MKNTP, MKTCPDUMP knobs.


# 1.381 27-May-2022 nia

mk: Add a MKLFS flag for excluding the log-structured filesystem userspace
tools from the build.


# 1.380 25-May-2022 nia

mk: Rename the MKMBONE option to MKMROUTING for greater accuracy and
to match the related kernel config option.


# 1.379 25-May-2022 nia

mk: Allow setting MKDHCPD=no to build base without the ISC DHCP server,
useful for embedded images that don't need to act as one.


# 1.378 25-May-2022 nia

debug pieces should also be installed conditionally based on MKMBONE


# 1.377 29-Apr-2022 pgoyette

Add a new test for PR kern/56713 and set to expected_failure for now.


# 1.376 08-Apr-2022 riastradh

membar_ops(3): Add some automatic tests.

These tests run two threads for five seconds each to try to trigger
races in the event of broken memory barriers. They run only on
machines with at least two CPUs; on uniprocessor systems there's no
point -- the membars can correctly just be (instruction barrier)
no-ops.


# 1.375 06-Apr-2022 reinoud

Add fsck_udf to the debug sets


# 1.374 28-Mar-2022 christos

Add t_link


# 1.373 24-Feb-2022 mrg

enable blkdiscard(8) build.


# 1.372 23-Jan-2022 christos

PR/56657: Juraj Hercek: Add plainrsa-gen utility mentioned in racoon.conf(5)
and fix it for OpenSSL 1.1


# 1.371 31-Dec-2021 christos

change CONFIG to @CONFIG@ to indicate substitution is going to happen.


# 1.370 29-Dec-2021 christos

Enable split-debug files for kernels. Enabled by default with MKDEBUG=yes.


# 1.369 07-Dec-2021 brad

A driver and user land utility for the Sparkfun Serial Controlled Motor
Driver module as illustrated here:

https://www.sparkfun.com/products/13911

A SCMD module is a ARM SOC simular to a Arduino in front of a motor
driver chip. The single SCMD module can control two motors and up to
16 additional modules can be chained together using an internal I2C
bus. One can interface with the SCMD using tty uart commands, SPI or
I2C. The driver in this commit adds a kernel driver for the I2C and
SPI interfaces. The command line utility provides a set of
convenience commands that support most of the functions of the SCMD
and is able to use the tty uart mode, SPI user land or the included
kernel driver in a uniform manor.

The use of the SCMD module is mostly for small robots and the like,
but it can control anything that is controllable by voltage.


# 1.368 18-Nov-2021 thorpej

Add a test case for backtrace(3) across a signal handler.


# 1.367 23-Oct-2021 thorpej

Fix a regression introduced in kern_event.c,v 1.129 that would cause
"udata" to get clobbered on ONESHOT events, and add a unit test for it.
Reported by martin@ (manifested in his case as a KASSERT() firing when
running unit tests in COMPAT_NETBSD32).


# 1.366 23-Oct-2021 thorpej

Add support for the EVFILT_EMPTY filter, which is activated when the
write buffer associated with the file descriptor is empty. This is
currently implemented only for sockets, and is intended primarily to
provide visibility to applications that all previously written data
has been acknowledged by the TCP layer on the receiver. Compatible
with the same filter in FreeBSD.


# 1.365 13-Oct-2021 thorpej

Add support for the NOTE_SECONDS, NOTE_MSECONDS, NOTE_USECONDS,
NOTE_NSECONDS, and NOTE_ABSTIME filter flags to EVFILT_TIMER,
API-compatible with the same in FreeBSD.


# 1.364 10-Oct-2021 thorpej

Add a test case for the race condition in PR kern/50094, modeled after
the Go run-time scenario described in the PR.


# 1.363 10-Oct-2021 thorpej

Add a test case to heavily exercise EVFILT_PROC + NOTE_TRACK.


# 1.362 30-Sep-2021 yamaguchi

Added tests for the linear hook APIs


# 1.361 19-Sep-2021 thorpej

Add native implementations of eventfd(2) and timerfd(2), compatible with
the Linux interfaces of the same name.


# 1.360 29-Aug-2021 christos

Inetd enhancements by James Browning, Gabe Coffland, Alex Gavin, Solomon Ritzow
Described in:
https://www.mail-archive.com/tech-userlevel@netbsd.org/msg03114.html
And developed in:
https://github.com/ritzow/src/pull/1

From their notes:

All new functionality should be explained by the updated manpage.

The manpage has been refactored a bit: A new section "Directives"
has been added and the information about default hostnames and
IPsec directives has been moved there, and the new file include
directive information is also there.

getconfigent has the most major changes. A newline is no longer
read immediately, but is called only by a "goto more" (inside an
if(false) block). This allows multiple definitions or directives
to exist on a single line for anything that doesn't terminate using
a newline. This means a key-values service definition can be followed
by another key-values service definition, a positional definition,
or an ipsec, hostname, or .include directive on the same line.

memset is no longer used explicitly to clear the servtab structure,
a function init_servtab() is used instead, which uses a C struct
initializer.

The servtab se_group field is its own allocation now, and not just
a pointer into the user:group string.

Refactored some stuff out of getconfigent to separate functions
for use by parse_v2.c. These functions in inetd.c are named with
the form parse_*()

parse_v2.c only has code for parsing a key-values service definition
into a provided servtab. It should not have anything that affects
global state other than line and line_number.

Some function prototypes, structures, and #defines have been moved
from inetd.c to inetd.h.

The function config_root replaces config as the function called on
a config file load/reload. The code removed from the end of
config(void) is now called in config_root, so it is not run on each
recursive config call.

setconfig(void) was removed and its code added into config_root
because that is the only place it is called, and redundant checks
for non-null globals were removed because they are always freed by
endconfig. The fseek code was also removed because the config files
are always closed by endconfig.

Rate limiting code was updated to add a per-service per-IP rate
limiting form. Some of that code was refactored out of other places
into functions with names in the form rl_*()

We have not added any of the license or version information to the
new files parse_v2.c, parse_v2.h, and inetd.h and we have not
updated the license or version info for inetd.c.

Security related:

The behavior when reading invalid IPsec strings has changed. Inetd
no longer exits, it quits reading the current config file instead.
Could this impact program security?

We have not checked for memory leaks. Solomon tried to use dmalloc
without success. getconfigent seemed to have a memory leak at each
"goto more". It seems like inetd has never free'd allocated strings
when throwing away erroneous service definitions during parsing
(i.e. when "goto more" is called when parsing fields). OpenBSD's
version calls freeconfig on "goto more"
(https://github.com/openbsd/src/blob/c5eae130d6c937080c3d30d124e8c8b86db7d625/usr.sbin/inetd/inetd.c#L1049)
but NetBSD only calls it when service definitions are no longer
needed. This has been fixed. freeconfig is called immediately before
any "goto more". There shouldn't be any time when a servtab is in
an invalid state where freeconfig would break.


# 1.359 12-Aug-2021 martin

h_findcc.debug is not obsolete


# 1.358 12-Aug-2021 martin

oops, fix h_findcc entry


# 1.357 12-Aug-2021 martin

Add new mkdep test helper h_findcc


# 1.356 14-Jul-2021 ozaki-r

Rump-ify ALTQ (librumpnet_altq.so)


# 1.355 09-Jul-2021 yamaguchi

added tests for IFF_PROMISC of vlan(4)


# 1.354 08-Jul-2021 christos

Add new interrupted stdio tests


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1
# 1.353 17-May-2021 yamaguchi

Add a new link-aggregation pseudo interface named lagg(4)

- FreeBSD's lagg(4) based implementation
- MP-safe and MP-scalable


Revision tags: cjep_staticlib_x-base
# 1.352 08-May-2021 rin

branches: 1.352.2;
Add missing aiomixer.debug to fix debug build.

XXX
I *really* hope someone(TM) invent better replacement of
distrib/sets/lists...


# 1.351 23-Apr-2021 mrg

build cc1objplus. don't forget debug set this time.


# 1.350 23-Apr-2021 rin

Add lto-dump.debug.


# 1.349 12-Apr-2021 mrg

various updates for GCC 10 support. remove dead gcc7/8 support
and properly mark obsolete files in gcc9/gcc10.

testing on amd64 and shark for GCC 9, and many platforms for GCC 10,
(though not arm yet.)


Revision tags: thorpej-futex-base
# 1.348 14-Jan-2021 pgoyette

Update sets lists to accomodate KERNEL_DIR. When both KERNEL_DIR and
MKDEBUG are defined, we create an empty $DESTDIR/usr/libdata/debug/netbsd/
directory.

Should fix ``build.sh release'' issue reported in kern/55923

XXX Since nothing ever seems to populate this directory, perhaps we should
XXX simply prevent its creation? If we do create it, should its creation
XXX perhaps be conditioned on MKKDEBUG rather than MKDEBUG?

XXX There is still another problem with ``build.sh install-image'' but I
XXX open a new PR for that.


# 1.347 14-Jan-2021 pgoyette

/home/paul/XXX.txt


# 1.346 02-Jan-2021 nat

Update the debug set for testpat(6).


# 1.345 28-Dec-2020 martin

Add resize


# 1.344 12-Dec-2020 pgoyette

branches: 1.344.2;
Also add the new test to the sets lists.


# 1.343 10-Nov-2020 kamil

Integrate Warp Kit into the NetBSD build

Fix the build and make it install and run with minimal required changes.


# 1.342 18-Oct-2020 rin

Fix build for mips; move from mi to module.mi debug symbols for
test cases only available when MKKMOD=yes.


# 1.341 01-Oct-2020 pgoyette

Fix up the debug stuff for if_tap and if_vether


# 1.340 29-Sep-2020 roy

rumpify vether(4)


# 1.339 26-Sep-2020 jmcneill

Add HAVE_NVMM and use it to control the build of NVMM related components.
Defined to "yes" on amd64, "no" everywhere else.


# 1.338 22-Sep-2020 kamil

Add new RTLD test file for r_debug

New tests:
- self
- dlopen

Both check whether the r_debug structure seems to be well-formed, without
and with a dlopen(3) call.


# 1.337 15-Sep-2020 mrg

actually, disable tsan on everything but amd64.

it fails to build on mips64 and arm64 for me as well as others..


# 1.336 15-Sep-2020 mrg

mark tsan files as !machine=sparc64.


# 1.335 13-Sep-2020 kamil

Currently restrict GCC TSan files to gcc=9


# 1.334 13-Sep-2020 kamil

Build and install GCC TSan for 64-bit CPUs


# 1.333 12-Sep-2020 jmcneill

Add HAVE_ACPI and HAVE_UEFI flags to bsd.own.mk and use them to
conditionally include ACPI and UEFI bits instead of relying on adhoc
MACHINE_ARCH tests.


# 1.332 08-Sep-2020 christos

Add bind test


# 1.331 27-Aug-2020 riastradh

Sort and deduplicate set lists.


# 1.330 26-Aug-2020 riastradh

Clarify wg(4)'s relation to WireGuard, pending further discussion.

Still planning to replace wgconfig(8) and wg-keygen(8) by one wg(8)
tool compatible with wireguard-tools; update wg(4) for the minor
changes from the 2018-06-30 spec to the 2020-06-01 spec; &c. This just
clarifies the current state of affairs as it exists in the development
tree for now.

Mark the man page EXPERIMENTAL for extra clarity.


# 1.329 20-Aug-2020 riastradh

[ozaki-r] Add wg files


# 1.328 18-Aug-2020 perseant

Add skipped test for in-kernel roll-forward agent


# 1.327 14-Aug-2020 riastradh

New system call getrandom() compatible with Linux and others.

Three ways to call:

getrandom(p, n, 0) Blocks at boot until full entropy.
Returns up to n bytes at p; guarantees
up to 256 bytes even if interrupted
after blocking. getrandom(0,0,0)
serves as an entropy barrier: return
only after system has full entropy.

getrandom(p, n, GRND_INSECURE) Never blocks. Guarantees up to 256
bytes even if interrupted. Equivalent
to /dev/urandom. Safe only after
successful getrandom(...,0),
getrandom(...,GRND_RANDOM), or read
from /dev/random.

getrandom(p, n, GRND_RANDOM) May block at any time. Returns up to n
bytes at p, but no guarantees about how
many -- may return as short as 1 byte.
Equivalent to /dev/random. Legacy.
Provided only for source compatibility
with Linux.

Can also use flags|GRND_NONBLOCK to fail with EWOULDBLOCK/EAGAIN
without producing any output instead of blocking.

- The combination GRND_INSECURE|GRND_NONBLOCK is the same as
GRND_INSECURE, since GRND_INSECURE never blocks anyway.

- The combinations GRND_INSECURE|GRND_RANDOM and
GRND_INSECURE|GRND_RANDOM|GRND_NONBLOCK are nonsensical and fail
with EINVAL.

As proposed on tech-userlevel, tech-crypto, tech-security, and
tech-kern, and subsequently adopted by core (minus the getentropy part
of the proposal, because other operating systems and participants in
the discussion couldn't come to an agreement about getentropy and
blocking semantics):

https://mail-index.netbsd.org/tech-userlevel/2020/05/02/msg012333.html


# 1.326 25-Jul-2020 riastradh

Add kernel ChaCha test to exercise all available implementations.


# 1.325 17-Jul-2020 kamil

Add ppoll() a compatibility wrapper around pollts(2)

Submitted by Apurva Nandan.


# 1.324 06-Jul-2020 christos

new mapped test.


# 1.323 01-Jul-2020 jruoho

Add basic checks for a64l(3), l64a(3), and l64a_r(3).


# 1.322 30-Jun-2020 riastradh

New test sys/crypto/aes/t_aes.

Runs aes_selftest on all kernel AES implementations supported on the
current hardware, not just the preferred one.


# 1.321 30-Jun-2020 jruoho

After a comedy of errors, move t_mbtowc to its final resting place.


# 1.320 29-Jun-2020 riastradh

New cgd cipher adiantum.

Adiantum is a wide-block cipher, built out of AES, XChaCha12,
Poly1305, and NH, defined in

Paul Crowley and Eric Biggers, `Adiantum: length-preserving
encryption for entry-level processors', IACR Transactions on
Symmetric Cryptology 2018(4), pp. 39--61.

Adiantum provides better security than a narrow-block cipher with CBC
or XTS, because every bit of each sector affects every other bit,
whereas with CBC each block of plaintext only affects the following
blocks of ciphertext in the disk sector, and with XTS each block of
plaintext only affects its own block of ciphertext and nothing else.

Adiantum generally provides much better performance than
constant-time AES-CBC or AES-XTS software do without hardware
support, and performance comparable to or better than the
variable-time (i.e., leaky) AES-CBC and AES-XTS software we had
before. (Note: Adiantum also uses AES as a subroutine, but only once
per disk sector. It takes only a small fraction of the time spent by
Adiantum, so there's relatively little performance impact to using
constant-time AES software over using variable-time AES software for
it.)

Adiantum naturally scales to essentially arbitrary disk sector sizes;
sizes >=1024-bytes take the most advantage of Adiantum's design for
performance, so 4096-byte sectors would be a natural choice if we
taught cgd to change the disk sector size. (However, it's a
different cipher for each disk sector size, so it _must_ be a cgd
parameter.)

The paper presents a similar construction HPolyC. The salient
difference is that HPolyC uses Poly1305 directly, whereas Adiantum
uses Poly1395(NH(...)). NH is annoying because it requires a
1072-byte key, which means the test vectors are ginormous, and
changing keys is costly; HPolyC avoids these shortcomings by using
Poly1305 directly, but HPolyC is measurably slower, costing about
1.5x what Adiantum costs on 4096-byte sectors.

For the purposes of cgd, we will reuse each key for many messages,
and there will be very few keys in total (one per cgd volume) so --
except for the annoying verbosity of test vectors -- the tradeoff
weighs in the favour of Adiantum, especially if we teach cgd to do
>>512-byte sectors.

For now, everything that Adiantum needs beyond what's already in the
kernel is gathered into a single file, including NH, Poly1305, and
XChaCha12. We can split those out -- and reuse them, and provide MD
tuned implementations, and so on -- as needed; this is just a first
pass to get Adiantum implemented for experimentation.


# 1.319 28-Jun-2020 pgoyette

Add missing debug entry for new t_mbtowc

XXX Please note that there are now TWO tests named t_mbtowc - this one in
XXX tests/lib/libc/stdlib/ and an older one in tests/lib/libc/locale
XXX I don't know if the functionality is duplicated or not.


# 1.318 27-Jun-2020 christos

fix the build


# 1.317 15-Jun-2020 christos

Add compatfile to libblacklist


# 1.316 15-Jun-2020 christos

Rename blacklist -> blocklist


# 1.315 09-Jun-2020 kamil

Build and install llvm-symbolizer for MKLLVM=yes

llvm-symbolizer is an alternative for GNU addr2line(1), heavily used by the
LLVM sanitizers.

Do not install it as tools as it is not necessary as of today in that
stage.


# 1.314 08-Jun-2020 rin

For /usr/libdata/debug/usr/tests/lib/libprop
- Obsolete t_basic.debug and
- Add t_proplib.debug


# 1.313 30-May-2020 christos

Make libuv private, requested by joerg@


# 1.312 24-May-2020 christos

new bind+libuv


# 1.311 16-May-2020 christos

Add ACL support for FFS. From FreeBSD.


# 1.310 15-May-2020 christos

PR/55102: Kamil Rytarowski: Duplicate fifo_vnodeop_entries,
fifo_vnodeop_opv_desc symbols.

Many filesystems ffs, lfs, ulfs, chfs, ext2fs etc. use fifofs
internally for their fifo vnops. NFS does too, but it also needs
networking anyway. Unfortunately fifofs brings in a lot of the
networking code so that the rumpkernel is not well partition. In
addition the fifo code is rarely used.

The existing hack depended on duplicating the above symbols and
adding minimal functionality for the majority of the the tests
(except the ffs and the puffs one). In these two cases both symbols
were loaded and the symbol sizes clashed which broke the sanitizers.
While this can be fixed with weak symbols and other kinds of
indirection, it is more straight forward to select between the
minimal and the full fifofs implementation by introducing a new
shared library librumpvfs_nofifofs.


# 1.309 01-May-2020 christos

Move the rump module test programs in the regular mi file. These are not
really kernel modules and the other md module test is in the md.amd64 file
already.


# 1.308 30-Apr-2020 ryo

Add a test for sigaltstack(2) and SA_ONSTACK


# 1.307 26-Apr-2020 mlelstv

Add missing futex tests.


Revision tags: phil-wifi-20200421 phil-wifi-20200411
# 1.306 11-Apr-2020 christos

Add new t_extattr


Revision tags: phil-wifi-20200406
# 1.305 05-Apr-2020 christos

we don't delete entries, we mark them obsolete so that postinstall can
delete the files.


# 1.304 04-Apr-2020 mlelstv

one more netsmb reference.


# 1.303 04-Apr-2020 christos

fix netsmb, libgnuctf


# 1.302 04-Apr-2020 christos

gnuctf is only binutils=234


# 1.301 04-Apr-2020 christos

fix sets for new binutils


# 1.300 04-Apr-2020 jdolecek

remove SMBFS and nsmb/netsmb - userland part


# 1.299 30-Mar-2020 christos

Add rpcapd


# 1.298 08-Mar-2020 mgorny

Add tests for missing libc catalog entries


# 1.297 06-Mar-2020 kamil

Add new ptrace(2) test file

t_ptrace_sigchld - for SIGCHLD handler + ptrace(2).

Right now a single test is enabled (raise(SIGKILL)) and marked as failed
as it never finishes as the child is never collected before exiting the
parent uninterested about its child (SA_NOCLDWAIT).


# 1.296 04-Mar-2020 christos

fix pam annotations


# 1.295 03-Mar-2020 christos

add libfido2, libcbor, pam-u2f, sort


Revision tags: is-mlppp-base
# 1.294 11-Feb-2020 martin

Add new test programs


# 1.293 02-Feb-2020 kamil

Port realpath(1) from FreeBSD

realpath(1) wraps realpath(3) and returns resolved physical path.

This utility shipped with GNU and FreeBSD is sometimes
used in scripts in the wild.


# 1.292 19-Jan-2020 martin

Fix set lists after HIPPI removal


# 1.291 18-Jan-2020 kre

Move recently added .debug files from tests/mi to debug/mi (with all the
others) and while so doing, give them the "debug" attribute.

While here, sort.


# 1.290 03-Dec-2019 hikaru

Add HMAC-SHA-{256,384,512} test cases.


Revision tags: phil-wifi-20191119
# 1.289 15-Oct-2019 christos

remove sup


# 1.288 15-Sep-2019 christos

fexecve(2) related additions.


# 1.287 15-Sep-2019 christos

add t_fcntl


# 1.286 23-Aug-2019 mrg

fix MKCXX=no:
- don't build GDB
- don't build sanitizers
- don't build GCC commands
- fix some set lists


Revision tags: netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.285 28-Jul-2019 christos

branches: 1.285.2;
add new wcsrtombs test


Revision tags: phil-wifi-20190609
# 1.284 01-Jun-2019 kamil

Add ATF KERN_PROC_CWD tests


# 1.283 26-Apr-2019 maya

Add a test case for signbit.
(paranoia prior to a libm change)


# 1.282 24-Apr-2019 kamil

Add a complete C11 threads(3) implementation

C11 Thread support library is a portable threading C API between OSs,
similar to std::threads in the C++ world.

The library is implemented as a thin shim over POSIX interfaces.

NetBSD implements the API as a part of the POSIX threading library
(libpthread(3)).

C11 threads(3) are in the process of making them an integral part
of the POSIX standard. The interface has been implemented in major
OSs and used with stopgap libraries for older versions of them.

C11 threading library is already used (with a stopgap implementation)
in the NetBSD distribution in MESA.

Original implementation by myself from 2016.

ATF tests are new and cover almost all interfaces.

Proposed on tech-userlevel@.


# 1.281 03-Apr-2019 joerg

Revert MKLLVMCMDS changes.


# 1.280 20-Mar-2019 mrg

split MKLLVM into MKLLVM and MKLLVMCMDS, like MKGCC and MKGCCCMDS:

- only build clang or clang-tblgen if MKLLVMCMDS != "no"
- move HAVE_MESA_VER earlier so we can detect mesa 18 and enable
MKLLVM on platforms that need it
- move the clang commands and headers into llvmcmds group
- only build the clang specific LLVM libraries if MKLLVMCMDS != "no"

much of this work came from maya@'s github commit
f90685c11d4460d3098fa35f48b58d1893e974e0, reworked for HAVE_MESA_VER
and llvmcmds vs MKCLANG.


build tested on several platforms and on amd64 and i386 with several
different build options (clang build, gcc build, gcc build with llvm
libs).


# 1.279 12-Mar-2019 christos

Add libjemalloc.so


# 1.278 26-Feb-2019 isaki

Add ATF tests for __sync_* functions instead of all_sync_ops_linkable.c


# 1.277 18-Feb-2019 rin

Belatedly add debugging symbols for t_atomic_*.


# 1.276 03-Feb-2019 martin

Add debug info for new ksem test


# 1.275 02-Feb-2019 mrg

- add new entries of gcc=7 and libgomp, libasan, liblsan, libstdc++, libubsan
- add missing header files fpr gcc=7
- add some missing gcc=5 obsolete entries
- create ./usr/include/dev/bluetooth in mtree not make, and move it into the
base set where all other directories are.


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118
# 1.274 27-Dec-2018 christos

initfini_array test


Revision tags: pgoyette-compat-1226
# 1.273 26-Dec-2018 kre

Add "rump" to threadpool.debug test so it is not expected to appear
if MKRUMP=no


# 1.272 25-Dec-2018 christos

- add missing test
- fix typos


# 1.271 18-Dec-2018 kamil

Correct libproc_p.a in distribution sets

There was a stale entry under MKPROFILE=no option.


# 1.270 12-Dec-2018 maxv

Retire the LMC driver, and its associated lmcconfig tool. LMC has been
mentioned repeatedly as a non-MP-safe driver that is hard to maintain,
and no one is taking care of it.

LMC was removed from OpenBSD three years ago, and from FreeBSD a few
months ago.


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020
# 1.269 01-Oct-2018 jmcneill

Fix debug sets for mount_qemufwcfg


Revision tags: pgoyette-compat-0930
# 1.268 23-Sep-2018 christos

merge openssl-1.1.1


# 1.267 23-Sep-2018 maxv

Remove the userland part of ISDN. The kernel part is untouched for now.
ipppctl was actually an exact copy of pppoectl; there is no functional
change in pppoectl in this commit.


# 1.266 22-Sep-2018 rmind

Add rumpkern_nv (in-kernel RUMP libnv).


# 1.265 19-Sep-2018 maxv

Remove daic(4), it has never been functional.

ok martin@


# 1.264 06-Sep-2018 maxv

Remove the network ATM code.


Revision tags: pgoyette-compat-0906
# 1.263 21-Aug-2018 christos

add new tests, sort


# 1.262 12-Aug-2018 christos

fix sets for new bind


# 1.261 06-Aug-2018 martin

Add debug info for t_if_nametoindex


# 1.260 03-Aug-2018 kamil

Register micro-UBSan ATF tests in the distribution

Populate distrib files, mtree lists and add the entry in Makefile to
include the new code.


# 1.259 31-Jul-2018 khorben

Add a port of the umb(4) driver from OpenBSD

The umb(4) driver provides support for USB MBIM (Mobile Broadband
Interface Model) devices.

MBIM devices establish connections via cellular networks such as GPRS,
UMTS, and LTE. They appear as a regular point-to-point network interface, transporting raw IP frames.

Required configuration parameters like PIN and APN have to be set with
umbctl(8), a new tool specific to this driver. The IP address is configured
automatically; the default route and DNS server information have to be set
separately.

The driver is not fully functional yet, it is therefore still marked as
experimental and disabled by default. Any help welcome to complete it!

Tested on NetBSD/amd64, with a Sierra Wireless EM7345 LTE modem on a Lenovo
ThinkPad T440s. No functional change expected otherwise.


Revision tags: pgoyette-compat-0728
# 1.258 24-Jul-2018 christos

sets for base64


# 1.257 13-Jul-2018 maxv

Remove tpfmt(1). Its code was merged into tprof(8).


# 1.256 29-Jun-2018 roy

Remove dhclient from the base system.

Discussed here:
https://mail-index.netbsd.org/tech-userlevel/2018/06/21/msg011233.html


Revision tags: phil-wifi-base
# 1.255 28-Jun-2018 christos

branches: 1.255.2;
put back lsan


# 1.254 27-Jun-2018 martin

Comment out liblsan entries to fix the build


# 1.253 26-Jun-2018 christos

Add the lsan libraries


Revision tags: pgoyette-compat-0625
# 1.252 20-Jun-2018 maya

Add test case for PR lib/50646.

Make sure that cabsl (aka __c99_cabsl) is usable from C++.


# 1.251 14-Jun-2018 yamaguchi

Add test cases for multicast address handling of vlan(4)

ok ozaki-r@


# 1.250 28-May-2018 chs

merge a new version of the CDDL dtrace and ZFS code.
this changes the upstream vendor from OpenSolaris to FreeBSD,
and this version is based on FreeBSD svn r315983.

in addition to the 10 years of improvements from upstream,
this version also has these NetBSD-specific enhancements:
- dtrace FBT probes can now be placed in kernel modules.
- ZFS now supports mmap().


# 1.249 25-May-2018 martin

Add new test program


Revision tags: pgoyette-compat-0521
# 1.248 18-May-2018 kamil

Add new ATF tests: t_fork and t_vfork

Test behavior of raise(signal) in either fork(2)ed or vfork(2)ed child.

Tests:
- raise1 SIGKILL
- raise2 SIGSTOP
- raise3 SIGTSTP
- raise4 SIGTTIN
- raise5 SIGTTOU
- raise6 SIGABRT
- raise7 SIGHUP
- raise8 SIGCONT

t_vfork:raise2 fails ignoring non-maskable SIGSTOP.

The remaining ones pass.

Sponsored by <The NetBSD Foundation>


# 1.247 04-May-2018 sevan

Unbreak build until the privatisation of libbozohttpd is settled.

heads up & patch thanks to <leot>


Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
# 1.246 03-Apr-2018 christos

the zombie test is not a rump test.


Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315
# 1.245 14-Mar-2018 kamil

Add new ATF tests: kernel/t_zombie

New tests attempting to kill, stop, drop or revive a zombie:
- signal1 (SIGKILL)
- signal2 (SIGSTOP)
- signal3 (SIGABRT)
- signal4 (SIGHUP)
- signal5 (SIGCONT)

New test race1 verifying whether there are any kernel races when processing
signals to zombies, executing in a loop for 5 seconds.

These tests were inspired by a kernel unexpected behavior when a lookup
of a dying process could result in two detected entities once as an alive
process and once as a zombie.

race1 is similar to t_ptrace_wait* race1, however without ptrace(2) involved.

Sponsored by <The NetBSD Foundation>


# 1.244 09-Mar-2018 joerg

Add ifunc support for statically linked applications on x86, ppc, sparc
and ARM.


Revision tags: pgoyette-compat-base
# 1.243 17-Feb-2018 wiz

branches: 1.243.2;
t_timeleft.debug is still installed, remove 'obsolete' marker.


# 1.242 13-Feb-2018 mrg

obsolete some GCC 4.8 files.


# 1.241 08-Feb-2018 christos

add openssl to the list of selectable variables for sets and fix the sets.


# 1.240 06-Feb-2018 mrg

build and install gcov-dump.


# 1.239 03-Feb-2018 mrg

updates for GCC 6.4: add gcc-6 specific headers, combine some
all-gcc files, bump the shlib versions on new libs.


# 1.238 02-Feb-2018 mrg

convert HAVE_GCC handling to modern GCC release numbering:
- HAVE_GCC=5 is now the default (vs. HAVE_GCC=53 we've been using for
GCC 5.4 and GCC 5.5.)
- remove some more GCC 4.8 code. we don't support GCC 4 here.
- adjust set lists to gcc=5 from gcc=53.

add some basic HAVE_GCC=6 handling (totally unused so far.)


# 1.237 25-Jan-2018 wiz

Revert previous.

obsolete + other tags is not easy to clean up.


# 1.236 24-Jan-2018 wiz

When second keyword is 'obsolete', first one should be foo-obsolete as well.


# 1.235 14-Jan-2018 christos

add mount_autofs


# 1.234 10-Jan-2018 knakahara

ipsec(4) interface supports rump now.


# 1.233 09-Jan-2018 christos

Merge autofs support from: Tomohiro Kusumi
XXX: Does not work yet


# 1.232 10-Dec-2017 christos

add new test.


# 1.231 08-Dec-2017 christos

add new test.


# 1.230 08-Dec-2017 msaitoh

Add missing h_segv.debug.


# 1.229 19-Nov-2017 martin

ATF test program for PR kern/52738: check for mtime updates after rewriting
a file.


# 1.228 30-Oct-2017 ozaki-r

Add test cases of NAT-T (transport mode)

A small C program is added to make a special socket (UDP_ENCAP_ESPINUDP)
and keep it to handle UDP-encapsulated ESP packets.


# 1.227 10-Oct-2017 christos

Add librumpres


# 1.226 02-Oct-2017 mlelstv

add t_list test.


# 1.225 29-Sep-2017 maya

Add simple test for workqueue(9)


# 1.224 16-Aug-2017 joerg

Add missing strfmon_l. Noticed by Bruno Haible. Add test case.


# 1.223 11-Aug-2017 ryo

fix filename. sorry


# 1.222 10-Aug-2017 ryo

Add support IP_PKTINFO for sendmsg(2).

The source address or output interface can be specified by adding IP_PKTINFO
to the control part of the message on a SOCK_DGRAM or SOCK_RAW socket.

Reviewed by ozaki-r@ and christos@. thanks.


# 1.221 23-Jul-2017 perseant

Add missing setlist entries for DUCET collation test.


Revision tags: perseant-stdc-iso10646-base
# 1.220 14-Jul-2017 perseant

branches: 1.220.2;
Add a simple collation test. This test is expected to fail on HEAD since
we do not yet have a working implementation of wcscoll.


# 1.219 11-Jul-2017 joerg

Implement __cxa_thread_atexit and __cxa_thread_atexit_impl. This
functions are used for destructors of thread_local objects.

If a pending destructor exists, prevent unloading of shared objects.
Introduce __dl_cxa_refcount interface for this purpose. When the last
reference is gone and the object has been dlclose'd before, the
unloading is finalized.

Ideally, __cxa_thread_atexit_impl wouldn't exist, but libstdc++ insists
on providing __cxa_thread_atexit as direct wrapper without further
patching.


# 1.218 09-Jun-2017 knakahara

add tests of ioctl for /dev/crypto


# 1.217 05-Jun-2017 christos

Add dtc


Revision tags: netbsd-8-base
# 1.216 01-Jun-2017 perseant

branches: 1.216.2;
Add tests for btowc(3)/wctob(3) and enable compilation of the test for
digittoint(3).

The digittoint(3) test is skipped since we don't provide that function yet.

One of the test cases for btowc(3) is also skipped, since it tests conversion
to Unicode---whereas our wchar_t representation is locale-dependent.


# 1.215 31-May-2017 pgoyette

Also add the debug entries for the new test programs.

Thanks, perseant, for increasing/improving our test coverage.


# 1.214 30-May-2017 martin

Add t_toupper.debug


# 1.213 27-May-2017 bouyer

merge the bouyer-socketcan branch to HEAD.

CAN stands for Controller Area Network, a broadcast network used
in automation and automotive fields. For example, the NMEA2000 standard
developped for marine devices uses a CAN network as the link layer.

This is an implementation of the linux socketcan API:
https://www.kernel.org/doc/Documentation/networking/can.txt
you can also see can(4).

This adds a new socket family (AF_CAN) and protocol (PF_CAN),
as well as the canconfig(8) utility, used to set timing parameter of
CAN hardware. Also inclued is a driver for the CAN controller
found in the allwinner A20 SoC (I tested it with an Olimex lime2 board,
connected with PIC18-based CAN devices).

There is also the canloop(4) pseudo-device, which allows to use
the socketcan API without CAN hardware.

At this time the CANFD part of the linux socketcan API is not implemented.
Error frames are not implemented either. But I could get the cansend and
canreceive utilities from the canutils package to build and run with minimal
changes. tcpudmp(8) can also be used to record frames, which can be
decoded with etherreal.


# 1.212 26-May-2017 martin

Add t_strcoll


# 1.211 21-May-2017 leot

Adjust for MKCRYPTO_RC5 removal (fixes MKDEBUGLIB=yes build).

OK <Riastradh>


# 1.210 21-May-2017 riastradh

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.209 21-May-2017 riastradh

Remove MKCRYPTO_RC5. Unconditionally include RC5 in libcrypto.so.

This option existed only because RC5 is covered by patents that, twenty
years ago, we had reason to suspect the patent holder, RSA, Inc., might
litigate. The two US patents in question are 5,724,428 and 5,835,600.

According to the USPTO Patent Term Calculator web site at
<https://www.uspto.gov/patent/laws-and-regulations/patent-term-calculator#heading-5>
(retrieved 2017-05-21), patents filed after 1995-06-07 expire twenty
years after the filing date.

number filing date
5,724,428 1995-11-01
5,835,600 1997-04-21

Thus, these patents appear to be expired.

As proposed on tech-crypto and tech-security:

https://mail-index.netbsd.org/tech-crypto/2017/05/05/msg000718.html
https://mail-index.netbsd.org/tech-security/2017/05/05/msg000927.html


Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.208 17-Apr-2017 knakahara

fix build failure


# 1.207 17-Apr-2017 riastradh

New rndsource driver for Araneus Alea II TRNG USB devices.

Disabled by default in x86/GENERIC and usbdevices.config pending
review and testing without rump ugenhc in the way, but enabled in
x86/ALL for compile-testing.

(Hi gson! Finally found a round tuit in my pocket, next to a certain
rectangular one.)


# 1.206 14-Apr-2017 riastradh

cvslatest is unconditional, not conditional on cvs.


# 1.205 14-Apr-2017 ozaki-r

Rumpify netipsec

Note that we should modularize netipsec and reduce reverse symbol references
(referencing symbols of netipsec from net, netinet and netinet6) though,
the task needs lots of code changes. Prior to doing so, rumpifying it and
having ATF tests should be useful.


# 1.204 03-Apr-2017 kamil

Remove tests/kernel/t_ptrace* from the tree

ptrace(2) tests have been moved to tests/lib/libc/sys

Sponsored by <The NetBSD Foundation>


# 1.203 02-Apr-2017 kamil

Import ptrace(2) tests into appropriate directory tests/lib/libc/sys/

This is the correct directory documented in tests/README for such tests.

Discussed with <martin>

Sponsored by <The NetBSD Foundation>


# 1.202 02-Apr-2017 kamil

Remove kernel/arch/{amd64,i386,x86} tests

These files were merged with kernel/t_ptrace_wait*

This removes MD test files.

Sponsored by <The NetBSD Foundation>


# 1.201 23-Mar-2017 htodd

Fix build.


Revision tags: pgoyette-localcount-20170320
# 1.200 16-Feb-2017 knakahara

l2tp(4) support rump.


# 1.199 09-Feb-2017 christos

remove exect test


# 1.198 08-Feb-2017 rin

Fix build with MKDEBUG=yes for sun2:

- libgcc_g.a, libgcov_g.a, libobjc_g.a, libstdc++_g.a, and libsupc++_g.a are
marked "gcc" instead of "gcccmds".

- libbfd_g.a and libh_helper_*_g.a are moved from debug/mi to debug/shl.mi.
This seems strange at first sight, but they are built only when shared
libraries are enabled.


# 1.197 08-Feb-2017 kamil

libpthread_dbg(3) deletion from the base distribution

libpthread_dbg(3) is a remnant library from the M:N thread model
(pre-NetBSD-5.0) API to introspect threads within a process and for use
of debuggers.

Currently in the 1:1 model it's not used in GDB neither in LLDB and it's
not either planned to be used. It's current function to read pthread_t
structures is realizable within a regular debugger capable to
instrospect objects within a tracee (GDB, LLDB...).

Remaining users of this API can still use this library from
pkgsrc/devel/libpthread_dbg.

Sponsored by <The NetBSD Foundation>


# 1.196 06-Feb-2017 kre

+ /usr/bin/nc (someone please check these are correct)


# 1.195 02-Feb-2017 martin

Add test program for PR kern/51762


# 1.194 28-Jan-2017 nat

bta2dpd - Bluetooth Advand Audio Distribution (A2DP) Profile Daemon.

bta2dpd allows you to stream audio to and from bluetooth devices.
It features high quality stereo audio and is intended for use with pad(4)
device.

As discussed on current-users@ and tech-userlevel@


# 1.193 27-Jan-2017 hannken

Add test for read/write to readonly update mount.


# 1.192 16-Jan-2017 ozaki-r

Rewrite tests for CARP in a shell script instead of C

The new shell script enables us to modify/add tests easily.


Revision tags: bouyer-socketcan-base
# 1.191 07-Jan-2017 christos

branches: 1.191.2;
debug for nsd


# 1.190 07-Jan-2017 christos

add npfd


Revision tags: pgoyette-localcount-20170107
# 1.189 05-Jan-2017 wiz

Tag cleanup: if the last column contains 'obsolete', the one before should too.


# 1.188 19-Dec-2016 maya

adjust set lists for t_fe_round


# 1.187 14-Dec-2016 rjs

The t_clock_subr test doesn't require rump.


# 1.186 14-Dec-2016 kre

Sort the unsorted sets lists (they should all be correctly sorted now.)


# 1.185 13-Dec-2016 kamil

Add regs1 in arch/i386/t_ptrace_wait*

regs1:
Call PT_GETREGS and iterate over General Purpose registers

Sponsored by <The NetBSD Foundation>


# 1.184 09-Dec-2016 kamil

Attach t_exect to ATF tests and distribution

Add missing SIGTRAP handler. Assert there that the signal is SIGTRAP as
expected and si_code TRAP_TRACE.

This test will break on some ports that have dummy or incomplete
implementation of exect(2).

This test works on amd64 correctly.

Sponsored by <The NetBSD Foundation>


# 1.183 02-Dec-2016 kamil

Refactor location of amd64-specific ATF tests to new dir kernel/arch/amd64

Rename
- tests/kernel/t_ptrace_amd64_wait.c
to
- tests/kernel/arch/amd64/t_ptrace_wait.c
and adapt appropriate files accordingly.

New directory will be used for more amd64-specific tests, verifying the
MD parts of the kernel.

Remove old entries from distrib/sets/lists as they were added a while ago.

Sponsored by <The NetBSD Foundation>


# 1.182 02-Dec-2016 kamil

Fix !amd64 sets

Sponsored by <The NetBS Foundation>


# 1.181 01-Dec-2016 kamil

Add t_ptrace_amd64_wait{,3,4,6,id,pid} tests

Sponsored by <The NetBSD Foundation>


# 1.180 26-Nov-2016 ozaki-r

Rumpify vlan(4)


# 1.179 18-Nov-2016 kamil

Add new test file lib/libpthread_dbg/t_threads

This test contains threads1 test that:
Asserts that td_thr_iter() call without extra logic works

This tests fails and is linked with gnats:
PR lib/51635: td_thr_iter in <pthread_dbg.h> seems broken

Sponsored by <The NetBSD Foundation>


# 1.178 16-Nov-2016 kamil

Add new test-suite t_dummy for libpthread_dbg

At the moment this test does nothing except reports failure from td_open()
for overloaded (implemented) dummy1_proc_lookup() (.proc_lookup from
td_proc_callbacks_t) of the following form:

static int
dummy1_proc_lookup(void *arg, const char *sym, caddr_t *addr)
{
return TD_ERR_ERR;
}

This file and directory with tests is placeholder for new ones, without
further need to alter mtree and distribution sets.

The libpthread_dbg interface and library is used by gdb(1) to handle
threads in applications.

Sponsored by <The NetBSD Foundation>


# 1.177 15-Nov-2016 skrll

Fix librefuse falout.... Hi pho


# 1.176 11-Nov-2016 njoly

New clock_nanosleep(2) testcase.


# 1.175 11-Nov-2016 alnsn

Add 3des-cbc tests with 192 bits key.


# 1.174 10-Nov-2016 alnsn

Add blowfish-cbc tests for 128, 256 and 448 bits keys.


# 1.173 07-Nov-2016 kamil

Add new tests for combination of wait(2) interfaces with ptrace(2)

Move out wait(2) specific tests from t_ptrace and put them to t_ptrace_wait

Add generic code fragments to reuse the same source-code for every member
of the wait(2) family, namely:
- wait(2)
- waitpid(2)
- waitid(2)
- wait3(2)
- wait4(2)
- wait6(2)

Currently in the new test-suite there are the following tests:
- traceme1
- traceme2
- traceme3
- traceme4
- attach1

Not all tests are possible to be executed against every wait(2)-like
interface, therefore they will be disabled in such case. Currently this
limits attach1 to waitpid(2), waitid(2), wait4(2), wait6(2), while the
other tests (traceme 1-4) run with all of the interfaces.

The construct of this file is dedicated for addition of new tests in the
close future.

As of now all of the tests pass correctly.

Thanks for Robert Elz for suggestions on improving the code (earlier draft
of this new form).

Sponsored by <The NetBSD Foundation>.


# 1.172 06-Nov-2016 alnsn

Debug file for t_cgd_aes.


# 1.171 06-Nov-2016 kamil

Add new tests: tests/lib/libc/sys/t_wait_noproc and t_wait_noproc_wnohang

The t_wait_noproc test checks whether wait(2)-family of functions return
error and set ECHILD for lack of childs.

The t_wait_noproc_wnohang adds to options (except wait(2), wait3(2)) new
parameter WNOHANG and verifies that error is still signaled and errno set
to ECHILD.

Currently t_wait_noproc_wnohang reports failures, these have been marked as
expected and referenced to PR standards/51606.

The problem report is authored by Robert Elz, and the initial regression
has been notified by Nicolas Joly.

Remove redundant test in tests/lib/libc/sys/t_wait for wait6(2) with no
WNOHANG specified.

Sponsored by <The NetBSD Foundation>.


Revision tags: pgoyette-localcount-20161104
# 1.170 02-Nov-2016 kamil

Add new test t_ptrace with traceme1

This test is a placeholder for further checks of the native ptrace(2)
function calls.

XXX: Is it safe to call ATF functions from a child? FreeBSD seems to
construct dedicated asserts for them.

XXX: printf(3) calls from a child are not intercepted by atf-run(1)

Sponsored by <The NetBSD Foundation>.


# 1.169 01-Nov-2016 christos

fix libiberty_g.a


# 1.168 30-Oct-2016 kamil

Add new test t_timedmutex

This test is a clone on t_mutex with additional two tests for timed-mutex
specific block.

All simple-mutex (not with the timed property according to the C11 wording)
specific tests are covered by pthread_mutex_timedlock(3) with parameter
ts_lengthy of sufficiently large tv_sec value (right now UINT16_MAX). If,
a test will hang, it won't wait UINT16_MAX seconds, but will be terminated
within the default timeout for ATF tests (right now 300 [sec] in my
NetBSD/amd64 setup).

This test was inspired by a classic selflock test failure of
pthread_mutex_timedlock(3) of the following form:

#include <assert.h>
#include <errno.h>
#include <pthread.h>
#include <stdio.h>
#include <time.h>

int main(int argc, char **argv)
{
pthread_mutex_t mtx;
struct timespec ts;

ts.tv_sec = 0;
ts.tv_nsec = 1000;
printf("ts{.tv_sec = %d, .tv_nsec=%ld}\n", ts.tv_sec, ts.tv_nsec);
fflush(stdout);

printf("mtx_init\n");
assert(pthread_mutex_init(&mtx, NULL) == 0);

printf("mtx_lock\n");
assert(pthread_mutex_lock(&mtx) == 0);

printf("mtx_timedlock\n");
assert(pthread_mutex_timedlock(&mtx, &ts) == ETIMEDOUT);

printf("mtx_unlock\n");
assert(pthread_mutex_unlock(&mtx) == 0);

printf("mtx_destroy\n");
assert(pthread_mutex_destroy(&mtx) == 0);

return 0;
}

Current NetBSD implementation wrongly hangs on this test.

The issue was detected during development of the C11 portable threads.

My local tests in chroot presents that the are further issues:

t_timedmutex (21/25): 10 test cases
mutex1: [0.001142s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:75: *param != 20
mutex2: [0.261499s] Passed.
mutex3: [0.261496s] Passed.
mutex4: [0.001204s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:265: pthread_mutex_timedlock(&mutex, &ts_lengthy): Connection timed out
mutex5: [0.001235s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:337: pthread_mutex_timedlock(&mutex5, &ts_lengthy): Connection timed out
mutex6: [21.218497s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:512: start != 1
mutexattr1: [0.001328s] Passed.
mutexattr2: [0.001175s] Passed.
timedmutex1: [301.119397s] Failed: Test case timed out after 300 seconds
timedmutex2: [301.123081s] Failed: Test case timed out after 300 seconds
[623.990659s]

I'm also receiveing the same failure in the mutex6 test in t_mutex, so
there might be a false positives due to local chroot(8) issues.

Commit approved by <christos>.


Revision tags: localcount-20160914
# 1.167 05-Sep-2016 ozaki-r

Support tun devices on rump kernels


# 1.166 31-Aug-2016 maya

Add failing test for casinh


# 1.165 22-Aug-2016 maya

add failing test for PR lib/51427
ilogb(INFINITY)=-INT_MAX, it should be INT_MAX

while here, test raised exceptions, other values.

XXX some platforms don't have exceptions


# 1.164 20-Aug-2016 christos

add unbound stuff


# 1.163 14-Aug-2016 jakllsch

tests for sys/dev/clock_subr.c


Revision tags: pgoyette-localcount-20160806
# 1.162 31-Jul-2016 pgoyette

Add rump.fssconfig to sets lists


# 1.161 30-Jul-2016 njoly

New getsockname(2) testcase for UNIX domain sockets.


Revision tags: pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.160 02-Jul-2016 christos

branches: 1.160.2;
fix sets


# 1.159 01-Jul-2016 christos

cgdconfig is no crypto.


# 1.158 01-Jul-2016 christos

Add hmac(3)


# 1.157 29-Jun-2016 christos

fix sets for MKCRYPTO=no


# 1.156 05-Jun-2016 christos

Add libubsan


# 1.155 04-Jun-2016 nonaka

nvmectl(8): Added NVM Express control utility.

Ported from FreeBSD nvmecontrol(8).


# 1.154 01-Jun-2016 joerg

The way libasan is hooked into the build make it a GCC-only library.


# 1.153 01-Jun-2016 christos

put back asan


# 1.152 15-Apr-2016 ozaki-r

Rump-ify if_pppoe

From s-yamaguchi@IIJ


# 1.151 10-Apr-2016 kamil

Mark ./usr/libdata/debug/usr/bin/pcpp.debug as obsolete

pcpp.debug is already in ./usr/libdata/debug/usr/libexec/

This fixes build with MKPCC=yes and all debug flags turned on.


# 1.150 10-Apr-2016 kamil

Remove duplicate entry of /usr/libdata/debug/usr/bin/p++.debug

I don't have p++.debug locally so assume that it's properly set for the
first time as obsoleted.


# 1.149 09-Apr-2016 martin

Add t_pslist.debug


# 1.148 06-Apr-2016 christos

Add wait tests.


# 1.147 18-Mar-2016 christos

kill more mudflap for gcc-5.3


# 1.146 16-Mar-2016 mrg

GCC 5.3 sets (just for i386 so far)


# 1.145 23-Feb-2016 wiz

Add libc++ to two debug sets.


# 1.144 21-Feb-2016 christos

ctf stuff belongs to ctf not to the dtrace set


# 1.143 09-Feb-2016 plunky

add pcpp binary, now in pcc-20160208. Also, p++ in debug set


# 1.142 25-Jan-2016 christos

add t_hypot


# 1.141 24-Jan-2016 christos

sets for cvslatest.


# 1.140 05-Jan-2016 jakllsch

Add some tests for the kernel HID parser.


# 1.139 01-Jan-2016 jakllsch

tests for libusbhid (many of which fail)


# 1.138 18-Dec-2015 christos

add sortinfo


# 1.137 12-Dec-2015 christos

Add ip6addrctl


# 1.136 22-Nov-2015 kamil

Plug-in libpanel(3): Z-order for curses windows


# 1.135 18-Nov-2015 christos

Add new db test.


# 1.134 11-Nov-2015 ozaki-r

Introduce rump.rtadvd

It is used to write ATF tests for RA.

From s-yamaguchi@IIJ.


# 1.133 08-Nov-2015 christos

Some of the puffs mount programs don't need RUMP, re-enable them.


# 1.132 04-Nov-2015 knakahara

if_gif supports rump now.


# 1.131 25-Sep-2015 martin

More conditional dance for librtld_db


# 1.130 25-Sep-2015 martin

Try to fix set lists for libproc and librtld_db. The latter is probably
wrong and needs to be redone with COMPATARCHDIRS magic, but I can't
find any documentation how to do it. Matt?


# 1.129 24-Sep-2015 christos

update for libproc/librtld_db/dtrace changes


# 1.128 23-Aug-2015 mrg

move the obsolete list files into their respective sets. this means
that if you install a new set and run "postinstall fix obsolete"
the expected things happen.

(hi 12.5 year old me who thought base was better than etc set, which
it really was, but this is better again :-)


# 1.127 17-Aug-2015 knakahara

Add intrctl(8).


# 1.126 10-Aug-2015 mrg

now that we only support gcc 4.8, make all the gcc tags just "gcc".
this should help with next-gcc, when we can add back gcc=48 and
gcc=5x tags, as necessary.


# 1.125 10-Aug-2015 mrg

obsolete and clean up gcc=3 (3.3), gcc=4 (4.1), and gcc=45 (4.5) sets.


# 1.124 06-Aug-2015 ozaki-r

Introduce rump.ping6

We use ping6 frequently in ATF tests so let's have rump-ified one.


# 1.123 03-Aug-2015 ozaki-r

Introduce rump.ndp

ndp(8) uses RTM that requires that getpid(2) works correctly. Unfortunately
supporting getpid(2) in librumphijack will be tricky so that we rump-ify
ndp(8) as well as arp(8).


# 1.122 29-Jul-2015 ozaki-r

Introduce rump.arp

arp(8) uses RTM that requires that getpid(2) works correctly. Unfortunately
supporting getpid(2) in librumphijack will be tricky so that we rump-ify
arp(8) as well as ifconfig and route commands.

Suggested by pooka@.


# 1.121 27-Jun-2015 matt

p++ is a symlink so it won't have a .debug


# 1.120 27-Jun-2015 matt

Fix various missing or incorrect keywords.


# 1.119 25-Jun-2015 matt

More compat changes. Add compat dirs to each set.


# 1.118 22-Jun-2015 christos

add new db test


# 1.117 22-Jun-2015 matt

Update some of the set lists to use the compatdir/compatfile
compattestsdir/compattestsfile as well the kmod auto-entry creation.
Remove entries that are now instantiated by the above.


# 1.116 29-May-2015 pooka

game of setlists for rumpnet_tap


# 1.115 26-May-2015 htodd

Fix debug build.


# 1.114 26-May-2015 ozaki-r

Run mcast tests on rump kernels

The tests on anita qemus failed due to that the host network environment
didn't meet the tests.

The change makes the tests independent from host environments
and the tests will pass on any environments including anita qemus.

Discussed on tech-kern and tech-net.


# 1.113 01-May-2015 christos

- new test for strtoi
- namespace protection for strto{i,u}
- separate manpages for strto{i,u} from the ones for strto{u,}l
From: Kamil Rytarowski


# 1.112 17-Apr-2015 pgoyette

And mark the original httpd.debug as obsolete.

Hello, mrg ...


# 1.111 17-Apr-2015 pgoyette

Add missing debug entry for bozohttpd


# 1.110 09-Apr-2015 christos

add new test


# 1.109 05-Apr-2015 martin

Add new bind(2) test program


# 1.108 03-Mar-2015 martin

sort


# 1.107 03-Mar-2015 martin

Add pwait


# 1.106 31-Jan-2015 christos

PR/49617: Kirk Russell: new posix_fallocate test


# 1.105 26-Jan-2015 christos

lto is only for pic


# 1.104 25-Jan-2015 christos

stuff added by blacklist


# 1.103 14-Jan-2015 christos

add vnode kqueue test from PR/48958


# 1.102 07-Jan-2015 pooka

+rumpkern_sysproxy to setlists


# 1.101 07-Jan-2015 christos

add lto


# 1.100 06-Jan-2015 mrg

fix MKGCC=no builds.


# 1.99 05-Jan-2015 christos

add in_cksum tests


# 1.98 30-Dec-2014 mrg

install midirecord.


# 1.97 21-Dec-2014 martin

Debug info for new test program


# 1.96 08-Dec-2014 ozaki-r

Add basic tests for ifconf (SIOCGIFCONF)


# 1.95 04-Dec-2014 htodd

Fix debug build.


# 1.94 02-Dec-2014 christos

add new address printing tests.


# 1.93 19-Nov-2014 pooka

On second thought, let's not build the rump kernel component for ac97
by default. The component is not used on a NetBSD target anyway.


# 1.92 18-Nov-2014 pooka

appeased the mighty setlist gods by telling them what they should know


# 1.91 24-Oct-2014 christos

gcc=48 has asan.


# 1.90 22-Oct-2014 christos

Add libasan


# 1.89 20-Oct-2014 christos

t_mcast is not a rump test (but should be).


# 1.88 16-Oct-2014 htodd

Add ./usr/libdata/debug/usr/tests/lib/libc/stdio/t_open_memstream.debug.


# 1.87 13-Oct-2014 htodd

Add debug file for t_mcast.


# 1.86 12-Sep-2014 roy

Remove more rtsol references.


# 1.85 25-Aug-2014 joerg

Add basic support for indirect functions. It allows providing a public
function symbol with an implementation choosen at run time.
Refactor calls to functions by address in ld.elf_so to create temporary
function descriptors on the stack, if the address is not leaked outside.

Limitations:
- no support for initialising static storage with function pointers
- no support for unnamed resolver functions

Inspired by FreeBSD's r228435 by kib@freebsd.org.


# 1.84 25-Aug-2014 pooka

Remove and obsolete rumpkern_time as a separate component.


# 1.83 22-Aug-2014 apb

sort


# 1.82 14-Aug-2014 riastradh

Add tar.debug and cpio.debug to lists for MKBSDTAR=yes MKDEBUG=yes.


Revision tags: netbsd-7-base tls-maxphys-base
# 1.81 09-Aug-2014 apb

branches: 1.81.2;
Mark gkermit files "obsolete", don't remove then from the set lists.


Revision tags: tls-earlyentropy-base
# 1.80 09-Aug-2014 gson

Test that reading a CTLTYPE_INT sysctl variable into a buffer that is
too small returns ENOMEM, and that reading it into a buffer that is
large enough returns the expected sizeof(int) bytes of data.


# 1.79 08-Aug-2014 apb

Add ekermit.debug.


# 1.78 08-Aug-2014 apb

Unhook gkermit from the build.
It is being replaced by the BSD-licenced ekermit, as proposed
on tech-userlevel on 7 Aug 2014.


# 1.77 01-Aug-2014 christos

add timeout(1)


# 1.76 27-Jul-2014 martin

Add usr/sbin/sysinst


# 1.75 24-Jul-2014 plunky

add p++, and move it and cxxcom to comp-cxx-bin


# 1.74 24-Jul-2014 plunky

add PCC libexec/cxxcom


# 1.73 18-Jul-2014 christos

Add t_minherit.


# 1.72 17-Jul-2014 prlw1

Update lists after adding support for vnd to rump (report from hannken@)


# 1.71 09-Jul-2014 alnsn

Add t_cop and t_extmem kernel bpfjit tests to the build.


# 1.70 08-Jul-2014 alnsn

Add t_mbuf tests to the build.


# 1.69 08-Jul-2014 martin

Try to fix debug and debuglib setlists for the bind import


# 1.68 07-Jul-2014 alnsn

Add bpf/t_mbuf test to the build.


# 1.67 06-Jul-2014 tron

Update set lists for Postfix 2.11.1.


# 1.66 02-Jul-2014 alnsn

Move t_bpfjit.debug entries back to mi and add "sljit" tag to them.


# 1.65 02-Jul-2014 htodd

Move t_bpfjit.debug to md lists.


# 1.64 01-Jul-2014 htodd

Fix build for debug with bpfjit.


# 1.63 25-Jun-2014 alnsn

Add new libbpfjit tests.


# 1.62 23-Jun-2014 shm

Add bm(3) tests


# 1.61 16-Jun-2014 joerg

Add modfl(3). From FreeBSD.


Revision tags: yamt-pagecache-base9
# 1.60 29-Apr-2014 uebayasi

Minimal execve(2) ATF test.


# 1.59 24-Apr-2014 pooka

scsitest is a SCSI target emulator used by one test, and has little
reason to get installed. Make the component private to the test using
it and obsolete the installed one.

IOW, rename sys/rump/dev/lib/libscsitest -> tests/dev/scsipi/libscsitest


# 1.58 16-Apr-2014 htodd

Add getaddrinfo.debug to lists.


# 1.57 13-Apr-2014 skrll

The ctf tools are controlled by MKCTF now. Mark the debug files
accordingly.


# 1.56 10-Apr-2014 pooka

add aio driver as rump kernel component


# 1.55 06-Apr-2014 christos

add stp*cpy tests.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.54 01-Apr-2014 christos

branches: 1.54.2;
add kvno


Revision tags: riastradh-drm2-base3
# 1.53 14-Mar-2014 pooka

+ rumpkern_time


# 1.52 08-Feb-2014 jmmv

Update file lists for atf 0.19.

This has been tested with both MKKYUA=no (the default) and MKKYUA=yes, as
well as with a non-clean tree and a clean build. Hopefully I got the
details right... but they were tricky!


# 1.51 30-Jan-2014 joerg

Add test for uint64 to real long double conversion.


# 1.50 20-Jan-2014 christos

fix typo


# 1.49 17-Jan-2014 pgoyette

Update sets lists for new h_sha1hmac test program.


# 1.48 15-Jan-2014 pgoyette

Add debug entries for new opencrypto tests


# 1.47 14-Jan-2014 pgoyette

Update sets lists for new rump opencrypto library


# 1.46 06-Jan-2014 gson

Make t_hostent test cases that query the DNS work on systems with no
Internet connectivity, by hijacking DNS queries and /etc/resolv.conf
accesses using librumphijack and providing a minimal DNS server to
answer the queries.


# 1.45 28-Dec-2013 rjs

Only build shmif_dumpbus when rump is available.


# 1.44 25-Dec-2013 christos

add smbutil


# 1.43 16-Nov-2013 alnsn

Build and install sljit and bpfjit rump components iff ${MKSLJIT} != "no".


# 1.42 16-Nov-2013 rmind

Build rumpkern_sljit and rumpnet_bpfjit; include them into the sets.


# 1.41 12-Nov-2013 htodd

Add debug file for hals_end.


# 1.40 12-Nov-2013 joerg

Initial version of fmodl from FreeBSD.
Basic test case for the fmod family.


# 1.39 11-Nov-2013 joerg

NetBSD 6.99.26: Switch i386 and amd64 to the x87 default control word
as initial value for new processes. This means that long double
computations get the expected 63bit mantissa. Binaries tagged as
compiled for 6.99.25 and older get the old value.

Add a simple test case to ensure that double and long double computation
are working correctly.


# 1.38 02-Nov-2013 christos

Fix debuglib entries


# 1.37 01-Nov-2013 mrg

add support for GCC 4.8 sets.


# 1.36 28-Oct-2013 htodd

Adding luactl.debug to lists to fix debug build.


# 1.35 27-Oct-2013 apb

sort


# 1.34 12-Oct-2013 christos

add new t_tcp test


# 1.33 10-Oct-2013 christos

fix missing files


# 1.32 03-Sep-2013 htodd

Fix debug build by adding cgram.debug.


# 1.31 16-Aug-2013 christos

new hostent related tests.


# 1.30 14-Aug-2013 pooka

Separate inet and inet6, allows inet6-only rump kernels.


# 1.29 11-Aug-2013 joerg

Sort entries in strcmp order.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.28 18-Jul-2013 matt

Make the shared library related tests dependent on pic


Revision tags: riastradh-drm2-base
# 1.27 05-Jul-2013 njoly

branches: 1.27.2;
+ clang-tblgen.debug, clang.debug, llvm-tblgen.debug


# 1.26 03-Jul-2013 nakayama

Enable tests which does not require rump if MKRUMP=no.
Pointed out by christos on source-changes-d.


# 1.25 02-Jul-2013 nakayama

rump is required for tests under tests/net/net.


# 1.24 27-Jun-2013 christos

add pktinfo tests


# 1.23 28-May-2013 joerg

Add mbsnrtowcs and wcsnrtombs. Approved by core.


# 1.22 08-May-2013 christos

atf fixes, whitespace, sorting


# 1.21 28-Apr-2013 joerg

Introduce MKLIBSTDCXX, defaulting to yes.


# 1.20 22-Apr-2013 christos

new t_mktemp


# 1.19 18-Apr-2013 rjs

Fix build when MKDEBUG=yes and MKRUMP=no.


# 1.18 11-Apr-2013 christos

libevent sets


# 1.17 28-Mar-2013 christos

new test


Revision tags: agc-symver-base
# 1.16 21-Mar-2013 christos

new dlopen tests for libpthread.


# 1.15 12-Mar-2013 njoly

Add missing .debug extension.


# 1.14 08-Mar-2013 martin

Adapt to renamed test program


# 1.13 08-Mar-2013 martin

Add new test program t_sigtimedwait_pr_47625.


# 1.12 28-Feb-2013 christos

Locale I/O tests.


# 1.11 28-Feb-2013 martin

Add new testprogram


# 1.10 26-Feb-2013 christos

add a new rpc test


# 1.9 25-Feb-2013 jmmv

Update file lists to reflect the import of kyua-atf-compat, which has the
side-effect of marking several atf-related entries as obsolete (when
MKKYUA!=no).


# 1.8 23-Feb-2013 jmmv

branches: 1.8.4;
Register directories and files provided by kyua-cli.


# 1.7 19-Feb-2013 jmmv

Enable the build of kyua-testers and register its files and directories.
This is conditional on MKKYUA.


# 1.6 16-Feb-2013 jmmv

Hook Lutok into the build. This is all protected by the MKKYUA guard.


# 1.5 15-Feb-2013 jmmv

Fix debug entries after the import of atf 0.17.


Revision tags: yamt-pagecache-base8
# 1.4 17-Jan-2013 christos

branches: 1.4.2;
the set files themselves should not be conditional to anything so that
they are always generated.


# 1.3 17-Jan-2013 christos

add the set files themselves


# 1.2 16-Jan-2013 christos

- add xdebug set
- document debug better
- fix previous debug fallout.


# 1.1 16-Jan-2013 christos

Add a new "debug" set that gets built when ${MKDEBUG} is set. On evbarm:
-rw-r--r-- 1 root src 35806068 Jan 16 10:47 base.tgz
-rw-r--r-- 1 root src 57374069 Jan 16 10:48 comp.tgz
-rw-r--r-- 1 root src 101286193 Jan 16 10:49 debug.tgz
...
This allows always building the debugging code and libraries but not
installing it (although now it is placed in the default sets if ${MKDEBUG}
is set


# 1.491 23-Nov-2025 riastradh

ld.elf_so(1): Test concurrent dlopen/dlclose.

PR lib/59751: dlclose is not MT-safe depending on the libraries
unloaded


# 1.490 21-Oct-2025 pgoyette

Add .debug versions of new tests


# 1.489 13-Oct-2025 kre

add entries for new tests/fs/lfs/t_{basic,orphan}


# 1.488 10-Oct-2025 christos

Commit GSoC 2025 aio project by Ethan Miller:
https://blog.netbsd.org/tnf/entry/gsoc2025_asynchronous_i_o_framework


# 1.487 06-Oct-2025 riastradh

libpthread: Test pthread stubs in threaded vs non-threaded programs.

PR lib/59685: libcrypto should not depend on libpthread


# 1.486 15-Sep-2025 riastradh

ctype(3): New environment variable LIBC_ALLOWCTYPEABUSE.

If set, this does not force the ctype(3) functions to crash when
passed invalid inputs -- instead, they will return nonsense results,
and possibly print warnings to stderr, as is their right in
implementing undefined behaviour.

The nature of the nonsense results is unspecified. Currently, is*()
will always return true (even if that leads to mutually contradictory
conclusions, like isalpha and isdigit, or isgraph and isblank), and
tolower/toupper() will always return EOF. But perhaps in the future
the results may be randomized.

This way, if an application like firefox crashes on ctype abuse, you
can opt to accept the consequences of nonsense results instead by
running `env LIBC_ALLOWCTYPEABUSE= firefox' until the application is
fixed.

PR lib/58208: ctype(3) provides poor runtime feedback of abuse


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
# 1.485 17-Jul-2025 kre

branches: 1.485.2;
ATF test additions for O_CLOFORK.

These are Ricardo Branco's ATF test modifications for O_CLOFORK
& SOCK_CLOFORK (with some FD_CLOFORK included).

These have all been made able to be built & run in an environment
where O_CLOFORK (etc) are not yet visible to userland.


# 1.484 25-May-2025 martin

PR 59441: fix some annotations so MKDEBUGLIB=yes but MKDEBUG=no
builds work.


# 1.483 02-May-2025 riastradh

lib/csu: Test a static PIE with RELR relocations.

PR bin/59360: ld.elf_so(8): missing RELR support


# 1.482 02-May-2025 rillig

tests/strpct: demonstrate rounding errors


# 1.481 02-May-2025 riastradh

ld.elf_so: Add a trivial test for R_*_RELATIVE relocations.

PR bin/59360: ld.elf_so(8): missing RELR support


# 1.480 27-Apr-2025 martin

Fix names of new CSU tests


# 1.479 27-Apr-2025 riastradh

lib/csu: Add tests of {static, dynamic} x {pie, non-pie}.

Main goal here is to test static pies, but let's take advantage of
this to test the same code several ways, since the csu logic has some
differences for static vs dynamic builds too like the ordering of
_libc_init calls.

PR lib/59359: static pies are broken


# 1.478 22-Apr-2025 nia

Add basic tests for timespec_get(3), timespec_getres(3)

PR standards/58608


# 1.477 20-Apr-2025 riastradh

Test stack pointer alignment in various scenarios.

1. elf entry point
2. main function
3. signal handler

Extend the test to amd64 while here -- fortunately both aarch64 and
amd64 pass, but others, such as mips, will fail:

PR kern/59327: user stack pointer is not aligned properly

This extends the test that was previously written for:

PR kern/58149: aarch64: Cannot return from a signal handler if SP was
misaligned when the signal arrived

With any luck, this will help us to systematically eradicate misaligned
stack pointers as hypothesized to be the reason for:

PR port-mips/59236: Multiple segfaults in erlite3 boot


# 1.476 16-Apr-2025 riastradh

t_rtld_r_debug: Test this as a non-PIE executable too.

On MIPS, non-PIEs can use DT_MIPS_RLD_MAP or DT_MIPS_RLD_MAP_REL,
while PIEs can't use DT_MIPS_RLD_MAP because it relies on an absolute
virtual address baked into the file. So it's important to test both.

PR port-mips/59296: t_rtld_r_debug test is failing


# 1.475 10-Apr-2025 pgoyette

Fix sets-list for MKDEBUG build


# 1.474 09-Apr-2025 christos

updates for new OpenSSH


# 1.473 05-Apr-2025 riastradh

t_compat_cancel: Update set lists.

PR lib/59240: POSIX.1-2024: cancellation point audit
PR lib/59247: pthread_cancelstub.c is inadequately tested


# 1.472 01-Apr-2025 riastradh

stddef.h: New nullptr_t, unreachable().

Define __STDC_VERSION_STDDEF_H__ while here.

Order content according to standard, and quote the relevant clauses,
to make it easier to audit.

PR standards/58605: C23: __STDC_*_H__ versions
PR standards/58620: C23: <stddef.h> unreachable() macro
PR standards/58621: C23: <stddef.h> nullptr_t


# 1.471 31-Mar-2025 riastradh

pthread_cancel(3): Add some automatic tests.

PR lib/59240: POSIX.1-2024: cancellation point audit
PR lib/59134: POSIX-1.2024: pthread_setcancelstate must be
async-signal-safe


# 1.470 28-Mar-2025 riastradh

t_ctype: New test for ctype(3) functions/macros.

PR lib/58208: ctype(3) provides poor runtime feedback of abuse


# 1.469 13-Mar-2025 riastradh

execve(2), posix_spawn(2): Add test case for an embarrassing bug.

PR kern/58091: after fork/execve or posix_spawn, parent kill(child,
SIGTERM) has race condition making it unreliable


# 1.468 11-Mar-2025 brad

A driver and userland utility for a couple of families of the
Microchip Technology / SMSC fan controller chips.

The driver and utility supports the:

o EMC2101 and EMC2101-R
o EMC2103-1, EMC2102-2 and EMC2103-4
o EMC2104
o EMC2106
o EMC2301
o EMC2302
o EMC2303
o EMC2305

The EMC210X family supports 1 or 2 fans with tachometer. Depending on
the chip, it may support 2 additional fans without tach and might
support a high side attachment (i.e. a fan, usually 5v, driven
directly from the chip and not PWM or DAC). All versions of EMC210X
support internal temperature measurements, and depending on the chip,
may support up to 5 additional temperature zones. The tachometers and
temperature measurements are provided to the system via the envsys(4)
framework. Some chip types support GPIO pins and support is provided
via the gpio(4) framework.

The EMC230X family supports 1, 2, 3 or 5 fans with the same number of
tachometers. No temperature zone or GPIO support. The tachometers
are provided to the system via the envsys(4) framework. The fan
support can be provided by PWM signaling or DAC.

The two chip families mostly do PWM signaling for the fan speed, but a
number of them support DAC output, a 0 to 3v or so voltage. When the
chip supports external temperature zones, this is done usually by a
bipolar NPN or PNP transister configured as a diode, but some of the
chip varients support thermistors.

The emcfan(4) kernel driver provides a simple read / write / seek
device in /dev/ to the register set in the chip. The heavy lifting is
done in the userland utility emcfanctl(8) which provides the ability
to read and write to any valid register and provides some basic higher
level commands to control fan behavior. The output is simple text
lines, or JSON.

The kernel driver does not reset or other mess with the chip, aside
from reading registers. It is entirely possible that something else
in any particular system is the major manager of the fan controller
and it would not do for the kernel driver to mess too much with the
attached device. All interactions are intentional via the userland
utility.

It is known that a EMC2301 is present on the Raspberry PI 4 Compute IO
module (not to be confused with the Raspberry PI 4 Compute module
itself) and there is a breakout board from Adafruit with a EMC2101 on
it. The chips themselves are pretty inexpensive from Mouser or
Digi-key and can be soldered using the simpler SMD soldering
techniques. A number of the variants are QFN packages, but the pads
are exposed to the side of the chip. No other external components are
required to use these fan controllers.


# 1.467 02-Mar-2025 riastradh

libc: New _r variants of heapsort, mergesort, qsort.

Also kheapsort_r for kernel/standalone use.

These variants allow the caller to pass a cookie through to the
comparison function, e.g. if you want to sort an array of indices
into a buffer.

qsort_r is new in POSIX.1-2024; the others are obvious analogues of
our nonstandard extensions for heapsort and mergesort.

PR lib/58931: qsort_r() missing


# 1.466 27-Feb-2025 riastradh

Test whether exec/spawn will zero registers.

Currently implemented only for a handful of architectures; should
extend this to all the others, and extend as appropriate if we find
more register content is worth testing (like maybe vector registers,
but they are managed differently anyway and less likely to leak).

VAX test contributed (and tested) by Kalvis Duckmanton, with some
tweaks by me; the others written and tested by me. IA64 skipped,
even though I suspect it _would_ leak if the kernel code ran as is,
because I have no way to test it.

PR kern/59084: exec/spawn leaks register content


# 1.465 24-Feb-2025 martin

Provide a new attribute, efi_rt, derived from HAVE_EFI_RT, and use
that to mark sbin/efi.


# 1.464 24-Feb-2025 christos

new efi program


# 1.463 27-Jan-2025 christos

Add getnameinfo files


# 1.462 26-Jan-2025 kre

Correct a minor typo. s/sandboc/sandbox/


# 1.461 26-Jan-2025 christos

sets changes for new bind-9.


# 1.460 23-Jan-2025 christos

add new test


# 1.459 02-Jan-2025 kre

Fix build after recent regex tests addition (make it be an addition, and
don't forget tests/libtre)


# 1.458 01-Jan-2025 christos

new regex test.


# 1.457 22-Dec-2024 riastradh

t_time_arith: New test for timer calculations.

This will facilitate fixing various problems in the arithmetic to
determine, given an itimer's scheduled time (it_value) and periodic
interval (it_interval) along with the current time of actual expiry
(now), what time the itimer should be rescheduled for (next, new
value of it_timer) on the same clock.

Later we can also put tests for other functions like tvtohz here, and
make them test many different values of hz/tick.

XXX Not 100% sure about all of these cases -- there is some room for
reasonable discussion about what the right answer is. But we have
unquestionably implemented the wrong thing for many of these cases,
even if the answers this test checks for may not be quite right yet.

PR kern/58922: itimer(9): arithmetic overflow
PR kern/58925: itimer(9) responds erratically to clock wound back
PR kern/58926: itimer(9) integer overflow in overrun counting
PR kern/58927: itimer(9): overrun accounting is broken


# 1.456 17-Dec-2024 christos

add a PT_KILL test.


# 1.455 16-Dec-2024 brad

A driver for the MCP-2221 / 2221A multi-io chip. This is a USB to
UART / GPIO / I2C multi-io chip probably based upon a programmed PIC.
The end result is that simple gpio and i2c can exist on any system
that provides a USB port. This is everything from a RPI to a
Virtualbox VM.


o The UART presents itself as a umodem(4) device and pretty much works
as one would expect.

o There are 4 simple GPIO pins with multiple functions that attach to
gpio(4). Support for basic GPIO input and output exists with gpioctl,
the ADC, DAC and clock pulse functions exist as ALT functions. For
the ADC and DAC /dev/ devices are provided such that simple reads and
writes interact with the ADC and DAC. The IRQ function on pin GP1 and
bit banging the GPIO with gpiopps(4) and gpioow(4) are not really
supported. The short answer is that a spin lock is held while trying
to do USB transfers and that isn't allowed.

o There is a simple I2C engine that attaches to iic(4). This mostly
works as expected, except that a READ without STOP is not supported by
the engine which causes problems for some drivers. Most drivers do
not seem to use READ without STOP and seem to work as expected.
Support for changing the I2C speed is not supported, but nothing much
really does that.

o A userland utility called umcpmioctl(8) is provided that allows the
query of the status of the chip and allows for the query of the flash
memory and the setting of some of the flash memory parameters mostly
related to gpio. This utility interacts with a control device in
/dev/. The flash memory contents is copied to the sram on boot up of
the chip and can be used to adjust how the chip sets up the gpio pins,
among other things. Support for setting or entering the chip password
is not provided.

o A number of sysctls are provided to mess with various settings.
These are detailed in the man page.


While not perfect, the chip is reasonable, cheap, and has at least one
vendor making a breakout board. It is also one of the only ones in
this space that has enough documentation to write a driver.

Support for a related chip, the MCP-2210, which provides SPI and GPIO
may exist some day as the programming interface is very simular.


# 1.454 10-Nov-2024 riastradh

tests/kernel/t_cloexec: New tests for close-on-exec.

Verified that the following tests fail on a netbsd-10 kernel:

- clonedev_posixspawn
- dup3_posixspawn
- fcntldupfd_posixspawn

PR kern/58822: close-on-exec is broken for dup3 and opening cloning
devices


# 1.453 02-Nov-2024 christos

make zstd a private library (for now)


# 1.452 30-Oct-2024 christos

Hook zstd to the build and enable it for libarchive and file.


# 1.451 09-Oct-2024 kre

Add a test for clock_nanotime() [ PR kern/58733 ]

Add a t_nanosleep test to the kernel tests, to (to a limited extent)
validate its functionality.

Initially this concentrates on the issue from PR kern/58733
where if a process paused in nanosleep() is stopped, and then
continued, and if it is using TIMER_ABSTIME, the call will
return prematurely, but indicating success.

There are (currently) 4 test cases, to test all 4 possibilities
using CLOCK_MONOTONIC and CLOCK_REALTIME (if someone wants to
add any other clocks that make sense, that should be easy) and
TIMER_ABSTIME and TIMER_RELTIME.

Currently both TIMER_ABSTIME tests fail (the TIMER_RELTIME
tests pass). When the kernel bug is fixed, the ABSTIME
tests should be fixed along with it.

These tests are currently somewhat crude, and I'm not sure
how well they will work on a qemu test system (they work as
expected on bare metal).


# 1.450 03-Oct-2024 christos

new semtimedop(2) GSoC 2024 (Shivraj Jamgade)


# 1.449 19-Sep-2024 gdt

tests: Add test for remquo

This test currently fails, because remquo has bugs. (A bugfix will be
committed soon.) Test vectors derived from results from code by
Charles Karney in GeodesicLib/proj, and manually inspected.


# 1.448 09-Sep-2024 riastradh

math.h: Add math_errhandling, MATH_ERRNO, MATH_ERREXCEPT.

XXX Should maybe put a __math_errhandling in machine/math.h, but only
VAX uses MATH_ERRNO and that's not likely to change any time soon, so
this will serve for now with less churn.

PR standards/56234: missing C99 frobs in <math.h>


# 1.447 02-Sep-2024 ozaki-r

distrib, etc: install shmif_pcapin and its tests


# 1.446 27-Aug-2024 riastradh

arc4random(3): Add automatic tests.

This verifies that:
- arc4random zeroes its state and reseeds itself on fork
- arc4random reseeds itself on entropy consolidation (e.g., VM clone)
- arc4random falls back to global state if it can't allocate local
state because address space limits cause mmap to fail

NOTE: This adds a new libc symbol __arc4random_global, but it's in
the reserved namespace and only used by t_arc4random, so no libc
minor bump.

PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork


# 1.445 18-Aug-2024 rin

sets/lists: Make gdbserver MI by using MKGDBSERVER


# 1.444 15-Aug-2024 riastradh

libc: New functions c8rtomb(3) and mbrtoc8(3).

New in C23, for converting from UTF-8 to locale-dependent multibyte
sequences (c8rtomb) or vice versa (mbrtoc8), along with the new type
char8_t.

Conditional on either:
- _NETBSD_SOURCE
- _ISOC23_SOURCE
- __STDC_VERSION__ >= 202311L

(Riding the libc minor bump from this morning for the UTF-16/UTF-32
versions from C11.)

PR standards/58601: uchar.h C23 compliance: char8_t, mbrtoc8, c8rtomb


# 1.443 15-Aug-2024 riastradh

libc: New C11 functions mbrtoc16, mbrtoc32, c16rtomb, c32rtomb.

The mbrtoc16/32 functions read mulitbyte strings according to the
current locale into UTF-16/32 code unit sequences; the c16/32rtomb
functions write UTF-16/32 code unit sequences into multibyte strings
according to the current locale. The `r' means restartable: they
work incrementally and pick up where they left off.

NOTE: This bumps the libc minor version, since it adds new symbols.

PR lib/52374: <uchar.h> missing


# 1.442 15-Aug-2024 riastradh

uchar.h: New header file for C11 (and C++11) compliance.

Implementation of the new functions mbrtoc16, c16rtomb, mbrtoc32, and
c32rtomb to come later. Updates for C23 to come later.

PR lib/52374: <uchar.h> missing


# 1.441 09-Aug-2024 bad

add tests/kernel/t_umount.c: test case for unmount(2)

demonstrate that failing to umount and async mounted file system causes the
kernel syncer to start flushing dirty buffers for it.

PR kern/58564: async mounts revert to being synced after failed unmount


# 1.440 11-Jul-2024 riastradh

Revert the duplication of compat set lists; do it another way.

1. Restore the compatdir and compatfile tags in base and debug.

=> compatdir marks directories that should have per-ABI compat
subdirectories, like /usr/lib having /usr/lib/o32 and
/usr/lib/64 on mips64.

=> compatfile marks files that have per-ABI versions in the
nearest compatdir, like /usr/lib/o32/libc.so.12.221.

This is the mechanism we use to avoid duplicating every library
that has a compat version in multiple set lists.

2. Teach sets.subr to split the compatdir and compatfile entries out
into separate sets for base and debug.

The mechanism is to internally use:

- a new tag `omitcompat' when processing base and debug, so we
don't generate the per-ABI compat directories or per-ABI compat
files under them;

- a new tag `takecompat=${ABI}' when processing base32/64 and
debug32/64, so we _do_ generate the per-ABI compat directories
for ${ABI}.

=> On, e.g., mips64, base32 uses `takecompat=o32' and base64
uses `takecompat=64'.

=> On, e.g., aarch64, base32 uses
`takecompat=eabi,takecompat=eabihf', and there is no base64.

3. Record in sets.subr the list of `32' and `64' architectures for
each port.

This is maybe not the right place to put it, but it's also not
clear that we want to keep exactly this division -- maybe it would
be more sensible to just have per-ABI , e.g.:

(aarch64) base-eabi, base-eabihf
(amd64) base-i386
(mips64) base-o32, base-64
(mipsn64) base-o32, base-n32

But I'll leave cleaning that up for another day.

4. Adjust some sets. Mostly this commit shouldn't change what file
go in what sets, but, e.g., on mips64, the following move from
base32 to base64 as part of this change, which I think is
appropriate:

- /lib/64
- /libexec/ld.elf_so-64
- /usr/lib/64
- /usr/libdata/debug/lib/64
- /usr/libdata/debug/usr/lib/64
- /usr/libexec/ld.elf_so-64

TBD: Remove ./lib and ./usr/lib from debug/mi; they're already in
base/mi. Maybe move ./usr/libdata/debug to from base/mi to debug/mi.

This reverts most of the set list changes in:

https://mail-index.netbsd.org/source-changes/2024/04/09/msg150763.html

PR misc/58365


# 1.439 09-Jul-2024 christos

Add missing d


# 1.438 08-Jul-2024 christos

bump libssh, add sshd-session


# 1.437 07-Jul-2024 riastradh

t_ifunc: Test with all combinations of {relro, bindnow}.

PR lib/57792


# 1.436 01-Jul-2024 mrg

GCC sanitizers: only build the sanitizers if $MKGCCCMDS != "no".

there's a minor use-case for the configuration of "building sanitizers
for distribution, but not the compiler", but it's pretty uncommon, and
the latest sanitizers don't build at all on m68000 so enhance the
option to not build /usr/bin/gcc (which simply can't modern GCC on a
sun2) to not build the sanitizers either.

(if we were to split these, MKGCCSANITIZER would be good variable.)

update set lists for far too many files, including fixing MKDEBUG for
a couple of builds.


Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
# 1.435 05-May-2024 riastradh

branches: 1.435.2;
tests/lib/libm: Test nextafter/nexttoward and variants.

The tests are fairly trivial but should work without any conditionals
about floating-point formats.


# 1.434 28-Apr-2024 rillig

tests/cd9660: add debug info to the file list


# 1.433 28-Apr-2024 riastradh

libstdc++: Add test for PR lib/58206, sync_with_stdio busted.


# 1.432 23-Apr-2024 martin

Add new test program


# 1.431 09-Apr-2024 nia

Add new sets: base32, debug32, manhtml

- base32 contains (when MKCOMPAT=yes) shared libraries for 32-bit
compatibility, previously included in base

- debug32 contains (when MKCOMPAT=yes) debug symbols and static libraries
containing debug symbols for 32-bit compatiblity, previously included
in debug

- manhtml contains (when MKHTML=yes) the HTML files previously included
in 'man', which are of limited utility without third-party software.

The motivation for this change is to be able to easily exclude sets
from CD-ROM images that go over the size limit without xz compression
(which many NetBSD platforms struggle to extract at acceptable speeds).


# 1.430 15-Mar-2024 riastradh

libcrypto: Add some trivial tests for truncated SHA-512 variants.

These should use more of the test vectors from

https://csrc.nist.gov/Projects/Cryptographic-Algorithm-Validation-Program/Secure-Hashing#Testing

but this will do for now to detect the buffer overrun rake we left
lying around for ourselves.

PR lib/58039


# 1.429 22-Feb-2024 christos

new tool


# 1.428 22-Feb-2024 christos

add new bind tools


# 1.427 21-Feb-2024 christos

changes for new bind.
XXX: removing lint libraries where lint does not work anymore is temporary.


# 1.426 20-Feb-2024 christos

fix debug sets for sun2 (libgcc_s_g.a and libgcc_eh_g.a should be in shl.mi)


# 1.425 19-Feb-2024 riastradh

longjmp(3): Add test for PR lib/57946.


# 1.424 24-Nov-2023 riastradh

pthread: Add tests for pthread user stack allocation.

PR lib/57721

XXX pullup-10
XXX pullup-9
XXX pullup-8


# 1.423 10-Nov-2023 christos

Add test for:
PR/57689: RVP: getcwd() not overridable with -D_FORTIFY_SOURCE


# 1.422 06-Nov-2023 rin

lists/debug/mi: Sprinkle gcc to lib[al]san_g.a to fix clang build


# 1.421 17-Oct-2023 rjs

The t_fdrestart test requires rump.


# 1.420 17-Oct-2023 rjs

The inpcb tests are only built when rump is enabled.


# 1.419 15-Oct-2023 riastradh

t_fdrestart: New test of closing fd with another thread in I/O on it.

Adapted from regress/sys/kern/dislodgefd.

PR kern/57659


# 1.418 20-Aug-2023 riastradh

distrib/sets/lists: compat/linux/h_*.debug is amd64-only for now.


# 1.417 20-Aug-2023 riastradh

distrib/sets/lists: Add .debug files for new compat/linux tests.


# 1.416 08-Aug-2023 rin

lists: Fix build with MKGCCCMDS=no && MKDEBUGLIB=yes


# 1.415 04-Aug-2023 riastradh

t_ubsan, t_ubsanxx: Remove gcc=10, gcc=12 conditionals.

These are built unconditionally. Should help fix the clang build.


# 1.414 04-Aug-2023 mrg

more updates for sets and GCC 12

- renable sanitizer, add new shlib versions, enable tsan for arm64,
including moving some stuff into the per-cpu/arch dir from 'mi'.
- fix mips64, 68k, and ia64
- mark many any-gcc-version things just as "gcc" and remove dups
- mark many gcc=9 only things as obsolete
- mark many gcc=10 only things as obsolete with gcc=12 (more could
be done here.)


# 1.413 03-Aug-2023 rin

Fix lists for HAVE_GCC=12.


# 1.412 03-Aug-2023 nia

mark obsolete, don't remove from setlist


# 1.411 03-Aug-2023 nia

Revert addition of epoll to libc until discussion concludes


# 1.410 01-Aug-2023 mrg

various updates for GCC 12

- bump some shlibs
- add new header files
- add compiler-version header files
- disable sanitizer libraries for gcc12 for now


# 1.409 30-Jul-2023 riastradh

ld.elf_so: Add some known-answer tests for hash functions.

Make sure the testing mechanism detects the traditional overflow bug.


# 1.408 29-Jul-2023 christos

Add tests for t_memfd_create and fix bug found by tests


# 1.407 28-Jul-2023 christos

Add epoll(2) from Theodore Preduta as part of GSoC 2023


# 1.406 05-Jul-2023 riastradh

tests/libexec/ld.elf_so: Fix helper library makefiles.

1. Consolidate logic into a single helper.mk to reduce duplication.
2. Set NO* variables, not MK* variables which are reserved for user.
3. Avoid eager X!= in favour of lazy ${X:sh}.
4. Mark _g.a set list entries obsolete. Never should've been built!

PR misc/57462


# 1.405 21-Jun-2023 pgoyette

Looks like this debug library disappeared with the new heimdal. Mark
it obsolete to fix the MKDEBUGLIB build.


# 1.404 16-Jun-2023 wiz

mark some openssl 1.1 files as obsolete with openssl 3


# 1.403 06-Jun-2023 martin

Fix markup of libh_ MKDEBUGLIB=yes only files


# 1.402 06-Jun-2023 pgoyette

Fix MKDEBUGLIB build by adding these installed files to the debug
set list.

XXX
One could argue that these files are not of any use, so why install
them? I don't have a good argument either way, and this is (for
now) a simple work-around for PR bin/57455 Please feel free to
commit a different fix to avoid installing these files at all.


# 1.401 02-Jun-2023 martin

Add recent ld.elf_so test helpers debug info


# 1.400 31-May-2023 riastradh

ld.elf_so: Fix set lists for MKDEBUG=yes builds with t_tls_extern.

XXX pullup-10


# 1.399 24-May-2023 lukem

obsolete mkstr(1) and xstr(1)

These were only used on PDP-11 for two programs we don't ship,
and have been obsolete since the VAX days.

xstr never worked in the build.sh cross-build environment (22 years), or
parallel make environment (nearly 28 years), didn't work in the orignal 386bsd
import, and has never been needed in NetBSD as we don't have the older BSD
programs (pascal, pre-nvi ex) that needed mkstr/xstr on PDP-11.

PR toolchain/35964


# 1.398 10-May-2023 christos

update the sets for OpenSSL-3.x


# 1.397 21-Apr-2023 gutteridge

Add new test t_open_pr_57260

New test case that reflects the fix in PR kern/57260. The majority of
work for this case itself was by riastradh@, who'd supplied the basis
for it in the ticket, and provided further guidance.


# 1.396 30-Jan-2023 christos

add t_strchrnul


# 1.395 26-Dec-2022 christos

make gnu ctf needed for all new binutils.


Revision tags: netbsd-10-base
# 1.394 30-Nov-2022 ozaki-r

branches: 1.394.2;
tests: build and install t_ip_reass.c


# 1.393 22-Nov-2022 jakllsch

Fix h_lualibm debug set lists.


# 1.392 21-Nov-2022 christos

lua libm API from Phil Rulon


# 1.391 17-Nov-2022 ozaki-r

tests: build and install added test files


# 1.390 04-Nov-2022 ozaki-r

tests: add tests for invalid extra operations on a shutdown socket

The tests cover some error paths that normally happen.


# 1.389 28-Aug-2022 christos

fix sets


# 1.388 27-Aug-2022 christos

Add sincos{,f,l} from FreeBSD


# 1.387 06-Jun-2022 nia

build system: Revert all the recent additions of MK[...] knobs that
allow conditionally disabling the building of certain user space
programs in the 'base' set.

There is not enough consensus that this is the right way and a few
people had strong objections, see source-changes-d@.


# 1.386 31-May-2022 riastradh

libc: Reintroduce getentropy.

This was introduced two years ago when the getrandom/getentropy API
question was still open, and removed because the discussion was
ongoing. Now getentropy is more widely adopted and soon to be in
POSIX. So reintroduce the symbol into libc since we'll be keeping it
anyway. Discussion of details of the semantics, as interpreted by
NetBSD, is ongoing, but the symbol needs to get in before the
netbsd-10 branch. The draft POSIX text is
(https://www.opengroup.org/austin/docs/austin_1110.pdf):

SYNOPSIS
#include <unistd.h>

int getentropy(void *buffer, size_t length);

DESCRIPTION
The getentropy() function shall write length bytes of data
starting at the location pointed to by buffer. The output
shall be unpredictable high quality random data, generated by
a cryptographically secure pseudo-random number
generator. The maximum permitted value for the length
argument is given by the {GETENTROPY_MAX} symbolic constant
defined in <limits.h>.

RETURN VALUES
Upon successful completion, getentropy() shall return 0;
otherwise, -1 shall be retunred and errno set to indicate the
error.

ERRORS
The getentropy() function shall fail if:

[EINVAL] The value of length is greater than
{GETENTROPY_MAX}.

The getentropy() function may fail if:

[ENOSYS] The system does not provide the necessary
source of entropy.

RATIONALE
The getentropy() function is not a cancellation point.

Minor changes from the previous introduction of getentropy into libc:

- Return EINVAL, not EIO, on buflen > 256.
- Define GETENTROPY_MAX in limits.h.

The declaration of getentropy in unistd.h and definition of
GETENTROPY_MAX in limits.h are currently conditional on
_NETBSD_SOURCE. When the next revision of POSIX is finalized, we can
expose them also under _POSIX_C_SOURCE > 20yymmL as usual -- and this
can be done as a pullup without breaking existing compiled programs.


# 1.385 29-May-2022 nia

mk: Add MKTIMED and MKMOUSED flags for compiling NetBSD without timed
and moused


# 1.384 29-May-2022 nia

mk: Add a MKPPP flag to exclude pppd(8) and related utilities from
the build


# 1.383 28-May-2022 nia

mk: Add MKFINGER, MKTALK flags for not building
talk, talkd, finger, fingerd.


# 1.382 28-May-2022 nia

mk: Add MKNTP, MKTCPDUMP knobs.


# 1.381 27-May-2022 nia

mk: Add a MKLFS flag for excluding the log-structured filesystem userspace
tools from the build.


# 1.380 25-May-2022 nia

mk: Rename the MKMBONE option to MKMROUTING for greater accuracy and
to match the related kernel config option.


# 1.379 25-May-2022 nia

mk: Allow setting MKDHCPD=no to build base without the ISC DHCP server,
useful for embedded images that don't need to act as one.


# 1.378 25-May-2022 nia

debug pieces should also be installed conditionally based on MKMBONE


# 1.377 29-Apr-2022 pgoyette

Add a new test for PR kern/56713 and set to expected_failure for now.


# 1.376 08-Apr-2022 riastradh

membar_ops(3): Add some automatic tests.

These tests run two threads for five seconds each to try to trigger
races in the event of broken memory barriers. They run only on
machines with at least two CPUs; on uniprocessor systems there's no
point -- the membars can correctly just be (instruction barrier)
no-ops.


# 1.375 06-Apr-2022 reinoud

Add fsck_udf to the debug sets


# 1.374 28-Mar-2022 christos

Add t_link


# 1.373 24-Feb-2022 mrg

enable blkdiscard(8) build.


# 1.372 23-Jan-2022 christos

PR/56657: Juraj Hercek: Add plainrsa-gen utility mentioned in racoon.conf(5)
and fix it for OpenSSL 1.1


# 1.371 31-Dec-2021 christos

change CONFIG to @CONFIG@ to indicate substitution is going to happen.


# 1.370 29-Dec-2021 christos

Enable split-debug files for kernels. Enabled by default with MKDEBUG=yes.


# 1.369 07-Dec-2021 brad

A driver and user land utility for the Sparkfun Serial Controlled Motor
Driver module as illustrated here:

https://www.sparkfun.com/products/13911

A SCMD module is a ARM SOC simular to a Arduino in front of a motor
driver chip. The single SCMD module can control two motors and up to
16 additional modules can be chained together using an internal I2C
bus. One can interface with the SCMD using tty uart commands, SPI or
I2C. The driver in this commit adds a kernel driver for the I2C and
SPI interfaces. The command line utility provides a set of
convenience commands that support most of the functions of the SCMD
and is able to use the tty uart mode, SPI user land or the included
kernel driver in a uniform manor.

The use of the SCMD module is mostly for small robots and the like,
but it can control anything that is controllable by voltage.


# 1.368 18-Nov-2021 thorpej

Add a test case for backtrace(3) across a signal handler.


# 1.367 23-Oct-2021 thorpej

Fix a regression introduced in kern_event.c,v 1.129 that would cause
"udata" to get clobbered on ONESHOT events, and add a unit test for it.
Reported by martin@ (manifested in his case as a KASSERT() firing when
running unit tests in COMPAT_NETBSD32).


# 1.366 23-Oct-2021 thorpej

Add support for the EVFILT_EMPTY filter, which is activated when the
write buffer associated with the file descriptor is empty. This is
currently implemented only for sockets, and is intended primarily to
provide visibility to applications that all previously written data
has been acknowledged by the TCP layer on the receiver. Compatible
with the same filter in FreeBSD.


# 1.365 13-Oct-2021 thorpej

Add support for the NOTE_SECONDS, NOTE_MSECONDS, NOTE_USECONDS,
NOTE_NSECONDS, and NOTE_ABSTIME filter flags to EVFILT_TIMER,
API-compatible with the same in FreeBSD.


# 1.364 10-Oct-2021 thorpej

Add a test case for the race condition in PR kern/50094, modeled after
the Go run-time scenario described in the PR.


# 1.363 10-Oct-2021 thorpej

Add a test case to heavily exercise EVFILT_PROC + NOTE_TRACK.


# 1.362 30-Sep-2021 yamaguchi

Added tests for the linear hook APIs


# 1.361 19-Sep-2021 thorpej

Add native implementations of eventfd(2) and timerfd(2), compatible with
the Linux interfaces of the same name.


# 1.360 29-Aug-2021 christos

Inetd enhancements by James Browning, Gabe Coffland, Alex Gavin, Solomon Ritzow
Described in:
https://www.mail-archive.com/tech-userlevel@netbsd.org/msg03114.html
And developed in:
https://github.com/ritzow/src/pull/1

From their notes:

All new functionality should be explained by the updated manpage.

The manpage has been refactored a bit: A new section "Directives"
has been added and the information about default hostnames and
IPsec directives has been moved there, and the new file include
directive information is also there.

getconfigent has the most major changes. A newline is no longer
read immediately, but is called only by a "goto more" (inside an
if(false) block). This allows multiple definitions or directives
to exist on a single line for anything that doesn't terminate using
a newline. This means a key-values service definition can be followed
by another key-values service definition, a positional definition,
or an ipsec, hostname, or .include directive on the same line.

memset is no longer used explicitly to clear the servtab structure,
a function init_servtab() is used instead, which uses a C struct
initializer.

The servtab se_group field is its own allocation now, and not just
a pointer into the user:group string.

Refactored some stuff out of getconfigent to separate functions
for use by parse_v2.c. These functions in inetd.c are named with
the form parse_*()

parse_v2.c only has code for parsing a key-values service definition
into a provided servtab. It should not have anything that affects
global state other than line and line_number.

Some function prototypes, structures, and #defines have been moved
from inetd.c to inetd.h.

The function config_root replaces config as the function called on
a config file load/reload. The code removed from the end of
config(void) is now called in config_root, so it is not run on each
recursive config call.

setconfig(void) was removed and its code added into config_root
because that is the only place it is called, and redundant checks
for non-null globals were removed because they are always freed by
endconfig. The fseek code was also removed because the config files
are always closed by endconfig.

Rate limiting code was updated to add a per-service per-IP rate
limiting form. Some of that code was refactored out of other places
into functions with names in the form rl_*()

We have not added any of the license or version information to the
new files parse_v2.c, parse_v2.h, and inetd.h and we have not
updated the license or version info for inetd.c.

Security related:

The behavior when reading invalid IPsec strings has changed. Inetd
no longer exits, it quits reading the current config file instead.
Could this impact program security?

We have not checked for memory leaks. Solomon tried to use dmalloc
without success. getconfigent seemed to have a memory leak at each
"goto more". It seems like inetd has never free'd allocated strings
when throwing away erroneous service definitions during parsing
(i.e. when "goto more" is called when parsing fields). OpenBSD's
version calls freeconfig on "goto more"
(https://github.com/openbsd/src/blob/c5eae130d6c937080c3d30d124e8c8b86db7d625/usr.sbin/inetd/inetd.c#L1049)
but NetBSD only calls it when service definitions are no longer
needed. This has been fixed. freeconfig is called immediately before
any "goto more". There shouldn't be any time when a servtab is in
an invalid state where freeconfig would break.


# 1.359 12-Aug-2021 martin

h_findcc.debug is not obsolete


# 1.358 12-Aug-2021 martin

oops, fix h_findcc entry


# 1.357 12-Aug-2021 martin

Add new mkdep test helper h_findcc


# 1.356 14-Jul-2021 ozaki-r

Rump-ify ALTQ (librumpnet_altq.so)


# 1.355 09-Jul-2021 yamaguchi

added tests for IFF_PROMISC of vlan(4)


# 1.354 08-Jul-2021 christos

Add new interrupted stdio tests


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1
# 1.353 17-May-2021 yamaguchi

Add a new link-aggregation pseudo interface named lagg(4)

- FreeBSD's lagg(4) based implementation
- MP-safe and MP-scalable


Revision tags: cjep_staticlib_x-base
# 1.352 08-May-2021 rin

branches: 1.352.2;
Add missing aiomixer.debug to fix debug build.

XXX
I *really* hope someone(TM) invent better replacement of
distrib/sets/lists...


# 1.351 23-Apr-2021 mrg

build cc1objplus. don't forget debug set this time.


# 1.350 23-Apr-2021 rin

Add lto-dump.debug.


# 1.349 12-Apr-2021 mrg

various updates for GCC 10 support. remove dead gcc7/8 support
and properly mark obsolete files in gcc9/gcc10.

testing on amd64 and shark for GCC 9, and many platforms for GCC 10,
(though not arm yet.)


Revision tags: thorpej-futex-base
# 1.348 14-Jan-2021 pgoyette

Update sets lists to accomodate KERNEL_DIR. When both KERNEL_DIR and
MKDEBUG are defined, we create an empty $DESTDIR/usr/libdata/debug/netbsd/
directory.

Should fix ``build.sh release'' issue reported in kern/55923

XXX Since nothing ever seems to populate this directory, perhaps we should
XXX simply prevent its creation? If we do create it, should its creation
XXX perhaps be conditioned on MKKDEBUG rather than MKDEBUG?

XXX There is still another problem with ``build.sh install-image'' but I
XXX open a new PR for that.


# 1.347 14-Jan-2021 pgoyette

/home/paul/XXX.txt


# 1.346 02-Jan-2021 nat

Update the debug set for testpat(6).


# 1.345 28-Dec-2020 martin

Add resize


# 1.344 12-Dec-2020 pgoyette

branches: 1.344.2;
Also add the new test to the sets lists.


# 1.343 10-Nov-2020 kamil

Integrate Warp Kit into the NetBSD build

Fix the build and make it install and run with minimal required changes.


# 1.342 18-Oct-2020 rin

Fix build for mips; move from mi to module.mi debug symbols for
test cases only available when MKKMOD=yes.


# 1.341 01-Oct-2020 pgoyette

Fix up the debug stuff for if_tap and if_vether


# 1.340 29-Sep-2020 roy

rumpify vether(4)


# 1.339 26-Sep-2020 jmcneill

Add HAVE_NVMM and use it to control the build of NVMM related components.
Defined to "yes" on amd64, "no" everywhere else.


# 1.338 22-Sep-2020 kamil

Add new RTLD test file for r_debug

New tests:
- self
- dlopen

Both check whether the r_debug structure seems to be well-formed, without
and with a dlopen(3) call.


# 1.337 15-Sep-2020 mrg

actually, disable tsan on everything but amd64.

it fails to build on mips64 and arm64 for me as well as others..


# 1.336 15-Sep-2020 mrg

mark tsan files as !machine=sparc64.


# 1.335 13-Sep-2020 kamil

Currently restrict GCC TSan files to gcc=9


# 1.334 13-Sep-2020 kamil

Build and install GCC TSan for 64-bit CPUs


# 1.333 12-Sep-2020 jmcneill

Add HAVE_ACPI and HAVE_UEFI flags to bsd.own.mk and use them to
conditionally include ACPI and UEFI bits instead of relying on adhoc
MACHINE_ARCH tests.


# 1.332 08-Sep-2020 christos

Add bind test


# 1.331 27-Aug-2020 riastradh

Sort and deduplicate set lists.


# 1.330 26-Aug-2020 riastradh

Clarify wg(4)'s relation to WireGuard, pending further discussion.

Still planning to replace wgconfig(8) and wg-keygen(8) by one wg(8)
tool compatible with wireguard-tools; update wg(4) for the minor
changes from the 2018-06-30 spec to the 2020-06-01 spec; &c. This just
clarifies the current state of affairs as it exists in the development
tree for now.

Mark the man page EXPERIMENTAL for extra clarity.


# 1.329 20-Aug-2020 riastradh

[ozaki-r] Add wg files


# 1.328 18-Aug-2020 perseant

Add skipped test for in-kernel roll-forward agent


# 1.327 14-Aug-2020 riastradh

New system call getrandom() compatible with Linux and others.

Three ways to call:

getrandom(p, n, 0) Blocks at boot until full entropy.
Returns up to n bytes at p; guarantees
up to 256 bytes even if interrupted
after blocking. getrandom(0,0,0)
serves as an entropy barrier: return
only after system has full entropy.

getrandom(p, n, GRND_INSECURE) Never blocks. Guarantees up to 256
bytes even if interrupted. Equivalent
to /dev/urandom. Safe only after
successful getrandom(...,0),
getrandom(...,GRND_RANDOM), or read
from /dev/random.

getrandom(p, n, GRND_RANDOM) May block at any time. Returns up to n
bytes at p, but no guarantees about how
many -- may return as short as 1 byte.
Equivalent to /dev/random. Legacy.
Provided only for source compatibility
with Linux.

Can also use flags|GRND_NONBLOCK to fail with EWOULDBLOCK/EAGAIN
without producing any output instead of blocking.

- The combination GRND_INSECURE|GRND_NONBLOCK is the same as
GRND_INSECURE, since GRND_INSECURE never blocks anyway.

- The combinations GRND_INSECURE|GRND_RANDOM and
GRND_INSECURE|GRND_RANDOM|GRND_NONBLOCK are nonsensical and fail
with EINVAL.

As proposed on tech-userlevel, tech-crypto, tech-security, and
tech-kern, and subsequently adopted by core (minus the getentropy part
of the proposal, because other operating systems and participants in
the discussion couldn't come to an agreement about getentropy and
blocking semantics):

https://mail-index.netbsd.org/tech-userlevel/2020/05/02/msg012333.html


# 1.326 25-Jul-2020 riastradh

Add kernel ChaCha test to exercise all available implementations.


# 1.325 17-Jul-2020 kamil

Add ppoll() a compatibility wrapper around pollts(2)

Submitted by Apurva Nandan.


# 1.324 06-Jul-2020 christos

new mapped test.


# 1.323 01-Jul-2020 jruoho

Add basic checks for a64l(3), l64a(3), and l64a_r(3).


# 1.322 30-Jun-2020 riastradh

New test sys/crypto/aes/t_aes.

Runs aes_selftest on all kernel AES implementations supported on the
current hardware, not just the preferred one.


# 1.321 30-Jun-2020 jruoho

After a comedy of errors, move t_mbtowc to its final resting place.


# 1.320 29-Jun-2020 riastradh

New cgd cipher adiantum.

Adiantum is a wide-block cipher, built out of AES, XChaCha12,
Poly1305, and NH, defined in

Paul Crowley and Eric Biggers, `Adiantum: length-preserving
encryption for entry-level processors', IACR Transactions on
Symmetric Cryptology 2018(4), pp. 39--61.

Adiantum provides better security than a narrow-block cipher with CBC
or XTS, because every bit of each sector affects every other bit,
whereas with CBC each block of plaintext only affects the following
blocks of ciphertext in the disk sector, and with XTS each block of
plaintext only affects its own block of ciphertext and nothing else.

Adiantum generally provides much better performance than
constant-time AES-CBC or AES-XTS software do without hardware
support, and performance comparable to or better than the
variable-time (i.e., leaky) AES-CBC and AES-XTS software we had
before. (Note: Adiantum also uses AES as a subroutine, but only once
per disk sector. It takes only a small fraction of the time spent by
Adiantum, so there's relatively little performance impact to using
constant-time AES software over using variable-time AES software for
it.)

Adiantum naturally scales to essentially arbitrary disk sector sizes;
sizes >=1024-bytes take the most advantage of Adiantum's design for
performance, so 4096-byte sectors would be a natural choice if we
taught cgd to change the disk sector size. (However, it's a
different cipher for each disk sector size, so it _must_ be a cgd
parameter.)

The paper presents a similar construction HPolyC. The salient
difference is that HPolyC uses Poly1305 directly, whereas Adiantum
uses Poly1395(NH(...)). NH is annoying because it requires a
1072-byte key, which means the test vectors are ginormous, and
changing keys is costly; HPolyC avoids these shortcomings by using
Poly1305 directly, but HPolyC is measurably slower, costing about
1.5x what Adiantum costs on 4096-byte sectors.

For the purposes of cgd, we will reuse each key for many messages,
and there will be very few keys in total (one per cgd volume) so --
except for the annoying verbosity of test vectors -- the tradeoff
weighs in the favour of Adiantum, especially if we teach cgd to do
>>512-byte sectors.

For now, everything that Adiantum needs beyond what's already in the
kernel is gathered into a single file, including NH, Poly1305, and
XChaCha12. We can split those out -- and reuse them, and provide MD
tuned implementations, and so on -- as needed; this is just a first
pass to get Adiantum implemented for experimentation.


# 1.319 28-Jun-2020 pgoyette

Add missing debug entry for new t_mbtowc

XXX Please note that there are now TWO tests named t_mbtowc - this one in
XXX tests/lib/libc/stdlib/ and an older one in tests/lib/libc/locale
XXX I don't know if the functionality is duplicated or not.


# 1.318 27-Jun-2020 christos

fix the build


# 1.317 15-Jun-2020 christos

Add compatfile to libblacklist


# 1.316 15-Jun-2020 christos

Rename blacklist -> blocklist


# 1.315 09-Jun-2020 kamil

Build and install llvm-symbolizer for MKLLVM=yes

llvm-symbolizer is an alternative for GNU addr2line(1), heavily used by the
LLVM sanitizers.

Do not install it as tools as it is not necessary as of today in that
stage.


# 1.314 08-Jun-2020 rin

For /usr/libdata/debug/usr/tests/lib/libprop
- Obsolete t_basic.debug and
- Add t_proplib.debug


# 1.313 30-May-2020 christos

Make libuv private, requested by joerg@


# 1.312 24-May-2020 christos

new bind+libuv


# 1.311 16-May-2020 christos

Add ACL support for FFS. From FreeBSD.


# 1.310 15-May-2020 christos

PR/55102: Kamil Rytarowski: Duplicate fifo_vnodeop_entries,
fifo_vnodeop_opv_desc symbols.

Many filesystems ffs, lfs, ulfs, chfs, ext2fs etc. use fifofs
internally for their fifo vnops. NFS does too, but it also needs
networking anyway. Unfortunately fifofs brings in a lot of the
networking code so that the rumpkernel is not well partition. In
addition the fifo code is rarely used.

The existing hack depended on duplicating the above symbols and
adding minimal functionality for the majority of the the tests
(except the ffs and the puffs one). In these two cases both symbols
were loaded and the symbol sizes clashed which broke the sanitizers.
While this can be fixed with weak symbols and other kinds of
indirection, it is more straight forward to select between the
minimal and the full fifofs implementation by introducing a new
shared library librumpvfs_nofifofs.


# 1.309 01-May-2020 christos

Move the rump module test programs in the regular mi file. These are not
really kernel modules and the other md module test is in the md.amd64 file
already.


# 1.308 30-Apr-2020 ryo

Add a test for sigaltstack(2) and SA_ONSTACK


# 1.307 26-Apr-2020 mlelstv

Add missing futex tests.


Revision tags: phil-wifi-20200421 phil-wifi-20200411
# 1.306 11-Apr-2020 christos

Add new t_extattr


Revision tags: phil-wifi-20200406
# 1.305 05-Apr-2020 christos

we don't delete entries, we mark them obsolete so that postinstall can
delete the files.


# 1.304 04-Apr-2020 mlelstv

one more netsmb reference.


# 1.303 04-Apr-2020 christos

fix netsmb, libgnuctf


# 1.302 04-Apr-2020 christos

gnuctf is only binutils=234


# 1.301 04-Apr-2020 christos

fix sets for new binutils


# 1.300 04-Apr-2020 jdolecek

remove SMBFS and nsmb/netsmb - userland part


# 1.299 30-Mar-2020 christos

Add rpcapd


# 1.298 08-Mar-2020 mgorny

Add tests for missing libc catalog entries


# 1.297 06-Mar-2020 kamil

Add new ptrace(2) test file

t_ptrace_sigchld - for SIGCHLD handler + ptrace(2).

Right now a single test is enabled (raise(SIGKILL)) and marked as failed
as it never finishes as the child is never collected before exiting the
parent uninterested about its child (SA_NOCLDWAIT).


# 1.296 04-Mar-2020 christos

fix pam annotations


# 1.295 03-Mar-2020 christos

add libfido2, libcbor, pam-u2f, sort


Revision tags: is-mlppp-base
# 1.294 11-Feb-2020 martin

Add new test programs


# 1.293 02-Feb-2020 kamil

Port realpath(1) from FreeBSD

realpath(1) wraps realpath(3) and returns resolved physical path.

This utility shipped with GNU and FreeBSD is sometimes
used in scripts in the wild.


# 1.292 19-Jan-2020 martin

Fix set lists after HIPPI removal


# 1.291 18-Jan-2020 kre

Move recently added .debug files from tests/mi to debug/mi (with all the
others) and while so doing, give them the "debug" attribute.

While here, sort.


# 1.290 03-Dec-2019 hikaru

Add HMAC-SHA-{256,384,512} test cases.


Revision tags: phil-wifi-20191119
# 1.289 15-Oct-2019 christos

remove sup


# 1.288 15-Sep-2019 christos

fexecve(2) related additions.


# 1.287 15-Sep-2019 christos

add t_fcntl


# 1.286 23-Aug-2019 mrg

fix MKCXX=no:
- don't build GDB
- don't build sanitizers
- don't build GCC commands
- fix some set lists


Revision tags: netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.285 28-Jul-2019 christos

branches: 1.285.2;
add new wcsrtombs test


Revision tags: phil-wifi-20190609
# 1.284 01-Jun-2019 kamil

Add ATF KERN_PROC_CWD tests


# 1.283 26-Apr-2019 maya

Add a test case for signbit.
(paranoia prior to a libm change)


# 1.282 24-Apr-2019 kamil

Add a complete C11 threads(3) implementation

C11 Thread support library is a portable threading C API between OSs,
similar to std::threads in the C++ world.

The library is implemented as a thin shim over POSIX interfaces.

NetBSD implements the API as a part of the POSIX threading library
(libpthread(3)).

C11 threads(3) are in the process of making them an integral part
of the POSIX standard. The interface has been implemented in major
OSs and used with stopgap libraries for older versions of them.

C11 threading library is already used (with a stopgap implementation)
in the NetBSD distribution in MESA.

Original implementation by myself from 2016.

ATF tests are new and cover almost all interfaces.

Proposed on tech-userlevel@.


# 1.281 03-Apr-2019 joerg

Revert MKLLVMCMDS changes.


# 1.280 20-Mar-2019 mrg

split MKLLVM into MKLLVM and MKLLVMCMDS, like MKGCC and MKGCCCMDS:

- only build clang or clang-tblgen if MKLLVMCMDS != "no"
- move HAVE_MESA_VER earlier so we can detect mesa 18 and enable
MKLLVM on platforms that need it
- move the clang commands and headers into llvmcmds group
- only build the clang specific LLVM libraries if MKLLVMCMDS != "no"

much of this work came from maya@'s github commit
f90685c11d4460d3098fa35f48b58d1893e974e0, reworked for HAVE_MESA_VER
and llvmcmds vs MKCLANG.


build tested on several platforms and on amd64 and i386 with several
different build options (clang build, gcc build, gcc build with llvm
libs).


# 1.279 12-Mar-2019 christos

Add libjemalloc.so


# 1.278 26-Feb-2019 isaki

Add ATF tests for __sync_* functions instead of all_sync_ops_linkable.c


# 1.277 18-Feb-2019 rin

Belatedly add debugging symbols for t_atomic_*.


# 1.276 03-Feb-2019 martin

Add debug info for new ksem test


# 1.275 02-Feb-2019 mrg

- add new entries of gcc=7 and libgomp, libasan, liblsan, libstdc++, libubsan
- add missing header files fpr gcc=7
- add some missing gcc=5 obsolete entries
- create ./usr/include/dev/bluetooth in mtree not make, and move it into the
base set where all other directories are.


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118
# 1.274 27-Dec-2018 christos

initfini_array test


Revision tags: pgoyette-compat-1226
# 1.273 26-Dec-2018 kre

Add "rump" to threadpool.debug test so it is not expected to appear
if MKRUMP=no


# 1.272 25-Dec-2018 christos

- add missing test
- fix typos


# 1.271 18-Dec-2018 kamil

Correct libproc_p.a in distribution sets

There was a stale entry under MKPROFILE=no option.


# 1.270 12-Dec-2018 maxv

Retire the LMC driver, and its associated lmcconfig tool. LMC has been
mentioned repeatedly as a non-MP-safe driver that is hard to maintain,
and no one is taking care of it.

LMC was removed from OpenBSD three years ago, and from FreeBSD a few
months ago.


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020
# 1.269 01-Oct-2018 jmcneill

Fix debug sets for mount_qemufwcfg


Revision tags: pgoyette-compat-0930
# 1.268 23-Sep-2018 christos

merge openssl-1.1.1


# 1.267 23-Sep-2018 maxv

Remove the userland part of ISDN. The kernel part is untouched for now.
ipppctl was actually an exact copy of pppoectl; there is no functional
change in pppoectl in this commit.


# 1.266 22-Sep-2018 rmind

Add rumpkern_nv (in-kernel RUMP libnv).


# 1.265 19-Sep-2018 maxv

Remove daic(4), it has never been functional.

ok martin@


# 1.264 06-Sep-2018 maxv

Remove the network ATM code.


Revision tags: pgoyette-compat-0906
# 1.263 21-Aug-2018 christos

add new tests, sort


# 1.262 12-Aug-2018 christos

fix sets for new bind


# 1.261 06-Aug-2018 martin

Add debug info for t_if_nametoindex


# 1.260 03-Aug-2018 kamil

Register micro-UBSan ATF tests in the distribution

Populate distrib files, mtree lists and add the entry in Makefile to
include the new code.


# 1.259 31-Jul-2018 khorben

Add a port of the umb(4) driver from OpenBSD

The umb(4) driver provides support for USB MBIM (Mobile Broadband
Interface Model) devices.

MBIM devices establish connections via cellular networks such as GPRS,
UMTS, and LTE. They appear as a regular point-to-point network interface, transporting raw IP frames.

Required configuration parameters like PIN and APN have to be set with
umbctl(8), a new tool specific to this driver. The IP address is configured
automatically; the default route and DNS server information have to be set
separately.

The driver is not fully functional yet, it is therefore still marked as
experimental and disabled by default. Any help welcome to complete it!

Tested on NetBSD/amd64, with a Sierra Wireless EM7345 LTE modem on a Lenovo
ThinkPad T440s. No functional change expected otherwise.


Revision tags: pgoyette-compat-0728
# 1.258 24-Jul-2018 christos

sets for base64


# 1.257 13-Jul-2018 maxv

Remove tpfmt(1). Its code was merged into tprof(8).


# 1.256 29-Jun-2018 roy

Remove dhclient from the base system.

Discussed here:
https://mail-index.netbsd.org/tech-userlevel/2018/06/21/msg011233.html


Revision tags: phil-wifi-base
# 1.255 28-Jun-2018 christos

branches: 1.255.2;
put back lsan


# 1.254 27-Jun-2018 martin

Comment out liblsan entries to fix the build


# 1.253 26-Jun-2018 christos

Add the lsan libraries


Revision tags: pgoyette-compat-0625
# 1.252 20-Jun-2018 maya

Add test case for PR lib/50646.

Make sure that cabsl (aka __c99_cabsl) is usable from C++.


# 1.251 14-Jun-2018 yamaguchi

Add test cases for multicast address handling of vlan(4)

ok ozaki-r@


# 1.250 28-May-2018 chs

merge a new version of the CDDL dtrace and ZFS code.
this changes the upstream vendor from OpenSolaris to FreeBSD,
and this version is based on FreeBSD svn r315983.

in addition to the 10 years of improvements from upstream,
this version also has these NetBSD-specific enhancements:
- dtrace FBT probes can now be placed in kernel modules.
- ZFS now supports mmap().


# 1.249 25-May-2018 martin

Add new test program


Revision tags: pgoyette-compat-0521
# 1.248 18-May-2018 kamil

Add new ATF tests: t_fork and t_vfork

Test behavior of raise(signal) in either fork(2)ed or vfork(2)ed child.

Tests:
- raise1 SIGKILL
- raise2 SIGSTOP
- raise3 SIGTSTP
- raise4 SIGTTIN
- raise5 SIGTTOU
- raise6 SIGABRT
- raise7 SIGHUP
- raise8 SIGCONT

t_vfork:raise2 fails ignoring non-maskable SIGSTOP.

The remaining ones pass.

Sponsored by <The NetBSD Foundation>


# 1.247 04-May-2018 sevan

Unbreak build until the privatisation of libbozohttpd is settled.

heads up & patch thanks to <leot>


Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
# 1.246 03-Apr-2018 christos

the zombie test is not a rump test.


Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315
# 1.245 14-Mar-2018 kamil

Add new ATF tests: kernel/t_zombie

New tests attempting to kill, stop, drop or revive a zombie:
- signal1 (SIGKILL)
- signal2 (SIGSTOP)
- signal3 (SIGABRT)
- signal4 (SIGHUP)
- signal5 (SIGCONT)

New test race1 verifying whether there are any kernel races when processing
signals to zombies, executing in a loop for 5 seconds.

These tests were inspired by a kernel unexpected behavior when a lookup
of a dying process could result in two detected entities once as an alive
process and once as a zombie.

race1 is similar to t_ptrace_wait* race1, however without ptrace(2) involved.

Sponsored by <The NetBSD Foundation>


# 1.244 09-Mar-2018 joerg

Add ifunc support for statically linked applications on x86, ppc, sparc
and ARM.


Revision tags: pgoyette-compat-base
# 1.243 17-Feb-2018 wiz

branches: 1.243.2;
t_timeleft.debug is still installed, remove 'obsolete' marker.


# 1.242 13-Feb-2018 mrg

obsolete some GCC 4.8 files.


# 1.241 08-Feb-2018 christos

add openssl to the list of selectable variables for sets and fix the sets.


# 1.240 06-Feb-2018 mrg

build and install gcov-dump.


# 1.239 03-Feb-2018 mrg

updates for GCC 6.4: add gcc-6 specific headers, combine some
all-gcc files, bump the shlib versions on new libs.


# 1.238 02-Feb-2018 mrg

convert HAVE_GCC handling to modern GCC release numbering:
- HAVE_GCC=5 is now the default (vs. HAVE_GCC=53 we've been using for
GCC 5.4 and GCC 5.5.)
- remove some more GCC 4.8 code. we don't support GCC 4 here.
- adjust set lists to gcc=5 from gcc=53.

add some basic HAVE_GCC=6 handling (totally unused so far.)


# 1.237 25-Jan-2018 wiz

Revert previous.

obsolete + other tags is not easy to clean up.


# 1.236 24-Jan-2018 wiz

When second keyword is 'obsolete', first one should be foo-obsolete as well.


# 1.235 14-Jan-2018 christos

add mount_autofs


# 1.234 10-Jan-2018 knakahara

ipsec(4) interface supports rump now.


# 1.233 09-Jan-2018 christos

Merge autofs support from: Tomohiro Kusumi
XXX: Does not work yet


# 1.232 10-Dec-2017 christos

add new test.


# 1.231 08-Dec-2017 christos

add new test.


# 1.230 08-Dec-2017 msaitoh

Add missing h_segv.debug.


# 1.229 19-Nov-2017 martin

ATF test program for PR kern/52738: check for mtime updates after rewriting
a file.


# 1.228 30-Oct-2017 ozaki-r

Add test cases of NAT-T (transport mode)

A small C program is added to make a special socket (UDP_ENCAP_ESPINUDP)
and keep it to handle UDP-encapsulated ESP packets.


# 1.227 10-Oct-2017 christos

Add librumpres


# 1.226 02-Oct-2017 mlelstv

add t_list test.


# 1.225 29-Sep-2017 maya

Add simple test for workqueue(9)


# 1.224 16-Aug-2017 joerg

Add missing strfmon_l. Noticed by Bruno Haible. Add test case.


# 1.223 11-Aug-2017 ryo

fix filename. sorry


# 1.222 10-Aug-2017 ryo

Add support IP_PKTINFO for sendmsg(2).

The source address or output interface can be specified by adding IP_PKTINFO
to the control part of the message on a SOCK_DGRAM or SOCK_RAW socket.

Reviewed by ozaki-r@ and christos@. thanks.


# 1.221 23-Jul-2017 perseant

Add missing setlist entries for DUCET collation test.


Revision tags: perseant-stdc-iso10646-base
# 1.220 14-Jul-2017 perseant

branches: 1.220.2;
Add a simple collation test. This test is expected to fail on HEAD since
we do not yet have a working implementation of wcscoll.


# 1.219 11-Jul-2017 joerg

Implement __cxa_thread_atexit and __cxa_thread_atexit_impl. This
functions are used for destructors of thread_local objects.

If a pending destructor exists, prevent unloading of shared objects.
Introduce __dl_cxa_refcount interface for this purpose. When the last
reference is gone and the object has been dlclose'd before, the
unloading is finalized.

Ideally, __cxa_thread_atexit_impl wouldn't exist, but libstdc++ insists
on providing __cxa_thread_atexit as direct wrapper without further
patching.


# 1.218 09-Jun-2017 knakahara

add tests of ioctl for /dev/crypto


# 1.217 05-Jun-2017 christos

Add dtc


Revision tags: netbsd-8-base
# 1.216 01-Jun-2017 perseant

branches: 1.216.2;
Add tests for btowc(3)/wctob(3) and enable compilation of the test for
digittoint(3).

The digittoint(3) test is skipped since we don't provide that function yet.

One of the test cases for btowc(3) is also skipped, since it tests conversion
to Unicode---whereas our wchar_t representation is locale-dependent.


# 1.215 31-May-2017 pgoyette

Also add the debug entries for the new test programs.

Thanks, perseant, for increasing/improving our test coverage.


# 1.214 30-May-2017 martin

Add t_toupper.debug


# 1.213 27-May-2017 bouyer

merge the bouyer-socketcan branch to HEAD.

CAN stands for Controller Area Network, a broadcast network used
in automation and automotive fields. For example, the NMEA2000 standard
developped for marine devices uses a CAN network as the link layer.

This is an implementation of the linux socketcan API:
https://www.kernel.org/doc/Documentation/networking/can.txt
you can also see can(4).

This adds a new socket family (AF_CAN) and protocol (PF_CAN),
as well as the canconfig(8) utility, used to set timing parameter of
CAN hardware. Also inclued is a driver for the CAN controller
found in the allwinner A20 SoC (I tested it with an Olimex lime2 board,
connected with PIC18-based CAN devices).

There is also the canloop(4) pseudo-device, which allows to use
the socketcan API without CAN hardware.

At this time the CANFD part of the linux socketcan API is not implemented.
Error frames are not implemented either. But I could get the cansend and
canreceive utilities from the canutils package to build and run with minimal
changes. tcpudmp(8) can also be used to record frames, which can be
decoded with etherreal.


# 1.212 26-May-2017 martin

Add t_strcoll


# 1.211 21-May-2017 leot

Adjust for MKCRYPTO_RC5 removal (fixes MKDEBUGLIB=yes build).

OK <Riastradh>


# 1.210 21-May-2017 riastradh

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.209 21-May-2017 riastradh

Remove MKCRYPTO_RC5. Unconditionally include RC5 in libcrypto.so.

This option existed only because RC5 is covered by patents that, twenty
years ago, we had reason to suspect the patent holder, RSA, Inc., might
litigate. The two US patents in question are 5,724,428 and 5,835,600.

According to the USPTO Patent Term Calculator web site at
<https://www.uspto.gov/patent/laws-and-regulations/patent-term-calculator#heading-5>
(retrieved 2017-05-21), patents filed after 1995-06-07 expire twenty
years after the filing date.

number filing date
5,724,428 1995-11-01
5,835,600 1997-04-21

Thus, these patents appear to be expired.

As proposed on tech-crypto and tech-security:

https://mail-index.netbsd.org/tech-crypto/2017/05/05/msg000718.html
https://mail-index.netbsd.org/tech-security/2017/05/05/msg000927.html


Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.208 17-Apr-2017 knakahara

fix build failure


# 1.207 17-Apr-2017 riastradh

New rndsource driver for Araneus Alea II TRNG USB devices.

Disabled by default in x86/GENERIC and usbdevices.config pending
review and testing without rump ugenhc in the way, but enabled in
x86/ALL for compile-testing.

(Hi gson! Finally found a round tuit in my pocket, next to a certain
rectangular one.)


# 1.206 14-Apr-2017 riastradh

cvslatest is unconditional, not conditional on cvs.


# 1.205 14-Apr-2017 ozaki-r

Rumpify netipsec

Note that we should modularize netipsec and reduce reverse symbol references
(referencing symbols of netipsec from net, netinet and netinet6) though,
the task needs lots of code changes. Prior to doing so, rumpifying it and
having ATF tests should be useful.


# 1.204 03-Apr-2017 kamil

Remove tests/kernel/t_ptrace* from the tree

ptrace(2) tests have been moved to tests/lib/libc/sys

Sponsored by <The NetBSD Foundation>


# 1.203 02-Apr-2017 kamil

Import ptrace(2) tests into appropriate directory tests/lib/libc/sys/

This is the correct directory documented in tests/README for such tests.

Discussed with <martin>

Sponsored by <The NetBSD Foundation>


# 1.202 02-Apr-2017 kamil

Remove kernel/arch/{amd64,i386,x86} tests

These files were merged with kernel/t_ptrace_wait*

This removes MD test files.

Sponsored by <The NetBSD Foundation>


# 1.201 23-Mar-2017 htodd

Fix build.


Revision tags: pgoyette-localcount-20170320
# 1.200 16-Feb-2017 knakahara

l2tp(4) support rump.


# 1.199 09-Feb-2017 christos

remove exect test


# 1.198 08-Feb-2017 rin

Fix build with MKDEBUG=yes for sun2:

- libgcc_g.a, libgcov_g.a, libobjc_g.a, libstdc++_g.a, and libsupc++_g.a are
marked "gcc" instead of "gcccmds".

- libbfd_g.a and libh_helper_*_g.a are moved from debug/mi to debug/shl.mi.
This seems strange at first sight, but they are built only when shared
libraries are enabled.


# 1.197 08-Feb-2017 kamil

libpthread_dbg(3) deletion from the base distribution

libpthread_dbg(3) is a remnant library from the M:N thread model
(pre-NetBSD-5.0) API to introspect threads within a process and for use
of debuggers.

Currently in the 1:1 model it's not used in GDB neither in LLDB and it's
not either planned to be used. It's current function to read pthread_t
structures is realizable within a regular debugger capable to
instrospect objects within a tracee (GDB, LLDB...).

Remaining users of this API can still use this library from
pkgsrc/devel/libpthread_dbg.

Sponsored by <The NetBSD Foundation>


# 1.196 06-Feb-2017 kre

+ /usr/bin/nc (someone please check these are correct)


# 1.195 02-Feb-2017 martin

Add test program for PR kern/51762


# 1.194 28-Jan-2017 nat

bta2dpd - Bluetooth Advand Audio Distribution (A2DP) Profile Daemon.

bta2dpd allows you to stream audio to and from bluetooth devices.
It features high quality stereo audio and is intended for use with pad(4)
device.

As discussed on current-users@ and tech-userlevel@


# 1.193 27-Jan-2017 hannken

Add test for read/write to readonly update mount.


# 1.192 16-Jan-2017 ozaki-r

Rewrite tests for CARP in a shell script instead of C

The new shell script enables us to modify/add tests easily.


Revision tags: bouyer-socketcan-base
# 1.191 07-Jan-2017 christos

branches: 1.191.2;
debug for nsd


# 1.190 07-Jan-2017 christos

add npfd


Revision tags: pgoyette-localcount-20170107
# 1.189 05-Jan-2017 wiz

Tag cleanup: if the last column contains 'obsolete', the one before should too.


# 1.188 19-Dec-2016 maya

adjust set lists for t_fe_round


# 1.187 14-Dec-2016 rjs

The t_clock_subr test doesn't require rump.


# 1.186 14-Dec-2016 kre

Sort the unsorted sets lists (they should all be correctly sorted now.)


# 1.185 13-Dec-2016 kamil

Add regs1 in arch/i386/t_ptrace_wait*

regs1:
Call PT_GETREGS and iterate over General Purpose registers

Sponsored by <The NetBSD Foundation>


# 1.184 09-Dec-2016 kamil

Attach t_exect to ATF tests and distribution

Add missing SIGTRAP handler. Assert there that the signal is SIGTRAP as
expected and si_code TRAP_TRACE.

This test will break on some ports that have dummy or incomplete
implementation of exect(2).

This test works on amd64 correctly.

Sponsored by <The NetBSD Foundation>


# 1.183 02-Dec-2016 kamil

Refactor location of amd64-specific ATF tests to new dir kernel/arch/amd64

Rename
- tests/kernel/t_ptrace_amd64_wait.c
to
- tests/kernel/arch/amd64/t_ptrace_wait.c
and adapt appropriate files accordingly.

New directory will be used for more amd64-specific tests, verifying the
MD parts of the kernel.

Remove old entries from distrib/sets/lists as they were added a while ago.

Sponsored by <The NetBSD Foundation>


# 1.182 02-Dec-2016 kamil

Fix !amd64 sets

Sponsored by <The NetBS Foundation>


# 1.181 01-Dec-2016 kamil

Add t_ptrace_amd64_wait{,3,4,6,id,pid} tests

Sponsored by <The NetBSD Foundation>


# 1.180 26-Nov-2016 ozaki-r

Rumpify vlan(4)


# 1.179 18-Nov-2016 kamil

Add new test file lib/libpthread_dbg/t_threads

This test contains threads1 test that:
Asserts that td_thr_iter() call without extra logic works

This tests fails and is linked with gnats:
PR lib/51635: td_thr_iter in <pthread_dbg.h> seems broken

Sponsored by <The NetBSD Foundation>


# 1.178 16-Nov-2016 kamil

Add new test-suite t_dummy for libpthread_dbg

At the moment this test does nothing except reports failure from td_open()
for overloaded (implemented) dummy1_proc_lookup() (.proc_lookup from
td_proc_callbacks_t) of the following form:

static int
dummy1_proc_lookup(void *arg, const char *sym, caddr_t *addr)
{
return TD_ERR_ERR;
}

This file and directory with tests is placeholder for new ones, without
further need to alter mtree and distribution sets.

The libpthread_dbg interface and library is used by gdb(1) to handle
threads in applications.

Sponsored by <The NetBSD Foundation>


# 1.177 15-Nov-2016 skrll

Fix librefuse falout.... Hi pho


# 1.176 11-Nov-2016 njoly

New clock_nanosleep(2) testcase.


# 1.175 11-Nov-2016 alnsn

Add 3des-cbc tests with 192 bits key.


# 1.174 10-Nov-2016 alnsn

Add blowfish-cbc tests for 128, 256 and 448 bits keys.


# 1.173 07-Nov-2016 kamil

Add new tests for combination of wait(2) interfaces with ptrace(2)

Move out wait(2) specific tests from t_ptrace and put them to t_ptrace_wait

Add generic code fragments to reuse the same source-code for every member
of the wait(2) family, namely:
- wait(2)
- waitpid(2)
- waitid(2)
- wait3(2)
- wait4(2)
- wait6(2)

Currently in the new test-suite there are the following tests:
- traceme1
- traceme2
- traceme3
- traceme4
- attach1

Not all tests are possible to be executed against every wait(2)-like
interface, therefore they will be disabled in such case. Currently this
limits attach1 to waitpid(2), waitid(2), wait4(2), wait6(2), while the
other tests (traceme 1-4) run with all of the interfaces.

The construct of this file is dedicated for addition of new tests in the
close future.

As of now all of the tests pass correctly.

Thanks for Robert Elz for suggestions on improving the code (earlier draft
of this new form).

Sponsored by <The NetBSD Foundation>.


# 1.172 06-Nov-2016 alnsn

Debug file for t_cgd_aes.


# 1.171 06-Nov-2016 kamil

Add new tests: tests/lib/libc/sys/t_wait_noproc and t_wait_noproc_wnohang

The t_wait_noproc test checks whether wait(2)-family of functions return
error and set ECHILD for lack of childs.

The t_wait_noproc_wnohang adds to options (except wait(2), wait3(2)) new
parameter WNOHANG and verifies that error is still signaled and errno set
to ECHILD.

Currently t_wait_noproc_wnohang reports failures, these have been marked as
expected and referenced to PR standards/51606.

The problem report is authored by Robert Elz, and the initial regression
has been notified by Nicolas Joly.

Remove redundant test in tests/lib/libc/sys/t_wait for wait6(2) with no
WNOHANG specified.

Sponsored by <The NetBSD Foundation>.


Revision tags: pgoyette-localcount-20161104
# 1.170 02-Nov-2016 kamil

Add new test t_ptrace with traceme1

This test is a placeholder for further checks of the native ptrace(2)
function calls.

XXX: Is it safe to call ATF functions from a child? FreeBSD seems to
construct dedicated asserts for them.

XXX: printf(3) calls from a child are not intercepted by atf-run(1)

Sponsored by <The NetBSD Foundation>.


# 1.169 01-Nov-2016 christos

fix libiberty_g.a


# 1.168 30-Oct-2016 kamil

Add new test t_timedmutex

This test is a clone on t_mutex with additional two tests for timed-mutex
specific block.

All simple-mutex (not with the timed property according to the C11 wording)
specific tests are covered by pthread_mutex_timedlock(3) with parameter
ts_lengthy of sufficiently large tv_sec value (right now UINT16_MAX). If,
a test will hang, it won't wait UINT16_MAX seconds, but will be terminated
within the default timeout for ATF tests (right now 300 [sec] in my
NetBSD/amd64 setup).

This test was inspired by a classic selflock test failure of
pthread_mutex_timedlock(3) of the following form:

#include <assert.h>
#include <errno.h>
#include <pthread.h>
#include <stdio.h>
#include <time.h>

int main(int argc, char **argv)
{
pthread_mutex_t mtx;
struct timespec ts;

ts.tv_sec = 0;
ts.tv_nsec = 1000;
printf("ts{.tv_sec = %d, .tv_nsec=%ld}\n", ts.tv_sec, ts.tv_nsec);
fflush(stdout);

printf("mtx_init\n");
assert(pthread_mutex_init(&mtx, NULL) == 0);

printf("mtx_lock\n");
assert(pthread_mutex_lock(&mtx) == 0);

printf("mtx_timedlock\n");
assert(pthread_mutex_timedlock(&mtx, &ts) == ETIMEDOUT);

printf("mtx_unlock\n");
assert(pthread_mutex_unlock(&mtx) == 0);

printf("mtx_destroy\n");
assert(pthread_mutex_destroy(&mtx) == 0);

return 0;
}

Current NetBSD implementation wrongly hangs on this test.

The issue was detected during development of the C11 portable threads.

My local tests in chroot presents that the are further issues:

t_timedmutex (21/25): 10 test cases
mutex1: [0.001142s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:75: *param != 20
mutex2: [0.261499s] Passed.
mutex3: [0.261496s] Passed.
mutex4: [0.001204s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:265: pthread_mutex_timedlock(&mutex, &ts_lengthy): Connection timed out
mutex5: [0.001235s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:337: pthread_mutex_timedlock(&mutex5, &ts_lengthy): Connection timed out
mutex6: [21.218497s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:512: start != 1
mutexattr1: [0.001328s] Passed.
mutexattr2: [0.001175s] Passed.
timedmutex1: [301.119397s] Failed: Test case timed out after 300 seconds
timedmutex2: [301.123081s] Failed: Test case timed out after 300 seconds
[623.990659s]

I'm also receiveing the same failure in the mutex6 test in t_mutex, so
there might be a false positives due to local chroot(8) issues.

Commit approved by <christos>.


Revision tags: localcount-20160914
# 1.167 05-Sep-2016 ozaki-r

Support tun devices on rump kernels


# 1.166 31-Aug-2016 maya

Add failing test for casinh


# 1.165 22-Aug-2016 maya

add failing test for PR lib/51427
ilogb(INFINITY)=-INT_MAX, it should be INT_MAX

while here, test raised exceptions, other values.

XXX some platforms don't have exceptions


# 1.164 20-Aug-2016 christos

add unbound stuff


# 1.163 14-Aug-2016 jakllsch

tests for sys/dev/clock_subr.c


Revision tags: pgoyette-localcount-20160806
# 1.162 31-Jul-2016 pgoyette

Add rump.fssconfig to sets lists


# 1.161 30-Jul-2016 njoly

New getsockname(2) testcase for UNIX domain sockets.


Revision tags: pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.160 02-Jul-2016 christos

branches: 1.160.2;
fix sets


# 1.159 01-Jul-2016 christos

cgdconfig is no crypto.


# 1.158 01-Jul-2016 christos

Add hmac(3)


# 1.157 29-Jun-2016 christos

fix sets for MKCRYPTO=no


# 1.156 05-Jun-2016 christos

Add libubsan


# 1.155 04-Jun-2016 nonaka

nvmectl(8): Added NVM Express control utility.

Ported from FreeBSD nvmecontrol(8).


# 1.154 01-Jun-2016 joerg

The way libasan is hooked into the build make it a GCC-only library.


# 1.153 01-Jun-2016 christos

put back asan


# 1.152 15-Apr-2016 ozaki-r

Rump-ify if_pppoe

From s-yamaguchi@IIJ


# 1.151 10-Apr-2016 kamil

Mark ./usr/libdata/debug/usr/bin/pcpp.debug as obsolete

pcpp.debug is already in ./usr/libdata/debug/usr/libexec/

This fixes build with MKPCC=yes and all debug flags turned on.


# 1.150 10-Apr-2016 kamil

Remove duplicate entry of /usr/libdata/debug/usr/bin/p++.debug

I don't have p++.debug locally so assume that it's properly set for the
first time as obsoleted.


# 1.149 09-Apr-2016 martin

Add t_pslist.debug


# 1.148 06-Apr-2016 christos

Add wait tests.


# 1.147 18-Mar-2016 christos

kill more mudflap for gcc-5.3


# 1.146 16-Mar-2016 mrg

GCC 5.3 sets (just for i386 so far)


# 1.145 23-Feb-2016 wiz

Add libc++ to two debug sets.


# 1.144 21-Feb-2016 christos

ctf stuff belongs to ctf not to the dtrace set


# 1.143 09-Feb-2016 plunky

add pcpp binary, now in pcc-20160208. Also, p++ in debug set


# 1.142 25-Jan-2016 christos

add t_hypot


# 1.141 24-Jan-2016 christos

sets for cvslatest.


# 1.140 05-Jan-2016 jakllsch

Add some tests for the kernel HID parser.


# 1.139 01-Jan-2016 jakllsch

tests for libusbhid (many of which fail)


# 1.138 18-Dec-2015 christos

add sortinfo


# 1.137 12-Dec-2015 christos

Add ip6addrctl


# 1.136 22-Nov-2015 kamil

Plug-in libpanel(3): Z-order for curses windows


# 1.135 18-Nov-2015 christos

Add new db test.


# 1.134 11-Nov-2015 ozaki-r

Introduce rump.rtadvd

It is used to write ATF tests for RA.

From s-yamaguchi@IIJ.


# 1.133 08-Nov-2015 christos

Some of the puffs mount programs don't need RUMP, re-enable them.


# 1.132 04-Nov-2015 knakahara

if_gif supports rump now.


# 1.131 25-Sep-2015 martin

More conditional dance for librtld_db


# 1.130 25-Sep-2015 martin

Try to fix set lists for libproc and librtld_db. The latter is probably
wrong and needs to be redone with COMPATARCHDIRS magic, but I can't
find any documentation how to do it. Matt?


# 1.129 24-Sep-2015 christos

update for libproc/librtld_db/dtrace changes


# 1.128 23-Aug-2015 mrg

move the obsolete list files into their respective sets. this means
that if you install a new set and run "postinstall fix obsolete"
the expected things happen.

(hi 12.5 year old me who thought base was better than etc set, which
it really was, but this is better again :-)


# 1.127 17-Aug-2015 knakahara

Add intrctl(8).


# 1.126 10-Aug-2015 mrg

now that we only support gcc 4.8, make all the gcc tags just "gcc".
this should help with next-gcc, when we can add back gcc=48 and
gcc=5x tags, as necessary.


# 1.125 10-Aug-2015 mrg

obsolete and clean up gcc=3 (3.3), gcc=4 (4.1), and gcc=45 (4.5) sets.


# 1.124 06-Aug-2015 ozaki-r

Introduce rump.ping6

We use ping6 frequently in ATF tests so let's have rump-ified one.


# 1.123 03-Aug-2015 ozaki-r

Introduce rump.ndp

ndp(8) uses RTM that requires that getpid(2) works correctly. Unfortunately
supporting getpid(2) in librumphijack will be tricky so that we rump-ify
ndp(8) as well as arp(8).


# 1.122 29-Jul-2015 ozaki-r

Introduce rump.arp

arp(8) uses RTM that requires that getpid(2) works correctly. Unfortunately
supporting getpid(2) in librumphijack will be tricky so that we rump-ify
arp(8) as well as ifconfig and route commands.

Suggested by pooka@.


# 1.121 27-Jun-2015 matt

p++ is a symlink so it won't have a .debug


# 1.120 27-Jun-2015 matt

Fix various missing or incorrect keywords.


# 1.119 25-Jun-2015 matt

More compat changes. Add compat dirs to each set.


# 1.118 22-Jun-2015 christos

add new db test


# 1.117 22-Jun-2015 matt

Update some of the set lists to use the compatdir/compatfile
compattestsdir/compattestsfile as well the kmod auto-entry creation.
Remove entries that are now instantiated by the above.


# 1.116 29-May-2015 pooka

game of setlists for rumpnet_tap


# 1.115 26-May-2015 htodd

Fix debug build.


# 1.114 26-May-2015 ozaki-r

Run mcast tests on rump kernels

The tests on anita qemus failed due to that the host network environment
didn't meet the tests.

The change makes the tests independent from host environments
and the tests will pass on any environments including anita qemus.

Discussed on tech-kern and tech-net.


# 1.113 01-May-2015 christos

- new test for strtoi
- namespace protection for strto{i,u}
- separate manpages for strto{i,u} from the ones for strto{u,}l
From: Kamil Rytarowski


# 1.112 17-Apr-2015 pgoyette

And mark the original httpd.debug as obsolete.

Hello, mrg ...


# 1.111 17-Apr-2015 pgoyette

Add missing debug entry for bozohttpd


# 1.110 09-Apr-2015 christos

add new test


# 1.109 05-Apr-2015 martin

Add new bind(2) test program


# 1.108 03-Mar-2015 martin

sort


# 1.107 03-Mar-2015 martin

Add pwait


# 1.106 31-Jan-2015 christos

PR/49617: Kirk Russell: new posix_fallocate test


# 1.105 26-Jan-2015 christos

lto is only for pic


# 1.104 25-Jan-2015 christos

stuff added by blacklist


# 1.103 14-Jan-2015 christos

add vnode kqueue test from PR/48958


# 1.102 07-Jan-2015 pooka

+rumpkern_sysproxy to setlists


# 1.101 07-Jan-2015 christos

add lto


# 1.100 06-Jan-2015 mrg

fix MKGCC=no builds.


# 1.99 05-Jan-2015 christos

add in_cksum tests


# 1.98 30-Dec-2014 mrg

install midirecord.


# 1.97 21-Dec-2014 martin

Debug info for new test program


# 1.96 08-Dec-2014 ozaki-r

Add basic tests for ifconf (SIOCGIFCONF)


# 1.95 04-Dec-2014 htodd

Fix debug build.


# 1.94 02-Dec-2014 christos

add new address printing tests.


# 1.93 19-Nov-2014 pooka

On second thought, let's not build the rump kernel component for ac97
by default. The component is not used on a NetBSD target anyway.


# 1.92 18-Nov-2014 pooka

appeased the mighty setlist gods by telling them what they should know


# 1.91 24-Oct-2014 christos

gcc=48 has asan.


# 1.90 22-Oct-2014 christos

Add libasan


# 1.89 20-Oct-2014 christos

t_mcast is not a rump test (but should be).


# 1.88 16-Oct-2014 htodd

Add ./usr/libdata/debug/usr/tests/lib/libc/stdio/t_open_memstream.debug.


# 1.87 13-Oct-2014 htodd

Add debug file for t_mcast.


# 1.86 12-Sep-2014 roy

Remove more rtsol references.


# 1.85 25-Aug-2014 joerg

Add basic support for indirect functions. It allows providing a public
function symbol with an implementation choosen at run time.
Refactor calls to functions by address in ld.elf_so to create temporary
function descriptors on the stack, if the address is not leaked outside.

Limitations:
- no support for initialising static storage with function pointers
- no support for unnamed resolver functions

Inspired by FreeBSD's r228435 by kib@freebsd.org.


# 1.84 25-Aug-2014 pooka

Remove and obsolete rumpkern_time as a separate component.


# 1.83 22-Aug-2014 apb

sort


# 1.82 14-Aug-2014 riastradh

Add tar.debug and cpio.debug to lists for MKBSDTAR=yes MKDEBUG=yes.


Revision tags: netbsd-7-base tls-maxphys-base
# 1.81 09-Aug-2014 apb

branches: 1.81.2;
Mark gkermit files "obsolete", don't remove then from the set lists.


Revision tags: tls-earlyentropy-base
# 1.80 09-Aug-2014 gson

Test that reading a CTLTYPE_INT sysctl variable into a buffer that is
too small returns ENOMEM, and that reading it into a buffer that is
large enough returns the expected sizeof(int) bytes of data.


# 1.79 08-Aug-2014 apb

Add ekermit.debug.


# 1.78 08-Aug-2014 apb

Unhook gkermit from the build.
It is being replaced by the BSD-licenced ekermit, as proposed
on tech-userlevel on 7 Aug 2014.


# 1.77 01-Aug-2014 christos

add timeout(1)


# 1.76 27-Jul-2014 martin

Add usr/sbin/sysinst


# 1.75 24-Jul-2014 plunky

add p++, and move it and cxxcom to comp-cxx-bin


# 1.74 24-Jul-2014 plunky

add PCC libexec/cxxcom


# 1.73 18-Jul-2014 christos

Add t_minherit.


# 1.72 17-Jul-2014 prlw1

Update lists after adding support for vnd to rump (report from hannken@)


# 1.71 09-Jul-2014 alnsn

Add t_cop and t_extmem kernel bpfjit tests to the build.


# 1.70 08-Jul-2014 alnsn

Add t_mbuf tests to the build.


# 1.69 08-Jul-2014 martin

Try to fix debug and debuglib setlists for the bind import


# 1.68 07-Jul-2014 alnsn

Add bpf/t_mbuf test to the build.


# 1.67 06-Jul-2014 tron

Update set lists for Postfix 2.11.1.


# 1.66 02-Jul-2014 alnsn

Move t_bpfjit.debug entries back to mi and add "sljit" tag to them.


# 1.65 02-Jul-2014 htodd

Move t_bpfjit.debug to md lists.


# 1.64 01-Jul-2014 htodd

Fix build for debug with bpfjit.


# 1.63 25-Jun-2014 alnsn

Add new libbpfjit tests.


# 1.62 23-Jun-2014 shm

Add bm(3) tests


# 1.61 16-Jun-2014 joerg

Add modfl(3). From FreeBSD.


Revision tags: yamt-pagecache-base9
# 1.60 29-Apr-2014 uebayasi

Minimal execve(2) ATF test.


# 1.59 24-Apr-2014 pooka

scsitest is a SCSI target emulator used by one test, and has little
reason to get installed. Make the component private to the test using
it and obsolete the installed one.

IOW, rename sys/rump/dev/lib/libscsitest -> tests/dev/scsipi/libscsitest


# 1.58 16-Apr-2014 htodd

Add getaddrinfo.debug to lists.


# 1.57 13-Apr-2014 skrll

The ctf tools are controlled by MKCTF now. Mark the debug files
accordingly.


# 1.56 10-Apr-2014 pooka

add aio driver as rump kernel component


# 1.55 06-Apr-2014 christos

add stp*cpy tests.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.54 01-Apr-2014 christos

branches: 1.54.2;
add kvno


Revision tags: riastradh-drm2-base3
# 1.53 14-Mar-2014 pooka

+ rumpkern_time


# 1.52 08-Feb-2014 jmmv

Update file lists for atf 0.19.

This has been tested with both MKKYUA=no (the default) and MKKYUA=yes, as
well as with a non-clean tree and a clean build. Hopefully I got the
details right... but they were tricky!


# 1.51 30-Jan-2014 joerg

Add test for uint64 to real long double conversion.


# 1.50 20-Jan-2014 christos

fix typo


# 1.49 17-Jan-2014 pgoyette

Update sets lists for new h_sha1hmac test program.


# 1.48 15-Jan-2014 pgoyette

Add debug entries for new opencrypto tests


# 1.47 14-Jan-2014 pgoyette

Update sets lists for new rump opencrypto library


# 1.46 06-Jan-2014 gson

Make t_hostent test cases that query the DNS work on systems with no
Internet connectivity, by hijacking DNS queries and /etc/resolv.conf
accesses using librumphijack and providing a minimal DNS server to
answer the queries.


# 1.45 28-Dec-2013 rjs

Only build shmif_dumpbus when rump is available.


# 1.44 25-Dec-2013 christos

add smbutil


# 1.43 16-Nov-2013 alnsn

Build and install sljit and bpfjit rump components iff ${MKSLJIT} != "no".


# 1.42 16-Nov-2013 rmind

Build rumpkern_sljit and rumpnet_bpfjit; include them into the sets.


# 1.41 12-Nov-2013 htodd

Add debug file for hals_end.


# 1.40 12-Nov-2013 joerg

Initial version of fmodl from FreeBSD.
Basic test case for the fmod family.


# 1.39 11-Nov-2013 joerg

NetBSD 6.99.26: Switch i386 and amd64 to the x87 default control word
as initial value for new processes. This means that long double
computations get the expected 63bit mantissa. Binaries tagged as
compiled for 6.99.25 and older get the old value.

Add a simple test case to ensure that double and long double computation
are working correctly.


# 1.38 02-Nov-2013 christos

Fix debuglib entries


# 1.37 01-Nov-2013 mrg

add support for GCC 4.8 sets.


# 1.36 28-Oct-2013 htodd

Adding luactl.debug to lists to fix debug build.


# 1.35 27-Oct-2013 apb

sort


# 1.34 12-Oct-2013 christos

add new t_tcp test


# 1.33 10-Oct-2013 christos

fix missing files


# 1.32 03-Sep-2013 htodd

Fix debug build by adding cgram.debug.


# 1.31 16-Aug-2013 christos

new hostent related tests.


# 1.30 14-Aug-2013 pooka

Separate inet and inet6, allows inet6-only rump kernels.


# 1.29 11-Aug-2013 joerg

Sort entries in strcmp order.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.28 18-Jul-2013 matt

Make the shared library related tests dependent on pic


Revision tags: riastradh-drm2-base
# 1.27 05-Jul-2013 njoly

branches: 1.27.2;
+ clang-tblgen.debug, clang.debug, llvm-tblgen.debug


# 1.26 03-Jul-2013 nakayama

Enable tests which does not require rump if MKRUMP=no.
Pointed out by christos on source-changes-d.


# 1.25 02-Jul-2013 nakayama

rump is required for tests under tests/net/net.


# 1.24 27-Jun-2013 christos

add pktinfo tests


# 1.23 28-May-2013 joerg

Add mbsnrtowcs and wcsnrtombs. Approved by core.


# 1.22 08-May-2013 christos

atf fixes, whitespace, sorting


# 1.21 28-Apr-2013 joerg

Introduce MKLIBSTDCXX, defaulting to yes.


# 1.20 22-Apr-2013 christos

new t_mktemp


# 1.19 18-Apr-2013 rjs

Fix build when MKDEBUG=yes and MKRUMP=no.


# 1.18 11-Apr-2013 christos

libevent sets


# 1.17 28-Mar-2013 christos

new test


Revision tags: agc-symver-base
# 1.16 21-Mar-2013 christos

new dlopen tests for libpthread.


# 1.15 12-Mar-2013 njoly

Add missing .debug extension.


# 1.14 08-Mar-2013 martin

Adapt to renamed test program


# 1.13 08-Mar-2013 martin

Add new test program t_sigtimedwait_pr_47625.


# 1.12 28-Feb-2013 christos

Locale I/O tests.


# 1.11 28-Feb-2013 martin

Add new testprogram


# 1.10 26-Feb-2013 christos

add a new rpc test


# 1.9 25-Feb-2013 jmmv

Update file lists to reflect the import of kyua-atf-compat, which has the
side-effect of marking several atf-related entries as obsolete (when
MKKYUA!=no).


# 1.8 23-Feb-2013 jmmv

branches: 1.8.4;
Register directories and files provided by kyua-cli.


# 1.7 19-Feb-2013 jmmv

Enable the build of kyua-testers and register its files and directories.
This is conditional on MKKYUA.


# 1.6 16-Feb-2013 jmmv

Hook Lutok into the build. This is all protected by the MKKYUA guard.


# 1.5 15-Feb-2013 jmmv

Fix debug entries after the import of atf 0.17.


Revision tags: yamt-pagecache-base8
# 1.4 17-Jan-2013 christos

branches: 1.4.2;
the set files themselves should not be conditional to anything so that
they are always generated.


# 1.3 17-Jan-2013 christos

add the set files themselves


# 1.2 16-Jan-2013 christos

- add xdebug set
- document debug better
- fix previous debug fallout.


# 1.1 16-Jan-2013 christos

Add a new "debug" set that gets built when ${MKDEBUG} is set. On evbarm:
-rw-r--r-- 1 root src 35806068 Jan 16 10:47 base.tgz
-rw-r--r-- 1 root src 57374069 Jan 16 10:48 comp.tgz
-rw-r--r-- 1 root src 101286193 Jan 16 10:49 debug.tgz
...
This allows always building the debugging code and libraries but not
installing it (although now it is placed in the default sets if ${MKDEBUG}
is set


# 1.490 21-Oct-2025 pgoyette

Add .debug versions of new tests


# 1.489 13-Oct-2025 kre

add entries for new tests/fs/lfs/t_{basic,orphan}


# 1.488 10-Oct-2025 christos

Commit GSoC 2025 aio project by Ethan Miller:
https://blog.netbsd.org/tnf/entry/gsoc2025_asynchronous_i_o_framework


# 1.487 06-Oct-2025 riastradh

libpthread: Test pthread stubs in threaded vs non-threaded programs.

PR lib/59685: libcrypto should not depend on libpthread


# 1.486 15-Sep-2025 riastradh

ctype(3): New environment variable LIBC_ALLOWCTYPEABUSE.

If set, this does not force the ctype(3) functions to crash when
passed invalid inputs -- instead, they will return nonsense results,
and possibly print warnings to stderr, as is their right in
implementing undefined behaviour.

The nature of the nonsense results is unspecified. Currently, is*()
will always return true (even if that leads to mutually contradictory
conclusions, like isalpha and isdigit, or isgraph and isblank), and
tolower/toupper() will always return EOF. But perhaps in the future
the results may be randomized.

This way, if an application like firefox crashes on ctype abuse, you
can opt to accept the consequences of nonsense results instead by
running `env LIBC_ALLOWCTYPEABUSE= firefox' until the application is
fixed.

PR lib/58208: ctype(3) provides poor runtime feedback of abuse


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
# 1.485 17-Jul-2025 kre

branches: 1.485.2;
ATF test additions for O_CLOFORK.

These are Ricardo Branco's ATF test modifications for O_CLOFORK
& SOCK_CLOFORK (with some FD_CLOFORK included).

These have all been made able to be built & run in an environment
where O_CLOFORK (etc) are not yet visible to userland.


# 1.484 25-May-2025 martin

PR 59441: fix some annotations so MKDEBUGLIB=yes but MKDEBUG=no
builds work.


# 1.483 02-May-2025 riastradh

lib/csu: Test a static PIE with RELR relocations.

PR bin/59360: ld.elf_so(8): missing RELR support


# 1.482 02-May-2025 rillig

tests/strpct: demonstrate rounding errors


# 1.481 02-May-2025 riastradh

ld.elf_so: Add a trivial test for R_*_RELATIVE relocations.

PR bin/59360: ld.elf_so(8): missing RELR support


# 1.480 27-Apr-2025 martin

Fix names of new CSU tests


# 1.479 27-Apr-2025 riastradh

lib/csu: Add tests of {static, dynamic} x {pie, non-pie}.

Main goal here is to test static pies, but let's take advantage of
this to test the same code several ways, since the csu logic has some
differences for static vs dynamic builds too like the ordering of
_libc_init calls.

PR lib/59359: static pies are broken


# 1.478 22-Apr-2025 nia

Add basic tests for timespec_get(3), timespec_getres(3)

PR standards/58608


# 1.477 20-Apr-2025 riastradh

Test stack pointer alignment in various scenarios.

1. elf entry point
2. main function
3. signal handler

Extend the test to amd64 while here -- fortunately both aarch64 and
amd64 pass, but others, such as mips, will fail:

PR kern/59327: user stack pointer is not aligned properly

This extends the test that was previously written for:

PR kern/58149: aarch64: Cannot return from a signal handler if SP was
misaligned when the signal arrived

With any luck, this will help us to systematically eradicate misaligned
stack pointers as hypothesized to be the reason for:

PR port-mips/59236: Multiple segfaults in erlite3 boot


# 1.476 16-Apr-2025 riastradh

t_rtld_r_debug: Test this as a non-PIE executable too.

On MIPS, non-PIEs can use DT_MIPS_RLD_MAP or DT_MIPS_RLD_MAP_REL,
while PIEs can't use DT_MIPS_RLD_MAP because it relies on an absolute
virtual address baked into the file. So it's important to test both.

PR port-mips/59296: t_rtld_r_debug test is failing


# 1.475 10-Apr-2025 pgoyette

Fix sets-list for MKDEBUG build


# 1.474 09-Apr-2025 christos

updates for new OpenSSH


# 1.473 05-Apr-2025 riastradh

t_compat_cancel: Update set lists.

PR lib/59240: POSIX.1-2024: cancellation point audit
PR lib/59247: pthread_cancelstub.c is inadequately tested


# 1.472 01-Apr-2025 riastradh

stddef.h: New nullptr_t, unreachable().

Define __STDC_VERSION_STDDEF_H__ while here.

Order content according to standard, and quote the relevant clauses,
to make it easier to audit.

PR standards/58605: C23: __STDC_*_H__ versions
PR standards/58620: C23: <stddef.h> unreachable() macro
PR standards/58621: C23: <stddef.h> nullptr_t


# 1.471 31-Mar-2025 riastradh

pthread_cancel(3): Add some automatic tests.

PR lib/59240: POSIX.1-2024: cancellation point audit
PR lib/59134: POSIX-1.2024: pthread_setcancelstate must be
async-signal-safe


# 1.470 28-Mar-2025 riastradh

t_ctype: New test for ctype(3) functions/macros.

PR lib/58208: ctype(3) provides poor runtime feedback of abuse


# 1.469 13-Mar-2025 riastradh

execve(2), posix_spawn(2): Add test case for an embarrassing bug.

PR kern/58091: after fork/execve or posix_spawn, parent kill(child,
SIGTERM) has race condition making it unreliable


# 1.468 11-Mar-2025 brad

A driver and userland utility for a couple of families of the
Microchip Technology / SMSC fan controller chips.

The driver and utility supports the:

o EMC2101 and EMC2101-R
o EMC2103-1, EMC2102-2 and EMC2103-4
o EMC2104
o EMC2106
o EMC2301
o EMC2302
o EMC2303
o EMC2305

The EMC210X family supports 1 or 2 fans with tachometer. Depending on
the chip, it may support 2 additional fans without tach and might
support a high side attachment (i.e. a fan, usually 5v, driven
directly from the chip and not PWM or DAC). All versions of EMC210X
support internal temperature measurements, and depending on the chip,
may support up to 5 additional temperature zones. The tachometers and
temperature measurements are provided to the system via the envsys(4)
framework. Some chip types support GPIO pins and support is provided
via the gpio(4) framework.

The EMC230X family supports 1, 2, 3 or 5 fans with the same number of
tachometers. No temperature zone or GPIO support. The tachometers
are provided to the system via the envsys(4) framework. The fan
support can be provided by PWM signaling or DAC.

The two chip families mostly do PWM signaling for the fan speed, but a
number of them support DAC output, a 0 to 3v or so voltage. When the
chip supports external temperature zones, this is done usually by a
bipolar NPN or PNP transister configured as a diode, but some of the
chip varients support thermistors.

The emcfan(4) kernel driver provides a simple read / write / seek
device in /dev/ to the register set in the chip. The heavy lifting is
done in the userland utility emcfanctl(8) which provides the ability
to read and write to any valid register and provides some basic higher
level commands to control fan behavior. The output is simple text
lines, or JSON.

The kernel driver does not reset or other mess with the chip, aside
from reading registers. It is entirely possible that something else
in any particular system is the major manager of the fan controller
and it would not do for the kernel driver to mess too much with the
attached device. All interactions are intentional via the userland
utility.

It is known that a EMC2301 is present on the Raspberry PI 4 Compute IO
module (not to be confused with the Raspberry PI 4 Compute module
itself) and there is a breakout board from Adafruit with a EMC2101 on
it. The chips themselves are pretty inexpensive from Mouser or
Digi-key and can be soldered using the simpler SMD soldering
techniques. A number of the variants are QFN packages, but the pads
are exposed to the side of the chip. No other external components are
required to use these fan controllers.


# 1.467 02-Mar-2025 riastradh

libc: New _r variants of heapsort, mergesort, qsort.

Also kheapsort_r for kernel/standalone use.

These variants allow the caller to pass a cookie through to the
comparison function, e.g. if you want to sort an array of indices
into a buffer.

qsort_r is new in POSIX.1-2024; the others are obvious analogues of
our nonstandard extensions for heapsort and mergesort.

PR lib/58931: qsort_r() missing


# 1.466 27-Feb-2025 riastradh

Test whether exec/spawn will zero registers.

Currently implemented only for a handful of architectures; should
extend this to all the others, and extend as appropriate if we find
more register content is worth testing (like maybe vector registers,
but they are managed differently anyway and less likely to leak).

VAX test contributed (and tested) by Kalvis Duckmanton, with some
tweaks by me; the others written and tested by me. IA64 skipped,
even though I suspect it _would_ leak if the kernel code ran as is,
because I have no way to test it.

PR kern/59084: exec/spawn leaks register content


# 1.465 24-Feb-2025 martin

Provide a new attribute, efi_rt, derived from HAVE_EFI_RT, and use
that to mark sbin/efi.


# 1.464 24-Feb-2025 christos

new efi program


# 1.463 27-Jan-2025 christos

Add getnameinfo files


# 1.462 26-Jan-2025 kre

Correct a minor typo. s/sandboc/sandbox/


# 1.461 26-Jan-2025 christos

sets changes for new bind-9.


# 1.460 23-Jan-2025 christos

add new test


# 1.459 02-Jan-2025 kre

Fix build after recent regex tests addition (make it be an addition, and
don't forget tests/libtre)


# 1.458 01-Jan-2025 christos

new regex test.


# 1.457 22-Dec-2024 riastradh

t_time_arith: New test for timer calculations.

This will facilitate fixing various problems in the arithmetic to
determine, given an itimer's scheduled time (it_value) and periodic
interval (it_interval) along with the current time of actual expiry
(now), what time the itimer should be rescheduled for (next, new
value of it_timer) on the same clock.

Later we can also put tests for other functions like tvtohz here, and
make them test many different values of hz/tick.

XXX Not 100% sure about all of these cases -- there is some room for
reasonable discussion about what the right answer is. But we have
unquestionably implemented the wrong thing for many of these cases,
even if the answers this test checks for may not be quite right yet.

PR kern/58922: itimer(9): arithmetic overflow
PR kern/58925: itimer(9) responds erratically to clock wound back
PR kern/58926: itimer(9) integer overflow in overrun counting
PR kern/58927: itimer(9): overrun accounting is broken


# 1.456 17-Dec-2024 christos

add a PT_KILL test.


# 1.455 16-Dec-2024 brad

A driver for the MCP-2221 / 2221A multi-io chip. This is a USB to
UART / GPIO / I2C multi-io chip probably based upon a programmed PIC.
The end result is that simple gpio and i2c can exist on any system
that provides a USB port. This is everything from a RPI to a
Virtualbox VM.


o The UART presents itself as a umodem(4) device and pretty much works
as one would expect.

o There are 4 simple GPIO pins with multiple functions that attach to
gpio(4). Support for basic GPIO input and output exists with gpioctl,
the ADC, DAC and clock pulse functions exist as ALT functions. For
the ADC and DAC /dev/ devices are provided such that simple reads and
writes interact with the ADC and DAC. The IRQ function on pin GP1 and
bit banging the GPIO with gpiopps(4) and gpioow(4) are not really
supported. The short answer is that a spin lock is held while trying
to do USB transfers and that isn't allowed.

o There is a simple I2C engine that attaches to iic(4). This mostly
works as expected, except that a READ without STOP is not supported by
the engine which causes problems for some drivers. Most drivers do
not seem to use READ without STOP and seem to work as expected.
Support for changing the I2C speed is not supported, but nothing much
really does that.

o A userland utility called umcpmioctl(8) is provided that allows the
query of the status of the chip and allows for the query of the flash
memory and the setting of some of the flash memory parameters mostly
related to gpio. This utility interacts with a control device in
/dev/. The flash memory contents is copied to the sram on boot up of
the chip and can be used to adjust how the chip sets up the gpio pins,
among other things. Support for setting or entering the chip password
is not provided.

o A number of sysctls are provided to mess with various settings.
These are detailed in the man page.


While not perfect, the chip is reasonable, cheap, and has at least one
vendor making a breakout board. It is also one of the only ones in
this space that has enough documentation to write a driver.

Support for a related chip, the MCP-2210, which provides SPI and GPIO
may exist some day as the programming interface is very simular.


# 1.454 10-Nov-2024 riastradh

tests/kernel/t_cloexec: New tests for close-on-exec.

Verified that the following tests fail on a netbsd-10 kernel:

- clonedev_posixspawn
- dup3_posixspawn
- fcntldupfd_posixspawn

PR kern/58822: close-on-exec is broken for dup3 and opening cloning
devices


# 1.453 02-Nov-2024 christos

make zstd a private library (for now)


# 1.452 30-Oct-2024 christos

Hook zstd to the build and enable it for libarchive and file.


# 1.451 09-Oct-2024 kre

Add a test for clock_nanotime() [ PR kern/58733 ]

Add a t_nanosleep test to the kernel tests, to (to a limited extent)
validate its functionality.

Initially this concentrates on the issue from PR kern/58733
where if a process paused in nanosleep() is stopped, and then
continued, and if it is using TIMER_ABSTIME, the call will
return prematurely, but indicating success.

There are (currently) 4 test cases, to test all 4 possibilities
using CLOCK_MONOTONIC and CLOCK_REALTIME (if someone wants to
add any other clocks that make sense, that should be easy) and
TIMER_ABSTIME and TIMER_RELTIME.

Currently both TIMER_ABSTIME tests fail (the TIMER_RELTIME
tests pass). When the kernel bug is fixed, the ABSTIME
tests should be fixed along with it.

These tests are currently somewhat crude, and I'm not sure
how well they will work on a qemu test system (they work as
expected on bare metal).


# 1.450 03-Oct-2024 christos

new semtimedop(2) GSoC 2024 (Shivraj Jamgade)


# 1.449 19-Sep-2024 gdt

tests: Add test for remquo

This test currently fails, because remquo has bugs. (A bugfix will be
committed soon.) Test vectors derived from results from code by
Charles Karney in GeodesicLib/proj, and manually inspected.


# 1.448 09-Sep-2024 riastradh

math.h: Add math_errhandling, MATH_ERRNO, MATH_ERREXCEPT.

XXX Should maybe put a __math_errhandling in machine/math.h, but only
VAX uses MATH_ERRNO and that's not likely to change any time soon, so
this will serve for now with less churn.

PR standards/56234: missing C99 frobs in <math.h>


# 1.447 02-Sep-2024 ozaki-r

distrib, etc: install shmif_pcapin and its tests


# 1.446 27-Aug-2024 riastradh

arc4random(3): Add automatic tests.

This verifies that:
- arc4random zeroes its state and reseeds itself on fork
- arc4random reseeds itself on entropy consolidation (e.g., VM clone)
- arc4random falls back to global state if it can't allocate local
state because address space limits cause mmap to fail

NOTE: This adds a new libc symbol __arc4random_global, but it's in
the reserved namespace and only used by t_arc4random, so no libc
minor bump.

PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork


# 1.445 18-Aug-2024 rin

sets/lists: Make gdbserver MI by using MKGDBSERVER


# 1.444 15-Aug-2024 riastradh

libc: New functions c8rtomb(3) and mbrtoc8(3).

New in C23, for converting from UTF-8 to locale-dependent multibyte
sequences (c8rtomb) or vice versa (mbrtoc8), along with the new type
char8_t.

Conditional on either:
- _NETBSD_SOURCE
- _ISOC23_SOURCE
- __STDC_VERSION__ >= 202311L

(Riding the libc minor bump from this morning for the UTF-16/UTF-32
versions from C11.)

PR standards/58601: uchar.h C23 compliance: char8_t, mbrtoc8, c8rtomb


# 1.443 15-Aug-2024 riastradh

libc: New C11 functions mbrtoc16, mbrtoc32, c16rtomb, c32rtomb.

The mbrtoc16/32 functions read mulitbyte strings according to the
current locale into UTF-16/32 code unit sequences; the c16/32rtomb
functions write UTF-16/32 code unit sequences into multibyte strings
according to the current locale. The `r' means restartable: they
work incrementally and pick up where they left off.

NOTE: This bumps the libc minor version, since it adds new symbols.

PR lib/52374: <uchar.h> missing


# 1.442 15-Aug-2024 riastradh

uchar.h: New header file for C11 (and C++11) compliance.

Implementation of the new functions mbrtoc16, c16rtomb, mbrtoc32, and
c32rtomb to come later. Updates for C23 to come later.

PR lib/52374: <uchar.h> missing


# 1.441 09-Aug-2024 bad

add tests/kernel/t_umount.c: test case for unmount(2)

demonstrate that failing to umount and async mounted file system causes the
kernel syncer to start flushing dirty buffers for it.

PR kern/58564: async mounts revert to being synced after failed unmount


# 1.440 11-Jul-2024 riastradh

Revert the duplication of compat set lists; do it another way.

1. Restore the compatdir and compatfile tags in base and debug.

=> compatdir marks directories that should have per-ABI compat
subdirectories, like /usr/lib having /usr/lib/o32 and
/usr/lib/64 on mips64.

=> compatfile marks files that have per-ABI versions in the
nearest compatdir, like /usr/lib/o32/libc.so.12.221.

This is the mechanism we use to avoid duplicating every library
that has a compat version in multiple set lists.

2. Teach sets.subr to split the compatdir and compatfile entries out
into separate sets for base and debug.

The mechanism is to internally use:

- a new tag `omitcompat' when processing base and debug, so we
don't generate the per-ABI compat directories or per-ABI compat
files under them;

- a new tag `takecompat=${ABI}' when processing base32/64 and
debug32/64, so we _do_ generate the per-ABI compat directories
for ${ABI}.

=> On, e.g., mips64, base32 uses `takecompat=o32' and base64
uses `takecompat=64'.

=> On, e.g., aarch64, base32 uses
`takecompat=eabi,takecompat=eabihf', and there is no base64.

3. Record in sets.subr the list of `32' and `64' architectures for
each port.

This is maybe not the right place to put it, but it's also not
clear that we want to keep exactly this division -- maybe it would
be more sensible to just have per-ABI , e.g.:

(aarch64) base-eabi, base-eabihf
(amd64) base-i386
(mips64) base-o32, base-64
(mipsn64) base-o32, base-n32

But I'll leave cleaning that up for another day.

4. Adjust some sets. Mostly this commit shouldn't change what file
go in what sets, but, e.g., on mips64, the following move from
base32 to base64 as part of this change, which I think is
appropriate:

- /lib/64
- /libexec/ld.elf_so-64
- /usr/lib/64
- /usr/libdata/debug/lib/64
- /usr/libdata/debug/usr/lib/64
- /usr/libexec/ld.elf_so-64

TBD: Remove ./lib and ./usr/lib from debug/mi; they're already in
base/mi. Maybe move ./usr/libdata/debug to from base/mi to debug/mi.

This reverts most of the set list changes in:

https://mail-index.netbsd.org/source-changes/2024/04/09/msg150763.html

PR misc/58365


# 1.439 09-Jul-2024 christos

Add missing d


# 1.438 08-Jul-2024 christos

bump libssh, add sshd-session


# 1.437 07-Jul-2024 riastradh

t_ifunc: Test with all combinations of {relro, bindnow}.

PR lib/57792


# 1.436 01-Jul-2024 mrg

GCC sanitizers: only build the sanitizers if $MKGCCCMDS != "no".

there's a minor use-case for the configuration of "building sanitizers
for distribution, but not the compiler", but it's pretty uncommon, and
the latest sanitizers don't build at all on m68000 so enhance the
option to not build /usr/bin/gcc (which simply can't modern GCC on a
sun2) to not build the sanitizers either.

(if we were to split these, MKGCCSANITIZER would be good variable.)

update set lists for far too many files, including fixing MKDEBUG for
a couple of builds.


Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
# 1.435 05-May-2024 riastradh

branches: 1.435.2;
tests/lib/libm: Test nextafter/nexttoward and variants.

The tests are fairly trivial but should work without any conditionals
about floating-point formats.


# 1.434 28-Apr-2024 rillig

tests/cd9660: add debug info to the file list


# 1.433 28-Apr-2024 riastradh

libstdc++: Add test for PR lib/58206, sync_with_stdio busted.


# 1.432 23-Apr-2024 martin

Add new test program


# 1.431 09-Apr-2024 nia

Add new sets: base32, debug32, manhtml

- base32 contains (when MKCOMPAT=yes) shared libraries for 32-bit
compatibility, previously included in base

- debug32 contains (when MKCOMPAT=yes) debug symbols and static libraries
containing debug symbols for 32-bit compatiblity, previously included
in debug

- manhtml contains (when MKHTML=yes) the HTML files previously included
in 'man', which are of limited utility without third-party software.

The motivation for this change is to be able to easily exclude sets
from CD-ROM images that go over the size limit without xz compression
(which many NetBSD platforms struggle to extract at acceptable speeds).


# 1.430 15-Mar-2024 riastradh

libcrypto: Add some trivial tests for truncated SHA-512 variants.

These should use more of the test vectors from

https://csrc.nist.gov/Projects/Cryptographic-Algorithm-Validation-Program/Secure-Hashing#Testing

but this will do for now to detect the buffer overrun rake we left
lying around for ourselves.

PR lib/58039


# 1.429 22-Feb-2024 christos

new tool


# 1.428 22-Feb-2024 christos

add new bind tools


# 1.427 21-Feb-2024 christos

changes for new bind.
XXX: removing lint libraries where lint does not work anymore is temporary.


# 1.426 20-Feb-2024 christos

fix debug sets for sun2 (libgcc_s_g.a and libgcc_eh_g.a should be in shl.mi)


# 1.425 19-Feb-2024 riastradh

longjmp(3): Add test for PR lib/57946.


# 1.424 24-Nov-2023 riastradh

pthread: Add tests for pthread user stack allocation.

PR lib/57721

XXX pullup-10
XXX pullup-9
XXX pullup-8


# 1.423 10-Nov-2023 christos

Add test for:
PR/57689: RVP: getcwd() not overridable with -D_FORTIFY_SOURCE


# 1.422 06-Nov-2023 rin

lists/debug/mi: Sprinkle gcc to lib[al]san_g.a to fix clang build


# 1.421 17-Oct-2023 rjs

The t_fdrestart test requires rump.


# 1.420 17-Oct-2023 rjs

The inpcb tests are only built when rump is enabled.


# 1.419 15-Oct-2023 riastradh

t_fdrestart: New test of closing fd with another thread in I/O on it.

Adapted from regress/sys/kern/dislodgefd.

PR kern/57659


# 1.418 20-Aug-2023 riastradh

distrib/sets/lists: compat/linux/h_*.debug is amd64-only for now.


# 1.417 20-Aug-2023 riastradh

distrib/sets/lists: Add .debug files for new compat/linux tests.


# 1.416 08-Aug-2023 rin

lists: Fix build with MKGCCCMDS=no && MKDEBUGLIB=yes


# 1.415 04-Aug-2023 riastradh

t_ubsan, t_ubsanxx: Remove gcc=10, gcc=12 conditionals.

These are built unconditionally. Should help fix the clang build.


# 1.414 04-Aug-2023 mrg

more updates for sets and GCC 12

- renable sanitizer, add new shlib versions, enable tsan for arm64,
including moving some stuff into the per-cpu/arch dir from 'mi'.
- fix mips64, 68k, and ia64
- mark many any-gcc-version things just as "gcc" and remove dups
- mark many gcc=9 only things as obsolete
- mark many gcc=10 only things as obsolete with gcc=12 (more could
be done here.)


# 1.413 03-Aug-2023 rin

Fix lists for HAVE_GCC=12.


# 1.412 03-Aug-2023 nia

mark obsolete, don't remove from setlist


# 1.411 03-Aug-2023 nia

Revert addition of epoll to libc until discussion concludes


# 1.410 01-Aug-2023 mrg

various updates for GCC 12

- bump some shlibs
- add new header files
- add compiler-version header files
- disable sanitizer libraries for gcc12 for now


# 1.409 30-Jul-2023 riastradh

ld.elf_so: Add some known-answer tests for hash functions.

Make sure the testing mechanism detects the traditional overflow bug.


# 1.408 29-Jul-2023 christos

Add tests for t_memfd_create and fix bug found by tests


# 1.407 28-Jul-2023 christos

Add epoll(2) from Theodore Preduta as part of GSoC 2023


# 1.406 05-Jul-2023 riastradh

tests/libexec/ld.elf_so: Fix helper library makefiles.

1. Consolidate logic into a single helper.mk to reduce duplication.
2. Set NO* variables, not MK* variables which are reserved for user.
3. Avoid eager X!= in favour of lazy ${X:sh}.
4. Mark _g.a set list entries obsolete. Never should've been built!

PR misc/57462


# 1.405 21-Jun-2023 pgoyette

Looks like this debug library disappeared with the new heimdal. Mark
it obsolete to fix the MKDEBUGLIB build.


# 1.404 16-Jun-2023 wiz

mark some openssl 1.1 files as obsolete with openssl 3


# 1.403 06-Jun-2023 martin

Fix markup of libh_ MKDEBUGLIB=yes only files


# 1.402 06-Jun-2023 pgoyette

Fix MKDEBUGLIB build by adding these installed files to the debug
set list.

XXX
One could argue that these files are not of any use, so why install
them? I don't have a good argument either way, and this is (for
now) a simple work-around for PR bin/57455 Please feel free to
commit a different fix to avoid installing these files at all.


# 1.401 02-Jun-2023 martin

Add recent ld.elf_so test helpers debug info


# 1.400 31-May-2023 riastradh

ld.elf_so: Fix set lists for MKDEBUG=yes builds with t_tls_extern.

XXX pullup-10


# 1.399 24-May-2023 lukem

obsolete mkstr(1) and xstr(1)

These were only used on PDP-11 for two programs we don't ship,
and have been obsolete since the VAX days.

xstr never worked in the build.sh cross-build environment (22 years), or
parallel make environment (nearly 28 years), didn't work in the orignal 386bsd
import, and has never been needed in NetBSD as we don't have the older BSD
programs (pascal, pre-nvi ex) that needed mkstr/xstr on PDP-11.

PR toolchain/35964


# 1.398 10-May-2023 christos

update the sets for OpenSSL-3.x


# 1.397 21-Apr-2023 gutteridge

Add new test t_open_pr_57260

New test case that reflects the fix in PR kern/57260. The majority of
work for this case itself was by riastradh@, who'd supplied the basis
for it in the ticket, and provided further guidance.


# 1.396 30-Jan-2023 christos

add t_strchrnul


# 1.395 26-Dec-2022 christos

make gnu ctf needed for all new binutils.


Revision tags: netbsd-10-base
# 1.394 30-Nov-2022 ozaki-r

branches: 1.394.2;
tests: build and install t_ip_reass.c


# 1.393 22-Nov-2022 jakllsch

Fix h_lualibm debug set lists.


# 1.392 21-Nov-2022 christos

lua libm API from Phil Rulon


# 1.391 17-Nov-2022 ozaki-r

tests: build and install added test files


# 1.390 04-Nov-2022 ozaki-r

tests: add tests for invalid extra operations on a shutdown socket

The tests cover some error paths that normally happen.


# 1.389 28-Aug-2022 christos

fix sets


# 1.388 27-Aug-2022 christos

Add sincos{,f,l} from FreeBSD


# 1.387 06-Jun-2022 nia

build system: Revert all the recent additions of MK[...] knobs that
allow conditionally disabling the building of certain user space
programs in the 'base' set.

There is not enough consensus that this is the right way and a few
people had strong objections, see source-changes-d@.


# 1.386 31-May-2022 riastradh

libc: Reintroduce getentropy.

This was introduced two years ago when the getrandom/getentropy API
question was still open, and removed because the discussion was
ongoing. Now getentropy is more widely adopted and soon to be in
POSIX. So reintroduce the symbol into libc since we'll be keeping it
anyway. Discussion of details of the semantics, as interpreted by
NetBSD, is ongoing, but the symbol needs to get in before the
netbsd-10 branch. The draft POSIX text is
(https://www.opengroup.org/austin/docs/austin_1110.pdf):

SYNOPSIS
#include <unistd.h>

int getentropy(void *buffer, size_t length);

DESCRIPTION
The getentropy() function shall write length bytes of data
starting at the location pointed to by buffer. The output
shall be unpredictable high quality random data, generated by
a cryptographically secure pseudo-random number
generator. The maximum permitted value for the length
argument is given by the {GETENTROPY_MAX} symbolic constant
defined in <limits.h>.

RETURN VALUES
Upon successful completion, getentropy() shall return 0;
otherwise, -1 shall be retunred and errno set to indicate the
error.

ERRORS
The getentropy() function shall fail if:

[EINVAL] The value of length is greater than
{GETENTROPY_MAX}.

The getentropy() function may fail if:

[ENOSYS] The system does not provide the necessary
source of entropy.

RATIONALE
The getentropy() function is not a cancellation point.

Minor changes from the previous introduction of getentropy into libc:

- Return EINVAL, not EIO, on buflen > 256.
- Define GETENTROPY_MAX in limits.h.

The declaration of getentropy in unistd.h and definition of
GETENTROPY_MAX in limits.h are currently conditional on
_NETBSD_SOURCE. When the next revision of POSIX is finalized, we can
expose them also under _POSIX_C_SOURCE > 20yymmL as usual -- and this
can be done as a pullup without breaking existing compiled programs.


# 1.385 29-May-2022 nia

mk: Add MKTIMED and MKMOUSED flags for compiling NetBSD without timed
and moused


# 1.384 29-May-2022 nia

mk: Add a MKPPP flag to exclude pppd(8) and related utilities from
the build


# 1.383 28-May-2022 nia

mk: Add MKFINGER, MKTALK flags for not building
talk, talkd, finger, fingerd.


# 1.382 28-May-2022 nia

mk: Add MKNTP, MKTCPDUMP knobs.


# 1.381 27-May-2022 nia

mk: Add a MKLFS flag for excluding the log-structured filesystem userspace
tools from the build.


# 1.380 25-May-2022 nia

mk: Rename the MKMBONE option to MKMROUTING for greater accuracy and
to match the related kernel config option.


# 1.379 25-May-2022 nia

mk: Allow setting MKDHCPD=no to build base without the ISC DHCP server,
useful for embedded images that don't need to act as one.


# 1.378 25-May-2022 nia

debug pieces should also be installed conditionally based on MKMBONE


# 1.377 29-Apr-2022 pgoyette

Add a new test for PR kern/56713 and set to expected_failure for now.


# 1.376 08-Apr-2022 riastradh

membar_ops(3): Add some automatic tests.

These tests run two threads for five seconds each to try to trigger
races in the event of broken memory barriers. They run only on
machines with at least two CPUs; on uniprocessor systems there's no
point -- the membars can correctly just be (instruction barrier)
no-ops.


# 1.375 06-Apr-2022 reinoud

Add fsck_udf to the debug sets


# 1.374 28-Mar-2022 christos

Add t_link


# 1.373 24-Feb-2022 mrg

enable blkdiscard(8) build.


# 1.372 23-Jan-2022 christos

PR/56657: Juraj Hercek: Add plainrsa-gen utility mentioned in racoon.conf(5)
and fix it for OpenSSL 1.1


# 1.371 31-Dec-2021 christos

change CONFIG to @CONFIG@ to indicate substitution is going to happen.


# 1.370 29-Dec-2021 christos

Enable split-debug files for kernels. Enabled by default with MKDEBUG=yes.


# 1.369 07-Dec-2021 brad

A driver and user land utility for the Sparkfun Serial Controlled Motor
Driver module as illustrated here:

https://www.sparkfun.com/products/13911

A SCMD module is a ARM SOC simular to a Arduino in front of a motor
driver chip. The single SCMD module can control two motors and up to
16 additional modules can be chained together using an internal I2C
bus. One can interface with the SCMD using tty uart commands, SPI or
I2C. The driver in this commit adds a kernel driver for the I2C and
SPI interfaces. The command line utility provides a set of
convenience commands that support most of the functions of the SCMD
and is able to use the tty uart mode, SPI user land or the included
kernel driver in a uniform manor.

The use of the SCMD module is mostly for small robots and the like,
but it can control anything that is controllable by voltage.


# 1.368 18-Nov-2021 thorpej

Add a test case for backtrace(3) across a signal handler.


# 1.367 23-Oct-2021 thorpej

Fix a regression introduced in kern_event.c,v 1.129 that would cause
"udata" to get clobbered on ONESHOT events, and add a unit test for it.
Reported by martin@ (manifested in his case as a KASSERT() firing when
running unit tests in COMPAT_NETBSD32).


# 1.366 23-Oct-2021 thorpej

Add support for the EVFILT_EMPTY filter, which is activated when the
write buffer associated with the file descriptor is empty. This is
currently implemented only for sockets, and is intended primarily to
provide visibility to applications that all previously written data
has been acknowledged by the TCP layer on the receiver. Compatible
with the same filter in FreeBSD.


# 1.365 13-Oct-2021 thorpej

Add support for the NOTE_SECONDS, NOTE_MSECONDS, NOTE_USECONDS,
NOTE_NSECONDS, and NOTE_ABSTIME filter flags to EVFILT_TIMER,
API-compatible with the same in FreeBSD.


# 1.364 10-Oct-2021 thorpej

Add a test case for the race condition in PR kern/50094, modeled after
the Go run-time scenario described in the PR.


# 1.363 10-Oct-2021 thorpej

Add a test case to heavily exercise EVFILT_PROC + NOTE_TRACK.


# 1.362 30-Sep-2021 yamaguchi

Added tests for the linear hook APIs


# 1.361 19-Sep-2021 thorpej

Add native implementations of eventfd(2) and timerfd(2), compatible with
the Linux interfaces of the same name.


# 1.360 29-Aug-2021 christos

Inetd enhancements by James Browning, Gabe Coffland, Alex Gavin, Solomon Ritzow
Described in:
https://www.mail-archive.com/tech-userlevel@netbsd.org/msg03114.html
And developed in:
https://github.com/ritzow/src/pull/1

From their notes:

All new functionality should be explained by the updated manpage.

The manpage has been refactored a bit: A new section "Directives"
has been added and the information about default hostnames and
IPsec directives has been moved there, and the new file include
directive information is also there.

getconfigent has the most major changes. A newline is no longer
read immediately, but is called only by a "goto more" (inside an
if(false) block). This allows multiple definitions or directives
to exist on a single line for anything that doesn't terminate using
a newline. This means a key-values service definition can be followed
by another key-values service definition, a positional definition,
or an ipsec, hostname, or .include directive on the same line.

memset is no longer used explicitly to clear the servtab structure,
a function init_servtab() is used instead, which uses a C struct
initializer.

The servtab se_group field is its own allocation now, and not just
a pointer into the user:group string.

Refactored some stuff out of getconfigent to separate functions
for use by parse_v2.c. These functions in inetd.c are named with
the form parse_*()

parse_v2.c only has code for parsing a key-values service definition
into a provided servtab. It should not have anything that affects
global state other than line and line_number.

Some function prototypes, structures, and #defines have been moved
from inetd.c to inetd.h.

The function config_root replaces config as the function called on
a config file load/reload. The code removed from the end of
config(void) is now called in config_root, so it is not run on each
recursive config call.

setconfig(void) was removed and its code added into config_root
because that is the only place it is called, and redundant checks
for non-null globals were removed because they are always freed by
endconfig. The fseek code was also removed because the config files
are always closed by endconfig.

Rate limiting code was updated to add a per-service per-IP rate
limiting form. Some of that code was refactored out of other places
into functions with names in the form rl_*()

We have not added any of the license or version information to the
new files parse_v2.c, parse_v2.h, and inetd.h and we have not
updated the license or version info for inetd.c.

Security related:

The behavior when reading invalid IPsec strings has changed. Inetd
no longer exits, it quits reading the current config file instead.
Could this impact program security?

We have not checked for memory leaks. Solomon tried to use dmalloc
without success. getconfigent seemed to have a memory leak at each
"goto more". It seems like inetd has never free'd allocated strings
when throwing away erroneous service definitions during parsing
(i.e. when "goto more" is called when parsing fields). OpenBSD's
version calls freeconfig on "goto more"
(https://github.com/openbsd/src/blob/c5eae130d6c937080c3d30d124e8c8b86db7d625/usr.sbin/inetd/inetd.c#L1049)
but NetBSD only calls it when service definitions are no longer
needed. This has been fixed. freeconfig is called immediately before
any "goto more". There shouldn't be any time when a servtab is in
an invalid state where freeconfig would break.


# 1.359 12-Aug-2021 martin

h_findcc.debug is not obsolete


# 1.358 12-Aug-2021 martin

oops, fix h_findcc entry


# 1.357 12-Aug-2021 martin

Add new mkdep test helper h_findcc


# 1.356 14-Jul-2021 ozaki-r

Rump-ify ALTQ (librumpnet_altq.so)


# 1.355 09-Jul-2021 yamaguchi

added tests for IFF_PROMISC of vlan(4)


# 1.354 08-Jul-2021 christos

Add new interrupted stdio tests


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1
# 1.353 17-May-2021 yamaguchi

Add a new link-aggregation pseudo interface named lagg(4)

- FreeBSD's lagg(4) based implementation
- MP-safe and MP-scalable


Revision tags: cjep_staticlib_x-base
# 1.352 08-May-2021 rin

branches: 1.352.2;
Add missing aiomixer.debug to fix debug build.

XXX
I *really* hope someone(TM) invent better replacement of
distrib/sets/lists...


# 1.351 23-Apr-2021 mrg

build cc1objplus. don't forget debug set this time.


# 1.350 23-Apr-2021 rin

Add lto-dump.debug.


# 1.349 12-Apr-2021 mrg

various updates for GCC 10 support. remove dead gcc7/8 support
and properly mark obsolete files in gcc9/gcc10.

testing on amd64 and shark for GCC 9, and many platforms for GCC 10,
(though not arm yet.)


Revision tags: thorpej-futex-base
# 1.348 14-Jan-2021 pgoyette

Update sets lists to accomodate KERNEL_DIR. When both KERNEL_DIR and
MKDEBUG are defined, we create an empty $DESTDIR/usr/libdata/debug/netbsd/
directory.

Should fix ``build.sh release'' issue reported in kern/55923

XXX Since nothing ever seems to populate this directory, perhaps we should
XXX simply prevent its creation? If we do create it, should its creation
XXX perhaps be conditioned on MKKDEBUG rather than MKDEBUG?

XXX There is still another problem with ``build.sh install-image'' but I
XXX open a new PR for that.


# 1.347 14-Jan-2021 pgoyette

/home/paul/XXX.txt


# 1.346 02-Jan-2021 nat

Update the debug set for testpat(6).


# 1.345 28-Dec-2020 martin

Add resize


# 1.344 12-Dec-2020 pgoyette

branches: 1.344.2;
Also add the new test to the sets lists.


# 1.343 10-Nov-2020 kamil

Integrate Warp Kit into the NetBSD build

Fix the build and make it install and run with minimal required changes.


# 1.342 18-Oct-2020 rin

Fix build for mips; move from mi to module.mi debug symbols for
test cases only available when MKKMOD=yes.


# 1.341 01-Oct-2020 pgoyette

Fix up the debug stuff for if_tap and if_vether


# 1.340 29-Sep-2020 roy

rumpify vether(4)


# 1.339 26-Sep-2020 jmcneill

Add HAVE_NVMM and use it to control the build of NVMM related components.
Defined to "yes" on amd64, "no" everywhere else.


# 1.338 22-Sep-2020 kamil

Add new RTLD test file for r_debug

New tests:
- self
- dlopen

Both check whether the r_debug structure seems to be well-formed, without
and with a dlopen(3) call.


# 1.337 15-Sep-2020 mrg

actually, disable tsan on everything but amd64.

it fails to build on mips64 and arm64 for me as well as others..


# 1.336 15-Sep-2020 mrg

mark tsan files as !machine=sparc64.


# 1.335 13-Sep-2020 kamil

Currently restrict GCC TSan files to gcc=9


# 1.334 13-Sep-2020 kamil

Build and install GCC TSan for 64-bit CPUs


# 1.333 12-Sep-2020 jmcneill

Add HAVE_ACPI and HAVE_UEFI flags to bsd.own.mk and use them to
conditionally include ACPI and UEFI bits instead of relying on adhoc
MACHINE_ARCH tests.


# 1.332 08-Sep-2020 christos

Add bind test


# 1.331 27-Aug-2020 riastradh

Sort and deduplicate set lists.


# 1.330 26-Aug-2020 riastradh

Clarify wg(4)'s relation to WireGuard, pending further discussion.

Still planning to replace wgconfig(8) and wg-keygen(8) by one wg(8)
tool compatible with wireguard-tools; update wg(4) for the minor
changes from the 2018-06-30 spec to the 2020-06-01 spec; &c. This just
clarifies the current state of affairs as it exists in the development
tree for now.

Mark the man page EXPERIMENTAL for extra clarity.


# 1.329 20-Aug-2020 riastradh

[ozaki-r] Add wg files


# 1.328 18-Aug-2020 perseant

Add skipped test for in-kernel roll-forward agent


# 1.327 14-Aug-2020 riastradh

New system call getrandom() compatible with Linux and others.

Three ways to call:

getrandom(p, n, 0) Blocks at boot until full entropy.
Returns up to n bytes at p; guarantees
up to 256 bytes even if interrupted
after blocking. getrandom(0,0,0)
serves as an entropy barrier: return
only after system has full entropy.

getrandom(p, n, GRND_INSECURE) Never blocks. Guarantees up to 256
bytes even if interrupted. Equivalent
to /dev/urandom. Safe only after
successful getrandom(...,0),
getrandom(...,GRND_RANDOM), or read
from /dev/random.

getrandom(p, n, GRND_RANDOM) May block at any time. Returns up to n
bytes at p, but no guarantees about how
many -- may return as short as 1 byte.
Equivalent to /dev/random. Legacy.
Provided only for source compatibility
with Linux.

Can also use flags|GRND_NONBLOCK to fail with EWOULDBLOCK/EAGAIN
without producing any output instead of blocking.

- The combination GRND_INSECURE|GRND_NONBLOCK is the same as
GRND_INSECURE, since GRND_INSECURE never blocks anyway.

- The combinations GRND_INSECURE|GRND_RANDOM and
GRND_INSECURE|GRND_RANDOM|GRND_NONBLOCK are nonsensical and fail
with EINVAL.

As proposed on tech-userlevel, tech-crypto, tech-security, and
tech-kern, and subsequently adopted by core (minus the getentropy part
of the proposal, because other operating systems and participants in
the discussion couldn't come to an agreement about getentropy and
blocking semantics):

https://mail-index.netbsd.org/tech-userlevel/2020/05/02/msg012333.html


# 1.326 25-Jul-2020 riastradh

Add kernel ChaCha test to exercise all available implementations.


# 1.325 17-Jul-2020 kamil

Add ppoll() a compatibility wrapper around pollts(2)

Submitted by Apurva Nandan.


# 1.324 06-Jul-2020 christos

new mapped test.


# 1.323 01-Jul-2020 jruoho

Add basic checks for a64l(3), l64a(3), and l64a_r(3).


# 1.322 30-Jun-2020 riastradh

New test sys/crypto/aes/t_aes.

Runs aes_selftest on all kernel AES implementations supported on the
current hardware, not just the preferred one.


# 1.321 30-Jun-2020 jruoho

After a comedy of errors, move t_mbtowc to its final resting place.


# 1.320 29-Jun-2020 riastradh

New cgd cipher adiantum.

Adiantum is a wide-block cipher, built out of AES, XChaCha12,
Poly1305, and NH, defined in

Paul Crowley and Eric Biggers, `Adiantum: length-preserving
encryption for entry-level processors', IACR Transactions on
Symmetric Cryptology 2018(4), pp. 39--61.

Adiantum provides better security than a narrow-block cipher with CBC
or XTS, because every bit of each sector affects every other bit,
whereas with CBC each block of plaintext only affects the following
blocks of ciphertext in the disk sector, and with XTS each block of
plaintext only affects its own block of ciphertext and nothing else.

Adiantum generally provides much better performance than
constant-time AES-CBC or AES-XTS software do without hardware
support, and performance comparable to or better than the
variable-time (i.e., leaky) AES-CBC and AES-XTS software we had
before. (Note: Adiantum also uses AES as a subroutine, but only once
per disk sector. It takes only a small fraction of the time spent by
Adiantum, so there's relatively little performance impact to using
constant-time AES software over using variable-time AES software for
it.)

Adiantum naturally scales to essentially arbitrary disk sector sizes;
sizes >=1024-bytes take the most advantage of Adiantum's design for
performance, so 4096-byte sectors would be a natural choice if we
taught cgd to change the disk sector size. (However, it's a
different cipher for each disk sector size, so it _must_ be a cgd
parameter.)

The paper presents a similar construction HPolyC. The salient
difference is that HPolyC uses Poly1305 directly, whereas Adiantum
uses Poly1395(NH(...)). NH is annoying because it requires a
1072-byte key, which means the test vectors are ginormous, and
changing keys is costly; HPolyC avoids these shortcomings by using
Poly1305 directly, but HPolyC is measurably slower, costing about
1.5x what Adiantum costs on 4096-byte sectors.

For the purposes of cgd, we will reuse each key for many messages,
and there will be very few keys in total (one per cgd volume) so --
except for the annoying verbosity of test vectors -- the tradeoff
weighs in the favour of Adiantum, especially if we teach cgd to do
>>512-byte sectors.

For now, everything that Adiantum needs beyond what's already in the
kernel is gathered into a single file, including NH, Poly1305, and
XChaCha12. We can split those out -- and reuse them, and provide MD
tuned implementations, and so on -- as needed; this is just a first
pass to get Adiantum implemented for experimentation.


# 1.319 28-Jun-2020 pgoyette

Add missing debug entry for new t_mbtowc

XXX Please note that there are now TWO tests named t_mbtowc - this one in
XXX tests/lib/libc/stdlib/ and an older one in tests/lib/libc/locale
XXX I don't know if the functionality is duplicated or not.


# 1.318 27-Jun-2020 christos

fix the build


# 1.317 15-Jun-2020 christos

Add compatfile to libblacklist


# 1.316 15-Jun-2020 christos

Rename blacklist -> blocklist


# 1.315 09-Jun-2020 kamil

Build and install llvm-symbolizer for MKLLVM=yes

llvm-symbolizer is an alternative for GNU addr2line(1), heavily used by the
LLVM sanitizers.

Do not install it as tools as it is not necessary as of today in that
stage.


# 1.314 08-Jun-2020 rin

For /usr/libdata/debug/usr/tests/lib/libprop
- Obsolete t_basic.debug and
- Add t_proplib.debug


# 1.313 30-May-2020 christos

Make libuv private, requested by joerg@


# 1.312 24-May-2020 christos

new bind+libuv


# 1.311 16-May-2020 christos

Add ACL support for FFS. From FreeBSD.


# 1.310 15-May-2020 christos

PR/55102: Kamil Rytarowski: Duplicate fifo_vnodeop_entries,
fifo_vnodeop_opv_desc symbols.

Many filesystems ffs, lfs, ulfs, chfs, ext2fs etc. use fifofs
internally for their fifo vnops. NFS does too, but it also needs
networking anyway. Unfortunately fifofs brings in a lot of the
networking code so that the rumpkernel is not well partition. In
addition the fifo code is rarely used.

The existing hack depended on duplicating the above symbols and
adding minimal functionality for the majority of the the tests
(except the ffs and the puffs one). In these two cases both symbols
were loaded and the symbol sizes clashed which broke the sanitizers.
While this can be fixed with weak symbols and other kinds of
indirection, it is more straight forward to select between the
minimal and the full fifofs implementation by introducing a new
shared library librumpvfs_nofifofs.


# 1.309 01-May-2020 christos

Move the rump module test programs in the regular mi file. These are not
really kernel modules and the other md module test is in the md.amd64 file
already.


# 1.308 30-Apr-2020 ryo

Add a test for sigaltstack(2) and SA_ONSTACK


# 1.307 26-Apr-2020 mlelstv

Add missing futex tests.


Revision tags: phil-wifi-20200421 phil-wifi-20200411
# 1.306 11-Apr-2020 christos

Add new t_extattr


Revision tags: phil-wifi-20200406
# 1.305 05-Apr-2020 christos

we don't delete entries, we mark them obsolete so that postinstall can
delete the files.


# 1.304 04-Apr-2020 mlelstv

one more netsmb reference.


# 1.303 04-Apr-2020 christos

fix netsmb, libgnuctf


# 1.302 04-Apr-2020 christos

gnuctf is only binutils=234


# 1.301 04-Apr-2020 christos

fix sets for new binutils


# 1.300 04-Apr-2020 jdolecek

remove SMBFS and nsmb/netsmb - userland part


# 1.299 30-Mar-2020 christos

Add rpcapd


# 1.298 08-Mar-2020 mgorny

Add tests for missing libc catalog entries


# 1.297 06-Mar-2020 kamil

Add new ptrace(2) test file

t_ptrace_sigchld - for SIGCHLD handler + ptrace(2).

Right now a single test is enabled (raise(SIGKILL)) and marked as failed
as it never finishes as the child is never collected before exiting the
parent uninterested about its child (SA_NOCLDWAIT).


# 1.296 04-Mar-2020 christos

fix pam annotations


# 1.295 03-Mar-2020 christos

add libfido2, libcbor, pam-u2f, sort


Revision tags: is-mlppp-base
# 1.294 11-Feb-2020 martin

Add new test programs


# 1.293 02-Feb-2020 kamil

Port realpath(1) from FreeBSD

realpath(1) wraps realpath(3) and returns resolved physical path.

This utility shipped with GNU and FreeBSD is sometimes
used in scripts in the wild.


# 1.292 19-Jan-2020 martin

Fix set lists after HIPPI removal


# 1.291 18-Jan-2020 kre

Move recently added .debug files from tests/mi to debug/mi (with all the
others) and while so doing, give them the "debug" attribute.

While here, sort.


# 1.290 03-Dec-2019 hikaru

Add HMAC-SHA-{256,384,512} test cases.


Revision tags: phil-wifi-20191119
# 1.289 15-Oct-2019 christos

remove sup


# 1.288 15-Sep-2019 christos

fexecve(2) related additions.


# 1.287 15-Sep-2019 christos

add t_fcntl


# 1.286 23-Aug-2019 mrg

fix MKCXX=no:
- don't build GDB
- don't build sanitizers
- don't build GCC commands
- fix some set lists


Revision tags: netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.285 28-Jul-2019 christos

branches: 1.285.2;
add new wcsrtombs test


Revision tags: phil-wifi-20190609
# 1.284 01-Jun-2019 kamil

Add ATF KERN_PROC_CWD tests


# 1.283 26-Apr-2019 maya

Add a test case for signbit.
(paranoia prior to a libm change)


# 1.282 24-Apr-2019 kamil

Add a complete C11 threads(3) implementation

C11 Thread support library is a portable threading C API between OSs,
similar to std::threads in the C++ world.

The library is implemented as a thin shim over POSIX interfaces.

NetBSD implements the API as a part of the POSIX threading library
(libpthread(3)).

C11 threads(3) are in the process of making them an integral part
of the POSIX standard. The interface has been implemented in major
OSs and used with stopgap libraries for older versions of them.

C11 threading library is already used (with a stopgap implementation)
in the NetBSD distribution in MESA.

Original implementation by myself from 2016.

ATF tests are new and cover almost all interfaces.

Proposed on tech-userlevel@.


# 1.281 03-Apr-2019 joerg

Revert MKLLVMCMDS changes.


# 1.280 20-Mar-2019 mrg

split MKLLVM into MKLLVM and MKLLVMCMDS, like MKGCC and MKGCCCMDS:

- only build clang or clang-tblgen if MKLLVMCMDS != "no"
- move HAVE_MESA_VER earlier so we can detect mesa 18 and enable
MKLLVM on platforms that need it
- move the clang commands and headers into llvmcmds group
- only build the clang specific LLVM libraries if MKLLVMCMDS != "no"

much of this work came from maya@'s github commit
f90685c11d4460d3098fa35f48b58d1893e974e0, reworked for HAVE_MESA_VER
and llvmcmds vs MKCLANG.


build tested on several platforms and on amd64 and i386 with several
different build options (clang build, gcc build, gcc build with llvm
libs).


# 1.279 12-Mar-2019 christos

Add libjemalloc.so


# 1.278 26-Feb-2019 isaki

Add ATF tests for __sync_* functions instead of all_sync_ops_linkable.c


# 1.277 18-Feb-2019 rin

Belatedly add debugging symbols for t_atomic_*.


# 1.276 03-Feb-2019 martin

Add debug info for new ksem test


# 1.275 02-Feb-2019 mrg

- add new entries of gcc=7 and libgomp, libasan, liblsan, libstdc++, libubsan
- add missing header files fpr gcc=7
- add some missing gcc=5 obsolete entries
- create ./usr/include/dev/bluetooth in mtree not make, and move it into the
base set where all other directories are.


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118
# 1.274 27-Dec-2018 christos

initfini_array test


Revision tags: pgoyette-compat-1226
# 1.273 26-Dec-2018 kre

Add "rump" to threadpool.debug test so it is not expected to appear
if MKRUMP=no


# 1.272 25-Dec-2018 christos

- add missing test
- fix typos


# 1.271 18-Dec-2018 kamil

Correct libproc_p.a in distribution sets

There was a stale entry under MKPROFILE=no option.


# 1.270 12-Dec-2018 maxv

Retire the LMC driver, and its associated lmcconfig tool. LMC has been
mentioned repeatedly as a non-MP-safe driver that is hard to maintain,
and no one is taking care of it.

LMC was removed from OpenBSD three years ago, and from FreeBSD a few
months ago.


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020
# 1.269 01-Oct-2018 jmcneill

Fix debug sets for mount_qemufwcfg


Revision tags: pgoyette-compat-0930
# 1.268 23-Sep-2018 christos

merge openssl-1.1.1


# 1.267 23-Sep-2018 maxv

Remove the userland part of ISDN. The kernel part is untouched for now.
ipppctl was actually an exact copy of pppoectl; there is no functional
change in pppoectl in this commit.


# 1.266 22-Sep-2018 rmind

Add rumpkern_nv (in-kernel RUMP libnv).


# 1.265 19-Sep-2018 maxv

Remove daic(4), it has never been functional.

ok martin@


# 1.264 06-Sep-2018 maxv

Remove the network ATM code.


Revision tags: pgoyette-compat-0906
# 1.263 21-Aug-2018 christos

add new tests, sort


# 1.262 12-Aug-2018 christos

fix sets for new bind


# 1.261 06-Aug-2018 martin

Add debug info for t_if_nametoindex


# 1.260 03-Aug-2018 kamil

Register micro-UBSan ATF tests in the distribution

Populate distrib files, mtree lists and add the entry in Makefile to
include the new code.


# 1.259 31-Jul-2018 khorben

Add a port of the umb(4) driver from OpenBSD

The umb(4) driver provides support for USB MBIM (Mobile Broadband
Interface Model) devices.

MBIM devices establish connections via cellular networks such as GPRS,
UMTS, and LTE. They appear as a regular point-to-point network interface, transporting raw IP frames.

Required configuration parameters like PIN and APN have to be set with
umbctl(8), a new tool specific to this driver. The IP address is configured
automatically; the default route and DNS server information have to be set
separately.

The driver is not fully functional yet, it is therefore still marked as
experimental and disabled by default. Any help welcome to complete it!

Tested on NetBSD/amd64, with a Sierra Wireless EM7345 LTE modem on a Lenovo
ThinkPad T440s. No functional change expected otherwise.


Revision tags: pgoyette-compat-0728
# 1.258 24-Jul-2018 christos

sets for base64


# 1.257 13-Jul-2018 maxv

Remove tpfmt(1). Its code was merged into tprof(8).


# 1.256 29-Jun-2018 roy

Remove dhclient from the base system.

Discussed here:
https://mail-index.netbsd.org/tech-userlevel/2018/06/21/msg011233.html


Revision tags: phil-wifi-base
# 1.255 28-Jun-2018 christos

branches: 1.255.2;
put back lsan


# 1.254 27-Jun-2018 martin

Comment out liblsan entries to fix the build


# 1.253 26-Jun-2018 christos

Add the lsan libraries


Revision tags: pgoyette-compat-0625
# 1.252 20-Jun-2018 maya

Add test case for PR lib/50646.

Make sure that cabsl (aka __c99_cabsl) is usable from C++.


# 1.251 14-Jun-2018 yamaguchi

Add test cases for multicast address handling of vlan(4)

ok ozaki-r@


# 1.250 28-May-2018 chs

merge a new version of the CDDL dtrace and ZFS code.
this changes the upstream vendor from OpenSolaris to FreeBSD,
and this version is based on FreeBSD svn r315983.

in addition to the 10 years of improvements from upstream,
this version also has these NetBSD-specific enhancements:
- dtrace FBT probes can now be placed in kernel modules.
- ZFS now supports mmap().


# 1.249 25-May-2018 martin

Add new test program


Revision tags: pgoyette-compat-0521
# 1.248 18-May-2018 kamil

Add new ATF tests: t_fork and t_vfork

Test behavior of raise(signal) in either fork(2)ed or vfork(2)ed child.

Tests:
- raise1 SIGKILL
- raise2 SIGSTOP
- raise3 SIGTSTP
- raise4 SIGTTIN
- raise5 SIGTTOU
- raise6 SIGABRT
- raise7 SIGHUP
- raise8 SIGCONT

t_vfork:raise2 fails ignoring non-maskable SIGSTOP.

The remaining ones pass.

Sponsored by <The NetBSD Foundation>


# 1.247 04-May-2018 sevan

Unbreak build until the privatisation of libbozohttpd is settled.

heads up & patch thanks to <leot>


Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
# 1.246 03-Apr-2018 christos

the zombie test is not a rump test.


Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315
# 1.245 14-Mar-2018 kamil

Add new ATF tests: kernel/t_zombie

New tests attempting to kill, stop, drop or revive a zombie:
- signal1 (SIGKILL)
- signal2 (SIGSTOP)
- signal3 (SIGABRT)
- signal4 (SIGHUP)
- signal5 (SIGCONT)

New test race1 verifying whether there are any kernel races when processing
signals to zombies, executing in a loop for 5 seconds.

These tests were inspired by a kernel unexpected behavior when a lookup
of a dying process could result in two detected entities once as an alive
process and once as a zombie.

race1 is similar to t_ptrace_wait* race1, however without ptrace(2) involved.

Sponsored by <The NetBSD Foundation>


# 1.244 09-Mar-2018 joerg

Add ifunc support for statically linked applications on x86, ppc, sparc
and ARM.


Revision tags: pgoyette-compat-base
# 1.243 17-Feb-2018 wiz

branches: 1.243.2;
t_timeleft.debug is still installed, remove 'obsolete' marker.


# 1.242 13-Feb-2018 mrg

obsolete some GCC 4.8 files.


# 1.241 08-Feb-2018 christos

add openssl to the list of selectable variables for sets and fix the sets.


# 1.240 06-Feb-2018 mrg

build and install gcov-dump.


# 1.239 03-Feb-2018 mrg

updates for GCC 6.4: add gcc-6 specific headers, combine some
all-gcc files, bump the shlib versions on new libs.


# 1.238 02-Feb-2018 mrg

convert HAVE_GCC handling to modern GCC release numbering:
- HAVE_GCC=5 is now the default (vs. HAVE_GCC=53 we've been using for
GCC 5.4 and GCC 5.5.)
- remove some more GCC 4.8 code. we don't support GCC 4 here.
- adjust set lists to gcc=5 from gcc=53.

add some basic HAVE_GCC=6 handling (totally unused so far.)


# 1.237 25-Jan-2018 wiz

Revert previous.

obsolete + other tags is not easy to clean up.


# 1.236 24-Jan-2018 wiz

When second keyword is 'obsolete', first one should be foo-obsolete as well.


# 1.235 14-Jan-2018 christos

add mount_autofs


# 1.234 10-Jan-2018 knakahara

ipsec(4) interface supports rump now.


# 1.233 09-Jan-2018 christos

Merge autofs support from: Tomohiro Kusumi
XXX: Does not work yet


# 1.232 10-Dec-2017 christos

add new test.


# 1.231 08-Dec-2017 christos

add new test.


# 1.230 08-Dec-2017 msaitoh

Add missing h_segv.debug.


# 1.229 19-Nov-2017 martin

ATF test program for PR kern/52738: check for mtime updates after rewriting
a file.


# 1.228 30-Oct-2017 ozaki-r

Add test cases of NAT-T (transport mode)

A small C program is added to make a special socket (UDP_ENCAP_ESPINUDP)
and keep it to handle UDP-encapsulated ESP packets.


# 1.227 10-Oct-2017 christos

Add librumpres


# 1.226 02-Oct-2017 mlelstv

add t_list test.


# 1.225 29-Sep-2017 maya

Add simple test for workqueue(9)


# 1.224 16-Aug-2017 joerg

Add missing strfmon_l. Noticed by Bruno Haible. Add test case.


# 1.223 11-Aug-2017 ryo

fix filename. sorry


# 1.222 10-Aug-2017 ryo

Add support IP_PKTINFO for sendmsg(2).

The source address or output interface can be specified by adding IP_PKTINFO
to the control part of the message on a SOCK_DGRAM or SOCK_RAW socket.

Reviewed by ozaki-r@ and christos@. thanks.


# 1.221 23-Jul-2017 perseant

Add missing setlist entries for DUCET collation test.


Revision tags: perseant-stdc-iso10646-base
# 1.220 14-Jul-2017 perseant

branches: 1.220.2;
Add a simple collation test. This test is expected to fail on HEAD since
we do not yet have a working implementation of wcscoll.


# 1.219 11-Jul-2017 joerg

Implement __cxa_thread_atexit and __cxa_thread_atexit_impl. This
functions are used for destructors of thread_local objects.

If a pending destructor exists, prevent unloading of shared objects.
Introduce __dl_cxa_refcount interface for this purpose. When the last
reference is gone and the object has been dlclose'd before, the
unloading is finalized.

Ideally, __cxa_thread_atexit_impl wouldn't exist, but libstdc++ insists
on providing __cxa_thread_atexit as direct wrapper without further
patching.


# 1.218 09-Jun-2017 knakahara

add tests of ioctl for /dev/crypto


# 1.217 05-Jun-2017 christos

Add dtc


Revision tags: netbsd-8-base
# 1.216 01-Jun-2017 perseant

branches: 1.216.2;
Add tests for btowc(3)/wctob(3) and enable compilation of the test for
digittoint(3).

The digittoint(3) test is skipped since we don't provide that function yet.

One of the test cases for btowc(3) is also skipped, since it tests conversion
to Unicode---whereas our wchar_t representation is locale-dependent.


# 1.215 31-May-2017 pgoyette

Also add the debug entries for the new test programs.

Thanks, perseant, for increasing/improving our test coverage.


# 1.214 30-May-2017 martin

Add t_toupper.debug


# 1.213 27-May-2017 bouyer

merge the bouyer-socketcan branch to HEAD.

CAN stands for Controller Area Network, a broadcast network used
in automation and automotive fields. For example, the NMEA2000 standard
developped for marine devices uses a CAN network as the link layer.

This is an implementation of the linux socketcan API:
https://www.kernel.org/doc/Documentation/networking/can.txt
you can also see can(4).

This adds a new socket family (AF_CAN) and protocol (PF_CAN),
as well as the canconfig(8) utility, used to set timing parameter of
CAN hardware. Also inclued is a driver for the CAN controller
found in the allwinner A20 SoC (I tested it with an Olimex lime2 board,
connected with PIC18-based CAN devices).

There is also the canloop(4) pseudo-device, which allows to use
the socketcan API without CAN hardware.

At this time the CANFD part of the linux socketcan API is not implemented.
Error frames are not implemented either. But I could get the cansend and
canreceive utilities from the canutils package to build and run with minimal
changes. tcpudmp(8) can also be used to record frames, which can be
decoded with etherreal.


# 1.212 26-May-2017 martin

Add t_strcoll


# 1.211 21-May-2017 leot

Adjust for MKCRYPTO_RC5 removal (fixes MKDEBUGLIB=yes build).

OK <Riastradh>


# 1.210 21-May-2017 riastradh

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.209 21-May-2017 riastradh

Remove MKCRYPTO_RC5. Unconditionally include RC5 in libcrypto.so.

This option existed only because RC5 is covered by patents that, twenty
years ago, we had reason to suspect the patent holder, RSA, Inc., might
litigate. The two US patents in question are 5,724,428 and 5,835,600.

According to the USPTO Patent Term Calculator web site at
<https://www.uspto.gov/patent/laws-and-regulations/patent-term-calculator#heading-5>
(retrieved 2017-05-21), patents filed after 1995-06-07 expire twenty
years after the filing date.

number filing date
5,724,428 1995-11-01
5,835,600 1997-04-21

Thus, these patents appear to be expired.

As proposed on tech-crypto and tech-security:

https://mail-index.netbsd.org/tech-crypto/2017/05/05/msg000718.html
https://mail-index.netbsd.org/tech-security/2017/05/05/msg000927.html


Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.208 17-Apr-2017 knakahara

fix build failure


# 1.207 17-Apr-2017 riastradh

New rndsource driver for Araneus Alea II TRNG USB devices.

Disabled by default in x86/GENERIC and usbdevices.config pending
review and testing without rump ugenhc in the way, but enabled in
x86/ALL for compile-testing.

(Hi gson! Finally found a round tuit in my pocket, next to a certain
rectangular one.)


# 1.206 14-Apr-2017 riastradh

cvslatest is unconditional, not conditional on cvs.


# 1.205 14-Apr-2017 ozaki-r

Rumpify netipsec

Note that we should modularize netipsec and reduce reverse symbol references
(referencing symbols of netipsec from net, netinet and netinet6) though,
the task needs lots of code changes. Prior to doing so, rumpifying it and
having ATF tests should be useful.


# 1.204 03-Apr-2017 kamil

Remove tests/kernel/t_ptrace* from the tree

ptrace(2) tests have been moved to tests/lib/libc/sys

Sponsored by <The NetBSD Foundation>


# 1.203 02-Apr-2017 kamil

Import ptrace(2) tests into appropriate directory tests/lib/libc/sys/

This is the correct directory documented in tests/README for such tests.

Discussed with <martin>

Sponsored by <The NetBSD Foundation>


# 1.202 02-Apr-2017 kamil

Remove kernel/arch/{amd64,i386,x86} tests

These files were merged with kernel/t_ptrace_wait*

This removes MD test files.

Sponsored by <The NetBSD Foundation>


# 1.201 23-Mar-2017 htodd

Fix build.


Revision tags: pgoyette-localcount-20170320
# 1.200 16-Feb-2017 knakahara

l2tp(4) support rump.


# 1.199 09-Feb-2017 christos

remove exect test


# 1.198 08-Feb-2017 rin

Fix build with MKDEBUG=yes for sun2:

- libgcc_g.a, libgcov_g.a, libobjc_g.a, libstdc++_g.a, and libsupc++_g.a are
marked "gcc" instead of "gcccmds".

- libbfd_g.a and libh_helper_*_g.a are moved from debug/mi to debug/shl.mi.
This seems strange at first sight, but they are built only when shared
libraries are enabled.


# 1.197 08-Feb-2017 kamil

libpthread_dbg(3) deletion from the base distribution

libpthread_dbg(3) is a remnant library from the M:N thread model
(pre-NetBSD-5.0) API to introspect threads within a process and for use
of debuggers.

Currently in the 1:1 model it's not used in GDB neither in LLDB and it's
not either planned to be used. It's current function to read pthread_t
structures is realizable within a regular debugger capable to
instrospect objects within a tracee (GDB, LLDB...).

Remaining users of this API can still use this library from
pkgsrc/devel/libpthread_dbg.

Sponsored by <The NetBSD Foundation>


# 1.196 06-Feb-2017 kre

+ /usr/bin/nc (someone please check these are correct)


# 1.195 02-Feb-2017 martin

Add test program for PR kern/51762


# 1.194 28-Jan-2017 nat

bta2dpd - Bluetooth Advand Audio Distribution (A2DP) Profile Daemon.

bta2dpd allows you to stream audio to and from bluetooth devices.
It features high quality stereo audio and is intended for use with pad(4)
device.

As discussed on current-users@ and tech-userlevel@


# 1.193 27-Jan-2017 hannken

Add test for read/write to readonly update mount.


# 1.192 16-Jan-2017 ozaki-r

Rewrite tests for CARP in a shell script instead of C

The new shell script enables us to modify/add tests easily.


Revision tags: bouyer-socketcan-base
# 1.191 07-Jan-2017 christos

branches: 1.191.2;
debug for nsd


# 1.190 07-Jan-2017 christos

add npfd


Revision tags: pgoyette-localcount-20170107
# 1.189 05-Jan-2017 wiz

Tag cleanup: if the last column contains 'obsolete', the one before should too.


# 1.188 19-Dec-2016 maya

adjust set lists for t_fe_round


# 1.187 14-Dec-2016 rjs

The t_clock_subr test doesn't require rump.


# 1.186 14-Dec-2016 kre

Sort the unsorted sets lists (they should all be correctly sorted now.)


# 1.185 13-Dec-2016 kamil

Add regs1 in arch/i386/t_ptrace_wait*

regs1:
Call PT_GETREGS and iterate over General Purpose registers

Sponsored by <The NetBSD Foundation>


# 1.184 09-Dec-2016 kamil

Attach t_exect to ATF tests and distribution

Add missing SIGTRAP handler. Assert there that the signal is SIGTRAP as
expected and si_code TRAP_TRACE.

This test will break on some ports that have dummy or incomplete
implementation of exect(2).

This test works on amd64 correctly.

Sponsored by <The NetBSD Foundation>


# 1.183 02-Dec-2016 kamil

Refactor location of amd64-specific ATF tests to new dir kernel/arch/amd64

Rename
- tests/kernel/t_ptrace_amd64_wait.c
to
- tests/kernel/arch/amd64/t_ptrace_wait.c
and adapt appropriate files accordingly.

New directory will be used for more amd64-specific tests, verifying the
MD parts of the kernel.

Remove old entries from distrib/sets/lists as they were added a while ago.

Sponsored by <The NetBSD Foundation>


# 1.182 02-Dec-2016 kamil

Fix !amd64 sets

Sponsored by <The NetBS Foundation>


# 1.181 01-Dec-2016 kamil

Add t_ptrace_amd64_wait{,3,4,6,id,pid} tests

Sponsored by <The NetBSD Foundation>


# 1.180 26-Nov-2016 ozaki-r

Rumpify vlan(4)


# 1.179 18-Nov-2016 kamil

Add new test file lib/libpthread_dbg/t_threads

This test contains threads1 test that:
Asserts that td_thr_iter() call without extra logic works

This tests fails and is linked with gnats:
PR lib/51635: td_thr_iter in <pthread_dbg.h> seems broken

Sponsored by <The NetBSD Foundation>


# 1.178 16-Nov-2016 kamil

Add new test-suite t_dummy for libpthread_dbg

At the moment this test does nothing except reports failure from td_open()
for overloaded (implemented) dummy1_proc_lookup() (.proc_lookup from
td_proc_callbacks_t) of the following form:

static int
dummy1_proc_lookup(void *arg, const char *sym, caddr_t *addr)
{
return TD_ERR_ERR;
}

This file and directory with tests is placeholder for new ones, without
further need to alter mtree and distribution sets.

The libpthread_dbg interface and library is used by gdb(1) to handle
threads in applications.

Sponsored by <The NetBSD Foundation>


# 1.177 15-Nov-2016 skrll

Fix librefuse falout.... Hi pho


# 1.176 11-Nov-2016 njoly

New clock_nanosleep(2) testcase.


# 1.175 11-Nov-2016 alnsn

Add 3des-cbc tests with 192 bits key.


# 1.174 10-Nov-2016 alnsn

Add blowfish-cbc tests for 128, 256 and 448 bits keys.


# 1.173 07-Nov-2016 kamil

Add new tests for combination of wait(2) interfaces with ptrace(2)

Move out wait(2) specific tests from t_ptrace and put them to t_ptrace_wait

Add generic code fragments to reuse the same source-code for every member
of the wait(2) family, namely:
- wait(2)
- waitpid(2)
- waitid(2)
- wait3(2)
- wait4(2)
- wait6(2)

Currently in the new test-suite there are the following tests:
- traceme1
- traceme2
- traceme3
- traceme4
- attach1

Not all tests are possible to be executed against every wait(2)-like
interface, therefore they will be disabled in such case. Currently this
limits attach1 to waitpid(2), waitid(2), wait4(2), wait6(2), while the
other tests (traceme 1-4) run with all of the interfaces.

The construct of this file is dedicated for addition of new tests in the
close future.

As of now all of the tests pass correctly.

Thanks for Robert Elz for suggestions on improving the code (earlier draft
of this new form).

Sponsored by <The NetBSD Foundation>.


# 1.172 06-Nov-2016 alnsn

Debug file for t_cgd_aes.


# 1.171 06-Nov-2016 kamil

Add new tests: tests/lib/libc/sys/t_wait_noproc and t_wait_noproc_wnohang

The t_wait_noproc test checks whether wait(2)-family of functions return
error and set ECHILD for lack of childs.

The t_wait_noproc_wnohang adds to options (except wait(2), wait3(2)) new
parameter WNOHANG and verifies that error is still signaled and errno set
to ECHILD.

Currently t_wait_noproc_wnohang reports failures, these have been marked as
expected and referenced to PR standards/51606.

The problem report is authored by Robert Elz, and the initial regression
has been notified by Nicolas Joly.

Remove redundant test in tests/lib/libc/sys/t_wait for wait6(2) with no
WNOHANG specified.

Sponsored by <The NetBSD Foundation>.


Revision tags: pgoyette-localcount-20161104
# 1.170 02-Nov-2016 kamil

Add new test t_ptrace with traceme1

This test is a placeholder for further checks of the native ptrace(2)
function calls.

XXX: Is it safe to call ATF functions from a child? FreeBSD seems to
construct dedicated asserts for them.

XXX: printf(3) calls from a child are not intercepted by atf-run(1)

Sponsored by <The NetBSD Foundation>.


# 1.169 01-Nov-2016 christos

fix libiberty_g.a


# 1.168 30-Oct-2016 kamil

Add new test t_timedmutex

This test is a clone on t_mutex with additional two tests for timed-mutex
specific block.

All simple-mutex (not with the timed property according to the C11 wording)
specific tests are covered by pthread_mutex_timedlock(3) with parameter
ts_lengthy of sufficiently large tv_sec value (right now UINT16_MAX). If,
a test will hang, it won't wait UINT16_MAX seconds, but will be terminated
within the default timeout for ATF tests (right now 300 [sec] in my
NetBSD/amd64 setup).

This test was inspired by a classic selflock test failure of
pthread_mutex_timedlock(3) of the following form:

#include <assert.h>
#include <errno.h>
#include <pthread.h>
#include <stdio.h>
#include <time.h>

int main(int argc, char **argv)
{
pthread_mutex_t mtx;
struct timespec ts;

ts.tv_sec = 0;
ts.tv_nsec = 1000;
printf("ts{.tv_sec = %d, .tv_nsec=%ld}\n", ts.tv_sec, ts.tv_nsec);
fflush(stdout);

printf("mtx_init\n");
assert(pthread_mutex_init(&mtx, NULL) == 0);

printf("mtx_lock\n");
assert(pthread_mutex_lock(&mtx) == 0);

printf("mtx_timedlock\n");
assert(pthread_mutex_timedlock(&mtx, &ts) == ETIMEDOUT);

printf("mtx_unlock\n");
assert(pthread_mutex_unlock(&mtx) == 0);

printf("mtx_destroy\n");
assert(pthread_mutex_destroy(&mtx) == 0);

return 0;
}

Current NetBSD implementation wrongly hangs on this test.

The issue was detected during development of the C11 portable threads.

My local tests in chroot presents that the are further issues:

t_timedmutex (21/25): 10 test cases
mutex1: [0.001142s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:75: *param != 20
mutex2: [0.261499s] Passed.
mutex3: [0.261496s] Passed.
mutex4: [0.001204s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:265: pthread_mutex_timedlock(&mutex, &ts_lengthy): Connection timed out
mutex5: [0.001235s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:337: pthread_mutex_timedlock(&mutex5, &ts_lengthy): Connection timed out
mutex6: [21.218497s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:512: start != 1
mutexattr1: [0.001328s] Passed.
mutexattr2: [0.001175s] Passed.
timedmutex1: [301.119397s] Failed: Test case timed out after 300 seconds
timedmutex2: [301.123081s] Failed: Test case timed out after 300 seconds
[623.990659s]

I'm also receiveing the same failure in the mutex6 test in t_mutex, so
there might be a false positives due to local chroot(8) issues.

Commit approved by <christos>.


Revision tags: localcount-20160914
# 1.167 05-Sep-2016 ozaki-r

Support tun devices on rump kernels


# 1.166 31-Aug-2016 maya

Add failing test for casinh


# 1.165 22-Aug-2016 maya

add failing test for PR lib/51427
ilogb(INFINITY)=-INT_MAX, it should be INT_MAX

while here, test raised exceptions, other values.

XXX some platforms don't have exceptions


# 1.164 20-Aug-2016 christos

add unbound stuff


# 1.163 14-Aug-2016 jakllsch

tests for sys/dev/clock_subr.c


Revision tags: pgoyette-localcount-20160806
# 1.162 31-Jul-2016 pgoyette

Add rump.fssconfig to sets lists


# 1.161 30-Jul-2016 njoly

New getsockname(2) testcase for UNIX domain sockets.


Revision tags: pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.160 02-Jul-2016 christos

branches: 1.160.2;
fix sets


# 1.159 01-Jul-2016 christos

cgdconfig is no crypto.


# 1.158 01-Jul-2016 christos

Add hmac(3)


# 1.157 29-Jun-2016 christos

fix sets for MKCRYPTO=no


# 1.156 05-Jun-2016 christos

Add libubsan


# 1.155 04-Jun-2016 nonaka

nvmectl(8): Added NVM Express control utility.

Ported from FreeBSD nvmecontrol(8).


# 1.154 01-Jun-2016 joerg

The way libasan is hooked into the build make it a GCC-only library.


# 1.153 01-Jun-2016 christos

put back asan


# 1.152 15-Apr-2016 ozaki-r

Rump-ify if_pppoe

From s-yamaguchi@IIJ


# 1.151 10-Apr-2016 kamil

Mark ./usr/libdata/debug/usr/bin/pcpp.debug as obsolete

pcpp.debug is already in ./usr/libdata/debug/usr/libexec/

This fixes build with MKPCC=yes and all debug flags turned on.


# 1.150 10-Apr-2016 kamil

Remove duplicate entry of /usr/libdata/debug/usr/bin/p++.debug

I don't have p++.debug locally so assume that it's properly set for the
first time as obsoleted.


# 1.149 09-Apr-2016 martin

Add t_pslist.debug


# 1.148 06-Apr-2016 christos

Add wait tests.


# 1.147 18-Mar-2016 christos

kill more mudflap for gcc-5.3


# 1.146 16-Mar-2016 mrg

GCC 5.3 sets (just for i386 so far)


# 1.145 23-Feb-2016 wiz

Add libc++ to two debug sets.


# 1.144 21-Feb-2016 christos

ctf stuff belongs to ctf not to the dtrace set


# 1.143 09-Feb-2016 plunky

add pcpp binary, now in pcc-20160208. Also, p++ in debug set


# 1.142 25-Jan-2016 christos

add t_hypot


# 1.141 24-Jan-2016 christos

sets for cvslatest.


# 1.140 05-Jan-2016 jakllsch

Add some tests for the kernel HID parser.


# 1.139 01-Jan-2016 jakllsch

tests for libusbhid (many of which fail)


# 1.138 18-Dec-2015 christos

add sortinfo


# 1.137 12-Dec-2015 christos

Add ip6addrctl


# 1.136 22-Nov-2015 kamil

Plug-in libpanel(3): Z-order for curses windows


# 1.135 18-Nov-2015 christos

Add new db test.


# 1.134 11-Nov-2015 ozaki-r

Introduce rump.rtadvd

It is used to write ATF tests for RA.

From s-yamaguchi@IIJ.


# 1.133 08-Nov-2015 christos

Some of the puffs mount programs don't need RUMP, re-enable them.


# 1.132 04-Nov-2015 knakahara

if_gif supports rump now.


# 1.131 25-Sep-2015 martin

More conditional dance for librtld_db


# 1.130 25-Sep-2015 martin

Try to fix set lists for libproc and librtld_db. The latter is probably
wrong and needs to be redone with COMPATARCHDIRS magic, but I can't
find any documentation how to do it. Matt?


# 1.129 24-Sep-2015 christos

update for libproc/librtld_db/dtrace changes


# 1.128 23-Aug-2015 mrg

move the obsolete list files into their respective sets. this means
that if you install a new set and run "postinstall fix obsolete"
the expected things happen.

(hi 12.5 year old me who thought base was better than etc set, which
it really was, but this is better again :-)


# 1.127 17-Aug-2015 knakahara

Add intrctl(8).


# 1.126 10-Aug-2015 mrg

now that we only support gcc 4.8, make all the gcc tags just "gcc".
this should help with next-gcc, when we can add back gcc=48 and
gcc=5x tags, as necessary.


# 1.125 10-Aug-2015 mrg

obsolete and clean up gcc=3 (3.3), gcc=4 (4.1), and gcc=45 (4.5) sets.


# 1.124 06-Aug-2015 ozaki-r

Introduce rump.ping6

We use ping6 frequently in ATF tests so let's have rump-ified one.


# 1.123 03-Aug-2015 ozaki-r

Introduce rump.ndp

ndp(8) uses RTM that requires that getpid(2) works correctly. Unfortunately
supporting getpid(2) in librumphijack will be tricky so that we rump-ify
ndp(8) as well as arp(8).


# 1.122 29-Jul-2015 ozaki-r

Introduce rump.arp

arp(8) uses RTM that requires that getpid(2) works correctly. Unfortunately
supporting getpid(2) in librumphijack will be tricky so that we rump-ify
arp(8) as well as ifconfig and route commands.

Suggested by pooka@.


# 1.121 27-Jun-2015 matt

p++ is a symlink so it won't have a .debug


# 1.120 27-Jun-2015 matt

Fix various missing or incorrect keywords.


# 1.119 25-Jun-2015 matt

More compat changes. Add compat dirs to each set.


# 1.118 22-Jun-2015 christos

add new db test


# 1.117 22-Jun-2015 matt

Update some of the set lists to use the compatdir/compatfile
compattestsdir/compattestsfile as well the kmod auto-entry creation.
Remove entries that are now instantiated by the above.


# 1.116 29-May-2015 pooka

game of setlists for rumpnet_tap


# 1.115 26-May-2015 htodd

Fix debug build.


# 1.114 26-May-2015 ozaki-r

Run mcast tests on rump kernels

The tests on anita qemus failed due to that the host network environment
didn't meet the tests.

The change makes the tests independent from host environments
and the tests will pass on any environments including anita qemus.

Discussed on tech-kern and tech-net.


# 1.113 01-May-2015 christos

- new test for strtoi
- namespace protection for strto{i,u}
- separate manpages for strto{i,u} from the ones for strto{u,}l
From: Kamil Rytarowski


# 1.112 17-Apr-2015 pgoyette

And mark the original httpd.debug as obsolete.

Hello, mrg ...


# 1.111 17-Apr-2015 pgoyette

Add missing debug entry for bozohttpd


# 1.110 09-Apr-2015 christos

add new test


# 1.109 05-Apr-2015 martin

Add new bind(2) test program


# 1.108 03-Mar-2015 martin

sort


# 1.107 03-Mar-2015 martin

Add pwait


# 1.106 31-Jan-2015 christos

PR/49617: Kirk Russell: new posix_fallocate test


# 1.105 26-Jan-2015 christos

lto is only for pic


# 1.104 25-Jan-2015 christos

stuff added by blacklist


# 1.103 14-Jan-2015 christos

add vnode kqueue test from PR/48958


# 1.102 07-Jan-2015 pooka

+rumpkern_sysproxy to setlists


# 1.101 07-Jan-2015 christos

add lto


# 1.100 06-Jan-2015 mrg

fix MKGCC=no builds.


# 1.99 05-Jan-2015 christos

add in_cksum tests


# 1.98 30-Dec-2014 mrg

install midirecord.


# 1.97 21-Dec-2014 martin

Debug info for new test program


# 1.96 08-Dec-2014 ozaki-r

Add basic tests for ifconf (SIOCGIFCONF)


# 1.95 04-Dec-2014 htodd

Fix debug build.


# 1.94 02-Dec-2014 christos

add new address printing tests.


# 1.93 19-Nov-2014 pooka

On second thought, let's not build the rump kernel component for ac97
by default. The component is not used on a NetBSD target anyway.


# 1.92 18-Nov-2014 pooka

appeased the mighty setlist gods by telling them what they should know


# 1.91 24-Oct-2014 christos

gcc=48 has asan.


# 1.90 22-Oct-2014 christos

Add libasan


# 1.89 20-Oct-2014 christos

t_mcast is not a rump test (but should be).


# 1.88 16-Oct-2014 htodd

Add ./usr/libdata/debug/usr/tests/lib/libc/stdio/t_open_memstream.debug.


# 1.87 13-Oct-2014 htodd

Add debug file for t_mcast.


# 1.86 12-Sep-2014 roy

Remove more rtsol references.


# 1.85 25-Aug-2014 joerg

Add basic support for indirect functions. It allows providing a public
function symbol with an implementation choosen at run time.
Refactor calls to functions by address in ld.elf_so to create temporary
function descriptors on the stack, if the address is not leaked outside.

Limitations:
- no support for initialising static storage with function pointers
- no support for unnamed resolver functions

Inspired by FreeBSD's r228435 by kib@freebsd.org.


# 1.84 25-Aug-2014 pooka

Remove and obsolete rumpkern_time as a separate component.


# 1.83 22-Aug-2014 apb

sort


# 1.82 14-Aug-2014 riastradh

Add tar.debug and cpio.debug to lists for MKBSDTAR=yes MKDEBUG=yes.


Revision tags: netbsd-7-base tls-maxphys-base
# 1.81 09-Aug-2014 apb

branches: 1.81.2;
Mark gkermit files "obsolete", don't remove then from the set lists.


Revision tags: tls-earlyentropy-base
# 1.80 09-Aug-2014 gson

Test that reading a CTLTYPE_INT sysctl variable into a buffer that is
too small returns ENOMEM, and that reading it into a buffer that is
large enough returns the expected sizeof(int) bytes of data.


# 1.79 08-Aug-2014 apb

Add ekermit.debug.


# 1.78 08-Aug-2014 apb

Unhook gkermit from the build.
It is being replaced by the BSD-licenced ekermit, as proposed
on tech-userlevel on 7 Aug 2014.


# 1.77 01-Aug-2014 christos

add timeout(1)


# 1.76 27-Jul-2014 martin

Add usr/sbin/sysinst


# 1.75 24-Jul-2014 plunky

add p++, and move it and cxxcom to comp-cxx-bin


# 1.74 24-Jul-2014 plunky

add PCC libexec/cxxcom


# 1.73 18-Jul-2014 christos

Add t_minherit.


# 1.72 17-Jul-2014 prlw1

Update lists after adding support for vnd to rump (report from hannken@)


# 1.71 09-Jul-2014 alnsn

Add t_cop and t_extmem kernel bpfjit tests to the build.


# 1.70 08-Jul-2014 alnsn

Add t_mbuf tests to the build.


# 1.69 08-Jul-2014 martin

Try to fix debug and debuglib setlists for the bind import


# 1.68 07-Jul-2014 alnsn

Add bpf/t_mbuf test to the build.


# 1.67 06-Jul-2014 tron

Update set lists for Postfix 2.11.1.


# 1.66 02-Jul-2014 alnsn

Move t_bpfjit.debug entries back to mi and add "sljit" tag to them.


# 1.65 02-Jul-2014 htodd

Move t_bpfjit.debug to md lists.


# 1.64 01-Jul-2014 htodd

Fix build for debug with bpfjit.


# 1.63 25-Jun-2014 alnsn

Add new libbpfjit tests.


# 1.62 23-Jun-2014 shm

Add bm(3) tests


# 1.61 16-Jun-2014 joerg

Add modfl(3). From FreeBSD.


Revision tags: yamt-pagecache-base9
# 1.60 29-Apr-2014 uebayasi

Minimal execve(2) ATF test.


# 1.59 24-Apr-2014 pooka

scsitest is a SCSI target emulator used by one test, and has little
reason to get installed. Make the component private to the test using
it and obsolete the installed one.

IOW, rename sys/rump/dev/lib/libscsitest -> tests/dev/scsipi/libscsitest


# 1.58 16-Apr-2014 htodd

Add getaddrinfo.debug to lists.


# 1.57 13-Apr-2014 skrll

The ctf tools are controlled by MKCTF now. Mark the debug files
accordingly.


# 1.56 10-Apr-2014 pooka

add aio driver as rump kernel component


# 1.55 06-Apr-2014 christos

add stp*cpy tests.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.54 01-Apr-2014 christos

branches: 1.54.2;
add kvno


Revision tags: riastradh-drm2-base3
# 1.53 14-Mar-2014 pooka

+ rumpkern_time


# 1.52 08-Feb-2014 jmmv

Update file lists for atf 0.19.

This has been tested with both MKKYUA=no (the default) and MKKYUA=yes, as
well as with a non-clean tree and a clean build. Hopefully I got the
details right... but they were tricky!


# 1.51 30-Jan-2014 joerg

Add test for uint64 to real long double conversion.


# 1.50 20-Jan-2014 christos

fix typo


# 1.49 17-Jan-2014 pgoyette

Update sets lists for new h_sha1hmac test program.


# 1.48 15-Jan-2014 pgoyette

Add debug entries for new opencrypto tests


# 1.47 14-Jan-2014 pgoyette

Update sets lists for new rump opencrypto library


# 1.46 06-Jan-2014 gson

Make t_hostent test cases that query the DNS work on systems with no
Internet connectivity, by hijacking DNS queries and /etc/resolv.conf
accesses using librumphijack and providing a minimal DNS server to
answer the queries.


# 1.45 28-Dec-2013 rjs

Only build shmif_dumpbus when rump is available.


# 1.44 25-Dec-2013 christos

add smbutil


# 1.43 16-Nov-2013 alnsn

Build and install sljit and bpfjit rump components iff ${MKSLJIT} != "no".


# 1.42 16-Nov-2013 rmind

Build rumpkern_sljit and rumpnet_bpfjit; include them into the sets.


# 1.41 12-Nov-2013 htodd

Add debug file for hals_end.


# 1.40 12-Nov-2013 joerg

Initial version of fmodl from FreeBSD.
Basic test case for the fmod family.


# 1.39 11-Nov-2013 joerg

NetBSD 6.99.26: Switch i386 and amd64 to the x87 default control word
as initial value for new processes. This means that long double
computations get the expected 63bit mantissa. Binaries tagged as
compiled for 6.99.25 and older get the old value.

Add a simple test case to ensure that double and long double computation
are working correctly.


# 1.38 02-Nov-2013 christos

Fix debuglib entries


# 1.37 01-Nov-2013 mrg

add support for GCC 4.8 sets.


# 1.36 28-Oct-2013 htodd

Adding luactl.debug to lists to fix debug build.


# 1.35 27-Oct-2013 apb

sort


# 1.34 12-Oct-2013 christos

add new t_tcp test


# 1.33 10-Oct-2013 christos

fix missing files


# 1.32 03-Sep-2013 htodd

Fix debug build by adding cgram.debug.


# 1.31 16-Aug-2013 christos

new hostent related tests.


# 1.30 14-Aug-2013 pooka

Separate inet and inet6, allows inet6-only rump kernels.


# 1.29 11-Aug-2013 joerg

Sort entries in strcmp order.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.28 18-Jul-2013 matt

Make the shared library related tests dependent on pic


Revision tags: riastradh-drm2-base
# 1.27 05-Jul-2013 njoly

branches: 1.27.2;
+ clang-tblgen.debug, clang.debug, llvm-tblgen.debug


# 1.26 03-Jul-2013 nakayama

Enable tests which does not require rump if MKRUMP=no.
Pointed out by christos on source-changes-d.


# 1.25 02-Jul-2013 nakayama

rump is required for tests under tests/net/net.


# 1.24 27-Jun-2013 christos

add pktinfo tests


# 1.23 28-May-2013 joerg

Add mbsnrtowcs and wcsnrtombs. Approved by core.


# 1.22 08-May-2013 christos

atf fixes, whitespace, sorting


# 1.21 28-Apr-2013 joerg

Introduce MKLIBSTDCXX, defaulting to yes.


# 1.20 22-Apr-2013 christos

new t_mktemp


# 1.19 18-Apr-2013 rjs

Fix build when MKDEBUG=yes and MKRUMP=no.


# 1.18 11-Apr-2013 christos

libevent sets


# 1.17 28-Mar-2013 christos

new test


Revision tags: agc-symver-base
# 1.16 21-Mar-2013 christos

new dlopen tests for libpthread.


# 1.15 12-Mar-2013 njoly

Add missing .debug extension.


# 1.14 08-Mar-2013 martin

Adapt to renamed test program


# 1.13 08-Mar-2013 martin

Add new test program t_sigtimedwait_pr_47625.


# 1.12 28-Feb-2013 christos

Locale I/O tests.


# 1.11 28-Feb-2013 martin

Add new testprogram


# 1.10 26-Feb-2013 christos

add a new rpc test


# 1.9 25-Feb-2013 jmmv

Update file lists to reflect the import of kyua-atf-compat, which has the
side-effect of marking several atf-related entries as obsolete (when
MKKYUA!=no).


# 1.8 23-Feb-2013 jmmv

branches: 1.8.4;
Register directories and files provided by kyua-cli.


# 1.7 19-Feb-2013 jmmv

Enable the build of kyua-testers and register its files and directories.
This is conditional on MKKYUA.


# 1.6 16-Feb-2013 jmmv

Hook Lutok into the build. This is all protected by the MKKYUA guard.


# 1.5 15-Feb-2013 jmmv

Fix debug entries after the import of atf 0.17.


Revision tags: yamt-pagecache-base8
# 1.4 17-Jan-2013 christos

branches: 1.4.2;
the set files themselves should not be conditional to anything so that
they are always generated.


# 1.3 17-Jan-2013 christos

add the set files themselves


# 1.2 16-Jan-2013 christos

- add xdebug set
- document debug better
- fix previous debug fallout.


# 1.1 16-Jan-2013 christos

Add a new "debug" set that gets built when ${MKDEBUG} is set. On evbarm:
-rw-r--r-- 1 root src 35806068 Jan 16 10:47 base.tgz
-rw-r--r-- 1 root src 57374069 Jan 16 10:48 comp.tgz
-rw-r--r-- 1 root src 101286193 Jan 16 10:49 debug.tgz
...
This allows always building the debugging code and libraries but not
installing it (although now it is placed in the default sets if ${MKDEBUG}
is set