diff options
author | Randall S. Becker <randall.becker@nexbridge.ca> | 2024-04-17 23:11:42 +0200 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2024-09-10 19:16:04 +0200 |
commit | ad1d0cc99909b93b150ef197034ec05f428b74f9 (patch) | |
tree | 6ce39fb8886e91b3c7f1061a270fc62441c8744f | |
parent | Use Jq to add openssl to interop test harness (diff) | |
download | openssl-ad1d0cc99909b93b150ef197034ec05f428b74f9.tar.xz openssl-ad1d0cc99909b93b150ef197034ec05f428b74f9.zip |
Add NonStop KLT Configuration for new platform kernel treading model.
This fix supports the new NonStop KLT threading model, including
configurations and documentation for using this model.
Fixes: fix-24175
Signed-off-by: Randall S. Becker <randall.becker@nexbridge.ca>
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25016)
-rw-r--r-- | Configurations/50-nonstop.conf | 31 | ||||
-rw-r--r-- | NOTES-NONSTOP.md | 7 |
2 files changed, 38 insertions, 0 deletions
diff --git a/Configurations/50-nonstop.conf b/Configurations/50-nonstop.conf index 572c5a5de8..a68f200856 100644 --- a/Configurations/50-nonstop.conf +++ b/Configurations/50-nonstop.conf @@ -174,6 +174,15 @@ }, ###################################################################### + # Build models + 'nonstop-model-klt' => { + template => 1, + defines => ['_KLT_MODEL_', + '_REENTRANT', '_THREAD_SUPPORT_FUNCTIONS'], + ex_libs => '-lklt', + }, + + ###################################################################### # Now for the entries themselves, let's combine things! 'nonstop-nsx' => { inherit_from => [ 'nonstop-common', @@ -211,6 +220,28 @@ multibin => '64-put', disable => ['atexit'], }, + 'nonstop-nsx_64_klt' => { + inherit_from => [ 'nonstop-common', + 'nonstop-archenv-x86_64-oss', + 'nonstop-lp64-x86_64', + 'nonstop-efloat-x86_64', + 'nonstop-model-klt' ], + multilib => '64-klt', + multibin => '64-klt', + disable => ['atexit'], + }, + 'nonstop-nsx_g' => { + inherit_from => [ 'nonstop-common', + 'nonstop-archenv-x86_64-guardian', + 'nonstop-ilp32', 'nonstop-nfloat-x86_64' ], + disable => ['threads','atexit'], + }, + 'nonstop-nsx_g_tandem' => { + inherit_from => [ 'nonstop-common', + 'nonstop-archenv-x86_64-guardian', + 'nonstop-ilp32', 'nonstop-tfloat-x86_64' ], + disable => ['threads','atexit'], + }, 'nonstop-nsv' => { inherit_from => [ 'nonstop-nsx' ], }, diff --git a/NOTES-NONSTOP.md b/NOTES-NONSTOP.md index 0ef99513bc..3fc5bffb1c 100644 --- a/NOTES-NONSTOP.md +++ b/NOTES-NONSTOP.md @@ -30,9 +30,16 @@ for each on the TNS/X (L-Series) platform: * `nonstop-nsx` or default will select an unthreaded 32-bit build. * `nonstop-nsx_64` selects an unthreaded 64-bit memory and file length build. + * `nonstop-nsx_64_klt` selects the 64-bit memory and file length KLT build. * `nonstop-nsx_put` selects the PUT build. * `nonstop-nsx_64_put` selects the 64-bit memory and file length PUT build. +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. + The SPT threading model is no longer supported as of OpenSSL 3.2. The PUT model is incompatible with the QUIC capability. This capability should |