summaryrefslogtreecommitdiffstats
path: root/src/H5detect.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5detect.c')
-rw-r--r--src/H5detect.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/H5detect.c b/src/H5detect.c
index fd5e980..e4fe453 100644
--- a/src/H5detect.c
+++ b/src/H5detect.c
@@ -1655,6 +1655,21 @@ main(int argc, char *argv[])
if (!rawoutstream)
rawoutstream = stdout;
+#if defined(H5_HAVE_SETSYSINFO) && defined(SSI_NVPAIRS)
+#if defined(UAC_NOPRINT) && defined(UAC_SIGBUS)
+ /*
+ * Make sure unaligned access generates SIGBUS and doesn't print warning
+ * messages so that we can detect alignment constraints on the DEC Alpha.
+ */
+ int nvpairs[2];
+ nvpairs[0] = SSIN_UACPROC;
+ nvpairs[1] = UAC_NOPRINT | UAC_SIGBUS;
+ if (setsysinfo(SSI_NVPAIRS, nvpairs, 1, 0, 0) < 0) {
+ fprintf(stderr, "H5detect: unable to turn off UAC handling: %s\n", HDstrerror(errno));
+ }
+#endif
+#endif
+
#if defined(H5SETJMP) && defined(H5_HAVE_SIGNAL)
/* verify the SIGBUS and SIGSEGV handlers work properly */
if (verify_signal_handlers(SIGBUS, sigbus_handler) != 0) {