]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Deprecate SPT threading support on NonStop.
authorRandall S. Becker <randall.becker@nexbridge.ca>
Wed, 22 Nov 2023 20:45:24 +0000 (20:45 +0000)
committerNeil Horman <nhorman@openssl.org>
Tue, 12 Dec 2023 15:39:54 +0000 (10:39 -0500)
This fix removes explicit support for the SPT threading model in configurations.
This also reverts commit f63e1b48ac893dd6110452e70ed08f191547cd89 that were
required for SPT but broke other models.

Fixes: #22798
Signed-off-by: Randall S. Becker <randall.becker@nexbridge.ca>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22807)

Configurations/50-nonstop.conf
NOTES-NONSTOP.md
crypto/bio/bio_sock.c

index 827a13b4eec20947c097135f19534808d0592eb6..873e398169bb7c0b820d60ac8203971029dffc90 100644 (file)
                              '_REENTRANT', '_THREAD_SUPPORT_FUNCTIONS'],
         ex_libs          => '-lput',
     },
-    'nonstop-model-spt' => {
-        template         => 1,
-        cflags           => add('-Wnowarn=140'),
-        defines          => ['_SPT_MODEL_',
-                             'SPT_THREAD_AWARE_NONBLOCK',
-                             '_REENTRANT'],
-        ex_libs          => '-lspt',
-    },
-
-    # Additional floss model that can be combined with any of the other models.
-    # If used without any of the other models, the entry that does so must
-    # disable threads.
-    'nonstop-model-floss' => {
-        template         => 1,
-        defines          => ['OPENSSL_TANDEM_FLOSS', '_ENABLE_FLOSS_THREADS'],
-        includes         => ['/usr/local/include'],
-        ex_libs          => '-lfloss',
-    },
 
     ######################################################################
     # Now for the entries themselves, let's combine things!
         multilib         => '64-put',
         multibin         => '64-put',
     },
-    'nonstop-nsx_spt' => {
-        inherit_from     => [ 'nonstop-common',
-                              'nonstop-archenv-x86_64-oss',
-                              'nonstop-ilp32',
-                              'nonstop-efloat-x86_64',
-                              'nonstop-model-spt' ],
-        multilib         => '-spt',
-        multibin         => '-spt',
-    },
-    'nonstop-nsx_spt_floss' => {
-        inherit_from     => [ 'nonstop-common',
-                              'nonstop-archenv-x86_64-oss',
-                              'nonstop-ilp32',
-                              'nonstop-efloat-x86_64',
-                              'nonstop-model-floss',
-                              'nonstop-model-spt'],
-        multilib         => '-spt',
-        multibin         => '-spt',
-    },
     'nonstop-nsx_g' => {
         inherit_from     => [ 'nonstop-common',
                               'nonstop-archenv-x86_64-guardian',
         multilib         => '64-put',
         multibin         => '64-put',
     },
-    'nonstop-nse_spt' => {
-        inherit_from     => [ 'nonstop-common',
-                              'nonstop-archenv-itanium-oss',
-                              'nonstop-ilp32',
-                              'nonstop-efloat-itanium',
-                              'nonstop-model-spt' ],
-        multilib         => '-spt',
-        multibin         => '-spt',
-    },
-    'nonstop-nse_spt_floss' => {
-        inherit_from     => [ 'nonstop-common',
-                              'nonstop-archenv-itanium-oss',
-                              'nonstop-ilp32',
-                              'nonstop-efloat-itanium',
-                              'nonstop-model-floss', 'nonstop-model-spt' ],
-        multilib         => '-spt',
-        multibin         => '-spt',
-    },
     'nonstop-nse_g' => {
         inherit_from     => [ 'nonstop-common',
                               'nonstop-archenv-itanium-guardian',
index 68438b998884e2a068b7f93886867d8ad4c6f38b..65bfc1087dcabfaf6f941f68c513af0b810c1859 100644 (file)
@@ -26,15 +26,16 @@ is the only FLOSS variant that has been broadly tested.
 Threading Models
 ----------------
 
-OpenSSL can be built using unthreaded, POSIX User Threads (PUT), or Standard
-POSIX Threads (SPT). Select the following build configuration for each on
-the TNS/X (L-Series) platform:
+OpenSSL can be built either using the POSIX User Threads (PUT) threading model,
+or with threading support disabled. Select the following build configuration
+for each on the TNS/X (L-Series) platform:
 
- * `nonstop-nsx` or default will select an unthreaded build.
+ * `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_put` selects the PUT build.
- * `nonstop-nsx_64_put` selects the 64 bit file length PUT build.
- * `nonstop-nsx_spt_floss` selects the SPT build with FLOSS. FLOSS is
-   required for SPT builds because of a known hang when using SPT on its own.
+ * `nonstop-nsx_64_put` selects the 64-bit memory and file length PUT build.
+
+The SPT threading model is no longer supported as of OpenSSL 3.2.
 
 ### TNS/E Considerations
 
@@ -145,9 +146,7 @@ update this list:
 - nonstop-nsx_64_put
 
 **Note:** Cross-compile builds for TNS/E have not been attempted, but should
-follow the same considerations as for TNS/X above. SPT builds generally require
-FLOSS, which is not available for workstation builds. As a result, SPT builds
-of OpenSSL cannot be cross-compiled.
+follow the same considerations as for TNS/X above.
 
 Also see the NSDEE discussion below for more historical information.
 
@@ -223,9 +222,6 @@ assumes that your PWD is set according to your installation standards.
     ./Configure nonstop-nsx_put       --prefix=${PWD} \
         --openssldir=${PWD}/ssl threads "-D_REENTRANT" \
         --with-rand-seed=rdcpu ${CIPHENABLES} ${DBGFLAG} ${SYSTEMLIBS}
-    ./Configure nonstop-nsx_spt_floss --prefix=${PWD} \
-        --openssldir=${PWD}/ssl threads "-D_REENTRANT" \
-        --with-rand-seed=rdcpu ${CIPHENABLES} ${DBGFLAG} ${SYSTEMLIBS}
     ./Configure nonstop-nsx_64        --prefix=${PWD} \
         --openssldir=${PWD}/ssl no-threads \
         --with-rand-seed=rdcpu ${CIPHENABLES} ${DBGFLAG} ${SYSTEMLIBS}
@@ -245,9 +241,6 @@ assumes that your PWD is set according to your installation standards.
     ./Configure nonstop-nse_put       --prefix=${PWD} \
         --openssldir=${PWD}/ssl threads "-D_REENTRANT" \
         --with-rand-seed=egd ${CIPHENABLES} ${DBGFLAG} ${SYSTEMLIBS}
-    ./Configure nonstop-nse_spt_floss --prefix=${PWD} \
-        --openssldir=${PWD}/ssl threads "-D_REENTRANT" \
-        --with-rand-seed=egd ${CIPHENABLES} ${DBGFLAG} ${SYSTEMLIBS}
     ./Configure nonstop-nse_64        --prefix=${PWD} \
         --openssldir=${PWD}/ssl no-threads \
         --with-rand-seed=egd ${CIPHENABLES} ${DBGFLAG} ${SYSTEMLIBS}
index 9f2ae7306369d71cb8df4a4cc7a8dd9e90953165..7aa7bdc65ee90d579655a6c9fa9c6e20994b1806 100644 (file)
@@ -354,7 +354,7 @@ int BIO_socket_nbio(int s, int mode)
     int l;
 
     l = mode;
-# if defined(FIONBIO) && !defined(OPENSSL_SYS_TANDEM)
+# ifdef FIONBIO
     l = mode;
 
     ret = BIO_socket_ioctl(s, FIONBIO, &l);