summaryrefslogtreecommitdiffstats
path: root/external/openssl/openssl-3650-masm.patch.1
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 16:51:28 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 16:51:28 +0000
commit940b4d1848e8c70ab7642901a68594e8016caffc (patch)
treeeb72f344ee6c3d9b80a7ecc079ea79e9fba8676d /external/openssl/openssl-3650-masm.patch.1
parentInitial commit. (diff)
downloadlibreoffice-upstream.tar.xz
libreoffice-upstream.zip
Adding upstream version 1:7.0.4.upstream/1%7.0.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'external/openssl/openssl-3650-masm.patch.1')
-rw-r--r--external/openssl/openssl-3650-masm.patch.135
1 files changed, 35 insertions, 0 deletions
diff --git a/external/openssl/openssl-3650-masm.patch.1 b/external/openssl/openssl-3650-masm.patch.1
new file mode 100644
index 000000000..97f1eb644
--- /dev/null
+++ b/external/openssl/openssl-3650-masm.patch.1
@@ -0,0 +1,35 @@
+diff --git a/crypto/perlasm/x86masm.pl b/crypto/perlasm/x86masm.pl
+index 1741342..917d0f8 100644
+--- a/crypto/perlasm/x86masm.pl
++++ b/crypto/perlasm/x86masm.pl
+@@ -18,10 +18,10 @@ sub ::generic
+
+ if ($opcode =~ /lea/ && @arg[1] =~ s/.*PTR\s+(\(.*\))$/OFFSET $1/) # no []
+ { $opcode="mov"; }
+- elsif ($opcode !~ /movq/)
++ elsif ($opcode !~ /mov[dq]$/)
+ { # fix xmm references
+- $arg[0] =~ s/\b[A-Z]+WORD\s+PTR/XMMWORD PTR/i if ($arg[1]=~/\bxmm[0-7]\b/i);
+- $arg[1] =~ s/\b[A-Z]+WORD\s+PTR/XMMWORD PTR/i if ($arg[0]=~/\bxmm[0-7]\b/i);
++ $arg[0] =~ s/\b[A-Z]+WORD\s+PTR/XMMWORD PTR/i if ($arg[-1]=~/\bxmm[0-7]\b/i);
++ $arg[-1] =~ s/\b[A-Z]+WORD\s+PTR/XMMWORD PTR/i if ($arg[0]=~/\bxmm[0-7]\b/i);
+ }
+
+ &::emit($opcode,@arg);
+@@ -160,13 +160,13 @@ sub ::public_label
+ { push(@out,"PUBLIC\t".&::LABEL($_[0],$nmdecor.$_[0])."\n"); }
+
+ sub ::data_byte
+-{ push(@out,("DB\t").join(',',@_)."\n"); }
++{ push(@out,("DB\t").join(',',splice(@_,0,16))."\n") while(@_); }
+
+ sub ::data_short
+-{ push(@out,("DW\t").join(',',@_)."\n"); }
++{ push(@out,("DW\t").join(',',splice(@_,0,8))."\n") while(@_); }
+
+ sub ::data_word
+-{ push(@out,("DD\t").join(',',@_)."\n"); }
++{ push(@out,("DD\t").join(',',splice(@_,0,4))."\n") while(@_); }
+
+ sub ::align
+ { push(@out,"ALIGN\t$_[0]\n"); }