On Thu, Oct 1, 2020 at 4:06 PM Ed Maste <ema...@freebsd.org> wrote: > > Author: emaste > Date: Thu Oct 1 21:05:50 2020 > New Revision: 366344 > URL: https://svnweb.freebsd.org/changeset/base/366344 > > Log: > libmd: fix assembly optimized skein implementation > > The assembly implementation incorrectly used logical AND instead of > bitwise AND. Fix, and re-enable in libmd. > > Submitted by: Yang Zhong <yzh...@freebsdfoundation.org> > Reviewed by: cem (earlier) > Sponsored by: The FreeBSD Foundation > Differential Revision: https://reviews.freebsd.org/D26614 > > Modified: > head/lib/libmd/Makefile > head/sys/crypto/skein/amd64/skein_block_asm.S > > Modified: head/lib/libmd/Makefile > ============================================================================== > --- head/lib/libmd/Makefile Thu Oct 1 20:08:27 2020 (r366343) > +++ head/lib/libmd/Makefile Thu Oct 1 21:05:50 2020 (r366344) > @@ -116,12 +116,12 @@ CFLAGS+= -DSHA1_ASM > SRCS+= rmd160.S > CFLAGS+= -DRMD160_ASM > .endif > -#.if exists(${MACHINE_ARCH}/skein_block_asm.S) > -## Fully unroll all loops in the assembly optimized version > -#ACFLAGS+= -DSKEIN_LOOP=0 > -#SRCS+= skein_block_asm.S > -#CFLAGS+= -DSKEIN_ASM -DSKEIN_USE_ASM=1792 # list of block functions to > replace with assembly: 256+512+1024 = 1792 > -#.endif > +.if exists(${MACHINE_ARCH}/skein_block_asm.S) > +# Fully unroll all loops in the assembly optimized version > +ACFLAGS+= -DSKEIN_LOOP=0 > +SRCS+= skein_block_asm.S > +CFLAGS+= -DSKEIN_ASM -DSKEIN_USE_ASM=1792 # list of block functions to > replace with assembly: 256+512+1024 = 1792 > +.endif > .if exists(${MACHINE_ARCH}/sha.S) || exists(${MACHINE_ARCH}/rmd160.S) || > exists(${MACHINE_ARCH}/skein_block_asm.S) > ACFLAGS+= -DELF -Wa,--noexecstack > .endif >
We need some kind of magic to walk across this for -DNO_CLEAN builds -- skein_block.c has no reason to get rebuilt, but we need it to because we're now defining SKEIN_USE_ASM=1792, which will strip out some symbols. I haven't had time to look into what kind of magic we can apply here, kind of needed to skip ahead to get this build finished for some other testing. Thanks, Kyle Evans _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"