| 1.13 |
21-Nov-2025 |
nia |
not all of these tests are ubsan-related any more
|
| 1.12 |
21-Nov-2025 |
nia |
hack around:
(a) clang not enabling ultrasparc mode on netbsd (seems like a bug) (b) the version of clang in-tree not having -mvis
|
| 1.11 |
21-Nov-2025 |
nia |
only use -mvis for gcc, the clang in-tree does not know it yet
(plus it's optional)
|
| 1.10 |
13-Nov-2025 |
nia |
Add an implementation of the VIS C API for sparc64.
VIS is an extension of the SPARCv9 instruction set that adds packed integer vector instructions that operate on 64-bit floating point registers. It is primarily intended for accelerating common 2D graphics and multimedia operations.
While GCC includes limited support for VIS via builtins, the builtins are incomplete and incompatible with the C API described in "VIS(tm) Instruction Set User's Manual" published by Sun Microsystems in May 2001. This implementation intends to be 100% compatible with the one described in the manual.
All sparc64 processors except the HAL SPARC64 (apparently not supported by NetBSD) support the VIS instruction set. The paper documents functions up to VIS 2. Post-Oracle CPUs support VIS 3 and VIS 4, but I don't have access to C API documentation for those (presumably the code is proprietary to SunPro on Solaris 11), and we can worry about that when sun4v support is more mature.
The implementation includes some basic tests for packed arithmetic.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.9 |
10-Aug-2023 |
mrg |
make this build with GCC 12.
there are some odd constructs here to trigger sanitizers.
|
|
Revision tags: netbsd-10-1-RELEASE 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.8 |
29-May-2022 |
andvar |
fix various typos in comments and log messages.
|
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
|
| 1.7 |
07-Sep-2020 |
mrg |
avoid new GCC 9 warnings.
|
|
Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406
|
| 1.6 |
30-Jan-2020 |
christos |
hack for clang/powerpc
|
|
Revision tags: phil-wifi-20191119
|
| 1.5 |
29-Sep-2019 |
mrg |
convert HAVE_GCC == 7 to HAVE_GCC >= 7.
|
| 1.4 |
15-Aug-2019 |
kamil |
Fix build of t_ubsan/t_ubsanxx under MKSANITIZER
Do not link micro-ubsan runtime for disabled tests.
This avoids double symbols linked into a single binary.
|
|
Revision tags: netbsd-9-base phil-wifi-20190609
|
| 1.3 |
04-Feb-2019 |
mrg |
branches: 1.3.2; 1.3.4; - revert previous to t_ubsan.c, it is desired behaviour. from kamil. - use -Wno-int-in-bool-context instead
|
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
|
| 1.2 |
09-Aug-2018 |
christos |
branches: 1.2.2; Fix stack protector build.
|
| 1.1 |
03-Aug-2018 |
kamil |
Import micro-UBSan ATF tests
These tests are used only when a distribution is built without MKSANITIZER and without MKLIBCSANITIZER. They build the ubsan.c micro-implementation in userland as a standalone library (a .c file linked into tests).
The code generation part emits symbols that are handled by uUBSan.
Tested with Clang amd64 + i386 and GCC amd64 + i386.
There are two sets of tests: C code generation and C++ code generation.
There are various little differences that are handled with proper ifdefs.
Clang 7svn has significantly more checks for Undefined Behavior than GCC 5.x. Some of the tests are or might be amd64 and/or i386 specific and are marked with proper ifdefs and comments according to the compiler documentation.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base 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 cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 phil-wifi-20191119
|
| 1.6 |
28-Oct-2019 |
joerg |
Avoid warnings about tautological left shifts as conditional.
|
|
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 netbsd-9-base phil-wifi-20190609
|
| 1.5 |
20-Feb-2019 |
kamil |
branches: 1.5.2; Unify the style of t_ubsan tests
Apply similar change for load_invalid_value_bool in test_load_invalid_value_enum.
Follow up of PR bin/53968 by Michael van Elst
|
| 1.4 |
20-Feb-2019 |
kamil |
Try to make load_invalid_value_bool portable to Big-Endian
PR bin/53968 by Michael van Elst
|
| 1.3 |
04-Feb-2019 |
mrg |
- revert previous to t_ubsan.c, it is desired behaviour. from kamil. - use -Wno-int-in-bool-context instead
|
| 1.2 |
03-Feb-2019 |
mrg |
- avoid multipling a boolean value, use &&.
|
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
|
| 1.1 |
03-Aug-2018 |
kamil |
branches: 1.1.2; Import micro-UBSan ATF tests
These tests are used only when a distribution is built without MKSANITIZER and without MKLIBCSANITIZER. They build the ubsan.c micro-implementation in userland as a standalone library (a .c file linked into tests).
The code generation part emits symbols that are handled by uUBSan.
Tested with Clang amd64 + i386 and GCC amd64 + i386.
There are two sets of tests: C code generation and C++ code generation.
There are various little differences that are handled with proper ifdefs.
Clang 7svn has significantly more checks for Undefined Behavior than GCC 5.x. Some of the tests are or might be amd64 and/or i386 specific and are marked with proper ifdefs and comments according to the compiler documentation.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-9-4-RELEASE 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 netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
|
| 1.1 |
03-Aug-2018 |
kamil |
branches: 1.1.2; 1.1.4; Import micro-UBSan ATF tests
These tests are used only when a distribution is built without MKSANITIZER and without MKLIBCSANITIZER. They build the ubsan.c micro-implementation in userland as a standalone library (a .c file linked into tests).
The code generation part emits symbols that are handled by uUBSan.
Tested with Clang amd64 + i386 and GCC amd64 + i386.
There are two sets of tests: C code generation and C++ code generation.
There are various little differences that are handled with proper ifdefs.
Clang 7svn has significantly more checks for Undefined Behavior than GCC 5.x. Some of the tests are or might be amd64 and/or i386 specific and are marked with proper ifdefs and comments according to the compiler documentation.
|
| 1.2 |
16-Nov-2025 |
nia |
license boilerplate
|
| 1.1 |
13-Nov-2025 |
nia |
Add an implementation of the VIS C API for sparc64.
VIS is an extension of the SPARCv9 instruction set that adds packed integer vector instructions that operate on 64-bit floating point registers. It is primarily intended for accelerating common 2D graphics and multimedia operations.
While GCC includes limited support for VIS via builtins, the builtins are incomplete and incompatible with the C API described in "VIS(tm) Instruction Set User's Manual" published by Sun Microsystems in May 2001. This implementation intends to be 100% compatible with the one described in the manual.
All sparc64 processors except the HAL SPARC64 (apparently not supported by NetBSD) support the VIS instruction set. The paper documents functions up to VIS 2. Post-Oracle CPUs support VIS 3 and VIS 4, but I don't have access to C API documentation for those (presumably the code is proprietary to SunPro on Solaris 11), and we can worry about that when sun4v support is more mature.
The implementation includes some basic tests for packed arithmetic.
|