diff options
| author | miod <> | 2023-01-13 17:11:41 +0000 |
|---|---|---|
| committer | miod <> | 2023-01-13 17:11:41 +0000 |
| commit | 6f56f28c72618c1e8d79d943e58f0f1c66e73832 (patch) | |
| tree | 754902f7e6ad288b35b04ef817ed997460a00546 | |
| parent | 38ed78ca28e1e252895ca064c8388657440e5142 (diff) | |
| download | openbsd-6f56f28c72618c1e8d79d943e58f0f1c66e73832.tar.gz openbsd-6f56f28c72618c1e8d79d943e58f0f1c66e73832.tar.bz2 openbsd-6f56f28c72618c1e8d79d943e58f0f1c66e73832.zip | |
Move all data tables from .text section to .rodata, and update the code to
fetch them correctly when building PIC. Also drop unused data, and remove
--no-execute-only from linker flags.
ok jsing@ kettenis@
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libcrypto/aes/asm/aes-parisc.pl | 34 | ||||
| -rw-r--r-- | src/lib/libcrypto/arch/hppa/Makefile.inc | 4 | ||||
| -rw-r--r-- | src/lib/libcrypto/bn/asm/parisc-mont.pl | 10 | ||||
| -rw-r--r-- | src/lib/libcrypto/modes/asm/ghash-parisc.pl | 33 | ||||
| -rw-r--r-- | src/lib/libcrypto/rc4/asm/rc4-parisc.pl | 21 | ||||
| -rw-r--r-- | src/lib/libcrypto/sha/asm/sha1-parisc.pl | 8 | ||||
| -rwxr-xr-x | src/lib/libcrypto/sha/asm/sha512-parisc.pl | 22 |
7 files changed, 54 insertions, 78 deletions
diff --git a/src/lib/libcrypto/aes/asm/aes-parisc.pl b/src/lib/libcrypto/aes/asm/aes-parisc.pl index f12a1c18ec..43dbfc108d 100644 --- a/src/lib/libcrypto/aes/asm/aes-parisc.pl +++ b/src/lib/libcrypto/aes/asm/aes-parisc.pl | |||
| @@ -64,12 +64,7 @@ $rounds="%r29"; | |||
| 64 | 64 | ||
| 65 | $code=<<___; | 65 | $code=<<___; |
| 66 | .LEVEL $LEVEL | 66 | .LEVEL $LEVEL |
| 67 | #if 0 | ||
| 68 | .SPACE \$TEXT\$ | ||
| 69 | .SUBSPA \$CODE\$,QUAD=0,ALIGN=8,ACCESS=0x2C,CODE_ONLY | ||
| 70 | #else | ||
| 71 | .text | 67 | .text |
| 72 | #endif | ||
| 73 | 68 | ||
| 74 | .EXPORT AES_encrypt,ENTRY,ARGW0=GR,ARGW1=GR,ARGW2=GR | 69 | .EXPORT AES_encrypt,ENTRY,ARGW0=GR,ARGW1=GR,ARGW2=GR |
| 75 | .ALIGN 64 | 70 | .ALIGN 64 |
| @@ -95,11 +90,14 @@ AES_encrypt | |||
| 95 | $PUSH %r17,`-$FRAME+14*$SIZE_T`(%sp) | 90 | $PUSH %r17,`-$FRAME+14*$SIZE_T`(%sp) |
| 96 | $PUSH %r18,`-$FRAME+15*$SIZE_T`(%sp) | 91 | $PUSH %r18,`-$FRAME+15*$SIZE_T`(%sp) |
| 97 | 92 | ||
| 98 | blr %r0,$tbl | ||
| 99 | ldi 3,$t0 | 93 | ldi 3,$t0 |
| 100 | L\$enc_pic | 94 | #ifdef __PIC__ |
| 101 | andcm $tbl,$t0,$tbl | 95 | addil LT'L\$AES_Te, %r19 |
| 102 | ldo L\$AES_Te-L\$enc_pic($tbl),$tbl | 96 | ldw RT'L\$AES_Te(%r1), $tbl |
| 97 | #else | ||
| 98 | ldil L'L\$AES_Te, %t1 | ||
| 99 | ldo R'L\$AES_Te(%t1), $tbl | ||
| 100 | #endif | ||
| 103 | 101 | ||
| 104 | and $inp,$t0,$t0 | 102 | and $inp,$t0,$t0 |
| 105 | sub $inp,$t0,$inp | 103 | sub $inp,$t0,$inp |
| @@ -439,6 +437,7 @@ L\$enc_last | |||
| 439 | xor $acc15,$s3,$s3 | 437 | xor $acc15,$s3,$s3 |
| 440 | .PROCEND | 438 | .PROCEND |
| 441 | 439 | ||
| 440 | .section .rodata | ||
| 442 | .ALIGN 64 | 441 | .ALIGN 64 |
| 443 | L\$AES_Te | 442 | L\$AES_Te |
| 444 | .WORD 0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d | 443 | .WORD 0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d |
| @@ -537,6 +536,7 @@ L\$AES_Te | |||
| 537 | .BYTE 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf | 536 | .BYTE 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf |
| 538 | .BYTE 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68 | 537 | .BYTE 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68 |
| 539 | .BYTE 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16 | 538 | .BYTE 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16 |
| 539 | .previous | ||
| 540 | ___ | 540 | ___ |
| 541 | 541 | ||
| 542 | $code.=<<___; | 542 | $code.=<<___; |
| @@ -564,11 +564,14 @@ AES_decrypt | |||
| 564 | $PUSH %r17,`-$FRAME+14*$SIZE_T`(%sp) | 564 | $PUSH %r17,`-$FRAME+14*$SIZE_T`(%sp) |
| 565 | $PUSH %r18,`-$FRAME+15*$SIZE_T`(%sp) | 565 | $PUSH %r18,`-$FRAME+15*$SIZE_T`(%sp) |
| 566 | 566 | ||
| 567 | blr %r0,$tbl | ||
| 568 | ldi 3,$t0 | 567 | ldi 3,$t0 |
| 569 | L\$dec_pic | 568 | #ifdef __PIC__ |
| 570 | andcm $tbl,$t0,$tbl | 569 | addil LT'L\$AES_Td, %r19 |
| 571 | ldo L\$AES_Td-L\$dec_pic($tbl),$tbl | 570 | ldw RT'L\$AES_Td(%r1), $tbl |
| 571 | #else | ||
| 572 | ldil L'L\$AES_Td, %t1 | ||
| 573 | ldo R'L\$AES_Td(%t1), $tbl | ||
| 574 | #endif | ||
| 572 | 575 | ||
| 573 | and $inp,$t0,$t0 | 576 | and $inp,$t0,$t0 |
| 574 | sub $inp,$t0,$inp | 577 | sub $inp,$t0,$inp |
| @@ -908,6 +911,7 @@ L\$dec_last | |||
| 908 | xor $acc15,$s3,$s3 | 911 | xor $acc15,$s3,$s3 |
| 909 | .PROCEND | 912 | .PROCEND |
| 910 | 913 | ||
| 914 | .section .rodata | ||
| 911 | .ALIGN 64 | 915 | .ALIGN 64 |
| 912 | L\$AES_Td | 916 | L\$AES_Td |
| 913 | .WORD 0x51f4a750, 0x7e416553, 0x1a17a4c3, 0x3a275e96 | 917 | .WORD 0x51f4a750, 0x7e416553, 0x1a17a4c3, 0x3a275e96 |
| @@ -1006,9 +1010,7 @@ L\$AES_Td | |||
| 1006 | .BYTE 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61 | 1010 | .BYTE 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61 |
| 1007 | .BYTE 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26 | 1011 | .BYTE 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26 |
| 1008 | .BYTE 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d | 1012 | .BYTE 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d |
| 1009 | 1013 | .previous | |
| 1010 | .data | ||
| 1011 | .STRINGZ "AES for PA-RISC, CRYPTOGAMS by <appro\@openssl.org>" | ||
| 1012 | ___ | 1014 | ___ |
| 1013 | 1015 | ||
| 1014 | foreach (split("\n",$code)) { | 1016 | foreach (split("\n",$code)) { |
diff --git a/src/lib/libcrypto/arch/hppa/Makefile.inc b/src/lib/libcrypto/arch/hppa/Makefile.inc index 8744a0bbb8..eb15810f38 100644 --- a/src/lib/libcrypto/arch/hppa/Makefile.inc +++ b/src/lib/libcrypto/arch/hppa/Makefile.inc | |||
| @@ -1,9 +1,7 @@ | |||
| 1 | # $OpenBSD: Makefile.inc,v 1.11 2023/01/11 16:25:13 deraadt Exp $ | 1 | # $OpenBSD: Makefile.inc,v 1.12 2023/01/13 17:11:41 miod Exp $ |
| 2 | 2 | ||
| 3 | # hppa-specific libcrypto build rules | 3 | # hppa-specific libcrypto build rules |
| 4 | 4 | ||
| 5 | LDADD+= -Wl,--no-execute-only | ||
| 6 | |||
| 7 | # aes | 5 | # aes |
| 8 | SRCS+= aes_core.c aes_cbc.c | 6 | SRCS+= aes_core.c aes_cbc.c |
| 9 | CFLAGS+= -DAES_ASM | 7 | CFLAGS+= -DAES_ASM |
diff --git a/src/lib/libcrypto/bn/asm/parisc-mont.pl b/src/lib/libcrypto/bn/asm/parisc-mont.pl index 6da9574adf..0c7aff93b9 100644 --- a/src/lib/libcrypto/bn/asm/parisc-mont.pl +++ b/src/lib/libcrypto/bn/asm/parisc-mont.pl | |||
| @@ -126,12 +126,7 @@ $fni="%fr9"; $fnm0="%fr10"; $fnm1="%fr11"; | |||
| 126 | 126 | ||
| 127 | $code=<<___; | 127 | $code=<<___; |
| 128 | .LEVEL $LEVEL | 128 | .LEVEL $LEVEL |
| 129 | #if 0 | ||
| 130 | .SPACE \$TEXT\$ | ||
| 131 | .SUBSPA \$CODE\$,QUAD=0,ALIGN=8,ACCESS=0x2C,CODE_ONLY | ||
| 132 | #else | ||
| 133 | .text | 129 | .text |
| 134 | #endif | ||
| 135 | 130 | ||
| 136 | .EXPORT bn_mul_mont,ENTRY,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR | 131 | .EXPORT bn_mul_mont,ENTRY,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
| 137 | .ALIGN 64 | 132 | .ALIGN 64 |
| @@ -214,7 +209,7 @@ $code.=<<___; | |||
| 214 | flddx $idx($np),${fni} ; np[2,3] | 209 | flddx $idx($np),${fni} ; np[2,3] |
| 215 | ___ | 210 | ___ |
| 216 | $code.=<<___ if ($BN_SZ==4); | 211 | $code.=<<___ if ($BN_SZ==4); |
| 217 | #ifndef __OpenBSD__ | 212 | #ifdef __LP64__ |
| 218 | mtctl $hi0,%cr11 ; $hi0 still holds 31 | 213 | mtctl $hi0,%cr11 ; $hi0 still holds 31 |
| 219 | extrd,u,*= $hi0,%sar,1,$hi0 ; executes on PA-RISC 1.0 | 214 | extrd,u,*= $hi0,%sar,1,$hi0 ; executes on PA-RISC 1.0 |
| 220 | b L\$parisc11 | 215 | b L\$parisc11 |
| @@ -881,9 +876,6 @@ L\$abort | |||
| 881 | .EXIT | 876 | .EXIT |
| 882 | $POPMB -$FRAME(%sp),%r3 | 877 | $POPMB -$FRAME(%sp),%r3 |
| 883 | .PROCEND | 878 | .PROCEND |
| 884 | |||
| 885 | .data | ||
| 886 | .STRINGZ "Montgomery Multiplication for PA-RISC, CRYPTOGAMS by <appro\@openssl.org>" | ||
| 887 | ___ | 879 | ___ |
| 888 | 880 | ||
| 889 | # Explicitly encode PA-RISC 2.0 instructions used in this module, so | 881 | # Explicitly encode PA-RISC 2.0 instructions used in this module, so |
diff --git a/src/lib/libcrypto/modes/asm/ghash-parisc.pl b/src/lib/libcrypto/modes/asm/ghash-parisc.pl index 965802d3fa..3f98513105 100644 --- a/src/lib/libcrypto/modes/asm/ghash-parisc.pl +++ b/src/lib/libcrypto/modes/asm/ghash-parisc.pl | |||
| @@ -81,12 +81,7 @@ $rem2="%r6"; # used in PA-RISC 2.0 code | |||
| 81 | 81 | ||
| 82 | $code.=<<___; | 82 | $code.=<<___; |
| 83 | .LEVEL $LEVEL | 83 | .LEVEL $LEVEL |
| 84 | #if 0 | ||
| 85 | .SPACE \$TEXT\$ | ||
| 86 | .SUBSPA \$CODE\$,QUAD=0,ALIGN=8,ACCESS=0x2C,CODE_ONLY | ||
| 87 | #else | ||
| 88 | .text | 84 | .text |
| 89 | #endif | ||
| 90 | 85 | ||
| 91 | .EXPORT gcm_gmult_4bit,ENTRY,ARGW0=GR,ARGW1=GR | 86 | .EXPORT gcm_gmult_4bit,ENTRY,ARGW0=GR,ARGW1=GR |
| 92 | .ALIGN 64 | 87 | .ALIGN 64 |
| @@ -108,12 +103,14 @@ $code.=<<___ if ($SIZE_T==4); | |||
| 108 | $PUSH %r11,`-$FRAME+8*$SIZE_T`(%sp) | 103 | $PUSH %r11,`-$FRAME+8*$SIZE_T`(%sp) |
| 109 | ___ | 104 | ___ |
| 110 | $code.=<<___; | 105 | $code.=<<___; |
| 111 | blr %r0,$rem_4bit | ||
| 112 | ldi 3,$rem | ||
| 113 | L\$pic_gmult | ||
| 114 | andcm $rem_4bit,$rem,$rem_4bit | ||
| 115 | addl $inp,$len,$len | 106 | addl $inp,$len,$len |
| 116 | ldo L\$rem_4bit-L\$pic_gmult($rem_4bit),$rem_4bit | 107 | #ifdef __PIC__ |
| 108 | addil LT'L\$rem_4bit, %r19 | ||
| 109 | ldw RT'L\$rem_4bit(%r1), $rem_4bit | ||
| 110 | #else | ||
| 111 | ldil L'L\$rem_4bit, %t1 | ||
| 112 | ldo R'L\$rem_4bit(%t1), $rem_4bit | ||
| 113 | #endif | ||
| 117 | ldi 0xf0,$mask0xf0 | 114 | ldi 0xf0,$mask0xf0 |
| 118 | ___ | 115 | ___ |
| 119 | $code.=<<___ if ($SIZE_T==4); | 116 | $code.=<<___ if ($SIZE_T==4); |
| @@ -363,12 +360,14 @@ $code.=<<___ if ($SIZE_T==4); | |||
| 363 | $PUSH %r11,`-$FRAME+8*$SIZE_T`(%sp) | 360 | $PUSH %r11,`-$FRAME+8*$SIZE_T`(%sp) |
| 364 | ___ | 361 | ___ |
| 365 | $code.=<<___; | 362 | $code.=<<___; |
| 366 | blr %r0,$rem_4bit | ||
| 367 | ldi 3,$rem | ||
| 368 | L\$pic_ghash | ||
| 369 | andcm $rem_4bit,$rem,$rem_4bit | ||
| 370 | addl $inp,$len,$len | 363 | addl $inp,$len,$len |
| 371 | ldo L\$rem_4bit-L\$pic_ghash($rem_4bit),$rem_4bit | 364 | #ifdef __PIC__ |
| 365 | addil LT'L\$rem_4bit, %r19 | ||
| 366 | ldw RT'L\$rem_4bit(%r1), $rem_4bit | ||
| 367 | #else | ||
| 368 | ldil L'L\$rem_4bit, %t1 | ||
| 369 | ldo R'L\$rem_4bit(%t1), $rem_4bit | ||
| 370 | #endif | ||
| 372 | ldi 0xf0,$mask0xf0 | 371 | ldi 0xf0,$mask0xf0 |
| 373 | ___ | 372 | ___ |
| 374 | $code.=<<___ if ($SIZE_T==4); | 373 | $code.=<<___ if ($SIZE_T==4); |
| @@ -619,15 +618,15 @@ $code.=<<___; | |||
| 619 | $POPMB -$FRAME(%sp),%r3 | 618 | $POPMB -$FRAME(%sp),%r3 |
| 620 | .PROCEND | 619 | .PROCEND |
| 621 | 620 | ||
| 621 | .section .rodata | ||
| 622 | .ALIGN 64 | 622 | .ALIGN 64 |
| 623 | L\$rem_4bit | 623 | L\$rem_4bit |
| 624 | .WORD `0x0000<<16`,0,`0x1C20<<16`,0,`0x3840<<16`,0,`0x2460<<16`,0 | 624 | .WORD `0x0000<<16`,0,`0x1C20<<16`,0,`0x3840<<16`,0,`0x2460<<16`,0 |
| 625 | .WORD `0x7080<<16`,0,`0x6CA0<<16`,0,`0x48C0<<16`,0,`0x54E0<<16`,0 | 625 | .WORD `0x7080<<16`,0,`0x6CA0<<16`,0,`0x48C0<<16`,0,`0x54E0<<16`,0 |
| 626 | .WORD `0xE100<<16`,0,`0xFD20<<16`,0,`0xD940<<16`,0,`0xC560<<16`,0 | 626 | .WORD `0xE100<<16`,0,`0xFD20<<16`,0,`0xD940<<16`,0,`0xC560<<16`,0 |
| 627 | .WORD `0x9180<<16`,0,`0x8DA0<<16`,0,`0xA9C0<<16`,0,`0xB5E0<<16`,0 | 627 | .WORD `0x9180<<16`,0,`0x8DA0<<16`,0,`0xA9C0<<16`,0,`0xB5E0<<16`,0 |
| 628 | .previous | ||
| 628 | 629 | ||
| 629 | .data | ||
| 630 | .STRINGZ "GHASH for PA-RISC, GRYPTOGAMS by <appro\@openssl.org>" | ||
| 631 | .ALIGN 64 | 630 | .ALIGN 64 |
| 632 | ___ | 631 | ___ |
| 633 | 632 | ||
diff --git a/src/lib/libcrypto/rc4/asm/rc4-parisc.pl b/src/lib/libcrypto/rc4/asm/rc4-parisc.pl index 7e7974430a..24e3e0c30b 100644 --- a/src/lib/libcrypto/rc4/asm/rc4-parisc.pl +++ b/src/lib/libcrypto/rc4/asm/rc4-parisc.pl | |||
| @@ -137,12 +137,7 @@ ___ | |||
| 137 | 137 | ||
| 138 | $code=<<___; | 138 | $code=<<___; |
| 139 | .LEVEL $LEVEL | 139 | .LEVEL $LEVEL |
| 140 | #if 0 | ||
| 141 | .SPACE \$TEXT\$ | ||
| 142 | .SUBSPA \$CODE\$,QUAD=0,ALIGN=8,ACCESS=0x2C,CODE_ONLY | ||
| 143 | #else | ||
| 144 | .text | 140 | .text |
| 145 | #endif | ||
| 146 | 141 | ||
| 147 | .EXPORT RC4,ENTRY,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR | 142 | .EXPORT RC4,ENTRY,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
| 148 | RC4 | 143 | RC4 |
| @@ -297,20 +292,22 @@ RC4_options | |||
| 297 | .PROC | 292 | .PROC |
| 298 | .CALLINFO NO_CALLS | 293 | .CALLINFO NO_CALLS |
| 299 | .ENTRY | 294 | .ENTRY |
| 300 | blr %r0,%r28 | 295 | #ifdef __PIC__ |
| 301 | ldi 3,%r1 | 296 | addil LT'L\$opts, %r19 |
| 302 | L\$pic | 297 | ldw RT'L\$opts(%r1), %r28 |
| 303 | andcm %r28,%r1,%r28 | 298 | #else |
| 299 | ldil L'L\$opts, %t1 | ||
| 300 | ldo R'L\$opts(%t1), %r28 | ||
| 301 | #endif | ||
| 304 | bv (%r2) | 302 | bv (%r2) |
| 305 | .EXIT | 303 | .EXIT |
| 306 | ldo L\$opts-L\$pic(%r28),%r28 | 304 | nop |
| 307 | .PROCEND | 305 | .PROCEND |
| 308 | 306 | ||
| 309 | .data | 307 | .section .rodata |
| 310 | .ALIGN 8 | 308 | .ALIGN 8 |
| 311 | L\$opts | 309 | L\$opts |
| 312 | .STRINGZ "rc4(4x,`$SZ==1?"char":"int"`)" | 310 | .STRINGZ "rc4(4x,`$SZ==1?"char":"int"`)" |
| 313 | .STRINGZ "RC4 for PA-RISC, CRYPTOGAMS by <appro\@openssl.org>" | ||
| 314 | ___ | 311 | ___ |
| 315 | $code =~ s/\`([^\`]*)\`/eval $1/gem; | 312 | $code =~ s/\`([^\`]*)\`/eval $1/gem; |
| 316 | $code =~ s/cmpib,\*/comib,/gm if ($SIZE_T==4); | 313 | $code =~ s/cmpib,\*/comib,/gm if ($SIZE_T==4); |
diff --git a/src/lib/libcrypto/sha/asm/sha1-parisc.pl b/src/lib/libcrypto/sha/asm/sha1-parisc.pl index 6cb4656422..783c26272b 100644 --- a/src/lib/libcrypto/sha/asm/sha1-parisc.pl +++ b/src/lib/libcrypto/sha/asm/sha1-parisc.pl | |||
| @@ -146,12 +146,7 @@ ___ | |||
| 146 | 146 | ||
| 147 | $code=<<___; | 147 | $code=<<___; |
| 148 | .LEVEL $LEVEL | 148 | .LEVEL $LEVEL |
| 149 | #if 0 | ||
| 150 | .SPACE \$TEXT\$ | ||
| 151 | .SUBSPA \$CODE\$,QUAD=0,ALIGN=8,ACCESS=0x2C,CODE_ONLY | ||
| 152 | #else | ||
| 153 | .text | 149 | .text |
| 154 | #endif | ||
| 155 | 150 | ||
| 156 | .EXPORT sha1_block_data_order,ENTRY,ARGW0=GR,ARGW1=GR,ARGW2=GR | 151 | .EXPORT sha1_block_data_order,ENTRY,ARGW0=GR,ARGW1=GR,ARGW2=GR |
| 157 | sha1_block_data_order | 152 | sha1_block_data_order |
| @@ -254,9 +249,6 @@ $code.=<<___; | |||
| 254 | .EXIT | 249 | .EXIT |
| 255 | $POPMB -$FRAME(%sp),%r3 | 250 | $POPMB -$FRAME(%sp),%r3 |
| 256 | .PROCEND | 251 | .PROCEND |
| 257 | |||
| 258 | .data | ||
| 259 | .STRINGZ "SHA1 block transform for PA-RISC, CRYPTOGAMS by <appro\@openssl.org>" | ||
| 260 | ___ | 252 | ___ |
| 261 | 253 | ||
| 262 | $code =~ s/\`([^\`]*)\`/eval $1/gem; | 254 | $code =~ s/\`([^\`]*)\`/eval $1/gem; |
diff --git a/src/lib/libcrypto/sha/asm/sha512-parisc.pl b/src/lib/libcrypto/sha/asm/sha512-parisc.pl index 0704302d2a..42832e29f1 100755 --- a/src/lib/libcrypto/sha/asm/sha512-parisc.pl +++ b/src/lib/libcrypto/sha/asm/sha512-parisc.pl | |||
| @@ -159,13 +159,9 @@ ___ | |||
| 159 | 159 | ||
| 160 | $code=<<___; | 160 | $code=<<___; |
| 161 | .LEVEL $LEVEL | 161 | .LEVEL $LEVEL |
| 162 | #if 0 | ||
| 163 | .SPACE \$TEXT\$ | ||
| 164 | .SUBSPA \$CODE\$,QUAD=0,ALIGN=8,ACCESS=0x2C,CODE_ONLY | ||
| 165 | #else | ||
| 166 | .text | 162 | .text |
| 167 | #endif | ||
| 168 | 163 | ||
| 164 | .section .rodata | ||
| 169 | .ALIGN 64 | 165 | .ALIGN 64 |
| 170 | L\$table | 166 | L\$table |
| 171 | ___ | 167 | ___ |
| @@ -230,6 +226,7 @@ $code.=<<___ if ($SZ==4); | |||
| 230 | .WORD 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 | 226 | .WORD 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 |
| 231 | ___ | 227 | ___ |
| 232 | $code.=<<___; | 228 | $code.=<<___; |
| 229 | .previous | ||
| 233 | 230 | ||
| 234 | .EXPORT $func,ENTRY,ARGW0=GR,ARGW1=GR,ARGW2=GR | 231 | .EXPORT $func,ENTRY,ARGW0=GR,ARGW1=GR,ARGW2=GR |
| 235 | .ALIGN 64 | 232 | .ALIGN 64 |
| @@ -262,11 +259,13 @@ $func | |||
| 262 | $PUSH $inp,`-$FRAME_MARKER-3*$SIZE_T`(%sp) | 259 | $PUSH $inp,`-$FRAME_MARKER-3*$SIZE_T`(%sp) |
| 263 | $PUSH $ctx,`-$FRAME_MARKER-2*$SIZE_T`(%sp) | 260 | $PUSH $ctx,`-$FRAME_MARKER-2*$SIZE_T`(%sp) |
| 264 | 261 | ||
| 265 | blr %r0,$Tbl | 262 | #ifdef __PIC__ |
| 266 | ldi 3,$t1 | 263 | addil LT'L\$table, %r19 |
| 267 | L\$pic | 264 | ldw RT'L\$table(%r1), $Tbl |
| 268 | andcm $Tbl,$t1,$Tbl ; wipe privilege level | 265 | #else |
| 269 | ldo L\$table-L\$pic($Tbl),$Tbl | 266 | ldil L'L\$table, %t1 |
| 267 | ldo R'L\$table(%t1), $Tbl | ||
| 268 | #endif | ||
| 270 | ___ | 269 | ___ |
| 271 | $code.=<<___ if ($SZ==8 && $SIZE_T==4); | 270 | $code.=<<___ if ($SZ==8 && $SIZE_T==4); |
| 272 | #ifndef __OpenBSD__ | 271 | #ifndef __OpenBSD__ |
| @@ -692,9 +691,6 @@ $code.=<<___; | |||
| 692 | .EXIT | 691 | .EXIT |
| 693 | $POPMB -$FRAME(%sp),%r3 | 692 | $POPMB -$FRAME(%sp),%r3 |
| 694 | .PROCEND | 693 | .PROCEND |
| 695 | |||
| 696 | .data | ||
| 697 | .STRINGZ "SHA`64*$SZ` block transform for PA-RISC, CRYPTOGAMS by <appro\@openssl.org>" | ||
| 698 | ___ | 694 | ___ |
| 699 | 695 | ||
| 700 | # Explicitly encode PA-RISC 2.0 instructions used in this module, so | 696 | # Explicitly encode PA-RISC 2.0 instructions used in this module, so |
