svn commit: r366344 - in head: lib/libmd sys/crypto/skein/amd64

Cy Schubert Cy.Schubert at cschubert.com
Fri Oct 2 01:23:55 UTC 2020


In message <CACNAnaG13rxG-rxzzkQgTazr2_-dy1kpHEmBZjwr=tGnB+oMzQ at mail.gmail.c
om>
, Kyle Evans writes:
> On Thu, Oct 1, 2020 at 4:06 PM Ed Maste <emaste at 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 <yzhong at 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 re
> place 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 rep
> lace with assembly: 256+512+1024 = 1792
> > +.endif
> >  .if exists(${MACHINE_ARCH}/sha.S) || exists(${MACHINE_ARCH}/rmd160.S) || e
> xists(${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.

I did rm -r for .../lib/libmd.

Strangely it only failed in the amd64 build. Not in i386.


-- 
Cheers,
Cy Schubert <Cy.Schubert at cschubert.com>
FreeBSD UNIX:  <cy at FreeBSD.org>   Web:  https://FreeBSD.org
NTP:           <cy at nwtime.org>    Web:  https://nwtime.org

	The need of the many outweighs the greed of the few.




More information about the svn-src-all mailing list