Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Feb 2021 09:24:52 +0000
From:      Alexander Richardson <arichardson@freebsd.org>
To:        Peter Jeremy <peter@rulingia.com>
Cc:        src-committers <src-committers@freebsd.org>, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org
Subject:   Re: git: 83c20b8a2da0 - main - tests/sys/kern/crc32: Check for SSE4.2 before using it
Message-ID:  <CA%2BZ_v8pB1LQkPnfJxPwaBizDO5FNRkNQkXdXLTK77AHUXEm1oA@mail.gmail.com>
In-Reply-To: <YBpdjszbkJT5/V0q@server.rulingia.com>
References:  <202102021008.112A8RkU069892@gitrepo.freebsd.org> <YBpdjszbkJT5/V0q@server.rulingia.com>

index | next in thread | previous in thread | raw e-mail

On Wed, 3 Feb 2021, 08:24 Peter Jeremy, <peter@rulingia.com> wrote:

> On 2021-Feb-02 10:08:27 +0000, Alex Richardson <arichardson@FreeBSD.org>
> wrote:
> >The branch main has been updated by arichardson:
> >
> >URL:
> https://cgit.FreeBSD.org/src/commit/?id=83c20b8a2da04937cf4af127366b3dc92c855784
> ...
> >    Differential Revision: https://reviews.freebsd.org/D28395
> >---
> ...
> >diff --git a/tests/sys/kern/Makefile b/tests/sys/kern/Makefile
> >index 1806d7ce8597..f350b740b7ea 100644
> >--- a/tests/sys/kern/Makefile
> >+++ b/tests/sys/kern/Makefile
> >@@ -56,15 +56,15 @@ NETBSD_ATF_TESTS_C+=       sysv_test
> > CFLAGS.mqueue_test+=  -I${SRCTOP}/tests
> > LIBADD.mqueue_test+=  rt
> >
> >-.if ${MACHINE_ARCH} == "amd64" || \
> >-    ${MACHINE_ARCH} == "i386" || \
> >-    ${MACHINE_CPUARCH} == "aarch64"
> > ATF_TESTS_C+= libkern_crc32
> >+SRCS.libkern_crc32+=  libkern_crc32.c
> >+.PATH: ${SRCTOP}/sys/libkern
> >+SRCS.libkern_crc32+=  gsb_crc32.c
> >+CFLAGS.libkern_crc32+=        -DTESTING
> > .if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
> >-LDADD.libkern_crc32+= ${SRCTOP}/sys/libkern/x86/crc32_sse42.c
> >-.else
> >-LDADD.libkern_crc32+= ${SRCTOP}/sys/libkern/arm64/crc32c_armv8.S
> >-.endif
> >+SRCS.libkern_crc32+=  ${SRCTOP}/sys/libkern/x86/crc32_sse42.c
> >+.elif ${MACHINE_CPUARCH} == "aarch64"
> >+SRCS.libkern_crc32+=  ${SRCTOP}/sys/libkern/arm64/crc32c_armv8.S
> > .endif
> >
> > # subr_unit.c contains functions whose prototypes lie in headers that
> cannot be
>
> This breaks buildworld with a RO /usr/src for me:
> ...
> ===> tests/sys/kern (all)
> ...
> Building /usr/obj/usr/src/arm64.aarch64/tests/sys/kern/pdeathsig
> (cd /usr/src/tests/sys/kern &&  DEPENDFILE=.depend.libkern_crc32
> NO_SUBDIR=1 make -f /usr/src/tests/sys/kern/Makefile _RECURSING_PROGS=t
> PROG=libkern_crc32 )
> Building /usr/src/sys/libkern/arm64/crc32c_armv8.o
> clang -cc1as: error: unable to open output file
> '/usr/src/sys/libkern/arm64/crc32c_armv8.o': 'Read-only file system'
> *** Error code 1
>
> I do have an (empty)
> /usr/obj/usr/src/arm64.aarch64/tests/sys/kern/usr/src/sys/libkern/arm64
>

Hi,

I have a fix that I'm currently testing and will commit shortly. It seems
the problem is that I changed it from (ab)using LDADD to using SRCS which
defaults to creating the .o file in the same directory as the source.

Alex


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BZ_v8pB1LQkPnfJxPwaBizDO5FNRkNQkXdXLTK77AHUXEm1oA>