Browse Source

Inhibit OpenSSL use of GCC long-long arithmetic. Without this patch gcc-3.4 creates a libcrypto.a with unresolved __udivdi3 and __umoddi3 symbols. These functions are provided by libgcc.a which enforces every application linking against this library to be build with GCC, too. The actual problem was that OpenSSL built with GCC breaks OpenSSH being build with Forte-C on Solaris. On 32bit platforms this modification replaces GCC long-long logic with OpenSSL/Bignumber logic which makes little, if any, difference. However, omitting that logic on 64bit platforms might result in a performance loss, which is the price to pay.

Thomas Lotterer 21 years ago
parent
commit
4d3dd3a817
1 changed files with 4 additions and 1 deletions
  1. 4 1
      openssl/openssl.spec

+ 4 - 1
openssl/openssl.spec

@@ -34,7 +34,7 @@ Class:        CORE
 Group:        Cryptography
 License:      BSD-style
 Version:      0.9.7d
-Release:      20040422
+Release:      20040602
 
 #   package options
 %option       with_zlib     no
@@ -77,6 +77,9 @@ AutoReqProv:  no
         -e 's;-DZLIB;%{l_cppflags} -DZLIB;' \
         -e 's;-lz;%{l_ldflags} -lz;' \
         Configure
+    %{l_shtool} subst \
+        -e 's;BN_LLONG *;;' \
+        Configure
     %{l_shtool} subst \
         -e 's;test "$OSTYPE" = msdosdjgpp;true;' \
         util/point.sh