diff options
author | wollman <wollman@FreeBSD.org> | 1999-03-01 02:39:45 +0000 |
---|---|---|
committer | wollman <wollman@FreeBSD.org> | 1999-03-01 02:39:45 +0000 |
commit | e903dee1c16c251b5efd30f27691e57140fbb74c (patch) | |
tree | 98f6dd2269461fdea72eba39be747e9532a45ee3 | |
parent | 15ef0b89c9d775efff5b968efcc4081306c827e8 (diff) | |
download | FreeBSD-src-e903dee1c16c251b5efd30f27691e57140fbb74c.zip FreeBSD-src-e903dee1c16c251b5efd30f27691e57140fbb74c.tar.gz |
Don't even attempt to build the assembly-language versions of RIPEMD160
and SHA-1 when OBJFORMAT is not ELF. Add a warning to the man page
about how SHA-1 uses bswapl, which will trap on 80386es (and the kernel
should, but doesn't currently, emulate).
-rw-r--r-- | lib/libmd/Makefile | 4 | ||||
-rw-r--r-- | lib/libmd/sha.3 | 14 |
2 files changed, 16 insertions, 2 deletions
diff --git a/lib/libmd/Makefile b/lib/libmd/Makefile index a0658f5..7a67794 100644 --- a/lib/libmd/Makefile +++ b/lib/libmd/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.29 1999/02/26 04:24:56 wollman Exp $ +# $Id: Makefile,v 1.30 1999/02/26 18:41:45 wollman Exp $ LIB= md SRCS= md2c.c md4c.c md5c.c md2hl.c md4hl.c md5hl.c \ @@ -17,6 +17,7 @@ CLEANFILES+= md[245]hl.c md[245].ref md[245].3 mddriver \ CFLAGS+= -I${.CURDIR} .PATH: ${.CURDIR}/${MACHINE_ARCH} +.if ${OBJFORMAT} == "elf" .if exists(${MACHINE_ARCH}/sha.S) SRCS+= sha.S CFLAGS+= -DSHA1_ASM -DELF @@ -25,6 +26,7 @@ CFLAGS+= -DSHA1_ASM -DELF SRCS+= rmd160.S CFLAGS+= -DRMD160_ASM -DELF .endif +.endif all: md2.3 md4.3 md5.3 diff --git a/lib/libmd/sha.3 b/lib/libmd/sha.3 index 28a29bd..8c9bc1c 100644 --- a/lib/libmd/sha.3 +++ b/lib/libmd/sha.3 @@ -7,7 +7,7 @@ .\" ---------------------------------------------------------------------------- .\" .\" From: Id: mdX.3,v 1.14 1999/02/11 20:31:49 wollman Exp -.\" $Id: sha.3,v 1.1 1999/02/26 04:24:56 wollman Exp $ +.\" $Id: sha.3,v 1.2 1999/02/26 18:41:45 wollman Exp $ .\" .Dd February 25, 1999 .Dt SHA 3 @@ -137,3 +137,15 @@ These functions appeared in No method is known to exist which finds two files having the same hash value, nor to find a file with a specific hash value. There is on the other hand no guarantee that such a method doesn't exist. +.Pp +The +.Tn IA32 +(Intel) implementation of +.Tn SHA-1 +makes heavy use of the +.Ql bswapl +instruction, which is not present on the original 80386. Attempts +to use +.Tn SHA-1 +on those processors will cause an illegal instruction trap. +(Arguably, the kernel should simply emulate this instruction.) |