# Build models
'nonstop-model-put' => {
template => 1,
+ disable => ['secure-memory'],
defines => ['_PUT_MODEL_',
'_REENTRANT', '_THREAD_SUPPORT_FUNCTIONS'],
ex_libs => '-lput',
# Build models
'nonstop-model-klt' => {
template => 1,
+ disable => ['secure-memory'],
defines => ['_KLT_MODEL_',
'_REENTRANT', '_THREAD_SUPPORT_FUNCTIONS'],
ex_libs => '-lklt',
The KLT threading model is a newly released model on NonStop. It implements
kernel-level threading. KLT provides much closer threading to what OpenSSL
uses for Linux-like threading models. KLT continues to use the pthread library
-API. There is no supported 32-bit or Guardian builds for KLT. Note: KLT is
-not currently available but is planned for post-2024.
+API. There is no supported 32-bit or Guardian builds for KLT.
The SPT threading model is no longer supported as of OpenSSL 3.2.
You cannot build for TNS/E for FIPS, so you must specify the `no-fips`
option to `./Configure`.
+TNS/E has moved to a limited support state, so fixes for this platform will not
+be guaranteed in future.
+
Linking and Loading Considerations
----------------------------------
register `OPENSSL_cleanup()` automatically. Preferably, you can explicitly call
`OPENSSL_cleanup()` from your application.
+Secure Memory
+-------------
+
+The mechanism used by OpenSSL for secure memory is not supported on NonStop.
+Use the `no-secure-memory` option when running `Configure`.
+
About Prefix and OpenSSLDir
---------------------------
#if defined(OPENSSL_SYS_UNIX) \
&& defined(OPENSSL_THREADS) && !defined(OPENSSL_NO_ASYNC) \
- && !defined(__ANDROID__) && !defined(__OpenBSD__)
+ && !defined(__ANDROID__) && !defined(__OpenBSD__) \
+ && !defined(OPENSSL_SYS_TANDEM)
# include <unistd.h>
*/
# define USE_SWAPCONTEXT
# endif
-# include <ucontext.h>
-# ifndef USE_SWAPCONTEXT
-# include <setjmp.h>
-# endif
+# if defined(OPENSSL_SYS_TANDEM)
+# include <tdmsig.h>
+# else
+# include <ucontext.h>
+# endif
+# ifndef USE_SWAPCONTEXT
+# include <setjmp.h>
+# endif
typedef struct async_fibre_st {
ucontext_t fibre;