From 99dee78c2d44641ba56e5bb640d732f993b3dfa1 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Wed, 30 Dec 2020 07:39:16 -0500 Subject: all: remove $OBJTYPE from build Now that we assume pthreads, the only assembly left is in libmp and libsec. We only ever added assembly for 386. The portable C code is fine for plan9port. --- src/libsec/386/sha1block.spp | 221 ------------------------------------------- 1 file changed, 221 deletions(-) delete mode 100644 src/libsec/386/sha1block.spp (limited to 'src/libsec/386/sha1block.spp') diff --git a/src/libsec/386/sha1block.spp b/src/libsec/386/sha1block.spp deleted file mode 100644 index 386b2e6c..00000000 --- a/src/libsec/386/sha1block.spp +++ /dev/null @@ -1,221 +0,0 @@ -.text - -.p2align 2,0x90 -#ifdef __Darwin__ -.globl __sha1block -__sha1block: -#else -.globl _sha1block -_sha1block: -#endif - -/* x = (wp[off-f] ^ wp[off-8] ^ wp[off-14] ^ wp[off-16]) <<< 1; - * wp[off] = x; - * x += A <<< 5; - * E += 0xca62c1d6 + x; - * x = FN(B,C,D); - * E += x; - * B >>> 2 - */ -#define BSWAPDI BYTE $0x0f; BYTE $0xcf; - -#define BODY(off,FN,V,A,B,C,D,E)\ - movl (off-64)(%ebp), %edi;\ - xorl (off-56)(%ebp), %edi;\ - xorl (off-32)(%ebp), %edi;\ - xorl (off-12)(%ebp), %edi;\ - roll $1, %edi;\ - movl %edi, off(%ebp);\ - leal V(%edi, E, 1), E;\ - movl A, %edi;\ - roll $5, %edi;\ - addl %edi, E;\ - FN(B,C,D)\ - addl %edi, E;\ - rorl $2, B;\ - -#define BODY0(off,FN,V,A,B,C,D,E)\ - movl off(%ebx), %edi;\ - bswap %edi;\ - movl %edi, off(%ebp);\ - leal V(%edi,E,1), E;\ - movl A, %edi;\ - roll $5,%edi;\ - addl %edi,E;\ - FN(B,C,D)\ - addl %edi,E;\ - rorl $2,B;\ - -/* - * fn1 = (((C^D)&B)^D); - */ -#define FN1(B,C,D)\ - movl C, %edi;\ - xorl D, %edi;\ - andl B, %edi;\ - xorl D, %edi;\ - -/* - * fn24 = B ^ C ^ D - */ -#define FN24(B,C,D)\ - movl B, %edi;\ - xorl C, %edi;\ - xorl D, %edi;\ - -/* - * fn3 = ((B ^ C) & (D ^= B)) ^ B - * D ^= B to restore D - */ -#define FN3(B,C,D)\ - movl B, %edi;\ - xorl C, %edi;\ - xorl B, D;\ - andl D, %edi;\ - xorl B, %edi;\ - xorl B, D;\ - -/* - * stack offsets - * void sha1block(uchar *DATA, int LEN, ulong *STATE) - */ -#define STACKSIZE (48+80*4) -#define DATA (STACKSIZE+8) -#define LEN (STACKSIZE+12) -#define STATE (STACKSIZE+16) - -/* - * stack offsets for locals - * ulong w[80]; - * uchar *edata; - * ulong *w15, *w40, *w60, *w80; - * register local - * ulong *wp = %ebp - * ulong a = eax, b = ebx, c = ecx, d = edx, e = esi - * ulong tmp = edi - */ -#define WARRAY (STACKSIZE-4-(80*4)) -#define TMP1 (STACKSIZE-8-(80*4)) -#define TMP2 (STACKSIZE-12-(80*4)) -#define W15 (STACKSIZE-16-(80*4)) -#define W40 (STACKSIZE-20-(80*4)) -#define W60 (STACKSIZE-24-(80*4)) -#define W80 (STACKSIZE-28-(80*4)) -#define EDATA (STACKSIZE-32-(80*4)) -#define OLDEBX (STACKSIZE-36-(80*4)) -#define OLDESI (STACKSIZE-40-(80*4)) -#define OLDEDI (STACKSIZE-44-(80*4)) - - /* Prelude */ - pushl %ebp - subl $(STACKSIZE), %esp - - mov %ebx, OLDEBX(%esp) - mov %esi, OLDESI(%esp) - mov %edi, OLDEDI(%esp) - - movl DATA(%esp), %eax - addl LEN(%esp), %eax - movl %eax, EDATA(%esp) - - leal (WARRAY+15*4)(%esp), %edi /* aw15 */ - movl %edi, W15(%esp) - leal (WARRAY+40*4)(%esp), %edx /* aw40 */ - movl %edx, W40(%esp) - leal (WARRAY+60*4)(%esp), %ecx /* aw60 */ - movl %ecx, W60(%esp) - leal (WARRAY+80*4)(%esp), %edi /* aw80 */ - movl %edi, W80(%esp) - -0: - leal WARRAY(%esp), %ebp /* warray */ - - movl STATE(%esp), %edi /* state */ - movl (%edi),%eax - movl 4(%edi),%ebx - movl %ebx, TMP1(%esp) /* tmp1 */ - movl 8(%edi), %ecx - movl 12(%edi), %edx - movl 16(%edi), %esi - - movl DATA(%esp), %ebx /* data */ - -1: - BODY0(0,FN1,0x5a827999,%eax,TMP1(%esp),%ecx,%edx,%esi) - movl %esi,TMP2(%esp) - BODY0(4,FN1,0x5a827999,%esi,%eax,TMP1(%esp),%ecx,%edx) - movl TMP1(%esp),%esi - BODY0(8,FN1,0x5a827999,%edx,TMP2(%esp),%eax,%esi,%ecx) - BODY0(12,FN1,0x5a827999,%ecx,%edx,TMP2(%esp),%eax,%esi) - movl %esi,TMP1(%esp) - BODY0(16,FN1,0x5a827999,%esi,%ecx,%edx,TMP2(%esp),%eax) - movl TMP2(%esp),%esi - - addl $20, %ebx - addl $20, %ebp - cmpl W15(%esp), %ebp /* w15 */ - jb 1b - - BODY0(0,FN1,0x5a827999,%eax,TMP1(%esp),%ecx,%edx,%esi) - addl $4, %ebx - movl %ebx, DATA(%esp) /* data */ - movl TMP1(%esp),%ebx - - BODY(4,FN1,0x5a827999,%esi,%eax,%ebx,%ecx,%edx) - BODY(8,FN1,0x5a827999,%edx,%esi,%eax,%ebx,%ecx) - BODY(12,FN1,0x5a827999,%ecx,%edx,%esi,%eax,%ebx) - BODY(16,FN1,0x5a827999,%ebx,%ecx,%edx,%esi,%eax) - - addl $20, %ebp - -2: - BODY(0,FN24,0x6ed9eba1,%eax,%ebx,%ecx,%edx,%esi) - BODY(4,FN24,0x6ed9eba1,%esi,%eax,%ebx,%ecx,%edx) - BODY(8,FN24,0x6ed9eba1,%edx,%esi,%eax,%ebx,%ecx) - BODY(12,FN24,0x6ed9eba1,%ecx,%edx,%esi,%eax,%ebx) - BODY(16,FN24,0x6ed9eba1,%ebx,%ecx,%edx,%esi,%eax) - - addl $20,%ebp - cmpl W40(%esp), %ebp - jb 2b - -3: - BODY(0,FN3,0x8f1bbcdc,%eax,%ebx,%ecx,%edx,%esi) - BODY(4,FN3,0x8f1bbcdc,%esi,%eax,%ebx,%ecx,%edx) - BODY(8,FN3,0x8f1bbcdc,%edx,%esi,%eax,%ebx,%ecx) - BODY(12,FN3,0x8f1bbcdc,%ecx,%edx,%esi,%eax,%ebx) - BODY(16,FN3,0x8f1bbcdc,%ebx,%ecx,%edx,%esi,%eax) - - addl $20, %ebp - cmpl W60(%esp), %ebp /* w60 */ - jb 3b - -4: - BODY(0,FN24,0xca62c1d6,%eax,%ebx,%ecx,%edx,%esi) - BODY(4,FN24,0xca62c1d6,%esi,%eax,%ebx,%ecx,%edx) - BODY(8,FN24,0xca62c1d6,%edx,%esi,%eax,%ebx,%ecx) - BODY(12,FN24,0xca62c1d6,%ecx,%edx,%esi,%eax,%ebx) - BODY(16,FN24,0xca62c1d6,%ebx,%ecx,%edx,%esi,%eax) - - addl $20, %ebp - cmpl W80(%esp), %ebp /* w80 */ - jb 4b - - movl STATE(%esp), %edi /* state */ - addl %eax, 0(%edi) - addl %ebx, 4(%edi) - addl %ecx, 8(%edi) - addl %edx, 12(%edi) - addl %esi, 16(%edi) - - movl EDATA(%esp), %edi /* edata */ - cmpl %edi, DATA(%esp) /* data */ - jb 0b - - /* Postlude */ - mov OLDEBX(%esp), %ebx - mov OLDESI(%esp), %esi - mov OLDEDI(%esp), %edi - addl $(STACKSIZE), %esp - popl %ebp - ret -- cgit v1.2.3