summaryrefslogtreecommitdiffstats
path: root/providers/fips
diff options
context:
space:
mode:
authorShane Lontis <shane.lontis@oracle.com>2021-06-07 11:33:28 +1000
committerPauli <pauli@openssl.org>2021-06-08 15:18:00 +1000
commit69e0f8cca691dc474300422c48e14713ace8dd2c (patch)
tree341e44f5d4b8cf789329b1663a6d8a1d0062dcee /providers/fips
parent5d43bfa7d58c6af5e40d6615edc83c709df2852b (diff)
Fix AIX FIPS DEP.
The entry point needs the option 'binitfini', but it was not being added since the perl code to detect the match did not work. The entry point for AIX is no longer static - so a wrapper has been added to call the static version. Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/15636)
Diffstat (limited to 'providers/fips')
-rw-r--r--providers/fips/self_test.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/providers/fips/self_test.c b/providers/fips/self_test.c
index a4d7a4ffe2..e6813e292d 100644
--- a/providers/fips/self_test.c
+++ b/providers/fips/self_test.c
@@ -105,10 +105,24 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
}
return TRUE;
}
-#elif defined(__sun) || defined(_AIX)
+#elif defined(__sun)
# pragma init(init)
# pragma fini(cleanup)
+#elif defined(_AIX)
+void _init(void);
+void _cleanup(void);
+# pragma init(_init)
+# pragma fini(_cleanup)
+void _init(void)
+{
+ init();
+}
+void _cleanup(void)
+{
+ cleanup();
+}
+
#elif defined(__hpux)
# pragma init "init"
# pragma fini "cleanup"