On Fri, Sep 18, 2020 at 9:06 AM Alexander Richardson <arichard...@freebsd.org> wrote: > > On Fri, 18 Sep 2020 at 14:12, Kyle Evans <kev...@freebsd.org> wrote: > > > > On Fri, Sep 18, 2020 at 6:22 AM Alex Richardson <arichard...@freebsd.org> > > wrote: > > > > > > Author: arichardson > > > Date: Fri Sep 18 11:22:34 2020 > > > New Revision: 365876 > > > URL: https://svnweb.freebsd.org/changeset/base/365876 > > > > > > Log: > > > libarchive: fix mismatch between library and test configuration > > > > > > I was investigating libarchive test failures on CheriBSD and it turns > > > out > > > we get a reproducible SIGBUS for test_archive_m5, etc. Debugging this > > > shows > > > that libarchive and the tests disagree when it comes to the definition > > > of > > > archive_md5_ctx: libarchive assumes it's the OpenSSL type whereas the > > > test > > > use the libmd type. The latter is not necessarily aligned enough to > > > store > > > a pointer (16 bytes for CHERI RISC-V), so we were crashing when storing > > > EVP_MD_CTX* to an 8-byte-aligned archive_md5_ctx. > > > > > > To avoid problems like this in the future, factor out the common > > > compiler > > > flags into a Makefile.inc and include that from the tests Makefile. > > > > > > Reviewed By: lwhsu > > > Differential Revision: https://reviews.freebsd.org/D26469 > > > > > > Added: > > > head/lib/libarchive/Makefile.inc (contents, props changed) > > > Modified: > > > head/lib/libarchive/Makefile > > > head/lib/libarchive/tests/Makefile > > > > > > [.. snip ..] > > > Modified: head/lib/libarchive/tests/Makefile > > > ============================================================================== > > > --- head/lib/libarchive/tests/Makefile Fri Sep 18 11:04:16 2020 > > > (r365875) > > > +++ head/lib/libarchive/tests/Makefile Fri Sep 18 11:22:34 2020 > > > (r365876) > > > @@ -1,4 +1,5 @@ > > > # $FreeBSD$ > > > +.include <src.opts.mk> > > > > > > PACKAGE= tests > > > > > > @@ -15,7 +16,7 @@ PROGS+= libarchive_test > > > CFLAGS+= -I${.CURDIR} -I${.CURDIR:H} -I${.OBJDIR} > > > CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive > > > -I${_LIBARCHIVEDIR}/libarchive/test > > > CFLAGS+= -I${_LIBARCHIVEDIR}/test_utils > > > -CFLAGS+= -DHAVE_LIBLZMA=1 -DHAVE_LZMA_H=1 > > > +.include "../Makefile.inc" > > > > > > # Uncomment to link against dmalloc > > > #LDADD+= -L/usr/local/lib -ldmalloc > > > > Is the explicit .include here necessary (e.g. for ordering)? I note > > that inclusion of the parent directory's Makefile.inc is already > > guaranteed by bsd.init.mk, so this duplicates all the CFLAGS > > additions. > > > Thanks, I didn't notice that it was already being included. Fixed in r365882 >
Excellent, thanks! =) _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"