summaryrefslogtreecommitdiffstats
path: root/lib/libmd
diff options
context:
space:
mode:
authorwollman <wollman@FreeBSD.org>1999-03-01 02:39:45 +0000
committerwollman <wollman@FreeBSD.org>1999-03-01 02:39:45 +0000
commite903dee1c16c251b5efd30f27691e57140fbb74c (patch)
tree98f6dd2269461fdea72eba39be747e9532a45ee3 /lib/libmd
parent15ef0b89c9d775efff5b968efcc4081306c827e8 (diff)
downloadFreeBSD-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).
Diffstat (limited to 'lib/libmd')
-rw-r--r--lib/libmd/Makefile4
-rw-r--r--lib/libmd/sha.314
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.)
OpenPOWER on IntegriCloud