summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/rc4/asm
diff options
context:
space:
mode:
authormiod <>2023-01-13 17:11:41 +0000
committermiod <>2023-01-13 17:11:41 +0000
commit364fc1ecd2d96b869246574350c6925835b991ab (patch)
tree754902f7e6ad288b35b04ef817ed997460a00546 /src/lib/libcrypto/rc4/asm
parentf80a4029bb2f43fe5f0270857d48bc9d41d3ea4e (diff)
downloadopenbsd-364fc1ecd2d96b869246574350c6925835b991ab.tar.gz
openbsd-364fc1ecd2d96b869246574350c6925835b991ab.tar.bz2
openbsd-364fc1ecd2d96b869246574350c6925835b991ab.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 'src/lib/libcrypto/rc4/asm')
-rw-r--r--src/lib/libcrypto/rc4/asm/rc4-parisc.pl21
1 files changed, 9 insertions, 12 deletions
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
148RC4 143RC4
@@ -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
302L\$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
311L\$opts 309L\$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);