Date: Fri, 18 Sep 2020 08:12:01 -0500 From: Kyle Evans <kevans@freebsd.org> To: Alex Richardson <arichardson@freebsd.org> Cc: 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: r365876 - in head/lib/libarchive: . tests Message-ID: <CACNAnaGgB%2BfZa3TfFrQyinP%2B4oQ4Jx8UkQ=uf7O2MGP7oBO9kA@mail.gmail.com> In-Reply-To: <202009181122.08IBMYpo032313@repo.freebsd.org>
index | next in thread | previous in thread | raw e-mail
On Fri, Sep 18, 2020 at 6:22 AM Alex Richardson <arichardson@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, Kyle Evanshome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACNAnaGgB%2BfZa3TfFrQyinP%2B4oQ4Jx8UkQ=uf7O2MGP7oBO9kA>
