]> git.pld-linux.org Git - packages/openssl.git/blobdiff - openssl_fix_for_x32.patch
up to OpenSSL 1.0.2h [3 May 2016]
[packages/openssl.git] / openssl_fix_for_x32.patch
index b05be1f1f3dedd82d5dd1907f38d0b3af7c2a0fb..5ae0b9b60ff08f587726a0a1dfb570d1532897c5 100644 (file)
@@ -1,29 +1,23 @@
-diff -ruNp openssl-1.0.2.orig/crypto/bn/asm/x86_64-gcc.c openssl-1.0.2/crypto/bn/asm/x86_64-gcc.c
---- openssl-1.0.2.orig/crypto/bn/asm/x86_64-gcc.c      2015-01-22 15:58:32.000000000 +0100
-+++ openssl-1.0.2/crypto/bn/asm/x86_64-gcc.c   2015-01-27 16:19:21.432252035 +0100
-@@ -212,9 +212,9 @@ BN_ULONG bn_add_words(BN_ULONG *rp, cons
-     asm volatile ("       subq    %0,%0           \n" /* clear carry */
-                   "       jmp     1f              \n"
-                   ".p2align 4                     \n"
--                  "1:     movq    (%4,%2,8),%0    \n"
--                  "       adcq    (%5,%2,8),%0    \n"
--                  "       movq    %0,(%3,%2,8)    \n"
-+                  "1:     movq    (%q4,%2,8),%0    \n"
-+                  "       adcq    (%q5,%2,8),%0    \n"
-+                  "       movq    %0,(%q3,%2,8)    \n"
-                   "       lea     1(%2),%2        \n"
-                   "       loop    1b              \n"
-                   "       sbbq    %0,%0           \n":"=&r" (ret), "+c"(n),
-@@ -238,9 +238,9 @@ BN_ULONG bn_sub_words(BN_ULONG *rp, cons
-     asm volatile ("       subq    %0,%0           \n" /* clear borrow */
-                   "       jmp     1f              \n"
-                   ".p2align 4                     \n"
--                  "1:     movq    (%4,%2,8),%0    \n"
--                  "       sbbq    (%5,%2,8),%0    \n"
--                  "       movq    %0,(%3,%2,8)    \n"
-+                  "1:     movq    (%q4,%2,8),%0    \n"
-+                  "       sbbq    (%q5,%2,8),%0    \n"
-+                  "       movq    %0,(%q3,%2,8)    \n"
-                   "       lea     1(%2),%2        \n"
-                   "       loop    1b              \n"
-                   "       sbbq    %0,%0           \n":"=&r" (ret), "+c"(n),
+
+obsolete now that this is applied?
+https://rt.openssl.org/Ticket/Display.html?id=3885
+https://github.com/openssl/openssl/commit/10c639a8a56c90bec9e332c7ca76ef552b3952ac
+
+--- openssl-1.0.2g/crypto/perlasm/x86_64-xlate.pl~     2016-02-24 19:39:13.000000000 +0200
++++ openssl-1.0.2g/crypto/perlasm/x86_64-xlate.pl      2016-02-25 21:01:20.464795948 +0200
+@@ -198,11 +198,15 @@
+       if ($gas) {
+           # Solaris /usr/ccs/bin/as can't handle multiplications
+           # in $self->{value}
++          if ($self->{value} =~ /0xA040608020C0E000/) {
++                  $self->{value} = "11547335547999543296";
++          } else {
+           my $value = $self->{value};
+           $value =~ s/(?<![\w\$\.])(0x?[0-9a-f]+)/oct($1)/egi;
+           if ($value =~ s/([0-9]+\s*[\*\/\%]\s*[0-9]+)/eval($1)/eg) {
+               $self->{value} = $value;
+           }
++          }
+           sprintf "\$%s",$self->{value};
+       } else {
+           $self->{value} =~ s/(0b[0-1]+)/oct($1)/eig;
This page took 0.069987 seconds and 4 git commands to generate.