Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 01 Oct 2020 18:23:49 -0700
From:      Cy Schubert <Cy.Schubert@cschubert.com>
To:        Kyle Evans <self@kyle-evans.net>
Cc:        Ed Maste <emaste@freebsd.org>, src-committers <src-committers@freebsd.org>, svn-src-all <svn-src-all@freebsd.org>, svn-src-head <svn-src-head@freebsd.org>
Subject:   Re: svn commit: r366344 - in head: lib/libmd sys/crypto/skein/amd64
Message-ID:  <202010020123.0921NnJU006207@slippy.cwsent.com>
In-Reply-To: <CACNAnaG13rxG-rxzzkQgTazr2_-dy1kpHEmBZjwr=tGnB%2BoMzQ@mail.gmail.com>
References:  <202010012105.091L5pAn099334@repo.freebsd.org>  <CACNAnaG13rxG-rxzzkQgTazr2_-dy1kpHEmBZjwr=tGnB%2BoMzQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In message <CACNAnaG13rxG-rxzzkQgTazr2_-dy1kpHEmBZjwr=tGnB+oMzQ@mail.gmail.c
om>
, Kyle Evans writes:
> On Thu, Oct 1, 2020 at 4:06 PM Ed Maste <emaste@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@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@cschubert.com>
FreeBSD UNIX:  <cy@FreeBSD.org>   Web:  https://FreeBSD.org
NTP:           <cy@nwtime.org>    Web:  https://nwtime.org

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





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202010020123.0921NnJU006207>