aboutsummaryrefslogtreecommitdiff
path: root/patches
diff options
context:
space:
mode:
authorBrent Cook <busterb@gmail.com>2024-01-08 21:57:01 -0600
committerBrent Cook <busterb@gmail.com>2024-02-12 03:14:54 -0600
commit37cff9e9a408570a96e3080249f8c70f6296a26f (patch)
tree66ea901b7f878848d0f2eadc7af53966d2614cb3 /patches
parent31bb2f25f9968970cebc84e7da54a3a02d2fc4de (diff)
downloadportable-37cff9e9a408570a96e3080249f8c70f6296a26f.tar.gz
portable-37cff9e9a408570a96e3080249f8c70f6296a26f.tar.bz2
portable-37cff9e9a408570a96e3080249f8c70f6296a26f.zip
align read only sections on masm/windows to 64 bytes
Avoid conflicts where alignment is specified later in the underlying assembly.
Diffstat (limited to 'patches')
-rw-r--r--patches/asm/masm-align-64.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/patches/asm/masm-align-64.patch b/patches/asm/masm-align-64.patch
new file mode 100644
index 0000000..ba41c71
--- /dev/null
+++ b/patches/asm/masm-align-64.patch
@@ -0,0 +1,30 @@
1commit 3797e05de28ab07bb522898cbf022bdf67a71c99
2Author: Brent Cook <busterb@gmail.com>
3Date: Sun Feb 4 22:53:59 2024 -0600
4
5 align read-only sections on masm/windows to 64 bytes
6
7 Avoid conflicts where alignment is specified later in the underlying
8 assembly.
9
10diff --git a/src/lib/libcrypto/perlasm/x86_64-xlate.pl b/src/lib/libcrypto/perlasm/x86_64-xlate.pl
11index 5dbed2a8c..d8b607b5c 100755
12--- a/src/lib/libcrypto/perlasm/x86_64-xlate.pl
13+++ b/src/lib/libcrypto/perlasm/x86_64-xlate.pl
14@@ -567,7 +567,15 @@ my %globals;
15 $v.="$line\tSEGMENT";
16 if ($line=~/\.([prx])data/) {
17 $v.=" READONLY";
18- $v.=" ALIGN(".($1 eq "p" ? 4 : 8).")" if ($masm>=$masmref);
19+ if ($masm>=$masmref) {
20+ if ($1 eq "r") {
21+ $v.=" ALIGN(64)";
22+ } elsif ($1 eq "p") {
23+ $v.=" ALIGN(4)";
24+ } else {
25+ $v.=" ALIGN(8)";
26+ }
27+ }
28 } elsif ($line=~/\.CRT\$/i) {
29 $v.=" READONLY ";
30 $v.=$masm>=$masmref ? "ALIGN(8)" : "DWORD";