History log of /netbsd-current/tests/lib/libc/gen/t_siginfo.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.52 20-May-2024 riastradh

t_siginfo: More volatile to prevent optimization.


# 1.51 14-May-2024 riastradh

t_siginfo: Use volatile to prevent optimization.


# 1.50 14-May-2024 riastradh

t_siginfo: No SIGFPE on RISC-V.


# 1.49 04-Aug-2023 rin

t_siginfo:sigfpe_int: Adjust for GCC12

Do not use constant 1 as numerator to raise integer division by zero.
GCC >= 12 optimizes (1 / i) into (abs(i) == 1 ? i : 0), even for -O0.


# 1.48 07-May-2023 skrll

RISC-V support that works on QEMU with a single hart.

Thanks for Simon Burge for plic(4).


Revision tags: netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
# 1.47 07-May-2022 rin

Skip sigfpe_int also for sh3; integer division by zero is not trapped.


# 1.46 10-Dec-2021 andvar

s/occured/occurred/ in comments, log messages and man pages.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.45 13-Jan-2021 skrll

skip sigbus_adraln on MIPS


# 1.44 11-Jan-2021 skrll

PR/55715: pmax testbed panics with "assertion "asid == curcpu()->ci_pmap_asid_cur" failed"

It's GXemul that has the bug! Unfortunately, there's no way (currently) to
detect if we're running under GXemul emulation, so disable for all mips
for now. Hopefully, GXemul will get fixed soon.


# 1.43 10-Jan-2021 skrll

PR/55715: pmax testbed panics with "assertion "asid == curcpu()->ci_pmap_asid_cur" failed"

disable the sigbus_adraln test on qemu for now


# 1.42 13-Oct-2020 rin

For aarch64eb, no SIGBUS signal for unaligned accesses.
Convert to preprocessor directives.


# 1.41 24-Aug-2020 gson

Expect a failure to trap unaligned acesses only when running under
qemu's TCG CPU emulation, not when running under hardware virtualization
such as qemu -accel nvmm.


# 1.40 20-Jun-2020 rin

Skip sigbus_adraln for powerpc.

SIGBUS for unaligned accesses is not mandatory for powerpc;
most processors (not all, e.g., 403) can deal with that.


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406
# 1.39 22-Feb-2020 kamil

Disable the t_siginfo test under MKSANITIZER / MKLIBCSANITIZER

Signal crash events are incompatible with sanitizers.


# 1.38 21-Feb-2020 kamil

Mark division by 0 as expected in sigfpe_int

Disable ubsan instrumentation on the operation.


# 1.37 11-Feb-2020 riastradh

aarch64 doesn't trap integer division by zero either.


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
# 1.36 25-Apr-2019 kamil

Fix typo in 'exceptions'


# 1.35 30-Jan-2019 martin

Clean up terminology: modern arm CPUs do properly implement IEEE 754
floating point exceptions - but some (actually all currently know ones)
do not implement sending traps when these exceptions are raised.

Pointed out by Peter Maydell.


Revision tags: pgoyette-compat-20190127
# 1.34 26-Jan-2019 martin

aarch64 does not trap on unaligned acces


# 1.33 23-Jan-2019 martin

There are aarch64 Cortex cpus that do not trap on some floating point
exceptions - so apply the arm handling for aarch64 as well.


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.32 17-Jan-2018 maya

branches: 1.32.2; 1.32.4;
Improve portability of headers and sort them.

From Ngie Cooper in PR bin/51833


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320
# 1.31 05-Mar-2017 chs

reenable sigfpe_flt on powerpc now that FPU exceptions work.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.30 22-Dec-2015 christos

branches: 1.30.2; 1.30.4;
Add __TEST_FENV


# 1.29 17-Feb-2015 isaki

m68k (except sun2) never issue SIGBUS on unaligned accesses.
PR lib/49653. Thanks martin@.


# 1.28 13-Feb-2015 martin

Fix strange editor mishap and start block comment on its own line.


# 1.27 29-Dec-2014 martin

Include <ieeefp.h> even for the <fenv.h> case since we use fpsetmask()
to detect ARM Cortex NEON fpus.


# 1.26 19-Nov-2014 martin

Skip the SIGFPE test on arm when the FPU does not provide exception handling.


# 1.25 19-Nov-2014 martin

Use machdep.unaligned_sigbus to skip the unaligned access test on arm
as well.


# 1.24 04-Nov-2014 justin

PR misc/49356 remove unnecessary references to atf-c/config.h

The function included via this header is not used and is removed in
later versions of atf, so let us avoid it.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
# 1.23 09-Feb-2014 jmmv

Use compiler builtins instead of atf_arch and atf_machine.

The atf_arch and atf_machine configuration variables were removed from
atf-0.19 without me realizing that some tests were querying them directly.

Instead of reintroducing those variables, just rely on compiler builtins
as many other tests already do.

Should fix PR bin/48582.


# 1.22 26-Jan-2014 matt

Support using fenv instead of fpsetmask if HAVE_FENV is defined.


# 1.21 25-Jan-2014 skrll

Use English spelling of alignment.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.20 12-Apr-2013 christos

use one qemu test


# 1.19 12-Apr-2013 christos

easier way to find if we are on qemu.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.18 13-Jun-2012 njoly

branches: 1.18.2;
Skip sigbus_adraln testcase on alpha unless global
machdep.unaligned_sigbus sysctl is enabled.


Revision tags: yamt-pagecache-base5
# 1.17 23-Apr-2012 martin

Revert previous, si_addr is expected to be the faulting *data* address
(mmm, consistent standards).
Add a few tweaks to prevent the compiler's optimizer outsmarting the test.


# 1.16 22-Apr-2012 martin

Do not compare si_addr (address of faulting instruction) against the
unaligned data address causing the fault - this will always fail.
If anybody knows a portable way to get the data address involved in the
fault, please fix the test case as originally intended.


# 1.15 20-Apr-2012 jym

ATF test for SIGBUS => BUS_ADRALN (invalid address alignment).

That one is tedious to test under x86: alignment exceptions are
not reported by this architecture unless you ask for them explicitely (by
setting the PSL_AC bit). The brokenness does not end there: %cr2 should
contain the address where the unaligned access occured, alas, it does not.

I am not aware of other architectures where this could happen. Still, my
knowledge is limited; if there is one, feel free to send me a mail and I
will update the test accordingly.

Adding insult to injury, this test can fail in various funny ways with VMs:
- under x86 QEMU, no trap() happens. As ring 3 code stays almost untouched by
QEMU VMM, I suppose the exception can only be triggered when the host
itself is capable of catching unaligned accesses.
- under Virtual Box with HVM support, i386 works fine, but amd64 fails with a
SIGILL (Illegal instruction) that happens right before entering the
signal handler. No idea why, and trying to debug it with gdb freezes the VM
(including ddb breaks).

Anyway, tested with:
- i386: P4 host, anita, Virtual Box HVM (Mac OS X)
- amd64: anita, Virtual Box HVM (Mac OS X)

XXX I would appreciate if someone could test it under a real amd64 host with
an up-to-date kernel, so I can reasonably assume that the culprit is
Virtual Box and not our amd64 port (my test machine being off line
I cannot do it myself). Results from other arches would be a plus too.

Initial issue reported by Nicolas Joly on port-amd64. Thanks!


Revision tags: yamt-pagecache-base4
# 1.14 18-Mar-2012 jruoho

To be on the safe side, use the category/number notation when referring to
PRs (otherwise third-party sed-scripts might miss the references). Also
remove white-space.


# 1.13 17-Mar-2012 christos

annotate the PR that failed, and has been fixed.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 01-Oct-2011 christos

branches: 1.12.2;
use _FLOAT_IEEE754 instead of vax.


Revision tags: cherry-xenmp-base
# 1.11 24-May-2011 joerg

Use volatile for explicit 0 dereference


Revision tags: bouyer-quota2-nbase
# 1.10 02-Mar-2011 riz

Skip the sigfpe_flt and sigfpe_int tests on powerpc; powerpc does
not fault on divide-by-zero. As discussed on tech-userlevel.


# 1.9 01-Mar-2011 pooka

Attempt further qemu heuristics to avoid failures due to non-working FPU


Revision tags: bouyer-quota2-base
# 1.8 03-Jan-2011 pgoyette

branches: 1.8.2;
Don't run FP Exception tests under qemu - they don't work.

While here, properly skip certain tests on vax architecture. (It is
not legal to have a test-program with zero test cases, so each test
case needs to check-and-skip.)


# 1.7 02-Jan-2011 pgoyette

If we survive the check for wrong signal code, reset our expectation to
"pass" before checking the signal errno.


# 1.6 02-Jan-2011 pgoyette

Fix $NetBSD$ keyword


Revision tags: matt-mips64-premerge-20101231
# 1.5 31-Dec-2010 mlelstv

return from an SIGFPE handler is not defined when the hardware
caused the exception. Use sigsetjmp/siglongjmp to resume the
test function instead.


# 1.4 27-Dec-2010 njoly

Do use integer arithmetics to generate FPE_INTDIV in sigfpe_int testcase.

Ok pgoyette.


# 1.3 26-Dec-2010 pgoyette

Re-enable printing of MD data, with appropriate casts.


# 1.2 26-Dec-2010 pgoyette

For now, don't try to print out machine-dependant stuff. When I figure
out what the right format strings are, I'll re-enable it.


# 1.1 25-Dec-2010 pgoyette

Move the siginfo tests from regress to atf. While here, add a new test
for PR/43655.

XXX The sigchild_dump test currently fails when execute under atf-run.
XXX It does not fail when executed directly from the shell, so there's
XXX something in atf that prevents the child process from dumping.


# 1.51 14-May-2024 riastradh

t_siginfo: Use volatile to prevent optimization.


# 1.50 14-May-2024 riastradh

t_siginfo: No SIGFPE on RISC-V.


# 1.49 04-Aug-2023 rin

t_siginfo:sigfpe_int: Adjust for GCC12

Do not use constant 1 as numerator to raise integer division by zero.
GCC >= 12 optimizes (1 / i) into (abs(i) == 1 ? i : 0), even for -O0.


# 1.48 07-May-2023 skrll

RISC-V support that works on QEMU with a single hart.

Thanks for Simon Burge for plic(4).


Revision tags: netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
# 1.47 07-May-2022 rin

Skip sigfpe_int also for sh3; integer division by zero is not trapped.


# 1.46 10-Dec-2021 andvar

s/occured/occurred/ in comments, log messages and man pages.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.45 13-Jan-2021 skrll

skip sigbus_adraln on MIPS


# 1.44 11-Jan-2021 skrll

PR/55715: pmax testbed panics with "assertion "asid == curcpu()->ci_pmap_asid_cur" failed"

It's GXemul that has the bug! Unfortunately, there's no way (currently) to
detect if we're running under GXemul emulation, so disable for all mips
for now. Hopefully, GXemul will get fixed soon.


# 1.43 10-Jan-2021 skrll

PR/55715: pmax testbed panics with "assertion "asid == curcpu()->ci_pmap_asid_cur" failed"

disable the sigbus_adraln test on qemu for now


# 1.42 13-Oct-2020 rin

For aarch64eb, no SIGBUS signal for unaligned accesses.
Convert to preprocessor directives.


# 1.41 24-Aug-2020 gson

Expect a failure to trap unaligned acesses only when running under
qemu's TCG CPU emulation, not when running under hardware virtualization
such as qemu -accel nvmm.


# 1.40 20-Jun-2020 rin

Skip sigbus_adraln for powerpc.

SIGBUS for unaligned accesses is not mandatory for powerpc;
most processors (not all, e.g., 403) can deal with that.


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406
# 1.39 22-Feb-2020 kamil

Disable the t_siginfo test under MKSANITIZER / MKLIBCSANITIZER

Signal crash events are incompatible with sanitizers.


# 1.38 21-Feb-2020 kamil

Mark division by 0 as expected in sigfpe_int

Disable ubsan instrumentation on the operation.


# 1.37 11-Feb-2020 riastradh

aarch64 doesn't trap integer division by zero either.


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
# 1.36 25-Apr-2019 kamil

Fix typo in 'exceptions'


# 1.35 30-Jan-2019 martin

Clean up terminology: modern arm CPUs do properly implement IEEE 754
floating point exceptions - but some (actually all currently know ones)
do not implement sending traps when these exceptions are raised.

Pointed out by Peter Maydell.


Revision tags: pgoyette-compat-20190127
# 1.34 26-Jan-2019 martin

aarch64 does not trap on unaligned acces


# 1.33 23-Jan-2019 martin

There are aarch64 Cortex cpus that do not trap on some floating point
exceptions - so apply the arm handling for aarch64 as well.


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.32 17-Jan-2018 maya

branches: 1.32.2; 1.32.4;
Improve portability of headers and sort them.

From Ngie Cooper in PR bin/51833


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320
# 1.31 05-Mar-2017 chs

reenable sigfpe_flt on powerpc now that FPU exceptions work.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.30 22-Dec-2015 christos

branches: 1.30.2; 1.30.4;
Add __TEST_FENV


# 1.29 17-Feb-2015 isaki

m68k (except sun2) never issue SIGBUS on unaligned accesses.
PR lib/49653. Thanks martin@.


# 1.28 13-Feb-2015 martin

Fix strange editor mishap and start block comment on its own line.


# 1.27 29-Dec-2014 martin

Include <ieeefp.h> even for the <fenv.h> case since we use fpsetmask()
to detect ARM Cortex NEON fpus.


# 1.26 19-Nov-2014 martin

Skip the SIGFPE test on arm when the FPU does not provide exception handling.


# 1.25 19-Nov-2014 martin

Use machdep.unaligned_sigbus to skip the unaligned access test on arm
as well.


# 1.24 04-Nov-2014 justin

PR misc/49356 remove unnecessary references to atf-c/config.h

The function included via this header is not used and is removed in
later versions of atf, so let us avoid it.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
# 1.23 09-Feb-2014 jmmv

Use compiler builtins instead of atf_arch and atf_machine.

The atf_arch and atf_machine configuration variables were removed from
atf-0.19 without me realizing that some tests were querying them directly.

Instead of reintroducing those variables, just rely on compiler builtins
as many other tests already do.

Should fix PR bin/48582.


# 1.22 26-Jan-2014 matt

Support using fenv instead of fpsetmask if HAVE_FENV is defined.


# 1.21 25-Jan-2014 skrll

Use English spelling of alignment.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.20 12-Apr-2013 christos

use one qemu test


# 1.19 12-Apr-2013 christos

easier way to find if we are on qemu.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.18 13-Jun-2012 njoly

branches: 1.18.2;
Skip sigbus_adraln testcase on alpha unless global
machdep.unaligned_sigbus sysctl is enabled.


Revision tags: yamt-pagecache-base5
# 1.17 23-Apr-2012 martin

Revert previous, si_addr is expected to be the faulting *data* address
(mmm, consistent standards).
Add a few tweaks to prevent the compiler's optimizer outsmarting the test.


# 1.16 22-Apr-2012 martin

Do not compare si_addr (address of faulting instruction) against the
unaligned data address causing the fault - this will always fail.
If anybody knows a portable way to get the data address involved in the
fault, please fix the test case as originally intended.


# 1.15 20-Apr-2012 jym

ATF test for SIGBUS => BUS_ADRALN (invalid address alignment).

That one is tedious to test under x86: alignment exceptions are
not reported by this architecture unless you ask for them explicitely (by
setting the PSL_AC bit). The brokenness does not end there: %cr2 should
contain the address where the unaligned access occured, alas, it does not.

I am not aware of other architectures where this could happen. Still, my
knowledge is limited; if there is one, feel free to send me a mail and I
will update the test accordingly.

Adding insult to injury, this test can fail in various funny ways with VMs:
- under x86 QEMU, no trap() happens. As ring 3 code stays almost untouched by
QEMU VMM, I suppose the exception can only be triggered when the host
itself is capable of catching unaligned accesses.
- under Virtual Box with HVM support, i386 works fine, but amd64 fails with a
SIGILL (Illegal instruction) that happens right before entering the
signal handler. No idea why, and trying to debug it with gdb freezes the VM
(including ddb breaks).

Anyway, tested with:
- i386: P4 host, anita, Virtual Box HVM (Mac OS X)
- amd64: anita, Virtual Box HVM (Mac OS X)

XXX I would appreciate if someone could test it under a real amd64 host with
an up-to-date kernel, so I can reasonably assume that the culprit is
Virtual Box and not our amd64 port (my test machine being off line
I cannot do it myself). Results from other arches would be a plus too.

Initial issue reported by Nicolas Joly on port-amd64. Thanks!


Revision tags: yamt-pagecache-base4
# 1.14 18-Mar-2012 jruoho

To be on the safe side, use the category/number notation when referring to
PRs (otherwise third-party sed-scripts might miss the references). Also
remove white-space.


# 1.13 17-Mar-2012 christos

annotate the PR that failed, and has been fixed.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 01-Oct-2011 christos

branches: 1.12.2;
use _FLOAT_IEEE754 instead of vax.


Revision tags: cherry-xenmp-base
# 1.11 24-May-2011 joerg

Use volatile for explicit 0 dereference


Revision tags: bouyer-quota2-nbase
# 1.10 02-Mar-2011 riz

Skip the sigfpe_flt and sigfpe_int tests on powerpc; powerpc does
not fault on divide-by-zero. As discussed on tech-userlevel.


# 1.9 01-Mar-2011 pooka

Attempt further qemu heuristics to avoid failures due to non-working FPU


Revision tags: bouyer-quota2-base
# 1.8 03-Jan-2011 pgoyette

branches: 1.8.2;
Don't run FP Exception tests under qemu - they don't work.

While here, properly skip certain tests on vax architecture. (It is
not legal to have a test-program with zero test cases, so each test
case needs to check-and-skip.)


# 1.7 02-Jan-2011 pgoyette

If we survive the check for wrong signal code, reset our expectation to
"pass" before checking the signal errno.


# 1.6 02-Jan-2011 pgoyette

Fix $NetBSD$ keyword


Revision tags: matt-mips64-premerge-20101231
# 1.5 31-Dec-2010 mlelstv

return from an SIGFPE handler is not defined when the hardware
caused the exception. Use sigsetjmp/siglongjmp to resume the
test function instead.


# 1.4 27-Dec-2010 njoly

Do use integer arithmetics to generate FPE_INTDIV in sigfpe_int testcase.

Ok pgoyette.


# 1.3 26-Dec-2010 pgoyette

Re-enable printing of MD data, with appropriate casts.


# 1.2 26-Dec-2010 pgoyette

For now, don't try to print out machine-dependant stuff. When I figure
out what the right format strings are, I'll re-enable it.


# 1.1 25-Dec-2010 pgoyette

Move the siginfo tests from regress to atf. While here, add a new test
for PR/43655.

XXX The sigchild_dump test currently fails when execute under atf-run.
XXX It does not fail when executed directly from the shell, so there's
XXX something in atf that prevents the child process from dumping.


# 1.49 04-Aug-2023 rin

t_siginfo:sigfpe_int: Adjust for GCC12

Do not use constant 1 as numerator to raise integer division by zero.
GCC >= 12 optimizes (1 / i) into (abs(i) == 1 ? i : 0), even for -O0.


# 1.48 07-May-2023 skrll

RISC-V support that works on QEMU with a single hart.

Thanks for Simon Burge for plic(4).


Revision tags: netbsd-10-base
# 1.47 07-May-2022 rin

Skip sigfpe_int also for sh3; integer division by zero is not trapped.


# 1.46 10-Dec-2021 andvar

s/occured/occurred/ in comments, log messages and man pages.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.45 13-Jan-2021 skrll

skip sigbus_adraln on MIPS


# 1.44 11-Jan-2021 skrll

PR/55715: pmax testbed panics with "assertion "asid == curcpu()->ci_pmap_asid_cur" failed"

It's GXemul that has the bug! Unfortunately, there's no way (currently) to
detect if we're running under GXemul emulation, so disable for all mips
for now. Hopefully, GXemul will get fixed soon.


# 1.43 10-Jan-2021 skrll

PR/55715: pmax testbed panics with "assertion "asid == curcpu()->ci_pmap_asid_cur" failed"

disable the sigbus_adraln test on qemu for now


# 1.42 13-Oct-2020 rin

For aarch64eb, no SIGBUS signal for unaligned accesses.
Convert to preprocessor directives.


# 1.41 24-Aug-2020 gson

Expect a failure to trap unaligned acesses only when running under
qemu's TCG CPU emulation, not when running under hardware virtualization
such as qemu -accel nvmm.


# 1.40 20-Jun-2020 rin

Skip sigbus_adraln for powerpc.

SIGBUS for unaligned accesses is not mandatory for powerpc;
most processors (not all, e.g., 403) can deal with that.


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406
# 1.39 22-Feb-2020 kamil

Disable the t_siginfo test under MKSANITIZER / MKLIBCSANITIZER

Signal crash events are incompatible with sanitizers.


# 1.38 21-Feb-2020 kamil

Mark division by 0 as expected in sigfpe_int

Disable ubsan instrumentation on the operation.


# 1.37 11-Feb-2020 riastradh

aarch64 doesn't trap integer division by zero either.


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 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
# 1.36 25-Apr-2019 kamil

Fix typo in 'exceptions'


# 1.35 30-Jan-2019 martin

Clean up terminology: modern arm CPUs do properly implement IEEE 754
floating point exceptions - but some (actually all currently know ones)
do not implement sending traps when these exceptions are raised.

Pointed out by Peter Maydell.


Revision tags: pgoyette-compat-20190127
# 1.34 26-Jan-2019 martin

aarch64 does not trap on unaligned acces


# 1.33 23-Jan-2019 martin

There are aarch64 Cortex cpus that do not trap on some floating point
exceptions - so apply the arm handling for aarch64 as well.


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.32 17-Jan-2018 maya

branches: 1.32.2; 1.32.4;
Improve portability of headers and sort them.

From Ngie Cooper in PR bin/51833


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320
# 1.31 05-Mar-2017 chs

reenable sigfpe_flt on powerpc now that FPU exceptions work.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.30 22-Dec-2015 christos

branches: 1.30.2; 1.30.4;
Add __TEST_FENV


# 1.29 17-Feb-2015 isaki

m68k (except sun2) never issue SIGBUS on unaligned accesses.
PR lib/49653. Thanks martin@.


# 1.28 13-Feb-2015 martin

Fix strange editor mishap and start block comment on its own line.


# 1.27 29-Dec-2014 martin

Include <ieeefp.h> even for the <fenv.h> case since we use fpsetmask()
to detect ARM Cortex NEON fpus.


# 1.26 19-Nov-2014 martin

Skip the SIGFPE test on arm when the FPU does not provide exception handling.


# 1.25 19-Nov-2014 martin

Use machdep.unaligned_sigbus to skip the unaligned access test on arm
as well.


# 1.24 04-Nov-2014 justin

PR misc/49356 remove unnecessary references to atf-c/config.h

The function included via this header is not used and is removed in
later versions of atf, so let us avoid it.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
# 1.23 09-Feb-2014 jmmv

Use compiler builtins instead of atf_arch and atf_machine.

The atf_arch and atf_machine configuration variables were removed from
atf-0.19 without me realizing that some tests were querying them directly.

Instead of reintroducing those variables, just rely on compiler builtins
as many other tests already do.

Should fix PR bin/48582.


# 1.22 26-Jan-2014 matt

Support using fenv instead of fpsetmask if HAVE_FENV is defined.


# 1.21 25-Jan-2014 skrll

Use English spelling of alignment.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.20 12-Apr-2013 christos

use one qemu test


# 1.19 12-Apr-2013 christos

easier way to find if we are on qemu.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.18 13-Jun-2012 njoly

branches: 1.18.2;
Skip sigbus_adraln testcase on alpha unless global
machdep.unaligned_sigbus sysctl is enabled.


Revision tags: yamt-pagecache-base5
# 1.17 23-Apr-2012 martin

Revert previous, si_addr is expected to be the faulting *data* address
(mmm, consistent standards).
Add a few tweaks to prevent the compiler's optimizer outsmarting the test.


# 1.16 22-Apr-2012 martin

Do not compare si_addr (address of faulting instruction) against the
unaligned data address causing the fault - this will always fail.
If anybody knows a portable way to get the data address involved in the
fault, please fix the test case as originally intended.


# 1.15 20-Apr-2012 jym

ATF test for SIGBUS => BUS_ADRALN (invalid address alignment).

That one is tedious to test under x86: alignment exceptions are
not reported by this architecture unless you ask for them explicitely (by
setting the PSL_AC bit). The brokenness does not end there: %cr2 should
contain the address where the unaligned access occured, alas, it does not.

I am not aware of other architectures where this could happen. Still, my
knowledge is limited; if there is one, feel free to send me a mail and I
will update the test accordingly.

Adding insult to injury, this test can fail in various funny ways with VMs:
- under x86 QEMU, no trap() happens. As ring 3 code stays almost untouched by
QEMU VMM, I suppose the exception can only be triggered when the host
itself is capable of catching unaligned accesses.
- under Virtual Box with HVM support, i386 works fine, but amd64 fails with a
SIGILL (Illegal instruction) that happens right before entering the
signal handler. No idea why, and trying to debug it with gdb freezes the VM
(including ddb breaks).

Anyway, tested with:
- i386: P4 host, anita, Virtual Box HVM (Mac OS X)
- amd64: anita, Virtual Box HVM (Mac OS X)

XXX I would appreciate if someone could test it under a real amd64 host with
an up-to-date kernel, so I can reasonably assume that the culprit is
Virtual Box and not our amd64 port (my test machine being off line
I cannot do it myself). Results from other arches would be a plus too.

Initial issue reported by Nicolas Joly on port-amd64. Thanks!


Revision tags: yamt-pagecache-base4
# 1.14 18-Mar-2012 jruoho

To be on the safe side, use the category/number notation when referring to
PRs (otherwise third-party sed-scripts might miss the references). Also
remove white-space.


# 1.13 17-Mar-2012 christos

annotate the PR that failed, and has been fixed.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 01-Oct-2011 christos

branches: 1.12.2;
use _FLOAT_IEEE754 instead of vax.


Revision tags: cherry-xenmp-base
# 1.11 24-May-2011 joerg

Use volatile for explicit 0 dereference


Revision tags: bouyer-quota2-nbase
# 1.10 02-Mar-2011 riz

Skip the sigfpe_flt and sigfpe_int tests on powerpc; powerpc does
not fault on divide-by-zero. As discussed on tech-userlevel.


# 1.9 01-Mar-2011 pooka

Attempt further qemu heuristics to avoid failures due to non-working FPU


Revision tags: bouyer-quota2-base
# 1.8 03-Jan-2011 pgoyette

branches: 1.8.2;
Don't run FP Exception tests under qemu - they don't work.

While here, properly skip certain tests on vax architecture. (It is
not legal to have a test-program with zero test cases, so each test
case needs to check-and-skip.)


# 1.7 02-Jan-2011 pgoyette

If we survive the check for wrong signal code, reset our expectation to
"pass" before checking the signal errno.


# 1.6 02-Jan-2011 pgoyette

Fix $NetBSD$ keyword


Revision tags: matt-mips64-premerge-20101231
# 1.5 31-Dec-2010 mlelstv

return from an SIGFPE handler is not defined when the hardware
caused the exception. Use sigsetjmp/siglongjmp to resume the
test function instead.


# 1.4 27-Dec-2010 njoly

Do use integer arithmetics to generate FPE_INTDIV in sigfpe_int testcase.

Ok pgoyette.


# 1.3 26-Dec-2010 pgoyette

Re-enable printing of MD data, with appropriate casts.


# 1.2 26-Dec-2010 pgoyette

For now, don't try to print out machine-dependant stuff. When I figure
out what the right format strings are, I'll re-enable it.


# 1.1 25-Dec-2010 pgoyette

Move the siginfo tests from regress to atf. While here, add a new test
for PR/43655.

XXX The sigchild_dump test currently fails when execute under atf-run.
XXX It does not fail when executed directly from the shell, so there's
XXX something in atf that prevents the child process from dumping.


# 1.48 07-May-2023 skrll

RISC-V support that works on QEMU with a single hart.

Thanks for Simon Burge for plic(4).


Revision tags: netbsd-10-base
# 1.47 07-May-2022 rin

Skip sigfpe_int also for sh3; integer division by zero is not trapped.


# 1.46 10-Dec-2021 andvar

s/occured/occurred/ in comments, log messages and man pages.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.45 13-Jan-2021 skrll

skip sigbus_adraln on MIPS


# 1.44 11-Jan-2021 skrll

PR/55715: pmax testbed panics with "assertion "asid == curcpu()->ci_pmap_asid_cur" failed"

It's GXemul that has the bug! Unfortunately, there's no way (currently) to
detect if we're running under GXemul emulation, so disable for all mips
for now. Hopefully, GXemul will get fixed soon.


# 1.43 10-Jan-2021 skrll

PR/55715: pmax testbed panics with "assertion "asid == curcpu()->ci_pmap_asid_cur" failed"

disable the sigbus_adraln test on qemu for now


# 1.42 13-Oct-2020 rin

For aarch64eb, no SIGBUS signal for unaligned accesses.
Convert to preprocessor directives.


# 1.41 24-Aug-2020 gson

Expect a failure to trap unaligned acesses only when running under
qemu's TCG CPU emulation, not when running under hardware virtualization
such as qemu -accel nvmm.


# 1.40 20-Jun-2020 rin

Skip sigbus_adraln for powerpc.

SIGBUS for unaligned accesses is not mandatory for powerpc;
most processors (not all, e.g., 403) can deal with that.


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406
# 1.39 22-Feb-2020 kamil

Disable the t_siginfo test under MKSANITIZER / MKLIBCSANITIZER

Signal crash events are incompatible with sanitizers.


# 1.38 21-Feb-2020 kamil

Mark division by 0 as expected in sigfpe_int

Disable ubsan instrumentation on the operation.


# 1.37 11-Feb-2020 riastradh

aarch64 doesn't trap integer division by zero either.


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 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
# 1.36 25-Apr-2019 kamil

Fix typo in 'exceptions'


# 1.35 30-Jan-2019 martin

Clean up terminology: modern arm CPUs do properly implement IEEE 754
floating point exceptions - but some (actually all currently know ones)
do not implement sending traps when these exceptions are raised.

Pointed out by Peter Maydell.


Revision tags: pgoyette-compat-20190127
# 1.34 26-Jan-2019 martin

aarch64 does not trap on unaligned acces


# 1.33 23-Jan-2019 martin

There are aarch64 Cortex cpus that do not trap on some floating point
exceptions - so apply the arm handling for aarch64 as well.


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.32 17-Jan-2018 maya

branches: 1.32.2; 1.32.4;
Improve portability of headers and sort them.

From Ngie Cooper in PR bin/51833


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320
# 1.31 05-Mar-2017 chs

reenable sigfpe_flt on powerpc now that FPU exceptions work.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.30 22-Dec-2015 christos

branches: 1.30.2; 1.30.4;
Add __TEST_FENV


# 1.29 17-Feb-2015 isaki

m68k (except sun2) never issue SIGBUS on unaligned accesses.
PR lib/49653. Thanks martin@.


# 1.28 13-Feb-2015 martin

Fix strange editor mishap and start block comment on its own line.


# 1.27 29-Dec-2014 martin

Include <ieeefp.h> even for the <fenv.h> case since we use fpsetmask()
to detect ARM Cortex NEON fpus.


# 1.26 19-Nov-2014 martin

Skip the SIGFPE test on arm when the FPU does not provide exception handling.


# 1.25 19-Nov-2014 martin

Use machdep.unaligned_sigbus to skip the unaligned access test on arm
as well.


# 1.24 04-Nov-2014 justin

PR misc/49356 remove unnecessary references to atf-c/config.h

The function included via this header is not used and is removed in
later versions of atf, so let us avoid it.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
# 1.23 09-Feb-2014 jmmv

Use compiler builtins instead of atf_arch and atf_machine.

The atf_arch and atf_machine configuration variables were removed from
atf-0.19 without me realizing that some tests were querying them directly.

Instead of reintroducing those variables, just rely on compiler builtins
as many other tests already do.

Should fix PR bin/48582.


# 1.22 26-Jan-2014 matt

Support using fenv instead of fpsetmask if HAVE_FENV is defined.


# 1.21 25-Jan-2014 skrll

Use English spelling of alignment.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.20 12-Apr-2013 christos

use one qemu test


# 1.19 12-Apr-2013 christos

easier way to find if we are on qemu.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.18 13-Jun-2012 njoly

branches: 1.18.2;
Skip sigbus_adraln testcase on alpha unless global
machdep.unaligned_sigbus sysctl is enabled.


Revision tags: yamt-pagecache-base5
# 1.17 23-Apr-2012 martin

Revert previous, si_addr is expected to be the faulting *data* address
(mmm, consistent standards).
Add a few tweaks to prevent the compiler's optimizer outsmarting the test.


# 1.16 22-Apr-2012 martin

Do not compare si_addr (address of faulting instruction) against the
unaligned data address causing the fault - this will always fail.
If anybody knows a portable way to get the data address involved in the
fault, please fix the test case as originally intended.


# 1.15 20-Apr-2012 jym

ATF test for SIGBUS => BUS_ADRALN (invalid address alignment).

That one is tedious to test under x86: alignment exceptions are
not reported by this architecture unless you ask for them explicitely (by
setting the PSL_AC bit). The brokenness does not end there: %cr2 should
contain the address where the unaligned access occured, alas, it does not.

I am not aware of other architectures where this could happen. Still, my
knowledge is limited; if there is one, feel free to send me a mail and I
will update the test accordingly.

Adding insult to injury, this test can fail in various funny ways with VMs:
- under x86 QEMU, no trap() happens. As ring 3 code stays almost untouched by
QEMU VMM, I suppose the exception can only be triggered when the host
itself is capable of catching unaligned accesses.
- under Virtual Box with HVM support, i386 works fine, but amd64 fails with a
SIGILL (Illegal instruction) that happens right before entering the
signal handler. No idea why, and trying to debug it with gdb freezes the VM
(including ddb breaks).

Anyway, tested with:
- i386: P4 host, anita, Virtual Box HVM (Mac OS X)
- amd64: anita, Virtual Box HVM (Mac OS X)

XXX I would appreciate if someone could test it under a real amd64 host with
an up-to-date kernel, so I can reasonably assume that the culprit is
Virtual Box and not our amd64 port (my test machine being off line
I cannot do it myself). Results from other arches would be a plus too.

Initial issue reported by Nicolas Joly on port-amd64. Thanks!


Revision tags: yamt-pagecache-base4
# 1.14 18-Mar-2012 jruoho

To be on the safe side, use the category/number notation when referring to
PRs (otherwise third-party sed-scripts might miss the references). Also
remove white-space.


# 1.13 17-Mar-2012 christos

annotate the PR that failed, and has been fixed.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 01-Oct-2011 christos

branches: 1.12.2;
use _FLOAT_IEEE754 instead of vax.


Revision tags: cherry-xenmp-base
# 1.11 24-May-2011 joerg

Use volatile for explicit 0 dereference


Revision tags: bouyer-quota2-nbase
# 1.10 02-Mar-2011 riz

Skip the sigfpe_flt and sigfpe_int tests on powerpc; powerpc does
not fault on divide-by-zero. As discussed on tech-userlevel.


# 1.9 01-Mar-2011 pooka

Attempt further qemu heuristics to avoid failures due to non-working FPU


Revision tags: bouyer-quota2-base
# 1.8 03-Jan-2011 pgoyette

branches: 1.8.2;
Don't run FP Exception tests under qemu - they don't work.

While here, properly skip certain tests on vax architecture. (It is
not legal to have a test-program with zero test cases, so each test
case needs to check-and-skip.)


# 1.7 02-Jan-2011 pgoyette

If we survive the check for wrong signal code, reset our expectation to
"pass" before checking the signal errno.


# 1.6 02-Jan-2011 pgoyette

Fix $NetBSD$ keyword


Revision tags: matt-mips64-premerge-20101231
# 1.5 31-Dec-2010 mlelstv

return from an SIGFPE handler is not defined when the hardware
caused the exception. Use sigsetjmp/siglongjmp to resume the
test function instead.


# 1.4 27-Dec-2010 njoly

Do use integer arithmetics to generate FPE_INTDIV in sigfpe_int testcase.

Ok pgoyette.


# 1.3 26-Dec-2010 pgoyette

Re-enable printing of MD data, with appropriate casts.


# 1.2 26-Dec-2010 pgoyette

For now, don't try to print out machine-dependant stuff. When I figure
out what the right format strings are, I'll re-enable it.


# 1.1 25-Dec-2010 pgoyette

Move the siginfo tests from regress to atf. While here, add a new test
for PR/43655.

XXX The sigchild_dump test currently fails when execute under atf-run.
XXX It does not fail when executed directly from the shell, so there's
XXX something in atf that prevents the child process from dumping.


# 1.47 07-May-2022 rin

Skip sigfpe_int also for sh3; integer division by zero is not trapped.


# 1.46 10-Dec-2021 andvar

s/occured/occurred/ in comments, log messages and man pages.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.45 13-Jan-2021 skrll

skip sigbus_adraln on MIPS


# 1.44 11-Jan-2021 skrll

PR/55715: pmax testbed panics with "assertion "asid == curcpu()->ci_pmap_asid_cur" failed"

It's GXemul that has the bug! Unfortunately, there's no way (currently) to
detect if we're running under GXemul emulation, so disable for all mips
for now. Hopefully, GXemul will get fixed soon.


# 1.43 10-Jan-2021 skrll

PR/55715: pmax testbed panics with "assertion "asid == curcpu()->ci_pmap_asid_cur" failed"

disable the sigbus_adraln test on qemu for now


# 1.42 13-Oct-2020 rin

For aarch64eb, no SIGBUS signal for unaligned accesses.
Convert to preprocessor directives.


# 1.41 24-Aug-2020 gson

Expect a failure to trap unaligned acesses only when running under
qemu's TCG CPU emulation, not when running under hardware virtualization
such as qemu -accel nvmm.


# 1.40 20-Jun-2020 rin

Skip sigbus_adraln for powerpc.

SIGBUS for unaligned accesses is not mandatory for powerpc;
most processors (not all, e.g., 403) can deal with that.


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406
# 1.39 22-Feb-2020 kamil

Disable the t_siginfo test under MKSANITIZER / MKLIBCSANITIZER

Signal crash events are incompatible with sanitizers.


# 1.38 21-Feb-2020 kamil

Mark division by 0 as expected in sigfpe_int

Disable ubsan instrumentation on the operation.


# 1.37 11-Feb-2020 riastradh

aarch64 doesn't trap integer division by zero either.


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
# 1.36 25-Apr-2019 kamil

Fix typo in 'exceptions'


# 1.35 30-Jan-2019 martin

Clean up terminology: modern arm CPUs do properly implement IEEE 754
floating point exceptions - but some (actually all currently know ones)
do not implement sending traps when these exceptions are raised.

Pointed out by Peter Maydell.


Revision tags: pgoyette-compat-20190127
# 1.34 26-Jan-2019 martin

aarch64 does not trap on unaligned acces


# 1.33 23-Jan-2019 martin

There are aarch64 Cortex cpus that do not trap on some floating point
exceptions - so apply the arm handling for aarch64 as well.


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.32 17-Jan-2018 maya

branches: 1.32.2; 1.32.4;
Improve portability of headers and sort them.

From Ngie Cooper in PR bin/51833


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320
# 1.31 05-Mar-2017 chs

reenable sigfpe_flt on powerpc now that FPU exceptions work.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.30 22-Dec-2015 christos

branches: 1.30.2; 1.30.4;
Add __TEST_FENV


# 1.29 17-Feb-2015 isaki

m68k (except sun2) never issue SIGBUS on unaligned accesses.
PR lib/49653. Thanks martin@.


# 1.28 13-Feb-2015 martin

Fix strange editor mishap and start block comment on its own line.


# 1.27 29-Dec-2014 martin

Include <ieeefp.h> even for the <fenv.h> case since we use fpsetmask()
to detect ARM Cortex NEON fpus.


# 1.26 19-Nov-2014 martin

Skip the SIGFPE test on arm when the FPU does not provide exception handling.


# 1.25 19-Nov-2014 martin

Use machdep.unaligned_sigbus to skip the unaligned access test on arm
as well.


# 1.24 04-Nov-2014 justin

PR misc/49356 remove unnecessary references to atf-c/config.h

The function included via this header is not used and is removed in
later versions of atf, so let us avoid it.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
# 1.23 09-Feb-2014 jmmv

Use compiler builtins instead of atf_arch and atf_machine.

The atf_arch and atf_machine configuration variables were removed from
atf-0.19 without me realizing that some tests were querying them directly.

Instead of reintroducing those variables, just rely on compiler builtins
as many other tests already do.

Should fix PR bin/48582.


# 1.22 26-Jan-2014 matt

Support using fenv instead of fpsetmask if HAVE_FENV is defined.


# 1.21 25-Jan-2014 skrll

Use English spelling of alignment.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.20 12-Apr-2013 christos

use one qemu test


# 1.19 12-Apr-2013 christos

easier way to find if we are on qemu.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.18 13-Jun-2012 njoly

branches: 1.18.2;
Skip sigbus_adraln testcase on alpha unless global
machdep.unaligned_sigbus sysctl is enabled.


Revision tags: yamt-pagecache-base5
# 1.17 23-Apr-2012 martin

Revert previous, si_addr is expected to be the faulting *data* address
(mmm, consistent standards).
Add a few tweaks to prevent the compiler's optimizer outsmarting the test.


# 1.16 22-Apr-2012 martin

Do not compare si_addr (address of faulting instruction) against the
unaligned data address causing the fault - this will always fail.
If anybody knows a portable way to get the data address involved in the
fault, please fix the test case as originally intended.


# 1.15 20-Apr-2012 jym

ATF test for SIGBUS => BUS_ADRALN (invalid address alignment).

That one is tedious to test under x86: alignment exceptions are
not reported by this architecture unless you ask for them explicitely (by
setting the PSL_AC bit). The brokenness does not end there: %cr2 should
contain the address where the unaligned access occured, alas, it does not.

I am not aware of other architectures where this could happen. Still, my
knowledge is limited; if there is one, feel free to send me a mail and I
will update the test accordingly.

Adding insult to injury, this test can fail in various funny ways with VMs:
- under x86 QEMU, no trap() happens. As ring 3 code stays almost untouched by
QEMU VMM, I suppose the exception can only be triggered when the host
itself is capable of catching unaligned accesses.
- under Virtual Box with HVM support, i386 works fine, but amd64 fails with a
SIGILL (Illegal instruction) that happens right before entering the
signal handler. No idea why, and trying to debug it with gdb freezes the VM
(including ddb breaks).

Anyway, tested with:
- i386: P4 host, anita, Virtual Box HVM (Mac OS X)
- amd64: anita, Virtual Box HVM (Mac OS X)

XXX I would appreciate if someone could test it under a real amd64 host with
an up-to-date kernel, so I can reasonably assume that the culprit is
Virtual Box and not our amd64 port (my test machine being off line
I cannot do it myself). Results from other arches would be a plus too.

Initial issue reported by Nicolas Joly on port-amd64. Thanks!


Revision tags: yamt-pagecache-base4
# 1.14 18-Mar-2012 jruoho

To be on the safe side, use the category/number notation when referring to
PRs (otherwise third-party sed-scripts might miss the references). Also
remove white-space.


# 1.13 17-Mar-2012 christos

annotate the PR that failed, and has been fixed.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 01-Oct-2011 christos

branches: 1.12.2;
use _FLOAT_IEEE754 instead of vax.


Revision tags: cherry-xenmp-base
# 1.11 24-May-2011 joerg

Use volatile for explicit 0 dereference


Revision tags: bouyer-quota2-nbase
# 1.10 02-Mar-2011 riz

Skip the sigfpe_flt and sigfpe_int tests on powerpc; powerpc does
not fault on divide-by-zero. As discussed on tech-userlevel.


# 1.9 01-Mar-2011 pooka

Attempt further qemu heuristics to avoid failures due to non-working FPU


Revision tags: bouyer-quota2-base
# 1.8 03-Jan-2011 pgoyette

branches: 1.8.2;
Don't run FP Exception tests under qemu - they don't work.

While here, properly skip certain tests on vax architecture. (It is
not legal to have a test-program with zero test cases, so each test
case needs to check-and-skip.)


# 1.7 02-Jan-2011 pgoyette

If we survive the check for wrong signal code, reset our expectation to
"pass" before checking the signal errno.


# 1.6 02-Jan-2011 pgoyette

Fix $NetBSD$ keyword


Revision tags: matt-mips64-premerge-20101231
# 1.5 31-Dec-2010 mlelstv

return from an SIGFPE handler is not defined when the hardware
caused the exception. Use sigsetjmp/siglongjmp to resume the
test function instead.


# 1.4 27-Dec-2010 njoly

Do use integer arithmetics to generate FPE_INTDIV in sigfpe_int testcase.

Ok pgoyette.


# 1.3 26-Dec-2010 pgoyette

Re-enable printing of MD data, with appropriate casts.


# 1.2 26-Dec-2010 pgoyette

For now, don't try to print out machine-dependant stuff. When I figure
out what the right format strings are, I'll re-enable it.


# 1.1 25-Dec-2010 pgoyette

Move the siginfo tests from regress to atf. While here, add a new test
for PR/43655.

XXX The sigchild_dump test currently fails when execute under atf-run.
XXX It does not fail when executed directly from the shell, so there's
XXX something in atf that prevents the child process from dumping.


# 1.46 10-Dec-2021 andvar

s/occured/occurred/ in comments, log messages and man pages.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.45 13-Jan-2021 skrll

skip sigbus_adraln on MIPS


# 1.44 11-Jan-2021 skrll

PR/55715: pmax testbed panics with "assertion "asid == curcpu()->ci_pmap_asid_cur" failed"

It's GXemul that has the bug! Unfortunately, there's no way (currently) to
detect if we're running under GXemul emulation, so disable for all mips
for now. Hopefully, GXemul will get fixed soon.


# 1.43 10-Jan-2021 skrll

PR/55715: pmax testbed panics with "assertion "asid == curcpu()->ci_pmap_asid_cur" failed"

disable the sigbus_adraln test on qemu for now


# 1.42 13-Oct-2020 rin

For aarch64eb, no SIGBUS signal for unaligned accesses.
Convert to preprocessor directives.


# 1.41 24-Aug-2020 gson

Expect a failure to trap unaligned acesses only when running under
qemu's TCG CPU emulation, not when running under hardware virtualization
such as qemu -accel nvmm.


# 1.40 20-Jun-2020 rin

Skip sigbus_adraln for powerpc.

SIGBUS for unaligned accesses is not mandatory for powerpc;
most processors (not all, e.g., 403) can deal with that.


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406
# 1.39 22-Feb-2020 kamil

Disable the t_siginfo test under MKSANITIZER / MKLIBCSANITIZER

Signal crash events are incompatible with sanitizers.


# 1.38 21-Feb-2020 kamil

Mark division by 0 as expected in sigfpe_int

Disable ubsan instrumentation on the operation.


# 1.37 11-Feb-2020 riastradh

aarch64 doesn't trap integer division by zero either.


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
# 1.36 25-Apr-2019 kamil

Fix typo in 'exceptions'


# 1.35 30-Jan-2019 martin

Clean up terminology: modern arm CPUs do properly implement IEEE 754
floating point exceptions - but some (actually all currently know ones)
do not implement sending traps when these exceptions are raised.

Pointed out by Peter Maydell.


Revision tags: pgoyette-compat-20190127
# 1.34 26-Jan-2019 martin

aarch64 does not trap on unaligned acces


# 1.33 23-Jan-2019 martin

There are aarch64 Cortex cpus that do not trap on some floating point
exceptions - so apply the arm handling for aarch64 as well.


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.32 17-Jan-2018 maya

branches: 1.32.2; 1.32.4;
Improve portability of headers and sort them.

From Ngie Cooper in PR bin/51833


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320
# 1.31 05-Mar-2017 chs

reenable sigfpe_flt on powerpc now that FPU exceptions work.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.30 22-Dec-2015 christos

branches: 1.30.2; 1.30.4;
Add __TEST_FENV


# 1.29 17-Feb-2015 isaki

m68k (except sun2) never issue SIGBUS on unaligned accesses.
PR lib/49653. Thanks martin@.


# 1.28 13-Feb-2015 martin

Fix strange editor mishap and start block comment on its own line.


# 1.27 29-Dec-2014 martin

Include <ieeefp.h> even for the <fenv.h> case since we use fpsetmask()
to detect ARM Cortex NEON fpus.


# 1.26 19-Nov-2014 martin

Skip the SIGFPE test on arm when the FPU does not provide exception handling.


# 1.25 19-Nov-2014 martin

Use machdep.unaligned_sigbus to skip the unaligned access test on arm
as well.


# 1.24 04-Nov-2014 justin

PR misc/49356 remove unnecessary references to atf-c/config.h

The function included via this header is not used and is removed in
later versions of atf, so let us avoid it.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
# 1.23 09-Feb-2014 jmmv

Use compiler builtins instead of atf_arch and atf_machine.

The atf_arch and atf_machine configuration variables were removed from
atf-0.19 without me realizing that some tests were querying them directly.

Instead of reintroducing those variables, just rely on compiler builtins
as many other tests already do.

Should fix PR bin/48582.


# 1.22 26-Jan-2014 matt

Support using fenv instead of fpsetmask if HAVE_FENV is defined.


# 1.21 25-Jan-2014 skrll

Use English spelling of alignment.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.20 12-Apr-2013 christos

use one qemu test


# 1.19 12-Apr-2013 christos

easier way to find if we are on qemu.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.18 13-Jun-2012 njoly

branches: 1.18.2;
Skip sigbus_adraln testcase on alpha unless global
machdep.unaligned_sigbus sysctl is enabled.


Revision tags: yamt-pagecache-base5
# 1.17 23-Apr-2012 martin

Revert previous, si_addr is expected to be the faulting *data* address
(mmm, consistent standards).
Add a few tweaks to prevent the compiler's optimizer outsmarting the test.


# 1.16 22-Apr-2012 martin

Do not compare si_addr (address of faulting instruction) against the
unaligned data address causing the fault - this will always fail.
If anybody knows a portable way to get the data address involved in the
fault, please fix the test case as originally intended.


# 1.15 20-Apr-2012 jym

ATF test for SIGBUS => BUS_ADRALN (invalid address alignment).

That one is tedious to test under x86: alignment exceptions are
not reported by this architecture unless you ask for them explicitely (by
setting the PSL_AC bit). The brokenness does not end there: %cr2 should
contain the address where the unaligned access occured, alas, it does not.

I am not aware of other architectures where this could happen. Still, my
knowledge is limited; if there is one, feel free to send me a mail and I
will update the test accordingly.

Adding insult to injury, this test can fail in various funny ways with VMs:
- under x86 QEMU, no trap() happens. As ring 3 code stays almost untouched by
QEMU VMM, I suppose the exception can only be triggered when the host
itself is capable of catching unaligned accesses.
- under Virtual Box with HVM support, i386 works fine, but amd64 fails with a
SIGILL (Illegal instruction) that happens right before entering the
signal handler. No idea why, and trying to debug it with gdb freezes the VM
(including ddb breaks).

Anyway, tested with:
- i386: P4 host, anita, Virtual Box HVM (Mac OS X)
- amd64: anita, Virtual Box HVM (Mac OS X)

XXX I would appreciate if someone could test it under a real amd64 host with
an up-to-date kernel, so I can reasonably assume that the culprit is
Virtual Box and not our amd64 port (my test machine being off line
I cannot do it myself). Results from other arches would be a plus too.

Initial issue reported by Nicolas Joly on port-amd64. Thanks!


Revision tags: yamt-pagecache-base4
# 1.14 18-Mar-2012 jruoho

To be on the safe side, use the category/number notation when referring to
PRs (otherwise third-party sed-scripts might miss the references). Also
remove white-space.


# 1.13 17-Mar-2012 christos

annotate the PR that failed, and has been fixed.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 01-Oct-2011 christos

branches: 1.12.2;
use _FLOAT_IEEE754 instead of vax.


Revision tags: cherry-xenmp-base
# 1.11 24-May-2011 joerg

Use volatile for explicit 0 dereference


Revision tags: bouyer-quota2-nbase
# 1.10 02-Mar-2011 riz

Skip the sigfpe_flt and sigfpe_int tests on powerpc; powerpc does
not fault on divide-by-zero. As discussed on tech-userlevel.


# 1.9 01-Mar-2011 pooka

Attempt further qemu heuristics to avoid failures due to non-working FPU


Revision tags: bouyer-quota2-base
# 1.8 03-Jan-2011 pgoyette

branches: 1.8.2;
Don't run FP Exception tests under qemu - they don't work.

While here, properly skip certain tests on vax architecture. (It is
not legal to have a test-program with zero test cases, so each test
case needs to check-and-skip.)


# 1.7 02-Jan-2011 pgoyette

If we survive the check for wrong signal code, reset our expectation to
"pass" before checking the signal errno.


# 1.6 02-Jan-2011 pgoyette

Fix $NetBSD$ keyword


Revision tags: matt-mips64-premerge-20101231
# 1.5 31-Dec-2010 mlelstv

return from an SIGFPE handler is not defined when the hardware
caused the exception. Use sigsetjmp/siglongjmp to resume the
test function instead.


# 1.4 27-Dec-2010 njoly

Do use integer arithmetics to generate FPE_INTDIV in sigfpe_int testcase.

Ok pgoyette.


# 1.3 26-Dec-2010 pgoyette

Re-enable printing of MD data, with appropriate casts.


# 1.2 26-Dec-2010 pgoyette

For now, don't try to print out machine-dependant stuff. When I figure
out what the right format strings are, I'll re-enable it.


# 1.1 25-Dec-2010 pgoyette

Move the siginfo tests from regress to atf. While here, add a new test
for PR/43655.

XXX The sigchild_dump test currently fails when execute under atf-run.
XXX It does not fail when executed directly from the shell, so there's
XXX something in atf that prevents the child process from dumping.


# 1.45 13-Jan-2021 skrll

skip sigbus_adraln on MIPS


# 1.44 11-Jan-2021 skrll

PR/55715: pmax testbed panics with "assertion "asid == curcpu()->ci_pmap_asid_cur" failed"

It's GXemul that has the bug! Unfortunately, there's no way (currently) to
detect if we're running under GXemul emulation, so disable for all mips
for now. Hopefully, GXemul will get fixed soon.


# 1.43 10-Jan-2021 skrll

PR/55715: pmax testbed panics with "assertion "asid == curcpu()->ci_pmap_asid_cur" failed"

disable the sigbus_adraln test on qemu for now


# 1.42 13-Oct-2020 rin

For aarch64eb, no SIGBUS signal for unaligned accesses.
Convert to preprocessor directives.


# 1.41 24-Aug-2020 gson

Expect a failure to trap unaligned acesses only when running under
qemu's TCG CPU emulation, not when running under hardware virtualization
such as qemu -accel nvmm.


# 1.40 20-Jun-2020 rin

Skip sigbus_adraln for powerpc.

SIGBUS for unaligned accesses is not mandatory for powerpc;
most processors (not all, e.g., 403) can deal with that.


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406
# 1.39 22-Feb-2020 kamil

Disable the t_siginfo test under MKSANITIZER / MKLIBCSANITIZER

Signal crash events are incompatible with sanitizers.


# 1.38 21-Feb-2020 kamil

Mark division by 0 as expected in sigfpe_int

Disable ubsan instrumentation on the operation.


# 1.37 11-Feb-2020 riastradh

aarch64 doesn't trap integer division by zero either.


Revision tags: netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
# 1.36 25-Apr-2019 kamil

Fix typo in 'exceptions'


# 1.35 30-Jan-2019 martin

Clean up terminology: modern arm CPUs do properly implement IEEE 754
floating point exceptions - but some (actually all currently know ones)
do not implement sending traps when these exceptions are raised.

Pointed out by Peter Maydell.


Revision tags: pgoyette-compat-20190127
# 1.34 26-Jan-2019 martin

aarch64 does not trap on unaligned acces


# 1.33 23-Jan-2019 martin

There are aarch64 Cortex cpus that do not trap on some floating point
exceptions - so apply the arm handling for aarch64 as well.


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.32 17-Jan-2018 maya

branches: 1.32.2; 1.32.4;
Improve portability of headers and sort them.

From Ngie Cooper in PR bin/51833


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320
# 1.31 05-Mar-2017 chs

reenable sigfpe_flt on powerpc now that FPU exceptions work.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.30 22-Dec-2015 christos

branches: 1.30.2; 1.30.4;
Add __TEST_FENV


# 1.29 17-Feb-2015 isaki

m68k (except sun2) never issue SIGBUS on unaligned accesses.
PR lib/49653. Thanks martin@.


# 1.28 13-Feb-2015 martin

Fix strange editor mishap and start block comment on its own line.


# 1.27 29-Dec-2014 martin

Include <ieeefp.h> even for the <fenv.h> case since we use fpsetmask()
to detect ARM Cortex NEON fpus.


# 1.26 19-Nov-2014 martin

Skip the SIGFPE test on arm when the FPU does not provide exception handling.


# 1.25 19-Nov-2014 martin

Use machdep.unaligned_sigbus to skip the unaligned access test on arm
as well.


# 1.24 04-Nov-2014 justin

PR misc/49356 remove unnecessary references to atf-c/config.h

The function included via this header is not used and is removed in
later versions of atf, so let us avoid it.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
# 1.23 09-Feb-2014 jmmv

Use compiler builtins instead of atf_arch and atf_machine.

The atf_arch and atf_machine configuration variables were removed from
atf-0.19 without me realizing that some tests were querying them directly.

Instead of reintroducing those variables, just rely on compiler builtins
as many other tests already do.

Should fix PR bin/48582.


# 1.22 26-Jan-2014 matt

Support using fenv instead of fpsetmask if HAVE_FENV is defined.


# 1.21 25-Jan-2014 skrll

Use English spelling of alignment.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.20 12-Apr-2013 christos

use one qemu test


# 1.19 12-Apr-2013 christos

easier way to find if we are on qemu.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.18 13-Jun-2012 njoly

branches: 1.18.2;
Skip sigbus_adraln testcase on alpha unless global
machdep.unaligned_sigbus sysctl is enabled.


Revision tags: yamt-pagecache-base5
# 1.17 23-Apr-2012 martin

Revert previous, si_addr is expected to be the faulting *data* address
(mmm, consistent standards).
Add a few tweaks to prevent the compiler's optimizer outsmarting the test.


# 1.16 22-Apr-2012 martin

Do not compare si_addr (address of faulting instruction) against the
unaligned data address causing the fault - this will always fail.
If anybody knows a portable way to get the data address involved in the
fault, please fix the test case as originally intended.


# 1.15 20-Apr-2012 jym

ATF test for SIGBUS => BUS_ADRALN (invalid address alignment).

That one is tedious to test under x86: alignment exceptions are
not reported by this architecture unless you ask for them explicitely (by
setting the PSL_AC bit). The brokenness does not end there: %cr2 should
contain the address where the unaligned access occured, alas, it does not.

I am not aware of other architectures where this could happen. Still, my
knowledge is limited; if there is one, feel free to send me a mail and I
will update the test accordingly.

Adding insult to injury, this test can fail in various funny ways with VMs:
- under x86 QEMU, no trap() happens. As ring 3 code stays almost untouched by
QEMU VMM, I suppose the exception can only be triggered when the host
itself is capable of catching unaligned accesses.
- under Virtual Box with HVM support, i386 works fine, but amd64 fails with a
SIGILL (Illegal instruction) that happens right before entering the
signal handler. No idea why, and trying to debug it with gdb freezes the VM
(including ddb breaks).

Anyway, tested with:
- i386: P4 host, anita, Virtual Box HVM (Mac OS X)
- amd64: anita, Virtual Box HVM (Mac OS X)

XXX I would appreciate if someone could test it under a real amd64 host with
an up-to-date kernel, so I can reasonably assume that the culprit is
Virtual Box and not our amd64 port (my test machine being off line
I cannot do it myself). Results from other arches would be a plus too.

Initial issue reported by Nicolas Joly on port-amd64. Thanks!


Revision tags: yamt-pagecache-base4
# 1.14 18-Mar-2012 jruoho

To be on the safe side, use the category/number notation when referring to
PRs (otherwise third-party sed-scripts might miss the references). Also
remove white-space.


# 1.13 17-Mar-2012 christos

annotate the PR that failed, and has been fixed.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 01-Oct-2011 christos

branches: 1.12.2;
use _FLOAT_IEEE754 instead of vax.


Revision tags: cherry-xenmp-base
# 1.11 24-May-2011 joerg

Use volatile for explicit 0 dereference


Revision tags: bouyer-quota2-nbase
# 1.10 02-Mar-2011 riz

Skip the sigfpe_flt and sigfpe_int tests on powerpc; powerpc does
not fault on divide-by-zero. As discussed on tech-userlevel.


# 1.9 01-Mar-2011 pooka

Attempt further qemu heuristics to avoid failures due to non-working FPU


Revision tags: bouyer-quota2-base
# 1.8 03-Jan-2011 pgoyette

branches: 1.8.2;
Don't run FP Exception tests under qemu - they don't work.

While here, properly skip certain tests on vax architecture. (It is
not legal to have a test-program with zero test cases, so each test
case needs to check-and-skip.)


# 1.7 02-Jan-2011 pgoyette

If we survive the check for wrong signal code, reset our expectation to
"pass" before checking the signal errno.


# 1.6 02-Jan-2011 pgoyette

Fix $NetBSD$ keyword


Revision tags: matt-mips64-premerge-20101231
# 1.5 31-Dec-2010 mlelstv

return from an SIGFPE handler is not defined when the hardware
caused the exception. Use sigsetjmp/siglongjmp to resume the
test function instead.


# 1.4 27-Dec-2010 njoly

Do use integer arithmetics to generate FPE_INTDIV in sigfpe_int testcase.

Ok pgoyette.


# 1.3 26-Dec-2010 pgoyette

Re-enable printing of MD data, with appropriate casts.


# 1.2 26-Dec-2010 pgoyette

For now, don't try to print out machine-dependant stuff. When I figure
out what the right format strings are, I'll re-enable it.


# 1.1 25-Dec-2010 pgoyette

Move the siginfo tests from regress to atf. While here, add a new test
for PR/43655.

XXX The sigchild_dump test currently fails when execute under atf-run.
XXX It does not fail when executed directly from the shell, so there's
XXX something in atf that prevents the child process from dumping.


# 1.44 11-Jan-2021 skrll

PR/55715: pmax testbed panics with "assertion "asid == curcpu()->ci_pmap_asid_cur" failed"

It's GXemul that has the bug! Unfortunately, there's no way (currently) to
detect if we're running under GXemul emulation, so disable for all mips
for now. Hopefully, GXemul will get fixed soon.


# 1.43 10-Jan-2021 skrll

PR/55715: pmax testbed panics with "assertion "asid == curcpu()->ci_pmap_asid_cur" failed"

disable the sigbus_adraln test on qemu for now


# 1.42 13-Oct-2020 rin

For aarch64eb, no SIGBUS signal for unaligned accesses.
Convert to preprocessor directives.


# 1.41 24-Aug-2020 gson

Expect a failure to trap unaligned acesses only when running under
qemu's TCG CPU emulation, not when running under hardware virtualization
such as qemu -accel nvmm.


# 1.40 20-Jun-2020 rin

Skip sigbus_adraln for powerpc.

SIGBUS for unaligned accesses is not mandatory for powerpc;
most processors (not all, e.g., 403) can deal with that.


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406
# 1.39 22-Feb-2020 kamil

Disable the t_siginfo test under MKSANITIZER / MKLIBCSANITIZER

Signal crash events are incompatible with sanitizers.


# 1.38 21-Feb-2020 kamil

Mark division by 0 as expected in sigfpe_int

Disable ubsan instrumentation on the operation.


# 1.37 11-Feb-2020 riastradh

aarch64 doesn't trap integer division by zero either.


Revision tags: netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
# 1.36 25-Apr-2019 kamil

Fix typo in 'exceptions'


# 1.35 30-Jan-2019 martin

Clean up terminology: modern arm CPUs do properly implement IEEE 754
floating point exceptions - but some (actually all currently know ones)
do not implement sending traps when these exceptions are raised.

Pointed out by Peter Maydell.


Revision tags: pgoyette-compat-20190127
# 1.34 26-Jan-2019 martin

aarch64 does not trap on unaligned acces


# 1.33 23-Jan-2019 martin

There are aarch64 Cortex cpus that do not trap on some floating point
exceptions - so apply the arm handling for aarch64 as well.


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.32 17-Jan-2018 maya

branches: 1.32.2; 1.32.4;
Improve portability of headers and sort them.

From Ngie Cooper in PR bin/51833


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320
# 1.31 05-Mar-2017 chs

reenable sigfpe_flt on powerpc now that FPU exceptions work.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.30 22-Dec-2015 christos

branches: 1.30.2; 1.30.4;
Add __TEST_FENV


# 1.29 17-Feb-2015 isaki

m68k (except sun2) never issue SIGBUS on unaligned accesses.
PR lib/49653. Thanks martin@.


# 1.28 13-Feb-2015 martin

Fix strange editor mishap and start block comment on its own line.


# 1.27 29-Dec-2014 martin

Include <ieeefp.h> even for the <fenv.h> case since we use fpsetmask()
to detect ARM Cortex NEON fpus.


# 1.26 19-Nov-2014 martin

Skip the SIGFPE test on arm when the FPU does not provide exception handling.


# 1.25 19-Nov-2014 martin

Use machdep.unaligned_sigbus to skip the unaligned access test on arm
as well.


# 1.24 04-Nov-2014 justin

PR misc/49356 remove unnecessary references to atf-c/config.h

The function included via this header is not used and is removed in
later versions of atf, so let us avoid it.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
# 1.23 09-Feb-2014 jmmv

Use compiler builtins instead of atf_arch and atf_machine.

The atf_arch and atf_machine configuration variables were removed from
atf-0.19 without me realizing that some tests were querying them directly.

Instead of reintroducing those variables, just rely on compiler builtins
as many other tests already do.

Should fix PR bin/48582.


# 1.22 26-Jan-2014 matt

Support using fenv instead of fpsetmask if HAVE_FENV is defined.


# 1.21 25-Jan-2014 skrll

Use English spelling of alignment.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.20 12-Apr-2013 christos

use one qemu test


# 1.19 12-Apr-2013 christos

easier way to find if we are on qemu.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.18 13-Jun-2012 njoly

branches: 1.18.2;
Skip sigbus_adraln testcase on alpha unless global
machdep.unaligned_sigbus sysctl is enabled.


Revision tags: yamt-pagecache-base5
# 1.17 23-Apr-2012 martin

Revert previous, si_addr is expected to be the faulting *data* address
(mmm, consistent standards).
Add a few tweaks to prevent the compiler's optimizer outsmarting the test.


# 1.16 22-Apr-2012 martin

Do not compare si_addr (address of faulting instruction) against the
unaligned data address causing the fault - this will always fail.
If anybody knows a portable way to get the data address involved in the
fault, please fix the test case as originally intended.


# 1.15 20-Apr-2012 jym

ATF test for SIGBUS => BUS_ADRALN (invalid address alignment).

That one is tedious to test under x86: alignment exceptions are
not reported by this architecture unless you ask for them explicitely (by
setting the PSL_AC bit). The brokenness does not end there: %cr2 should
contain the address where the unaligned access occured, alas, it does not.

I am not aware of other architectures where this could happen. Still, my
knowledge is limited; if there is one, feel free to send me a mail and I
will update the test accordingly.

Adding insult to injury, this test can fail in various funny ways with VMs:
- under x86 QEMU, no trap() happens. As ring 3 code stays almost untouched by
QEMU VMM, I suppose the exception can only be triggered when the host
itself is capable of catching unaligned accesses.
- under Virtual Box with HVM support, i386 works fine, but amd64 fails with a
SIGILL (Illegal instruction) that happens right before entering the
signal handler. No idea why, and trying to debug it with gdb freezes the VM
(including ddb breaks).

Anyway, tested with:
- i386: P4 host, anita, Virtual Box HVM (Mac OS X)
- amd64: anita, Virtual Box HVM (Mac OS X)

XXX I would appreciate if someone could test it under a real amd64 host with
an up-to-date kernel, so I can reasonably assume that the culprit is
Virtual Box and not our amd64 port (my test machine being off line
I cannot do it myself). Results from other arches would be a plus too.

Initial issue reported by Nicolas Joly on port-amd64. Thanks!


Revision tags: yamt-pagecache-base4
# 1.14 18-Mar-2012 jruoho

To be on the safe side, use the category/number notation when referring to
PRs (otherwise third-party sed-scripts might miss the references). Also
remove white-space.


# 1.13 17-Mar-2012 christos

annotate the PR that failed, and has been fixed.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 01-Oct-2011 christos

branches: 1.12.2;
use _FLOAT_IEEE754 instead of vax.


Revision tags: cherry-xenmp-base
# 1.11 24-May-2011 joerg

Use volatile for explicit 0 dereference


Revision tags: bouyer-quota2-nbase
# 1.10 02-Mar-2011 riz

Skip the sigfpe_flt and sigfpe_int tests on powerpc; powerpc does
not fault on divide-by-zero. As discussed on tech-userlevel.


# 1.9 01-Mar-2011 pooka

Attempt further qemu heuristics to avoid failures due to non-working FPU


Revision tags: bouyer-quota2-base
# 1.8 03-Jan-2011 pgoyette

branches: 1.8.2;
Don't run FP Exception tests under qemu - they don't work.

While here, properly skip certain tests on vax architecture. (It is
not legal to have a test-program with zero test cases, so each test
case needs to check-and-skip.)


# 1.7 02-Jan-2011 pgoyette

If we survive the check for wrong signal code, reset our expectation to
"pass" before checking the signal errno.


# 1.6 02-Jan-2011 pgoyette

Fix $NetBSD$ keyword


Revision tags: matt-mips64-premerge-20101231
# 1.5 31-Dec-2010 mlelstv

return from an SIGFPE handler is not defined when the hardware
caused the exception. Use sigsetjmp/siglongjmp to resume the
test function instead.


# 1.4 27-Dec-2010 njoly

Do use integer arithmetics to generate FPE_INTDIV in sigfpe_int testcase.

Ok pgoyette.


# 1.3 26-Dec-2010 pgoyette

Re-enable printing of MD data, with appropriate casts.


# 1.2 26-Dec-2010 pgoyette

For now, don't try to print out machine-dependant stuff. When I figure
out what the right format strings are, I'll re-enable it.


# 1.1 25-Dec-2010 pgoyette

Move the siginfo tests from regress to atf. While here, add a new test
for PR/43655.

XXX The sigchild_dump test currently fails when execute under atf-run.
XXX It does not fail when executed directly from the shell, so there's
XXX something in atf that prevents the child process from dumping.


# 1.42 13-Oct-2020 rin

For aarch64eb, no SIGBUS signal for unaligned accesses.
Convert to preprocessor directives.


# 1.41 24-Aug-2020 gson

Expect a failure to trap unaligned acesses only when running under
qemu's TCG CPU emulation, not when running under hardware virtualization
such as qemu -accel nvmm.


# 1.40 20-Jun-2020 rin

Skip sigbus_adraln for powerpc.

SIGBUS for unaligned accesses is not mandatory for powerpc;
most processors (not all, e.g., 403) can deal with that.


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406
# 1.39 22-Feb-2020 kamil

Disable the t_siginfo test under MKSANITIZER / MKLIBCSANITIZER

Signal crash events are incompatible with sanitizers.


# 1.38 21-Feb-2020 kamil

Mark division by 0 as expected in sigfpe_int

Disable ubsan instrumentation on the operation.


# 1.37 11-Feb-2020 riastradh

aarch64 doesn't trap integer division by zero either.


Revision tags: netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
# 1.36 25-Apr-2019 kamil

Fix typo in 'exceptions'


# 1.35 30-Jan-2019 martin

Clean up terminology: modern arm CPUs do properly implement IEEE 754
floating point exceptions - but some (actually all currently know ones)
do not implement sending traps when these exceptions are raised.

Pointed out by Peter Maydell.


Revision tags: pgoyette-compat-20190127
# 1.34 26-Jan-2019 martin

aarch64 does not trap on unaligned acces


# 1.33 23-Jan-2019 martin

There are aarch64 Cortex cpus that do not trap on some floating point
exceptions - so apply the arm handling for aarch64 as well.


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.32 17-Jan-2018 maya

branches: 1.32.2; 1.32.4;
Improve portability of headers and sort them.

From Ngie Cooper in PR bin/51833


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320
# 1.31 05-Mar-2017 chs

reenable sigfpe_flt on powerpc now that FPU exceptions work.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.30 22-Dec-2015 christos

branches: 1.30.2; 1.30.4;
Add __TEST_FENV


# 1.29 17-Feb-2015 isaki

m68k (except sun2) never issue SIGBUS on unaligned accesses.
PR lib/49653. Thanks martin@.


# 1.28 13-Feb-2015 martin

Fix strange editor mishap and start block comment on its own line.


# 1.27 29-Dec-2014 martin

Include <ieeefp.h> even for the <fenv.h> case since we use fpsetmask()
to detect ARM Cortex NEON fpus.


# 1.26 19-Nov-2014 martin

Skip the SIGFPE test on arm when the FPU does not provide exception handling.


# 1.25 19-Nov-2014 martin

Use machdep.unaligned_sigbus to skip the unaligned access test on arm
as well.


# 1.24 04-Nov-2014 justin

PR misc/49356 remove unnecessary references to atf-c/config.h

The function included via this header is not used and is removed in
later versions of atf, so let us avoid it.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
# 1.23 09-Feb-2014 jmmv

Use compiler builtins instead of atf_arch and atf_machine.

The atf_arch and atf_machine configuration variables were removed from
atf-0.19 without me realizing that some tests were querying them directly.

Instead of reintroducing those variables, just rely on compiler builtins
as many other tests already do.

Should fix PR bin/48582.


# 1.22 26-Jan-2014 matt

Support using fenv instead of fpsetmask if HAVE_FENV is defined.


# 1.21 25-Jan-2014 skrll

Use English spelling of alignment.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.20 12-Apr-2013 christos

use one qemu test


# 1.19 12-Apr-2013 christos

easier way to find if we are on qemu.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.18 13-Jun-2012 njoly

branches: 1.18.2;
Skip sigbus_adraln testcase on alpha unless global
machdep.unaligned_sigbus sysctl is enabled.


Revision tags: yamt-pagecache-base5
# 1.17 23-Apr-2012 martin

Revert previous, si_addr is expected to be the faulting *data* address
(mmm, consistent standards).
Add a few tweaks to prevent the compiler's optimizer outsmarting the test.


# 1.16 22-Apr-2012 martin

Do not compare si_addr (address of faulting instruction) against the
unaligned data address causing the fault - this will always fail.
If anybody knows a portable way to get the data address involved in the
fault, please fix the test case as originally intended.


# 1.15 20-Apr-2012 jym

ATF test for SIGBUS => BUS_ADRALN (invalid address alignment).

That one is tedious to test under x86: alignment exceptions are
not reported by this architecture unless you ask for them explicitely (by
setting the PSL_AC bit). The brokenness does not end there: %cr2 should
contain the address where the unaligned access occured, alas, it does not.

I am not aware of other architectures where this could happen. Still, my
knowledge is limited; if there is one, feel free to send me a mail and I
will update the test accordingly.

Adding insult to injury, this test can fail in various funny ways with VMs:
- under x86 QEMU, no trap() happens. As ring 3 code stays almost untouched by
QEMU VMM, I suppose the exception can only be triggered when the host
itself is capable of catching unaligned accesses.
- under Virtual Box with HVM support, i386 works fine, but amd64 fails with a
SIGILL (Illegal instruction) that happens right before entering the
signal handler. No idea why, and trying to debug it with gdb freezes the VM
(including ddb breaks).

Anyway, tested with:
- i386: P4 host, anita, Virtual Box HVM (Mac OS X)
- amd64: anita, Virtual Box HVM (Mac OS X)

XXX I would appreciate if someone could test it under a real amd64 host with
an up-to-date kernel, so I can reasonably assume that the culprit is
Virtual Box and not our amd64 port (my test machine being off line
I cannot do it myself). Results from other arches would be a plus too.

Initial issue reported by Nicolas Joly on port-amd64. Thanks!


Revision tags: yamt-pagecache-base4
# 1.14 18-Mar-2012 jruoho

To be on the safe side, use the category/number notation when referring to
PRs (otherwise third-party sed-scripts might miss the references). Also
remove white-space.


# 1.13 17-Mar-2012 christos

annotate the PR that failed, and has been fixed.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 01-Oct-2011 christos

branches: 1.12.2;
use _FLOAT_IEEE754 instead of vax.


Revision tags: cherry-xenmp-base
# 1.11 24-May-2011 joerg

Use volatile for explicit 0 dereference


Revision tags: bouyer-quota2-nbase
# 1.10 02-Mar-2011 riz

Skip the sigfpe_flt and sigfpe_int tests on powerpc; powerpc does
not fault on divide-by-zero. As discussed on tech-userlevel.


# 1.9 01-Mar-2011 pooka

Attempt further qemu heuristics to avoid failures due to non-working FPU


Revision tags: bouyer-quota2-base
# 1.8 03-Jan-2011 pgoyette

branches: 1.8.2;
Don't run FP Exception tests under qemu - they don't work.

While here, properly skip certain tests on vax architecture. (It is
not legal to have a test-program with zero test cases, so each test
case needs to check-and-skip.)


# 1.7 02-Jan-2011 pgoyette

If we survive the check for wrong signal code, reset our expectation to
"pass" before checking the signal errno.


# 1.6 02-Jan-2011 pgoyette

Fix $NetBSD$ keyword


Revision tags: matt-mips64-premerge-20101231
# 1.5 31-Dec-2010 mlelstv

return from an SIGFPE handler is not defined when the hardware
caused the exception. Use sigsetjmp/siglongjmp to resume the
test function instead.


# 1.4 27-Dec-2010 njoly

Do use integer arithmetics to generate FPE_INTDIV in sigfpe_int testcase.

Ok pgoyette.


# 1.3 26-Dec-2010 pgoyette

Re-enable printing of MD data, with appropriate casts.


# 1.2 26-Dec-2010 pgoyette

For now, don't try to print out machine-dependant stuff. When I figure
out what the right format strings are, I'll re-enable it.


# 1.1 25-Dec-2010 pgoyette

Move the siginfo tests from regress to atf. While here, add a new test
for PR/43655.

XXX The sigchild_dump test currently fails when execute under atf-run.
XXX It does not fail when executed directly from the shell, so there's
XXX something in atf that prevents the child process from dumping.


# 1.41 24-Aug-2020 gson

Expect a failure to trap unaligned acesses only when running under
qemu's TCG CPU emulation, not when running under hardware virtualization
such as qemu -accel nvmm.


# 1.40 20-Jun-2020 rin

Skip sigbus_adraln for powerpc.

SIGBUS for unaligned accesses is not mandatory for powerpc;
most processors (not all, e.g., 403) can deal with that.


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406
# 1.39 22-Feb-2020 kamil

Disable the t_siginfo test under MKSANITIZER / MKLIBCSANITIZER

Signal crash events are incompatible with sanitizers.


# 1.38 21-Feb-2020 kamil

Mark division by 0 as expected in sigfpe_int

Disable ubsan instrumentation on the operation.


# 1.37 11-Feb-2020 riastradh

aarch64 doesn't trap integer division by zero either.


Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
# 1.36 25-Apr-2019 kamil

Fix typo in 'exceptions'


# 1.35 30-Jan-2019 martin

Clean up terminology: modern arm CPUs do properly implement IEEE 754
floating point exceptions - but some (actually all currently know ones)
do not implement sending traps when these exceptions are raised.

Pointed out by Peter Maydell.


Revision tags: pgoyette-compat-20190127
# 1.34 26-Jan-2019 martin

aarch64 does not trap on unaligned acces


# 1.33 23-Jan-2019 martin

There are aarch64 Cortex cpus that do not trap on some floating point
exceptions - so apply the arm handling for aarch64 as well.


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.32 17-Jan-2018 maya

branches: 1.32.2; 1.32.4;
Improve portability of headers and sort them.

From Ngie Cooper in PR bin/51833


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320
# 1.31 05-Mar-2017 chs

reenable sigfpe_flt on powerpc now that FPU exceptions work.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.30 22-Dec-2015 christos

branches: 1.30.2; 1.30.4;
Add __TEST_FENV


# 1.29 17-Feb-2015 isaki

m68k (except sun2) never issue SIGBUS on unaligned accesses.
PR lib/49653. Thanks martin@.


# 1.28 13-Feb-2015 martin

Fix strange editor mishap and start block comment on its own line.


# 1.27 29-Dec-2014 martin

Include <ieeefp.h> even for the <fenv.h> case since we use fpsetmask()
to detect ARM Cortex NEON fpus.


# 1.26 19-Nov-2014 martin

Skip the SIGFPE test on arm when the FPU does not provide exception handling.


# 1.25 19-Nov-2014 martin

Use machdep.unaligned_sigbus to skip the unaligned access test on arm
as well.


# 1.24 04-Nov-2014 justin

PR misc/49356 remove unnecessary references to atf-c/config.h

The function included via this header is not used and is removed in
later versions of atf, so let us avoid it.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
# 1.23 09-Feb-2014 jmmv

Use compiler builtins instead of atf_arch and atf_machine.

The atf_arch and atf_machine configuration variables were removed from
atf-0.19 without me realizing that some tests were querying them directly.

Instead of reintroducing those variables, just rely on compiler builtins
as many other tests already do.

Should fix PR bin/48582.


# 1.22 26-Jan-2014 matt

Support using fenv instead of fpsetmask if HAVE_FENV is defined.


# 1.21 25-Jan-2014 skrll

Use English spelling of alignment.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.20 12-Apr-2013 christos

use one qemu test


# 1.19 12-Apr-2013 christos

easier way to find if we are on qemu.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.18 13-Jun-2012 njoly

branches: 1.18.2;
Skip sigbus_adraln testcase on alpha unless global
machdep.unaligned_sigbus sysctl is enabled.


Revision tags: yamt-pagecache-base5
# 1.17 23-Apr-2012 martin

Revert previous, si_addr is expected to be the faulting *data* address
(mmm, consistent standards).
Add a few tweaks to prevent the compiler's optimizer outsmarting the test.


# 1.16 22-Apr-2012 martin

Do not compare si_addr (address of faulting instruction) against the
unaligned data address causing the fault - this will always fail.
If anybody knows a portable way to get the data address involved in the
fault, please fix the test case as originally intended.


# 1.15 20-Apr-2012 jym

ATF test for SIGBUS => BUS_ADRALN (invalid address alignment).

That one is tedious to test under x86: alignment exceptions are
not reported by this architecture unless you ask for them explicitely (by
setting the PSL_AC bit). The brokenness does not end there: %cr2 should
contain the address where the unaligned access occured, alas, it does not.

I am not aware of other architectures where this could happen. Still, my
knowledge is limited; if there is one, feel free to send me a mail and I
will update the test accordingly.

Adding insult to injury, this test can fail in various funny ways with VMs:
- under x86 QEMU, no trap() happens. As ring 3 code stays almost untouched by
QEMU VMM, I suppose the exception can only be triggered when the host
itself is capable of catching unaligned accesses.
- under Virtual Box with HVM support, i386 works fine, but amd64 fails with a
SIGILL (Illegal instruction) that happens right before entering the
signal handler. No idea why, and trying to debug it with gdb freezes the VM
(including ddb breaks).

Anyway, tested with:
- i386: P4 host, anita, Virtual Box HVM (Mac OS X)
- amd64: anita, Virtual Box HVM (Mac OS X)

XXX I would appreciate if someone could test it under a real amd64 host with
an up-to-date kernel, so I can reasonably assume that the culprit is
Virtual Box and not our amd64 port (my test machine being off line
I cannot do it myself). Results from other arches would be a plus too.

Initial issue reported by Nicolas Joly on port-amd64. Thanks!


Revision tags: yamt-pagecache-base4
# 1.14 18-Mar-2012 jruoho

To be on the safe side, use the category/number notation when referring to
PRs (otherwise third-party sed-scripts might miss the references). Also
remove white-space.


# 1.13 17-Mar-2012 christos

annotate the PR that failed, and has been fixed.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 01-Oct-2011 christos

branches: 1.12.2;
use _FLOAT_IEEE754 instead of vax.


Revision tags: cherry-xenmp-base
# 1.11 24-May-2011 joerg

Use volatile for explicit 0 dereference


Revision tags: bouyer-quota2-nbase
# 1.10 02-Mar-2011 riz

Skip the sigfpe_flt and sigfpe_int tests on powerpc; powerpc does
not fault on divide-by-zero. As discussed on tech-userlevel.


# 1.9 01-Mar-2011 pooka

Attempt further qemu heuristics to avoid failures due to non-working FPU


Revision tags: bouyer-quota2-base
# 1.8 03-Jan-2011 pgoyette

branches: 1.8.2;
Don't run FP Exception tests under qemu - they don't work.

While here, properly skip certain tests on vax architecture. (It is
not legal to have a test-program with zero test cases, so each test
case needs to check-and-skip.)


# 1.7 02-Jan-2011 pgoyette

If we survive the check for wrong signal code, reset our expectation to
"pass" before checking the signal errno.


# 1.6 02-Jan-2011 pgoyette

Fix $NetBSD$ keyword


Revision tags: matt-mips64-premerge-20101231
# 1.5 31-Dec-2010 mlelstv

return from an SIGFPE handler is not defined when the hardware
caused the exception. Use sigsetjmp/siglongjmp to resume the
test function instead.


# 1.4 27-Dec-2010 njoly

Do use integer arithmetics to generate FPE_INTDIV in sigfpe_int testcase.

Ok pgoyette.


# 1.3 26-Dec-2010 pgoyette

Re-enable printing of MD data, with appropriate casts.


# 1.2 26-Dec-2010 pgoyette

For now, don't try to print out machine-dependant stuff. When I figure
out what the right format strings are, I'll re-enable it.


# 1.1 25-Dec-2010 pgoyette

Move the siginfo tests from regress to atf. While here, add a new test
for PR/43655.

XXX The sigchild_dump test currently fails when execute under atf-run.
XXX It does not fail when executed directly from the shell, so there's
XXX something in atf that prevents the child process from dumping.


# 1.40 20-Jun-2020 rin

Skip sigbus_adraln for powerpc.

SIGBUS for unaligned accesses is not mandatory for powerpc;
most processors (not all, e.g., 403) can deal with that.


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406
# 1.39 22-Feb-2020 kamil

Disable the t_siginfo test under MKSANITIZER / MKLIBCSANITIZER

Signal crash events are incompatible with sanitizers.


# 1.38 21-Feb-2020 kamil

Mark division by 0 as expected in sigfpe_int

Disable ubsan instrumentation on the operation.


# 1.37 11-Feb-2020 riastradh

aarch64 doesn't trap integer division by zero either.


Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
# 1.36 25-Apr-2019 kamil

Fix typo in 'exceptions'


# 1.35 30-Jan-2019 martin

Clean up terminology: modern arm CPUs do properly implement IEEE 754
floating point exceptions - but some (actually all currently know ones)
do not implement sending traps when these exceptions are raised.

Pointed out by Peter Maydell.


Revision tags: pgoyette-compat-20190127
# 1.34 26-Jan-2019 martin

aarch64 does not trap on unaligned acces


# 1.33 23-Jan-2019 martin

There are aarch64 Cortex cpus that do not trap on some floating point
exceptions - so apply the arm handling for aarch64 as well.


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.32 17-Jan-2018 maya

branches: 1.32.2; 1.32.4;
Improve portability of headers and sort them.

From Ngie Cooper in PR bin/51833


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320
# 1.31 05-Mar-2017 chs

reenable sigfpe_flt on powerpc now that FPU exceptions work.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.30 22-Dec-2015 christos

branches: 1.30.2; 1.30.4;
Add __TEST_FENV


# 1.29 17-Feb-2015 isaki

m68k (except sun2) never issue SIGBUS on unaligned accesses.
PR lib/49653. Thanks martin@.


# 1.28 13-Feb-2015 martin

Fix strange editor mishap and start block comment on its own line.


# 1.27 29-Dec-2014 martin

Include <ieeefp.h> even for the <fenv.h> case since we use fpsetmask()
to detect ARM Cortex NEON fpus.


# 1.26 19-Nov-2014 martin

Skip the SIGFPE test on arm when the FPU does not provide exception handling.


# 1.25 19-Nov-2014 martin

Use machdep.unaligned_sigbus to skip the unaligned access test on arm
as well.


# 1.24 04-Nov-2014 justin

PR misc/49356 remove unnecessary references to atf-c/config.h

The function included via this header is not used and is removed in
later versions of atf, so let us avoid it.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
# 1.23 09-Feb-2014 jmmv

Use compiler builtins instead of atf_arch and atf_machine.

The atf_arch and atf_machine configuration variables were removed from
atf-0.19 without me realizing that some tests were querying them directly.

Instead of reintroducing those variables, just rely on compiler builtins
as many other tests already do.

Should fix PR bin/48582.


# 1.22 26-Jan-2014 matt

Support using fenv instead of fpsetmask if HAVE_FENV is defined.


# 1.21 25-Jan-2014 skrll

Use English spelling of alignment.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.20 12-Apr-2013 christos

use one qemu test


# 1.19 12-Apr-2013 christos

easier way to find if we are on qemu.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.18 13-Jun-2012 njoly

branches: 1.18.2;
Skip sigbus_adraln testcase on alpha unless global
machdep.unaligned_sigbus sysctl is enabled.


Revision tags: yamt-pagecache-base5
# 1.17 23-Apr-2012 martin

Revert previous, si_addr is expected to be the faulting *data* address
(mmm, consistent standards).
Add a few tweaks to prevent the compiler's optimizer outsmarting the test.


# 1.16 22-Apr-2012 martin

Do not compare si_addr (address of faulting instruction) against the
unaligned data address causing the fault - this will always fail.
If anybody knows a portable way to get the data address involved in the
fault, please fix the test case as originally intended.


# 1.15 20-Apr-2012 jym

ATF test for SIGBUS => BUS_ADRALN (invalid address alignment).

That one is tedious to test under x86: alignment exceptions are
not reported by this architecture unless you ask for them explicitely (by
setting the PSL_AC bit). The brokenness does not end there: %cr2 should
contain the address where the unaligned access occured, alas, it does not.

I am not aware of other architectures where this could happen. Still, my
knowledge is limited; if there is one, feel free to send me a mail and I
will update the test accordingly.

Adding insult to injury, this test can fail in various funny ways with VMs:
- under x86 QEMU, no trap() happens. As ring 3 code stays almost untouched by
QEMU VMM, I suppose the exception can only be triggered when the host
itself is capable of catching unaligned accesses.
- under Virtual Box with HVM support, i386 works fine, but amd64 fails with a
SIGILL (Illegal instruction) that happens right before entering the
signal handler. No idea why, and trying to debug it with gdb freezes the VM
(including ddb breaks).

Anyway, tested with:
- i386: P4 host, anita, Virtual Box HVM (Mac OS X)
- amd64: anita, Virtual Box HVM (Mac OS X)

XXX I would appreciate if someone could test it under a real amd64 host with
an up-to-date kernel, so I can reasonably assume that the culprit is
Virtual Box and not our amd64 port (my test machine being off line
I cannot do it myself). Results from other arches would be a plus too.

Initial issue reported by Nicolas Joly on port-amd64. Thanks!


Revision tags: yamt-pagecache-base4
# 1.14 18-Mar-2012 jruoho

To be on the safe side, use the category/number notation when referring to
PRs (otherwise third-party sed-scripts might miss the references). Also
remove white-space.


# 1.13 17-Mar-2012 christos

annotate the PR that failed, and has been fixed.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 01-Oct-2011 christos

branches: 1.12.2;
use _FLOAT_IEEE754 instead of vax.


Revision tags: cherry-xenmp-base
# 1.11 24-May-2011 joerg

Use volatile for explicit 0 dereference


Revision tags: bouyer-quota2-nbase
# 1.10 02-Mar-2011 riz

Skip the sigfpe_flt and sigfpe_int tests on powerpc; powerpc does
not fault on divide-by-zero. As discussed on tech-userlevel.


# 1.9 01-Mar-2011 pooka

Attempt further qemu heuristics to avoid failures due to non-working FPU


Revision tags: bouyer-quota2-base
# 1.8 03-Jan-2011 pgoyette

branches: 1.8.2;
Don't run FP Exception tests under qemu - they don't work.

While here, properly skip certain tests on vax architecture. (It is
not legal to have a test-program with zero test cases, so each test
case needs to check-and-skip.)


# 1.7 02-Jan-2011 pgoyette

If we survive the check for wrong signal code, reset our expectation to
"pass" before checking the signal errno.


# 1.6 02-Jan-2011 pgoyette

Fix $NetBSD$ keyword


Revision tags: matt-mips64-premerge-20101231
# 1.5 31-Dec-2010 mlelstv

return from an SIGFPE handler is not defined when the hardware
caused the exception. Use sigsetjmp/siglongjmp to resume the
test function instead.


# 1.4 27-Dec-2010 njoly

Do use integer arithmetics to generate FPE_INTDIV in sigfpe_int testcase.

Ok pgoyette.


# 1.3 26-Dec-2010 pgoyette

Re-enable printing of MD data, with appropriate casts.


# 1.2 26-Dec-2010 pgoyette

For now, don't try to print out machine-dependant stuff. When I figure
out what the right format strings are, I'll re-enable it.


# 1.1 25-Dec-2010 pgoyette

Move the siginfo tests from regress to atf. While here, add a new test
for PR/43655.

XXX The sigchild_dump test currently fails when execute under atf-run.
XXX It does not fail when executed directly from the shell, so there's
XXX something in atf that prevents the child process from dumping.


# 1.39 22-Feb-2020 kamil

Disable the t_siginfo test under MKSANITIZER / MKLIBCSANITIZER

Signal crash events are incompatible with sanitizers.


# 1.38 21-Feb-2020 kamil

Mark division by 0 as expected in sigfpe_int

Disable ubsan instrumentation on the operation.


# 1.37 11-Feb-2020 riastradh

aarch64 doesn't trap integer division by zero either.


Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
# 1.36 25-Apr-2019 kamil

Fix typo in 'exceptions'


# 1.35 30-Jan-2019 martin

Clean up terminology: modern arm CPUs do properly implement IEEE 754
floating point exceptions - but some (actually all currently know ones)
do not implement sending traps when these exceptions are raised.

Pointed out by Peter Maydell.


Revision tags: pgoyette-compat-20190127
# 1.34 26-Jan-2019 martin

aarch64 does not trap on unaligned acces


# 1.33 23-Jan-2019 martin

There are aarch64 Cortex cpus that do not trap on some floating point
exceptions - so apply the arm handling for aarch64 as well.


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.32 17-Jan-2018 maya

branches: 1.32.2; 1.32.4;
Improve portability of headers and sort them.

From Ngie Cooper in PR bin/51833


Revision tags: netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320
# 1.31 05-Mar-2017 chs

reenable sigfpe_flt on powerpc now that FPU exceptions work.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.30 22-Dec-2015 christos

branches: 1.30.2; 1.30.4;
Add __TEST_FENV


# 1.29 17-Feb-2015 isaki

m68k (except sun2) never issue SIGBUS on unaligned accesses.
PR lib/49653. Thanks martin@.


# 1.28 13-Feb-2015 martin

Fix strange editor mishap and start block comment on its own line.


# 1.27 29-Dec-2014 martin

Include <ieeefp.h> even for the <fenv.h> case since we use fpsetmask()
to detect ARM Cortex NEON fpus.


# 1.26 19-Nov-2014 martin

Skip the SIGFPE test on arm when the FPU does not provide exception handling.


# 1.25 19-Nov-2014 martin

Use machdep.unaligned_sigbus to skip the unaligned access test on arm
as well.


# 1.24 04-Nov-2014 justin

PR misc/49356 remove unnecessary references to atf-c/config.h

The function included via this header is not used and is removed in
later versions of atf, so let us avoid it.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
# 1.23 09-Feb-2014 jmmv

Use compiler builtins instead of atf_arch and atf_machine.

The atf_arch and atf_machine configuration variables were removed from
atf-0.19 without me realizing that some tests were querying them directly.

Instead of reintroducing those variables, just rely on compiler builtins
as many other tests already do.

Should fix PR bin/48582.


# 1.22 26-Jan-2014 matt

Support using fenv instead of fpsetmask if HAVE_FENV is defined.


# 1.21 25-Jan-2014 skrll

Use English spelling of alignment.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.20 12-Apr-2013 christos

use one qemu test


# 1.19 12-Apr-2013 christos

easier way to find if we are on qemu.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.18 13-Jun-2012 njoly

branches: 1.18.2;
Skip sigbus_adraln testcase on alpha unless global
machdep.unaligned_sigbus sysctl is enabled.


Revision tags: yamt-pagecache-base5
# 1.17 23-Apr-2012 martin

Revert previous, si_addr is expected to be the faulting *data* address
(mmm, consistent standards).
Add a few tweaks to prevent the compiler's optimizer outsmarting the test.


# 1.16 22-Apr-2012 martin

Do not compare si_addr (address of faulting instruction) against the
unaligned data address causing the fault - this will always fail.
If anybody knows a portable way to get the data address involved in the
fault, please fix the test case as originally intended.


# 1.15 20-Apr-2012 jym

ATF test for SIGBUS => BUS_ADRALN (invalid address alignment).

That one is tedious to test under x86: alignment exceptions are
not reported by this architecture unless you ask for them explicitely (by
setting the PSL_AC bit). The brokenness does not end there: %cr2 should
contain the address where the unaligned access occured, alas, it does not.

I am not aware of other architectures where this could happen. Still, my
knowledge is limited; if there is one, feel free to send me a mail and I
will update the test accordingly.

Adding insult to injury, this test can fail in various funny ways with VMs:
- under x86 QEMU, no trap() happens. As ring 3 code stays almost untouched by
QEMU VMM, I suppose the exception can only be triggered when the host
itself is capable of catching unaligned accesses.
- under Virtual Box with HVM support, i386 works fine, but amd64 fails with a
SIGILL (Illegal instruction) that happens right before entering the
signal handler. No idea why, and trying to debug it with gdb freezes the VM
(including ddb breaks).

Anyway, tested with:
- i386: P4 host, anita, Virtual Box HVM (Mac OS X)
- amd64: anita, Virtual Box HVM (Mac OS X)

XXX I would appreciate if someone could test it under a real amd64 host with
an up-to-date kernel, so I can reasonably assume that the culprit is
Virtual Box and not our amd64 port (my test machine being off line
I cannot do it myself). Results from other arches would be a plus too.

Initial issue reported by Nicolas Joly on port-amd64. Thanks!


Revision tags: yamt-pagecache-base4
# 1.14 18-Mar-2012 jruoho

To be on the safe side, use the category/number notation when referring to
PRs (otherwise third-party sed-scripts might miss the references). Also
remove white-space.


# 1.13 17-Mar-2012 christos

annotate the PR that failed, and has been fixed.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 01-Oct-2011 christos

branches: 1.12.2;
use _FLOAT_IEEE754 instead of vax.


Revision tags: cherry-xenmp-base
# 1.11 24-May-2011 joerg

Use volatile for explicit 0 dereference


Revision tags: bouyer-quota2-nbase
# 1.10 02-Mar-2011 riz

Skip the sigfpe_flt and sigfpe_int tests on powerpc; powerpc does
not fault on divide-by-zero. As discussed on tech-userlevel.


# 1.9 01-Mar-2011 pooka

Attempt further qemu heuristics to avoid failures due to non-working FPU


Revision tags: bouyer-quota2-base
# 1.8 03-Jan-2011 pgoyette

branches: 1.8.2;
Don't run FP Exception tests under qemu - they don't work.

While here, properly skip certain tests on vax architecture. (It is
not legal to have a test-program with zero test cases, so each test
case needs to check-and-skip.)


# 1.7 02-Jan-2011 pgoyette

If we survive the check for wrong signal code, reset our expectation to
"pass" before checking the signal errno.


# 1.6 02-Jan-2011 pgoyette

Fix $NetBSD$ keyword


Revision tags: matt-mips64-premerge-20101231
# 1.5 31-Dec-2010 mlelstv

return from an SIGFPE handler is not defined when the hardware
caused the exception. Use sigsetjmp/siglongjmp to resume the
test function instead.


# 1.4 27-Dec-2010 njoly

Do use integer arithmetics to generate FPE_INTDIV in sigfpe_int testcase.

Ok pgoyette.


# 1.3 26-Dec-2010 pgoyette

Re-enable printing of MD data, with appropriate casts.


# 1.2 26-Dec-2010 pgoyette

For now, don't try to print out machine-dependant stuff. When I figure
out what the right format strings are, I'll re-enable it.


# 1.1 25-Dec-2010 pgoyette

Move the siginfo tests from regress to atf. While here, add a new test
for PR/43655.

XXX The sigchild_dump test currently fails when execute under atf-run.
XXX It does not fail when executed directly from the shell, so there's
XXX something in atf that prevents the child process from dumping.


# 1.38 21-Feb-2020 kamil

Mark division by 0 as expected in sigfpe_int

Disable ubsan instrumentation on the operation.


# 1.37 11-Feb-2020 riastradh

aarch64 doesn't trap integer division by zero either.


Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
# 1.36 25-Apr-2019 kamil

Fix typo in 'exceptions'


# 1.35 30-Jan-2019 martin

Clean up terminology: modern arm CPUs do properly implement IEEE 754
floating point exceptions - but some (actually all currently know ones)
do not implement sending traps when these exceptions are raised.

Pointed out by Peter Maydell.


Revision tags: pgoyette-compat-20190127
# 1.34 26-Jan-2019 martin

aarch64 does not trap on unaligned acces


# 1.33 23-Jan-2019 martin

There are aarch64 Cortex cpus that do not trap on some floating point
exceptions - so apply the arm handling for aarch64 as well.


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.32 17-Jan-2018 maya

branches: 1.32.2; 1.32.4;
Improve portability of headers and sort them.

From Ngie Cooper in PR bin/51833


Revision tags: netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320
# 1.31 05-Mar-2017 chs

reenable sigfpe_flt on powerpc now that FPU exceptions work.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.30 22-Dec-2015 christos

branches: 1.30.2; 1.30.4;
Add __TEST_FENV


# 1.29 17-Feb-2015 isaki

m68k (except sun2) never issue SIGBUS on unaligned accesses.
PR lib/49653. Thanks martin@.


# 1.28 13-Feb-2015 martin

Fix strange editor mishap and start block comment on its own line.


# 1.27 29-Dec-2014 martin

Include <ieeefp.h> even for the <fenv.h> case since we use fpsetmask()
to detect ARM Cortex NEON fpus.


# 1.26 19-Nov-2014 martin

Skip the SIGFPE test on arm when the FPU does not provide exception handling.


# 1.25 19-Nov-2014 martin

Use machdep.unaligned_sigbus to skip the unaligned access test on arm
as well.


# 1.24 04-Nov-2014 justin

PR misc/49356 remove unnecessary references to atf-c/config.h

The function included via this header is not used and is removed in
later versions of atf, so let us avoid it.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
# 1.23 09-Feb-2014 jmmv

Use compiler builtins instead of atf_arch and atf_machine.

The atf_arch and atf_machine configuration variables were removed from
atf-0.19 without me realizing that some tests were querying them directly.

Instead of reintroducing those variables, just rely on compiler builtins
as many other tests already do.

Should fix PR bin/48582.


# 1.22 26-Jan-2014 matt

Support using fenv instead of fpsetmask if HAVE_FENV is defined.


# 1.21 25-Jan-2014 skrll

Use English spelling of alignment.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.20 12-Apr-2013 christos

use one qemu test


# 1.19 12-Apr-2013 christos

easier way to find if we are on qemu.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.18 13-Jun-2012 njoly

branches: 1.18.2;
Skip sigbus_adraln testcase on alpha unless global
machdep.unaligned_sigbus sysctl is enabled.


Revision tags: yamt-pagecache-base5
# 1.17 23-Apr-2012 martin

Revert previous, si_addr is expected to be the faulting *data* address
(mmm, consistent standards).
Add a few tweaks to prevent the compiler's optimizer outsmarting the test.


# 1.16 22-Apr-2012 martin

Do not compare si_addr (address of faulting instruction) against the
unaligned data address causing the fault - this will always fail.
If anybody knows a portable way to get the data address involved in the
fault, please fix the test case as originally intended.


# 1.15 20-Apr-2012 jym

ATF test for SIGBUS => BUS_ADRALN (invalid address alignment).

That one is tedious to test under x86: alignment exceptions are
not reported by this architecture unless you ask for them explicitely (by
setting the PSL_AC bit). The brokenness does not end there: %cr2 should
contain the address where the unaligned access occured, alas, it does not.

I am not aware of other architectures where this could happen. Still, my
knowledge is limited; if there is one, feel free to send me a mail and I
will update the test accordingly.

Adding insult to injury, this test can fail in various funny ways with VMs:
- under x86 QEMU, no trap() happens. As ring 3 code stays almost untouched by
QEMU VMM, I suppose the exception can only be triggered when the host
itself is capable of catching unaligned accesses.
- under Virtual Box with HVM support, i386 works fine, but amd64 fails with a
SIGILL (Illegal instruction) that happens right before entering the
signal handler. No idea why, and trying to debug it with gdb freezes the VM
(including ddb breaks).

Anyway, tested with:
- i386: P4 host, anita, Virtual Box HVM (Mac OS X)
- amd64: anita, Virtual Box HVM (Mac OS X)

XXX I would appreciate if someone could test it under a real amd64 host with
an up-to-date kernel, so I can reasonably assume that the culprit is
Virtual Box and not our amd64 port (my test machine being off line
I cannot do it myself). Results from other arches would be a plus too.

Initial issue reported by Nicolas Joly on port-amd64. Thanks!


Revision tags: yamt-pagecache-base4
# 1.14 18-Mar-2012 jruoho

To be on the safe side, use the category/number notation when referring to
PRs (otherwise third-party sed-scripts might miss the references). Also
remove white-space.


# 1.13 17-Mar-2012 christos

annotate the PR that failed, and has been fixed.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 01-Oct-2011 christos

branches: 1.12.2;
use _FLOAT_IEEE754 instead of vax.


Revision tags: cherry-xenmp-base
# 1.11 24-May-2011 joerg

Use volatile for explicit 0 dereference


Revision tags: bouyer-quota2-nbase
# 1.10 02-Mar-2011 riz

Skip the sigfpe_flt and sigfpe_int tests on powerpc; powerpc does
not fault on divide-by-zero. As discussed on tech-userlevel.


# 1.9 01-Mar-2011 pooka

Attempt further qemu heuristics to avoid failures due to non-working FPU


Revision tags: bouyer-quota2-base
# 1.8 03-Jan-2011 pgoyette

branches: 1.8.2;
Don't run FP Exception tests under qemu - they don't work.

While here, properly skip certain tests on vax architecture. (It is
not legal to have a test-program with zero test cases, so each test
case needs to check-and-skip.)


# 1.7 02-Jan-2011 pgoyette

If we survive the check for wrong signal code, reset our expectation to
"pass" before checking the signal errno.


# 1.6 02-Jan-2011 pgoyette

Fix $NetBSD$ keyword


Revision tags: matt-mips64-premerge-20101231
# 1.5 31-Dec-2010 mlelstv

return from an SIGFPE handler is not defined when the hardware
caused the exception. Use sigsetjmp/siglongjmp to resume the
test function instead.


# 1.4 27-Dec-2010 njoly

Do use integer arithmetics to generate FPE_INTDIV in sigfpe_int testcase.

Ok pgoyette.


# 1.3 26-Dec-2010 pgoyette

Re-enable printing of MD data, with appropriate casts.


# 1.2 26-Dec-2010 pgoyette

For now, don't try to print out machine-dependant stuff. When I figure
out what the right format strings are, I'll re-enable it.


# 1.1 25-Dec-2010 pgoyette

Move the siginfo tests from regress to atf. While here, add a new test
for PR/43655.

XXX The sigchild_dump test currently fails when execute under atf-run.
XXX It does not fail when executed directly from the shell, so there's
XXX something in atf that prevents the child process from dumping.


# 1.37 11-Feb-2020 riastradh

aarch64 doesn't trap integer division by zero either.


Revision tags: netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
# 1.36 25-Apr-2019 kamil

Fix typo in 'exceptions'


# 1.35 30-Jan-2019 martin

Clean up terminology: modern arm CPUs do properly implement IEEE 754
floating point exceptions - but some (actually all currently know ones)
do not implement sending traps when these exceptions are raised.

Pointed out by Peter Maydell.


Revision tags: pgoyette-compat-20190127
# 1.34 26-Jan-2019 martin

aarch64 does not trap on unaligned acces


# 1.33 23-Jan-2019 martin

There are aarch64 Cortex cpus that do not trap on some floating point
exceptions - so apply the arm handling for aarch64 as well.


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.32 17-Jan-2018 maya

branches: 1.32.2; 1.32.4;
Improve portability of headers and sort them.

From Ngie Cooper in PR bin/51833


Revision tags: netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320
# 1.31 05-Mar-2017 chs

reenable sigfpe_flt on powerpc now that FPU exceptions work.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.30 22-Dec-2015 christos

branches: 1.30.2; 1.30.4;
Add __TEST_FENV


# 1.29 17-Feb-2015 isaki

m68k (except sun2) never issue SIGBUS on unaligned accesses.
PR lib/49653. Thanks martin@.


# 1.28 13-Feb-2015 martin

Fix strange editor mishap and start block comment on its own line.


# 1.27 29-Dec-2014 martin

Include <ieeefp.h> even for the <fenv.h> case since we use fpsetmask()
to detect ARM Cortex NEON fpus.


# 1.26 19-Nov-2014 martin

Skip the SIGFPE test on arm when the FPU does not provide exception handling.


# 1.25 19-Nov-2014 martin

Use machdep.unaligned_sigbus to skip the unaligned access test on arm
as well.


# 1.24 04-Nov-2014 justin

PR misc/49356 remove unnecessary references to atf-c/config.h

The function included via this header is not used and is removed in
later versions of atf, so let us avoid it.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
# 1.23 09-Feb-2014 jmmv

Use compiler builtins instead of atf_arch and atf_machine.

The atf_arch and atf_machine configuration variables were removed from
atf-0.19 without me realizing that some tests were querying them directly.

Instead of reintroducing those variables, just rely on compiler builtins
as many other tests already do.

Should fix PR bin/48582.


# 1.22 26-Jan-2014 matt

Support using fenv instead of fpsetmask if HAVE_FENV is defined.


# 1.21 25-Jan-2014 skrll

Use English spelling of alignment.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.20 12-Apr-2013 christos

use one qemu test


# 1.19 12-Apr-2013 christos

easier way to find if we are on qemu.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.18 13-Jun-2012 njoly

branches: 1.18.2;
Skip sigbus_adraln testcase on alpha unless global
machdep.unaligned_sigbus sysctl is enabled.


Revision tags: yamt-pagecache-base5
# 1.17 23-Apr-2012 martin

Revert previous, si_addr is expected to be the faulting *data* address
(mmm, consistent standards).
Add a few tweaks to prevent the compiler's optimizer outsmarting the test.


# 1.16 22-Apr-2012 martin

Do not compare si_addr (address of faulting instruction) against the
unaligned data address causing the fault - this will always fail.
If anybody knows a portable way to get the data address involved in the
fault, please fix the test case as originally intended.


# 1.15 20-Apr-2012 jym

ATF test for SIGBUS => BUS_ADRALN (invalid address alignment).

That one is tedious to test under x86: alignment exceptions are
not reported by this architecture unless you ask for them explicitely (by
setting the PSL_AC bit). The brokenness does not end there: %cr2 should
contain the address where the unaligned access occured, alas, it does not.

I am not aware of other architectures where this could happen. Still, my
knowledge is limited; if there is one, feel free to send me a mail and I
will update the test accordingly.

Adding insult to injury, this test can fail in various funny ways with VMs:
- under x86 QEMU, no trap() happens. As ring 3 code stays almost untouched by
QEMU VMM, I suppose the exception can only be triggered when the host
itself is capable of catching unaligned accesses.
- under Virtual Box with HVM support, i386 works fine, but amd64 fails with a
SIGILL (Illegal instruction) that happens right before entering the
signal handler. No idea why, and trying to debug it with gdb freezes the VM
(including ddb breaks).

Anyway, tested with:
- i386: P4 host, anita, Virtual Box HVM (Mac OS X)
- amd64: anita, Virtual Box HVM (Mac OS X)

XXX I would appreciate if someone could test it under a real amd64 host with
an up-to-date kernel, so I can reasonably assume that the culprit is
Virtual Box and not our amd64 port (my test machine being off line
I cannot do it myself). Results from other arches would be a plus too.

Initial issue reported by Nicolas Joly on port-amd64. Thanks!


Revision tags: yamt-pagecache-base4
# 1.14 18-Mar-2012 jruoho

To be on the safe side, use the category/number notation when referring to
PRs (otherwise third-party sed-scripts might miss the references). Also
remove white-space.


# 1.13 17-Mar-2012 christos

annotate the PR that failed, and has been fixed.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 01-Oct-2011 christos

branches: 1.12.2;
use _FLOAT_IEEE754 instead of vax.


Revision tags: cherry-xenmp-base
# 1.11 24-May-2011 joerg

Use volatile for explicit 0 dereference


Revision tags: bouyer-quota2-nbase
# 1.10 02-Mar-2011 riz

Skip the sigfpe_flt and sigfpe_int tests on powerpc; powerpc does
not fault on divide-by-zero. As discussed on tech-userlevel.


# 1.9 01-Mar-2011 pooka

Attempt further qemu heuristics to avoid failures due to non-working FPU


Revision tags: bouyer-quota2-base
# 1.8 03-Jan-2011 pgoyette

branches: 1.8.2;
Don't run FP Exception tests under qemu - they don't work.

While here, properly skip certain tests on vax architecture. (It is
not legal to have a test-program with zero test cases, so each test
case needs to check-and-skip.)


# 1.7 02-Jan-2011 pgoyette

If we survive the check for wrong signal code, reset our expectation to
"pass" before checking the signal errno.


# 1.6 02-Jan-2011 pgoyette

Fix $NetBSD$ keyword


Revision tags: matt-mips64-premerge-20101231
# 1.5 31-Dec-2010 mlelstv

return from an SIGFPE handler is not defined when the hardware
caused the exception. Use sigsetjmp/siglongjmp to resume the
test function instead.


# 1.4 27-Dec-2010 njoly

Do use integer arithmetics to generate FPE_INTDIV in sigfpe_int testcase.

Ok pgoyette.


# 1.3 26-Dec-2010 pgoyette

Re-enable printing of MD data, with appropriate casts.


# 1.2 26-Dec-2010 pgoyette

For now, don't try to print out machine-dependant stuff. When I figure
out what the right format strings are, I'll re-enable it.


# 1.1 25-Dec-2010 pgoyette

Move the siginfo tests from regress to atf. While here, add a new test
for PR/43655.

XXX The sigchild_dump test currently fails when execute under atf-run.
XXX It does not fail when executed directly from the shell, so there's
XXX something in atf that prevents the child process from dumping.


# 1.36 25-Apr-2019 kamil

Fix typo in 'exceptions'


# 1.35 30-Jan-2019 martin

Clean up terminology: modern arm CPUs do properly implement IEEE 754
floating point exceptions - but some (actually all currently know ones)
do not implement sending traps when these exceptions are raised.

Pointed out by Peter Maydell.


Revision tags: pgoyette-compat-20190127
# 1.34 26-Jan-2019 martin

aarch64 does not trap on unaligned acces


# 1.33 23-Jan-2019 martin

There are aarch64 Cortex cpus that do not trap on some floating point
exceptions - so apply the arm handling for aarch64 as well.


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.32 17-Jan-2018 maya

branches: 1.32.2;
Improve portability of headers and sort them.

From Ngie Cooper in PR bin/51833


Revision tags: netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320
# 1.31 05-Mar-2017 chs

reenable sigfpe_flt on powerpc now that FPU exceptions work.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.30 22-Dec-2015 christos

branches: 1.30.2; 1.30.4;
Add __TEST_FENV


# 1.29 17-Feb-2015 isaki

m68k (except sun2) never issue SIGBUS on unaligned accesses.
PR lib/49653. Thanks martin@.


# 1.28 13-Feb-2015 martin

Fix strange editor mishap and start block comment on its own line.


# 1.27 29-Dec-2014 martin

Include <ieeefp.h> even for the <fenv.h> case since we use fpsetmask()
to detect ARM Cortex NEON fpus.


# 1.26 19-Nov-2014 martin

Skip the SIGFPE test on arm when the FPU does not provide exception handling.


# 1.25 19-Nov-2014 martin

Use machdep.unaligned_sigbus to skip the unaligned access test on arm
as well.


# 1.24 04-Nov-2014 justin

PR misc/49356 remove unnecessary references to atf-c/config.h

The function included via this header is not used and is removed in
later versions of atf, so let us avoid it.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
# 1.23 09-Feb-2014 jmmv

Use compiler builtins instead of atf_arch and atf_machine.

The atf_arch and atf_machine configuration variables were removed from
atf-0.19 without me realizing that some tests were querying them directly.

Instead of reintroducing those variables, just rely on compiler builtins
as many other tests already do.

Should fix PR bin/48582.


# 1.22 26-Jan-2014 matt

Support using fenv instead of fpsetmask if HAVE_FENV is defined.


# 1.21 25-Jan-2014 skrll

Use English spelling of alignment.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.20 12-Apr-2013 christos

use one qemu test


# 1.19 12-Apr-2013 christos

easier way to find if we are on qemu.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.18 13-Jun-2012 njoly

branches: 1.18.2;
Skip sigbus_adraln testcase on alpha unless global
machdep.unaligned_sigbus sysctl is enabled.


Revision tags: yamt-pagecache-base5
# 1.17 23-Apr-2012 martin

Revert previous, si_addr is expected to be the faulting *data* address
(mmm, consistent standards).
Add a few tweaks to prevent the compiler's optimizer outsmarting the test.


# 1.16 22-Apr-2012 martin

Do not compare si_addr (address of faulting instruction) against the
unaligned data address causing the fault - this will always fail.
If anybody knows a portable way to get the data address involved in the
fault, please fix the test case as originally intended.


# 1.15 20-Apr-2012 jym

ATF test for SIGBUS => BUS_ADRALN (invalid address alignment).

That one is tedious to test under x86: alignment exceptions are
not reported by this architecture unless you ask for them explicitely (by
setting the PSL_AC bit). The brokenness does not end there: %cr2 should
contain the address where the unaligned access occured, alas, it does not.

I am not aware of other architectures where this could happen. Still, my
knowledge is limited; if there is one, feel free to send me a mail and I
will update the test accordingly.

Adding insult to injury, this test can fail in various funny ways with VMs:
- under x86 QEMU, no trap() happens. As ring 3 code stays almost untouched by
QEMU VMM, I suppose the exception can only be triggered when the host
itself is capable of catching unaligned accesses.
- under Virtual Box with HVM support, i386 works fine, but amd64 fails with a
SIGILL (Illegal instruction) that happens right before entering the
signal handler. No idea why, and trying to debug it with gdb freezes the VM
(including ddb breaks).

Anyway, tested with:
- i386: P4 host, anita, Virtual Box HVM (Mac OS X)
- amd64: anita, Virtual Box HVM (Mac OS X)

XXX I would appreciate if someone could test it under a real amd64 host with
an up-to-date kernel, so I can reasonably assume that the culprit is
Virtual Box and not our amd64 port (my test machine being off line
I cannot do it myself). Results from other arches would be a plus too.

Initial issue reported by Nicolas Joly on port-amd64. Thanks!


Revision tags: yamt-pagecache-base4
# 1.14 18-Mar-2012 jruoho

To be on the safe side, use the category/number notation when referring to
PRs (otherwise third-party sed-scripts might miss the references). Also
remove white-space.


# 1.13 17-Mar-2012 christos

annotate the PR that failed, and has been fixed.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 01-Oct-2011 christos

branches: 1.12.2;
use _FLOAT_IEEE754 instead of vax.


Revision tags: cherry-xenmp-base
# 1.11 24-May-2011 joerg

Use volatile for explicit 0 dereference


Revision tags: bouyer-quota2-nbase
# 1.10 02-Mar-2011 riz

Skip the sigfpe_flt and sigfpe_int tests on powerpc; powerpc does
not fault on divide-by-zero. As discussed on tech-userlevel.


# 1.9 01-Mar-2011 pooka

Attempt further qemu heuristics to avoid failures due to non-working FPU


Revision tags: bouyer-quota2-base
# 1.8 03-Jan-2011 pgoyette

branches: 1.8.2;
Don't run FP Exception tests under qemu - they don't work.

While here, properly skip certain tests on vax architecture. (It is
not legal to have a test-program with zero test cases, so each test
case needs to check-and-skip.)


# 1.7 02-Jan-2011 pgoyette

If we survive the check for wrong signal code, reset our expectation to
"pass" before checking the signal errno.


# 1.6 02-Jan-2011 pgoyette

Fix $NetBSD$ keyword


Revision tags: matt-mips64-premerge-20101231
# 1.5 31-Dec-2010 mlelstv

return from an SIGFPE handler is not defined when the hardware
caused the exception. Use sigsetjmp/siglongjmp to resume the
test function instead.


# 1.4 27-Dec-2010 njoly

Do use integer arithmetics to generate FPE_INTDIV in sigfpe_int testcase.

Ok pgoyette.


# 1.3 26-Dec-2010 pgoyette

Re-enable printing of MD data, with appropriate casts.


# 1.2 26-Dec-2010 pgoyette

For now, don't try to print out machine-dependant stuff. When I figure
out what the right format strings are, I'll re-enable it.


# 1.1 25-Dec-2010 pgoyette

Move the siginfo tests from regress to atf. While here, add a new test
for PR/43655.

XXX The sigchild_dump test currently fails when execute under atf-run.
XXX It does not fail when executed directly from the shell, so there's
XXX something in atf that prevents the child process from dumping.


# 1.32 17-Jan-2018 maya

Improve portability of headers and sort them.

From Ngie Cooper in PR bin/51833


Revision tags: matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320
# 1.31 05-Mar-2017 chs

reenable sigfpe_flt on powerpc now that FPU exceptions work.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.30 22-Dec-2015 christos

branches: 1.30.2; 1.30.4;
Add __TEST_FENV


# 1.29 17-Feb-2015 isaki

m68k (except sun2) never issue SIGBUS on unaligned accesses.
PR lib/49653. Thanks martin@.


# 1.28 13-Feb-2015 martin

Fix strange editor mishap and start block comment on its own line.


# 1.27 29-Dec-2014 martin

Include <ieeefp.h> even for the <fenv.h> case since we use fpsetmask()
to detect ARM Cortex NEON fpus.


# 1.26 19-Nov-2014 martin

Skip the SIGFPE test on arm when the FPU does not provide exception handling.


# 1.25 19-Nov-2014 martin

Use machdep.unaligned_sigbus to skip the unaligned access test on arm
as well.


# 1.24 04-Nov-2014 justin

PR misc/49356 remove unnecessary references to atf-c/config.h

The function included via this header is not used and is removed in
later versions of atf, so let us avoid it.


Revision tags: netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
# 1.23 09-Feb-2014 jmmv

Use compiler builtins instead of atf_arch and atf_machine.

The atf_arch and atf_machine configuration variables were removed from
atf-0.19 without me realizing that some tests were querying them directly.

Instead of reintroducing those variables, just rely on compiler builtins
as many other tests already do.

Should fix PR bin/48582.


# 1.22 26-Jan-2014 matt

Support using fenv instead of fpsetmask if HAVE_FENV is defined.


# 1.21 25-Jan-2014 skrll

Use English spelling of alignment.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.20 12-Apr-2013 christos

use one qemu test


# 1.19 12-Apr-2013 christos

easier way to find if we are on qemu.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.18 13-Jun-2012 njoly

branches: 1.18.2;
Skip sigbus_adraln testcase on alpha unless global
machdep.unaligned_sigbus sysctl is enabled.


Revision tags: yamt-pagecache-base5
# 1.17 23-Apr-2012 martin

Revert previous, si_addr is expected to be the faulting *data* address
(mmm, consistent standards).
Add a few tweaks to prevent the compiler's optimizer outsmarting the test.


# 1.16 22-Apr-2012 martin

Do not compare si_addr (address of faulting instruction) against the
unaligned data address causing the fault - this will always fail.
If anybody knows a portable way to get the data address involved in the
fault, please fix the test case as originally intended.


# 1.15 20-Apr-2012 jym

ATF test for SIGBUS => BUS_ADRALN (invalid address alignment).

That one is tedious to test under x86: alignment exceptions are
not reported by this architecture unless you ask for them explicitely (by
setting the PSL_AC bit). The brokenness does not end there: %cr2 should
contain the address where the unaligned access occured, alas, it does not.

I am not aware of other architectures where this could happen. Still, my
knowledge is limited; if there is one, feel free to send me a mail and I
will update the test accordingly.

Adding insult to injury, this test can fail in various funny ways with VMs:
- under x86 QEMU, no trap() happens. As ring 3 code stays almost untouched by
QEMU VMM, I suppose the exception can only be triggered when the host
itself is capable of catching unaligned accesses.
- under Virtual Box with HVM support, i386 works fine, but amd64 fails with a
SIGILL (Illegal instruction) that happens right before entering the
signal handler. No idea why, and trying to debug it with gdb freezes the VM
(including ddb breaks).

Anyway, tested with:
- i386: P4 host, anita, Virtual Box HVM (Mac OS X)
- amd64: anita, Virtual Box HVM (Mac OS X)

XXX I would appreciate if someone could test it under a real amd64 host with
an up-to-date kernel, so I can reasonably assume that the culprit is
Virtual Box and not our amd64 port (my test machine being off line
I cannot do it myself). Results from other arches would be a plus too.

Initial issue reported by Nicolas Joly on port-amd64. Thanks!


Revision tags: yamt-pagecache-base4
# 1.14 18-Mar-2012 jruoho

To be on the safe side, use the category/number notation when referring to
PRs (otherwise third-party sed-scripts might miss the references). Also
remove white-space.


# 1.13 17-Mar-2012 christos

annotate the PR that failed, and has been fixed.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 01-Oct-2011 christos

branches: 1.12.2;
use _FLOAT_IEEE754 instead of vax.


Revision tags: cherry-xenmp-base
# 1.11 24-May-2011 joerg

Use volatile for explicit 0 dereference


Revision tags: bouyer-quota2-nbase
# 1.10 02-Mar-2011 riz

Skip the sigfpe_flt and sigfpe_int tests on powerpc; powerpc does
not fault on divide-by-zero. As discussed on tech-userlevel.


# 1.9 01-Mar-2011 pooka

Attempt further qemu heuristics to avoid failures due to non-working FPU


Revision tags: bouyer-quota2-base
# 1.8 03-Jan-2011 pgoyette

branches: 1.8.2;
Don't run FP Exception tests under qemu - they don't work.

While here, properly skip certain tests on vax architecture. (It is
not legal to have a test-program with zero test cases, so each test
case needs to check-and-skip.)


# 1.7 02-Jan-2011 pgoyette

If we survive the check for wrong signal code, reset our expectation to
"pass" before checking the signal errno.


# 1.6 02-Jan-2011 pgoyette

Fix $NetBSD$ keyword


Revision tags: matt-mips64-premerge-20101231
# 1.5 31-Dec-2010 mlelstv

return from an SIGFPE handler is not defined when the hardware
caused the exception. Use sigsetjmp/siglongjmp to resume the
test function instead.


# 1.4 27-Dec-2010 njoly

Do use integer arithmetics to generate FPE_INTDIV in sigfpe_int testcase.

Ok pgoyette.


# 1.3 26-Dec-2010 pgoyette

Re-enable printing of MD data, with appropriate casts.


# 1.2 26-Dec-2010 pgoyette

For now, don't try to print out machine-dependant stuff. When I figure
out what the right format strings are, I'll re-enable it.


# 1.1 25-Dec-2010 pgoyette

Move the siginfo tests from regress to atf. While here, add a new test
for PR/43655.

XXX The sigchild_dump test currently fails when execute under atf-run.
XXX It does not fail when executed directly from the shell, so there's
XXX something in atf that prevents the child process from dumping.


# 1.31 05-Mar-2017 chs

reenable sigfpe_flt on powerpc now that FPU exceptions work.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.30 22-Dec-2015 christos

Add __TEST_FENV


# 1.29 17-Feb-2015 isaki

m68k (except sun2) never issue SIGBUS on unaligned accesses.
PR lib/49653. Thanks martin@.


# 1.28 13-Feb-2015 martin

Fix strange editor mishap and start block comment on its own line.


# 1.27 29-Dec-2014 martin

Include <ieeefp.h> even for the <fenv.h> case since we use fpsetmask()
to detect ARM Cortex NEON fpus.


# 1.26 19-Nov-2014 martin

Skip the SIGFPE test on arm when the FPU does not provide exception handling.


# 1.25 19-Nov-2014 martin

Use machdep.unaligned_sigbus to skip the unaligned access test on arm
as well.


# 1.24 04-Nov-2014 justin

PR misc/49356 remove unnecessary references to atf-c/config.h

The function included via this header is not used and is removed in
later versions of atf, so let us avoid it.


Revision tags: netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
# 1.23 09-Feb-2014 jmmv

Use compiler builtins instead of atf_arch and atf_machine.

The atf_arch and atf_machine configuration variables were removed from
atf-0.19 without me realizing that some tests were querying them directly.

Instead of reintroducing those variables, just rely on compiler builtins
as many other tests already do.

Should fix PR bin/48582.


# 1.22 26-Jan-2014 matt

Support using fenv instead of fpsetmask if HAVE_FENV is defined.


# 1.21 25-Jan-2014 skrll

Use English spelling of alignment.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.20 12-Apr-2013 christos

use one qemu test


# 1.19 12-Apr-2013 christos

easier way to find if we are on qemu.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.18 13-Jun-2012 njoly

branches: 1.18.2;
Skip sigbus_adraln testcase on alpha unless global
machdep.unaligned_sigbus sysctl is enabled.


Revision tags: yamt-pagecache-base5
# 1.17 23-Apr-2012 martin

Revert previous, si_addr is expected to be the faulting *data* address
(mmm, consistent standards).
Add a few tweaks to prevent the compiler's optimizer outsmarting the test.


# 1.16 22-Apr-2012 martin

Do not compare si_addr (address of faulting instruction) against the
unaligned data address causing the fault - this will always fail.
If anybody knows a portable way to get the data address involved in the
fault, please fix the test case as originally intended.


# 1.15 20-Apr-2012 jym

ATF test for SIGBUS => BUS_ADRALN (invalid address alignment).

That one is tedious to test under x86: alignment exceptions are
not reported by this architecture unless you ask for them explicitely (by
setting the PSL_AC bit). The brokenness does not end there: %cr2 should
contain the address where the unaligned access occured, alas, it does not.

I am not aware of other architectures where this could happen. Still, my
knowledge is limited; if there is one, feel free to send me a mail and I
will update the test accordingly.

Adding insult to injury, this test can fail in various funny ways with VMs:
- under x86 QEMU, no trap() happens. As ring 3 code stays almost untouched by
QEMU VMM, I suppose the exception can only be triggered when the host
itself is capable of catching unaligned accesses.
- under Virtual Box with HVM support, i386 works fine, but amd64 fails with a
SIGILL (Illegal instruction) that happens right before entering the
signal handler. No idea why, and trying to debug it with gdb freezes the VM
(including ddb breaks).

Anyway, tested with:
- i386: P4 host, anita, Virtual Box HVM (Mac OS X)
- amd64: anita, Virtual Box HVM (Mac OS X)

XXX I would appreciate if someone could test it under a real amd64 host with
an up-to-date kernel, so I can reasonably assume that the culprit is
Virtual Box and not our amd64 port (my test machine being off line
I cannot do it myself). Results from other arches would be a plus too.

Initial issue reported by Nicolas Joly on port-amd64. Thanks!


Revision tags: yamt-pagecache-base4
# 1.14 18-Mar-2012 jruoho

To be on the safe side, use the category/number notation when referring to
PRs (otherwise third-party sed-scripts might miss the references). Also
remove white-space.


# 1.13 17-Mar-2012 christos

annotate the PR that failed, and has been fixed.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 01-Oct-2011 christos

branches: 1.12.2;
use _FLOAT_IEEE754 instead of vax.


Revision tags: cherry-xenmp-base
# 1.11 24-May-2011 joerg

Use volatile for explicit 0 dereference


Revision tags: bouyer-quota2-nbase
# 1.10 02-Mar-2011 riz

Skip the sigfpe_flt and sigfpe_int tests on powerpc; powerpc does
not fault on divide-by-zero. As discussed on tech-userlevel.


# 1.9 01-Mar-2011 pooka

Attempt further qemu heuristics to avoid failures due to non-working FPU


Revision tags: bouyer-quota2-base
# 1.8 03-Jan-2011 pgoyette

branches: 1.8.2;
Don't run FP Exception tests under qemu - they don't work.

While here, properly skip certain tests on vax architecture. (It is
not legal to have a test-program with zero test cases, so each test
case needs to check-and-skip.)


# 1.7 02-Jan-2011 pgoyette

If we survive the check for wrong signal code, reset our expectation to
"pass" before checking the signal errno.


# 1.6 02-Jan-2011 pgoyette

Fix $NetBSD$ keyword


Revision tags: matt-mips64-premerge-20101231
# 1.5 31-Dec-2010 mlelstv

return from an SIGFPE handler is not defined when the hardware
caused the exception. Use sigsetjmp/siglongjmp to resume the
test function instead.


# 1.4 27-Dec-2010 njoly

Do use integer arithmetics to generate FPE_INTDIV in sigfpe_int testcase.

Ok pgoyette.


# 1.3 26-Dec-2010 pgoyette

Re-enable printing of MD data, with appropriate casts.


# 1.2 26-Dec-2010 pgoyette

For now, don't try to print out machine-dependant stuff. When I figure
out what the right format strings are, I'll re-enable it.


# 1.1 25-Dec-2010 pgoyette

Move the siginfo tests from regress to atf. While here, add a new test
for PR/43655.

XXX The sigchild_dump test currently fails when execute under atf-run.
XXX It does not fail when executed directly from the shell, so there's
XXX something in atf that prevents the child process from dumping.


Revision tags: pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.30 22-Dec-2015 christos

Add __TEST_FENV


# 1.29 17-Feb-2015 isaki

m68k (except sun2) never issue SIGBUS on unaligned accesses.
PR lib/49653. Thanks martin@.


# 1.28 13-Feb-2015 martin

Fix strange editor mishap and start block comment on its own line.


# 1.27 29-Dec-2014 martin

Include <ieeefp.h> even for the <fenv.h> case since we use fpsetmask()
to detect ARM Cortex NEON fpus.


# 1.26 19-Nov-2014 martin

Skip the SIGFPE test on arm when the FPU does not provide exception handling.


# 1.25 19-Nov-2014 martin

Use machdep.unaligned_sigbus to skip the unaligned access test on arm
as well.


# 1.24 04-Nov-2014 justin

PR misc/49356 remove unnecessary references to atf-c/config.h

The function included via this header is not used and is removed in
later versions of atf, so let us avoid it.


Revision tags: netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
# 1.23 09-Feb-2014 jmmv

Use compiler builtins instead of atf_arch and atf_machine.

The atf_arch and atf_machine configuration variables were removed from
atf-0.19 without me realizing that some tests were querying them directly.

Instead of reintroducing those variables, just rely on compiler builtins
as many other tests already do.

Should fix PR bin/48582.


# 1.22 26-Jan-2014 matt

Support using fenv instead of fpsetmask if HAVE_FENV is defined.


# 1.21 25-Jan-2014 skrll

Use English spelling of alignment.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.20 12-Apr-2013 christos

use one qemu test


# 1.19 12-Apr-2013 christos

easier way to find if we are on qemu.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.18 13-Jun-2012 njoly

branches: 1.18.2;
Skip sigbus_adraln testcase on alpha unless global
machdep.unaligned_sigbus sysctl is enabled.


Revision tags: yamt-pagecache-base5
# 1.17 23-Apr-2012 martin

Revert previous, si_addr is expected to be the faulting *data* address
(mmm, consistent standards).
Add a few tweaks to prevent the compiler's optimizer outsmarting the test.


# 1.16 22-Apr-2012 martin

Do not compare si_addr (address of faulting instruction) against the
unaligned data address causing the fault - this will always fail.
If anybody knows a portable way to get the data address involved in the
fault, please fix the test case as originally intended.


# 1.15 20-Apr-2012 jym

ATF test for SIGBUS => BUS_ADRALN (invalid address alignment).

That one is tedious to test under x86: alignment exceptions are
not reported by this architecture unless you ask for them explicitely (by
setting the PSL_AC bit). The brokenness does not end there: %cr2 should
contain the address where the unaligned access occured, alas, it does not.

I am not aware of other architectures where this could happen. Still, my
knowledge is limited; if there is one, feel free to send me a mail and I
will update the test accordingly.

Adding insult to injury, this test can fail in various funny ways with VMs:
- under x86 QEMU, no trap() happens. As ring 3 code stays almost untouched by
QEMU VMM, I suppose the exception can only be triggered when the host
itself is capable of catching unaligned accesses.
- under Virtual Box with HVM support, i386 works fine, but amd64 fails with a
SIGILL (Illegal instruction) that happens right before entering the
signal handler. No idea why, and trying to debug it with gdb freezes the VM
(including ddb breaks).

Anyway, tested with:
- i386: P4 host, anita, Virtual Box HVM (Mac OS X)
- amd64: anita, Virtual Box HVM (Mac OS X)

XXX I would appreciate if someone could test it under a real amd64 host with
an up-to-date kernel, so I can reasonably assume that the culprit is
Virtual Box and not our amd64 port (my test machine being off line
I cannot do it myself). Results from other arches would be a plus too.

Initial issue reported by Nicolas Joly on port-amd64. Thanks!


Revision tags: yamt-pagecache-base4
# 1.14 18-Mar-2012 jruoho

To be on the safe side, use the category/number notation when referring to
PRs (otherwise third-party sed-scripts might miss the references). Also
remove white-space.


# 1.13 17-Mar-2012 christos

annotate the PR that failed, and has been fixed.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 01-Oct-2011 christos

branches: 1.12.2;
use _FLOAT_IEEE754 instead of vax.


Revision tags: cherry-xenmp-base
# 1.11 24-May-2011 joerg

Use volatile for explicit 0 dereference


Revision tags: bouyer-quota2-nbase
# 1.10 02-Mar-2011 riz

Skip the sigfpe_flt and sigfpe_int tests on powerpc; powerpc does
not fault on divide-by-zero. As discussed on tech-userlevel.


# 1.9 01-Mar-2011 pooka

Attempt further qemu heuristics to avoid failures due to non-working FPU


Revision tags: bouyer-quota2-base
# 1.8 03-Jan-2011 pgoyette

branches: 1.8.2;
Don't run FP Exception tests under qemu - they don't work.

While here, properly skip certain tests on vax architecture. (It is
not legal to have a test-program with zero test cases, so each test
case needs to check-and-skip.)


# 1.7 02-Jan-2011 pgoyette

If we survive the check for wrong signal code, reset our expectation to
"pass" before checking the signal errno.


# 1.6 02-Jan-2011 pgoyette

Fix $NetBSD$ keyword


Revision tags: matt-mips64-premerge-20101231
# 1.5 31-Dec-2010 mlelstv

return from an SIGFPE handler is not defined when the hardware
caused the exception. Use sigsetjmp/siglongjmp to resume the
test function instead.


# 1.4 27-Dec-2010 njoly

Do use integer arithmetics to generate FPE_INTDIV in sigfpe_int testcase.

Ok pgoyette.


# 1.3 26-Dec-2010 pgoyette

Re-enable printing of MD data, with appropriate casts.


# 1.2 26-Dec-2010 pgoyette

For now, don't try to print out machine-dependant stuff. When I figure
out what the right format strings are, I'll re-enable it.


# 1.1 25-Dec-2010 pgoyette

Move the siginfo tests from regress to atf. While here, add a new test
for PR/43655.

XXX The sigchild_dump test currently fails when execute under atf-run.
XXX It does not fail when executed directly from the shell, so there's
XXX something in atf that prevents the child process from dumping.