Reduce optimization in hppa builds
authorNeil Horman <nhorman@openssl.org>
Thu, 2 May 2024 12:18:19 +0000 (08:18 -0400)
committerTomas Mraz <tomas@openssl.org>
Thu, 2 May 2024 13:34:21 +0000 (15:34 +0200)
We're getting some odd errors in the lhash test on hppa.  Analysis shows
that the crash is happening randomly in various places, but always
occurs during an indexed load of register r11 or r23.  Root cause hasn't
been completely determined, but given that:

1) hppa is an unadopted platform
2) asan/ubsan/threadsan shows no issues with the affected code elsewhere
3) The hppa build does not have threading enabled
4) reducing the optimization level to 01 quashes the problem

The belief is that this is either a bug in gcc optimization, or an issue
in the qemu emulator we use to test.

Since this is causing CI failures, I'm proposing that we just lower the
optimization level of the build to -01 to avoid the problem, and address
it more throughly should an actual platform user encounter an error

Fixes #24272

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24318)

.github/workflows/cross-compiles.yml

index 5dc1b83f4efa2f89fe8081e1a951fd441a721d17..0d0384c8e50f277e649d554e3f65a89fa3616bf3 100644 (file)
@@ -66,9 +66,11 @@ jobs:
             target: linux-armv4,
             tests: -test_includes -test_store -test_x509_store
           }, {
+            # gcc hppa seems to have some potential compiler issues
+            # with -O2 on this platform, reduce optimization to -01
             arch: hppa-linux-gnu,
             libs: libc6-dev-hppa-cross,
-            target: -static linux-generic32,
+            target: -static -O1 linux-generic32,
             fips: no,
             tests: -test_includes -test_store -test_x509_store
           }, {