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-03-03 15:32:50 -0600
commit12da3154297e16ae6e692c9fba1d7e66b037b195 (patch)
tree45af5259d166c9119d8398c8c02cbd99500dcf1c /patches
parente7a9f266e68f9b3fa010f32d6cd8c48873b16016 (diff)
downloadportable-12da3154297e16ae6e692c9fba1d7e66b037b195.tar.gz
portable-12da3154297e16ae6e692c9fba1d7e66b037b195.tar.bz2
portable-12da3154297e16ae6e692c9fba1d7e66b037b195.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";