summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorderaadt <>2023-01-14 16:58:56 +0000
committerderaadt <>2023-01-14 16:58:56 +0000
commitb5834617204e7520b0209bcff7f1c4a559e05422 (patch)
tree091fefd47bf297796c9ff374bd3f19f6e0cd6da8 /src/lib
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
Diffstat (limited to 'src/lib')
-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: