-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;