summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorderaadt <>2023-01-14 16:58:56 +0000
committerderaadt <>2023-01-14 16:58:56 +0000
commitb5834617204e7520b0209bcff7f1c4a559e05422 (patch)
tree091fefd47bf297796c9ff374bd3f19f6e0cd6da8
parenta545377353a479e357ae5fb9be8294f7137820d5 (diff)
downloadopenbsd-b5834617204e7520b0209bcff7f1c4a559e05422.tar.gz
openbsd-b5834617204e7520b0209bcff7f1c4a559e05422.tar.bz2
openbsd-b5834617204e7520b0209bcff7f1c4a559e05422.zip
Move constants out of text segment into rodata to prepare for xonly support
on amd64. no pic handling is neccessary since amd64 has full reach. ok kettenis
-rwxr-xr-xsrc/lib/libcrypto/aes/asm/aes-x86_64.pl3
-rw-r--r--src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl4
-rw-r--r--src/lib/libcrypto/aes/asm/aesni-x86_64.pl4
-rw-r--r--src/lib/libcrypto/aes/asm/bsaes-x86_64.pl3
-rw-r--r--src/lib/libcrypto/aes/asm/vpaes-x86_64.pl3
-rw-r--r--src/lib/libcrypto/bn/asm/x86_64-gf2m.pl1
-rwxr-xr-xsrc/lib/libcrypto/bn/asm/x86_64-mont.pl4
-rwxr-xr-xsrc/lib/libcrypto/bn/asm/x86_64-mont5.pl3
-rw-r--r--src/lib/libcrypto/camellia/asm/cmll-x86_64.pl4
-rw-r--r--src/lib/libcrypto/modes/asm/ghash-x86_64.pl4
-rwxr-xr-xsrc/lib/libcrypto/rc4/asm/rc4-x86_64.pl3
-rwxr-xr-xsrc/lib/libcrypto/sha/asm/sha1-x86_64.pl3
-rwxr-xr-xsrc/lib/libcrypto/sha/asm/sha512-x86_64.pl4
-rw-r--r--src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl1
14 files changed, 25 insertions, 19 deletions
diff --git a/src/lib/libcrypto/aes/asm/aes-x86_64.pl b/src/lib/libcrypto/aes/asm/aes-x86_64.pl
index 9072f603a9..d9f501b252 100755
--- a/src/lib/libcrypto/aes/asm/aes-x86_64.pl
+++ b/src/lib/libcrypto/aes/asm/aes-x86_64.pl
@@ -2113,6 +2113,7 @@ ___
2113} 2113}
2114 2114
2115$code.=<<___; 2115$code.=<<___;
2116.rodata
2116.align 64 2117.align 64
2117.LAES_Te: 2118.LAES_Te:
2118___ 2119___
@@ -2533,8 +2534,8 @@ ___
2533$code.=<<___; 2534$code.=<<___;
2534 .long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe 2535 .long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe
2535 .long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 2536 .long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0
2536.asciz "AES for x86_64, CRYPTOGAMS by <appro\@openssl.org>"
2537.align 64 2537.align 64
2538.previous
2538___ 2539___
2539 2540
2540# EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame, 2541# EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame,
diff --git a/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl b/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl
index 880bcc2d58..4e83b6ba49 100644
--- a/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl
+++ b/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl
@@ -1075,6 +1075,7 @@ $code.=<<___;
1075___ 1075___
1076} 1076}
1077$code.=<<___; 1077$code.=<<___;
1078.rodata
1078.align 64 1079.align 64
1079K_XX_XX: 1080K_XX_XX:
1080.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 # K_00_19 1081.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 # K_00_19
@@ -1082,9 +1083,8 @@ K_XX_XX:
1082.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc # K_40_59 1083.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc # K_40_59
1083.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 # K_60_79 1084.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 # K_60_79
1084.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f # pbswap mask 1085.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f # pbswap mask
1085
1086.asciz "AESNI-CBC+SHA1 stitch for x86_64, CRYPTOGAMS by <appro\@openssl.org>"
1087.align 64 1086.align 64
1087.previous
1088___ 1088___
1089 1089
1090# EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame, 1090# EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame,
diff --git a/src/lib/libcrypto/aes/asm/aesni-x86_64.pl b/src/lib/libcrypto/aes/asm/aesni-x86_64.pl
index a849073728..1ec76f529e 100644
--- a/src/lib/libcrypto/aes/asm/aesni-x86_64.pl
+++ b/src/lib/libcrypto/aes/asm/aesni-x86_64.pl
@@ -2720,6 +2720,7 @@ ___
2720} 2720}
2721 2721
2722$code.=<<___; 2722$code.=<<___;
2723.rodata
2723.align 64 2724.align 64
2724.Lbswap_mask: 2725.Lbswap_mask:
2725 .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 2726 .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
@@ -2729,9 +2730,8 @@ $code.=<<___;
2729 .long 1,0,0,0 2730 .long 1,0,0,0
2730.Lxts_magic: 2731.Lxts_magic:
2731 .long 0x87,0,1,0 2732 .long 0x87,0,1,0
2732
2733.asciz "AES for Intel AES-NI, CRYPTOGAMS by <appro\@openssl.org>"
2734.align 64 2733.align 64
2734.previous
2735___ 2735___
2736 2736
2737# EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame, 2737# EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame,
diff --git a/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl b/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl
index 14dc2c02e7..a40f836010 100644
--- a/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl
+++ b/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl
@@ -2882,6 +2882,7 @@ $code.=<<___;
2882___ 2882___
2883} 2883}
2884$code.=<<___; 2884$code.=<<___;
2885.rodata
2885.type _bsaes_const,\@object 2886.type _bsaes_const,\@object
2886.align 64 2887.align 64
2887_bsaes_const: 2888_bsaes_const:
@@ -2934,9 +2935,9 @@ _bsaes_const:
2934 .quad 0x02060a0e03070b0f, 0x0004080c0105090d 2935 .quad 0x02060a0e03070b0f, 0x0004080c0105090d
2935.L63: 2936.L63:
2936 .quad 0x6363636363636363, 0x6363636363636363 2937 .quad 0x6363636363636363, 0x6363636363636363
2937.asciz "Bit-sliced AES for x86_64/SSSE3, Emilia Käsper, Peter Schwabe, Andy Polyakov"
2938.align 64 2938.align 64
2939.size _bsaes_const,.-_bsaes_const 2939.size _bsaes_const,.-_bsaes_const
2940.previous
2940___ 2941___
2941 2942
2942# EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame, 2943# EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame,
diff --git a/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl b/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl
index bd7f45b850..63af96c1dd 100644
--- a/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl
+++ b/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl
@@ -964,6 +964,7 @@ _vpaes_preheat:
964## Constants ## 964## Constants ##
965## ## 965## ##
966######################################################## 966########################################################
967.rodata
967.type _vpaes_consts,\@object 968.type _vpaes_consts,\@object
968.align 64 969.align 64
969_vpaes_consts: 970_vpaes_consts:
@@ -1060,9 +1061,9 @@ _vpaes_consts:
1060.Lk_dsbo: # decryption sbox final output 1061.Lk_dsbo: # decryption sbox final output
1061 .quad 0x1387EA537EF94000, 0xC7AA6DB9D4943E2D 1062 .quad 0x1387EA537EF94000, 0xC7AA6DB9D4943E2D
1062 .quad 0x12D7560F93441D00, 0xCA4B8159D8C58E9C 1063 .quad 0x12D7560F93441D00, 0xCA4B8159D8C58E9C
1063.asciz "Vector Permutation AES for x86_64/SSSE3, Mike Hamburg (Stanford University)"
1064.align 64 1064.align 64
1065.size _vpaes_consts,.-_vpaes_consts 1065.size _vpaes_consts,.-_vpaes_consts
1066.previous
1066___ 1067___
1067 1068
1068if ($win64) { 1069if ($win64) {
diff --git a/src/lib/libcrypto/bn/asm/x86_64-gf2m.pl b/src/lib/libcrypto/bn/asm/x86_64-gf2m.pl
index 24dacb1e9c..6985725b20 100644
--- a/src/lib/libcrypto/bn/asm/x86_64-gf2m.pl
+++ b/src/lib/libcrypto/bn/asm/x86_64-gf2m.pl
@@ -277,7 +277,6 @@ $code.=<<___;
277 ret 277 ret
278.Lend_mul_2x2: 278.Lend_mul_2x2:
279.size bn_GF2m_mul_2x2,.-bn_GF2m_mul_2x2 279.size bn_GF2m_mul_2x2,.-bn_GF2m_mul_2x2
280.asciz "GF(2^m) Multiplication for x86_64, CRYPTOGAMS by <appro\@openssl.org>"
281.align 16 280.align 16
282___ 281___
283 282
diff --git a/src/lib/libcrypto/bn/asm/x86_64-mont.pl b/src/lib/libcrypto/bn/asm/x86_64-mont.pl
index c35493e80a..cae7309d5b 100755
--- a/src/lib/libcrypto/bn/asm/x86_64-mont.pl
+++ b/src/lib/libcrypto/bn/asm/x86_64-mont.pl
@@ -1495,10 +1495,6 @@ $code.=<<___;
1495.size bn_sqr4x_mont,.-bn_sqr4x_mont 1495.size bn_sqr4x_mont,.-bn_sqr4x_mont
1496___ 1496___
1497}}} 1497}}}
1498$code.=<<___;
1499.asciz "Montgomery Multiplication for x86_64, CRYPTOGAMS by <appro\@openssl.org>"
1500.align 16
1501___
1502 1498
1503print $code; 1499print $code;
1504close STDOUT; 1500close STDOUT;
diff --git a/src/lib/libcrypto/bn/asm/x86_64-mont5.pl b/src/lib/libcrypto/bn/asm/x86_64-mont5.pl
index bb7ad4c4b7..5d30f210ce 100755
--- a/src/lib/libcrypto/bn/asm/x86_64-mont5.pl
+++ b/src/lib/libcrypto/bn/asm/x86_64-mont5.pl
@@ -1032,11 +1032,12 @@ $code.=<<___;
1032___ 1032___
1033} 1033}
1034$code.=<<___; 1034$code.=<<___;
1035.rodata
1035.align 64 1036.align 64
1036.Linc: 1037.Linc:
1037 .long 0,0, 1,1 1038 .long 0,0, 1,1
1038 .long 2,2, 2,2 1039 .long 2,2, 2,2
1039.asciz "Montgomery Multiplication with scatter/gather for x86_64, CRYPTOGAMS by <appro\@openssl.org>" 1040.previous
1040___ 1041___
1041 1042
1042# EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame, 1043# EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame,
diff --git a/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl b/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl
index df6bf11a28..90c56d9e50 100644
--- a/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl
+++ b/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl
@@ -599,6 +599,7 @@ sub S0222 { my $i=shift; $i=@SBOX[$i]; $i=($i<<1|$i>>7)&0xff; $i=$i<<16|$i<<8|$i
599sub S3033 { my $i=shift; $i=@SBOX[$i]; $i=($i>>1|$i<<7)&0xff; $i=$i<<24|$i<<8|$i; sprintf("0x%08x",$i); } 599sub S3033 { my $i=shift; $i=@SBOX[$i]; $i=($i>>1|$i<<7)&0xff; $i=$i<<24|$i<<8|$i; sprintf("0x%08x",$i); }
600 600
601$code.=<<___; 601$code.=<<___;
602.rodata
602.align 64 603.align 64
603.LCamellia_SIGMA: 604.LCamellia_SIGMA:
604.long 0x3bcc908b, 0xa09e667f, 0x4caa73b2, 0xb67ae858 605.long 0x3bcc908b, 0xa09e667f, 0x4caa73b2, 0xb67ae858
@@ -624,6 +625,7 @@ $_ivp="40(%rsp)";
624$_rsp="48(%rsp)"; 625$_rsp="48(%rsp)";
625 626
626$code.=<<___; 627$code.=<<___;
628.previous
627.globl Camellia_cbc_encrypt 629.globl Camellia_cbc_encrypt
628.type Camellia_cbc_encrypt,\@function,6 630.type Camellia_cbc_encrypt,\@function,6
629.align 16 631.align 16
@@ -857,8 +859,6 @@ Camellia_cbc_encrypt:
857.Lcbc_abort: 859.Lcbc_abort:
858 ret 860 ret
859.size Camellia_cbc_encrypt,.-Camellia_cbc_encrypt 861.size Camellia_cbc_encrypt,.-Camellia_cbc_encrypt
860
861.asciz "Camellia for x86_64 by <appro\@openssl.org>"
862___ 862___
863} 863}
864 864
diff --git a/src/lib/libcrypto/modes/asm/ghash-x86_64.pl b/src/lib/libcrypto/modes/asm/ghash-x86_64.pl
index 38d779edbc..3ae8629cbe 100644
--- a/src/lib/libcrypto/modes/asm/ghash-x86_64.pl
+++ b/src/lib/libcrypto/modes/asm/ghash-x86_64.pl
@@ -622,6 +622,7 @@ ___
622} 622}
623 623
624$code.=<<___; 624$code.=<<___;
625.rodata
625.align 64 626.align 64
626.Lbswap_mask: 627.Lbswap_mask:
627 .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 628 .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
@@ -668,9 +669,8 @@ $code.=<<___;
668 .value 0xA7D0,0xA612,0xA454,0xA596,0xA0D8,0xA11A,0xA35C,0xA29E 669 .value 0xA7D0,0xA612,0xA454,0xA596,0xA0D8,0xA11A,0xA35C,0xA29E
669 .value 0xB5E0,0xB422,0xB664,0xB7A6,0xB2E8,0xB32A,0xB16C,0xB0AE 670 .value 0xB5E0,0xB422,0xB664,0xB7A6,0xB2E8,0xB32A,0xB16C,0xB0AE
670 .value 0xBBF0,0xBA32,0xB874,0xB9B6,0xBCF8,0xBD3A,0xBF7C,0xBEBE 671 .value 0xBBF0,0xBA32,0xB874,0xB9B6,0xBCF8,0xBD3A,0xBF7C,0xBEBE
671
672.asciz "GHASH for x86_64, CRYPTOGAMS by <appro\@openssl.org>"
673.align 64 672.align 64
673.previous
674___ 674___
675 675
676# EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame, 676# EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame,
diff --git a/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl b/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl
index 18a967e546..36cbf79fbe 100755
--- a/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl
+++ b/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl
@@ -517,13 +517,14 @@ RC4_options:
517 add \$12,%rax 517 add \$12,%rax
518.Ldone: 518.Ldone:
519 ret 519 ret
520.rodata
520.align 64 521.align 64
521.Lopts: 522.Lopts:
522.asciz "rc4(8x,int)" 523.asciz "rc4(8x,int)"
523.asciz "rc4(8x,char)" 524.asciz "rc4(8x,char)"
524.asciz "rc4(16x,int)" 525.asciz "rc4(16x,int)"
525.asciz "RC4 for x86_64, CRYPTOGAMS by <appro\@openssl.org>"
526.align 64 526.align 64
527.previous
527.size RC4_options,.-RC4_options 528.size RC4_options,.-RC4_options
528___ 529___
529 530
diff --git a/src/lib/libcrypto/sha/asm/sha1-x86_64.pl b/src/lib/libcrypto/sha/asm/sha1-x86_64.pl
index cc8ef5337d..0abbbab6ba 100755
--- a/src/lib/libcrypto/sha/asm/sha1-x86_64.pl
+++ b/src/lib/libcrypto/sha/asm/sha1-x86_64.pl
@@ -1071,6 +1071,7 @@ $code.=<<___;
1071___ 1071___
1072} 1072}
1073$code.=<<___; 1073$code.=<<___;
1074.rodata
1074.align 64 1075.align 64
1075K_XX_XX: 1076K_XX_XX:
1076.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 # K_00_19 1077.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 # K_00_19
@@ -1078,10 +1079,10 @@ K_XX_XX:
1078.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc # K_40_59 1079.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc # K_40_59
1079.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 # K_60_79 1080.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 # K_60_79
1080.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f # pbswap mask 1081.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f # pbswap mask
1082.previous
1081___ 1083___
1082}}} 1084}}}
1083$code.=<<___; 1085$code.=<<___;
1084.asciz "SHA1 block transform for x86_64, CRYPTOGAMS by <appro\@openssl.org>"
1085.align 64 1086.align 64
1086___ 1087___
1087 1088
diff --git a/src/lib/libcrypto/sha/asm/sha512-x86_64.pl b/src/lib/libcrypto/sha/asm/sha512-x86_64.pl
index bc4b2e7487..6698b1d406 100755
--- a/src/lib/libcrypto/sha/asm/sha512-x86_64.pl
+++ b/src/lib/libcrypto/sha/asm/sha512-x86_64.pl
@@ -269,6 +269,7 @@ ___
269 269
270if ($SZ==4) { 270if ($SZ==4) {
271$code.=<<___; 271$code.=<<___;
272.rodata
272.align 64 273.align 64
273.type $TABLE,\@object 274.type $TABLE,\@object
274$TABLE: 275$TABLE:
@@ -288,9 +289,11 @@ $TABLE:
288 .long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 289 .long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
289 .long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 290 .long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
290 .long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 291 .long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
292.previous
291___ 293___
292} else { 294} else {
293$code.=<<___; 295$code.=<<___;
296.rodata
294.align 64 297.align 64
295.type $TABLE,\@object 298.type $TABLE,\@object
296$TABLE: 299$TABLE:
@@ -334,6 +337,7 @@ $TABLE:
334 .quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c 337 .quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
335 .quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a 338 .quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a
336 .quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817 339 .quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817
340.previous
337___ 341___
338} 342}
339 343
diff --git a/src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl b/src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl
index afadd5d2f1..510a74b91a 100644
--- a/src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl
+++ b/src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl
@@ -204,6 +204,7 @@ $code.=<<___;
204 ret 204 ret
205.size $func,.-$func 205.size $func,.-$func
206 206
207.rodata
207.align 64 208.align 64
208.type $table,\@object 209.type $table,\@object
209$table: 210$table: