build tests test/dblat1 and ctest/xdcblat1 fail on OpenIndiana SPARC
while building OpenBLAS-0.3.30 on OpenIndiana SPARC the following error happens in directory: test
OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 ./dblat1 Real BLAS Test Program Results ... Test of subprogram number 7 DNRM2
Program received signal SIGBUS: Access to an undefined portion of a memory object.
Backtrace for this error: /bin/sh: 181992: Abort(coredump) make[1]: *** [Makefile:52: level1] Abort make[1]: *** Waiting for unfinished jobs....
The second error happens in directory ctest:
OPENBLAS_NUM_THREADS=2 ./xdcblat1 Real CBLAS Test Program Results ...
Test of subprogram number 7 CBLAS_DNRM2
Program received signal SIGBUS: Access to an undefined portion of a memory object.
Backtrace for this error: /bin/sh: 186674: Abort(coredump) make[1]: *** [Makefile:101: all1] Abort make[1]: *** Waiting for unfinished jobs....
both Makefiles have been patched to not use these two tests, for details see: https://github.com/OpenIndiana/oi-userland/pull/24841
That appears to be fallout from a rather dubious (in retrospect) bugfix I made 3 years ago. A better temporary fix should be to change the KERNEL files in kernel/sparc to have DNRM2KERNEL=../arm/nrm2.c as patching out the tests will only hide that the library is likely to bomb out on DNRM2 calls in user code as well
You think of this patch: --- OpenBLAS-0.3.30/kernel/sparc/KERNEL.orig 2025-06-19 11:45:39.000000000 +0200 +++ OpenBLAS-0.3.30/kernel/sparc/KERNEL 2025-11-28 13:31:12.380434169 +0100 @@ -59,7 +59,7 @@ endif
ifndef DNRM2KERNEL -DNRM2KERNEL = dnrm2.S +DNRM2KERNEL = ../arm/nrm2.c endif
ifndef CNRM2KERNEL
new build just stated - will let you know how the results - thanks quite much for the quick support !
Yes, that's right. I'll try to come up with a proper fix for dnrm2.S , but I'm not actually familiar with SPARC assembly, and modern compilers will probably have reduced the speed advantage of that hand-crafted code anyway.
Test build done successfully, new pull RQ: https://github.com/OpenIndiana/oi-userland/pull/24846 in the production build queue. Awesome - thanks quite much.
About SPARC assembler, I do have 2 PDFs for: 801-6649 and 816-1681-10. I don't know if they still can be downloaded somewhere, but just in case you don't have them, let me know I mail them to you... I did some assembler stuff in the good old SunOS 4.x times - but these times are long gone...