diff options
author | Ben Laurie <ben@openssl.org> | 1999-03-07 15:08:04 +0000 |
---|---|---|
committer | Ben Laurie <ben@openssl.org> | 1999-03-07 15:08:04 +0000 |
commit | 05dc84b82bf5390bf565eda8f32d6f3e701d3b27 (patch) | |
tree | 58d1729981bc57ab2eaaf07b753b6c6a585df8df /crypto/rc4 | |
parent | 7d3ce7ba371aa6df39ec5501282dd6e11b70bbbd (diff) | |
download | openssl-05dc84b82bf5390bf565eda8f32d6f3e701d3b27.tar.gz |
Fix DWP when only given three parameters.
Diffstat (limited to 'crypto/rc4')
-rw-r--r-- | crypto/rc4/Makefile.ssl | 2 | ||||
-rw-r--r-- | crypto/rc4/asm/rx86unix.cpp | 358 |
2 files changed, 1 insertions, 359 deletions
diff --git a/crypto/rc4/Makefile.ssl b/crypto/rc4/Makefile.ssl index 47539bd418..c1ce04590c 100644 --- a/crypto/rc4/Makefile.ssl +++ b/crypto/rc4/Makefile.ssl @@ -65,7 +65,7 @@ asm/rx86-out.o: asm/rx86unix.cpp asm/rx86bsdi.o: asm/rx86unix.cpp $(CPP) -DBSDI asm/rx86unix.cpp | sed 's/ :/:/' | as -o asm/rx86bsdi.o -asm/rx86unix.cpp: +asm/rx86unix.cpp: asm/rc4-586.pl (cd asm; perl rc4-586.pl cpp >rx86unix.cpp) files: diff --git a/crypto/rc4/asm/rx86unix.cpp b/crypto/rc4/asm/rx86unix.cpp deleted file mode 100644 index ec1d72a110..0000000000 --- a/crypto/rc4/asm/rx86unix.cpp +++ /dev/null @@ -1,358 +0,0 @@ -/* Run the C pre-processor over this file with one of the following defined - * ELF - elf object files, - * OUT - a.out object files, - * BSDI - BSDI style a.out object files - * SOL - Solaris style elf - */ - -#define TYPE(a,b) .type a,b -#define SIZE(a,b) .size a,b - -#if defined(OUT) || defined(BSDI) -#define RC4 _RC4 - -#endif - -#ifdef OUT -#define OK 1 -#define ALIGN 4 -#endif - -#ifdef BSDI -#define OK 1 -#define ALIGN 4 -#undef SIZE -#undef TYPE -#define SIZE(a,b) -#define TYPE(a,b) -#endif - -#if defined(ELF) || defined(SOL) -#define OK 1 -#define ALIGN 16 -#endif - -#ifndef OK -You need to define one of -ELF - elf systems - linux-elf, NetBSD and DG-UX -OUT - a.out systems - linux-a.out and FreeBSD -SOL - solaris systems, which are elf with strange comment lines -BSDI - a.out with a very primative version of as. -#endif - -/* Let the Assembler begin :-) */ - /* Don't even think of reading this code */ - /* It was automatically generated by rc4-586.pl */ - /* Which is a perl program used to generate the x86 assember for */ - /* any of elf, a.out, BSDI,Win32, or Solaris */ - /* eric <eay@cryptsoft.com> */ - - .file "rc4-586.s" - .version "01.01" -gcc2_compiled.: -.text - .align ALIGN -.globl RC4 - TYPE(RC4,@function) -RC4: - - pushl %ebp - pushl %ebx - movl 12(%esp), %ebp - movl 16(%esp), %ebx - pushl %esi - pushl %edi - movl (%ebp), %ecx - movl 4(%ebp), %edx - movl 28(%esp), %esi - incl %ecx - subl $12, %esp - addl $8, %ebp - andl $255, %ecx - leal -8(%ebx,%esi,), %ebx - movl 44(%esp), %edi - movl %ebx, 8(%esp) - movl (%ebp,%ecx,4), %eax - cmpl %esi, %ebx - jl .L000end -.L001start: - addl $8, %esi - /* Round 0 */ - addl %eax, %edx - andl $255, %edx - incl %ecx - movl (%ebp,%edx,4), %ebx - movl %ebx, -4(%ebp,%ecx,4) - addl %eax, %ebx - andl $255, %ecx - andl $255, %ebx - movl %eax, (%ebp,%edx,4) - nop - movl (%ebp,%ebx,4), %ebx - movl (%ebp,%ecx,4), %eax - movb %bl, (%esp) - /* Round 1 */ - addl %eax, %edx - andl $255, %edx - incl %ecx - movl (%ebp,%edx,4), %ebx - movl %ebx, -4(%ebp,%ecx,4) - addl %eax, %ebx - andl $255, %ecx - andl $255, %ebx - movl %eax, (%ebp,%edx,4) - nop - movl (%ebp,%ebx,4), %ebx - movl (%ebp,%ecx,4), %eax - movb %bl, 1(%esp) - /* Round 2 */ - addl %eax, %edx - andl $255, %edx - incl %ecx - movl (%ebp,%edx,4), %ebx - movl %ebx, -4(%ebp,%ecx,4) - addl %eax, %ebx - andl $255, %ecx - andl $255, %ebx - movl %eax, (%ebp,%edx,4) - nop - movl (%ebp,%ebx,4), %ebx - movl (%ebp,%ecx,4), %eax - movb %bl, 2(%esp) - /* Round 3 */ - addl %eax, %edx - andl $255, %edx - incl %ecx - movl (%ebp,%edx,4), %ebx - movl %ebx, -4(%ebp,%ecx,4) - addl %eax, %ebx - andl $255, %ecx - andl $255, %ebx - movl %eax, (%ebp,%edx,4) - nop - movl (%ebp,%ebx,4), %ebx - movl (%ebp,%ecx,4), %eax - movb %bl, 3(%esp) - /* Round 4 */ - addl %eax, %edx - andl $255, %edx - incl %ecx - movl (%ebp,%edx,4), %ebx - movl %ebx, -4(%ebp,%ecx,4) - addl %eax, %ebx - andl $255, %ecx - andl $255, %ebx - movl %eax, (%ebp,%edx,4) - nop - movl (%ebp,%ebx,4), %ebx - movl (%ebp,%ecx,4), %eax - movb %bl, 4(%esp) - /* Round 5 */ - addl %eax, %edx - andl $255, %edx - incl %ecx - movl (%ebp,%edx,4), %ebx - movl %ebx, -4(%ebp,%ecx,4) - addl %eax, %ebx - andl $255, %ecx - andl $255, %ebx - movl %eax, (%ebp,%edx,4) - nop - movl (%ebp,%ebx,4), %ebx - movl (%ebp,%ecx,4), %eax - movb %bl, 5(%esp) - /* Round 6 */ - addl %eax, %edx - andl $255, %edx - incl %ecx - movl (%ebp,%edx,4), %ebx - movl %ebx, -4(%ebp,%ecx,4) - addl %eax, %ebx - andl $255, %ecx - andl $255, %ebx - movl %eax, (%ebp,%edx,4) - nop - movl (%ebp,%ebx,4), %ebx - movl (%ebp,%ecx,4), %eax - movb %bl, 6(%esp) - /* Round 7 */ - addl %eax, %edx - andl $255, %edx - incl %ecx - movl (%ebp,%edx,4), %ebx - movl %ebx, -4(%ebp,%ecx,4) - addl %eax, %ebx - andl $255, %ecx - andl $255, %ebx - movl %eax, (%ebp,%edx,4) - nop - movl (%ebp,%ebx,4), %ebx - addl $8, %edi - movb %bl, 7(%esp) - /* apply the cipher text */ - movl (%esp), %eax - movl -8(%esi), %ebx - xorl %ebx, %eax - movl -4(%esi), %ebx - movl %eax, -8(%edi) - movl 4(%esp), %eax - xorl %ebx, %eax - movl 8(%esp), %ebx - movl %eax, -4(%edi) - movl (%ebp,%ecx,4), %eax - cmpl %ebx, %esi - jle .L001start -.L000end: - /* Round 0 */ - addl $8, %ebx - incl %esi - cmpl %esi, %ebx - jl .L002finished - movl %ebx, 8(%esp) - addl %eax, %edx - andl $255, %edx - incl %ecx - movl (%ebp,%edx,4), %ebx - movl %ebx, -4(%ebp,%ecx,4) - addl %eax, %ebx - andl $255, %ecx - andl $255, %ebx - movl %eax, (%ebp,%edx,4) - nop - movl (%ebp,%ebx,4), %ebx - movl (%ebp,%ecx,4), %eax - movb -1(%esi), %bh - xorb %bh, %bl - movb %bl, (%edi) - /* Round 1 */ - movl 8(%esp), %ebx - cmpl %esi, %ebx - jle .L002finished - incl %esi - addl %eax, %edx - andl $255, %edx - incl %ecx - movl (%ebp,%edx,4), %ebx - movl %ebx, -4(%ebp,%ecx,4) - addl %eax, %ebx - andl $255, %ecx - andl $255, %ebx - movl %eax, (%ebp,%edx,4) - nop - movl (%ebp,%ebx,4), %ebx - movl (%ebp,%ecx,4), %eax - movb -1(%esi), %bh - xorb %bh, %bl - movb %bl, 1(%edi) - /* Round 2 */ - movl 8(%esp), %ebx - cmpl %esi, %ebx - jle .L002finished - incl %esi - addl %eax, %edx - andl $255, %edx - incl %ecx - movl (%ebp,%edx,4), %ebx - movl %ebx, -4(%ebp,%ecx,4) - addl %eax, %ebx - andl $255, %ecx - andl $255, %ebx - movl %eax, (%ebp,%edx,4) - nop - movl (%ebp,%ebx,4), %ebx - movl (%ebp,%ecx,4), %eax - movb -1(%esi), %bh - xorb %bh, %bl - movb %bl, 2(%edi) - /* Round 3 */ - movl 8(%esp), %ebx - cmpl %esi, %ebx - jle .L002finished - incl %esi - addl %eax, %edx - andl $255, %edx - incl %ecx - movl (%ebp,%edx,4), %ebx - movl %ebx, -4(%ebp,%ecx,4) - addl %eax, %ebx - andl $255, %ecx - andl $255, %ebx - movl %eax, (%ebp,%edx,4) - nop - movl (%ebp,%ebx,4), %ebx - movl (%ebp,%ecx,4), %eax - movb -1(%esi), %bh - xorb %bh, %bl - movb %bl, 3(%edi) - /* Round 4 */ - movl 8(%esp), %ebx - cmpl %esi, %ebx - jle .L002finished - incl %esi - addl %eax, %edx - andl $255, %edx - incl %ecx - movl (%ebp,%edx,4), %ebx - movl %ebx, -4(%ebp,%ecx,4) - addl %eax, %ebx - andl $255, %ecx - andl $255, %ebx - movl %eax, (%ebp,%edx,4) - nop - movl (%ebp,%ebx,4), %ebx - movl (%ebp,%ecx,4), %eax - movb -1(%esi), %bh - xorb %bh, %bl - movb %bl, 4(%edi) - /* Round 5 */ - movl 8(%esp), %ebx - cmpl %esi, %ebx - jle .L002finished - incl %esi - addl %eax, %edx - andl $255, %edx - incl %ecx - movl (%ebp,%edx,4), %ebx - movl %ebx, -4(%ebp,%ecx,4) - addl %eax, %ebx - andl $255, %ecx - andl $255, %ebx - movl %eax, (%ebp,%edx,4) - nop - movl (%ebp,%ebx,4), %ebx - movl (%ebp,%ecx,4), %eax - movb -1(%esi), %bh - xorb %bh, %bl - movb %bl, 5(%edi) - /* Round 6 */ - movl 8(%esp), %ebx - cmpl %esi, %ebx - jle .L002finished - incl %esi - addl %eax, %edx - andl $255, %edx - incl %ecx - movl (%ebp,%edx,4), %ebx - movl %ebx, -4(%ebp,%ecx,4) - addl %eax, %ebx - andl $255, %ecx - andl $255, %ebx - movl %eax, (%ebp,%edx,4) - nop - movl (%ebp,%ebx,4), %ebx - movb -1(%esi), %bh - xorb %bh, %bl - movb %bl, 6(%edi) -.L002finished: - decl %ecx - addl $12, %esp - movl %edx, -4(%ebp) - movb %cl, -8(%ebp) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.RC4_end: - SIZE(RC4,.RC4_end-RC4) -.ident "RC4" |