Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Apr 2023 22:34:23 +0100
From:      Jessica Clarke <jrtc27@freebsd.org>
To:        Warner Losh <imp@FreeBSD.org>
Cc:        "src-committers@freebsd.org" <src-committers@FreeBSD.org>, "dev-commits-src-all@freebsd.org" <dev-commits-src-all@FreeBSD.org>, "dev-commits-src-main@freebsd.org" <dev-commits-src-main@FreeBSD.org>
Subject:   Re: git: 238271f4a66b - main - stand: Add a snarky note about the upstream ZFS situation
Message-ID:  <C898F70B-7CA2-451F-A080-ADBFB472561D@freebsd.org>
In-Reply-To: <202304182131.33ILVSoG020217@gitrepo.freebsd.org>
References:  <202304182131.33ILVSoG020217@gitrepo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 18 Apr 2023, at 22:31, Warner Losh <imp@FreeBSD.org> wrote:
>=20
> The branch main has been updated by imp:
>=20
> URL: =
https://cgit.FreeBSD.org/src/commit/?id=3D238271f4a66bd06b8b9a232a82f3ee08=
82e4cbb9
>=20
> commit 238271f4a66bd06b8b9a232a82f3ee0882e4cbb9
> Author:     Warner Losh <imp@FreeBSD.org>
> AuthorDate: 2023-04-18 21:29:45 +0000
> Commit:     Warner Losh <imp@FreeBSD.org>
> CommitDate: 2023-04-18 21:31:17 +0000
>=20
>    stand: Add a snarky note about the upstream ZFS situation
>=20
>    The latest import of openzfs broke the hacks that we used to omit =
the
>    special registers being used on arm64. Add snarky note documenting =
this
>    situation since it's a mess now since the hack was only partially
>    undone, leaving behind a mess.
>=20
>    Sponsored by:           Netflix
> ---
> stand/libsa/zfs/Makefile.inc | 4 ++++
> 1 file changed, 4 insertions(+)
>=20
> diff --git a/stand/libsa/zfs/Makefile.inc =
b/stand/libsa/zfs/Makefile.inc
> index f4cecdbc3085..7660f4ab7baf 100644
> --- a/stand/libsa/zfs/Makefile.inc
> +++ b/stand/libsa/zfs/Makefile.inc
> @@ -19,6 +19,7 @@ ZSTD_SRC+=3D	zstd_common.c
> ZSTD_SRC+=3D	zstd_ddict.c zstd_decompress.c zstd_decompress_block.c
> ZSTD_SRC+=3D	zstd_double_fast.c zstd_fast.c zstd_lazy.c zstd_ldm.c
>=20
> +# This is completely bogus: We should be able to omit this code =
completely.
> .if ${MACHINE_ARCH} =3D=3D "aarch64"
> ZFS_SRC_AS =3D	b3_aarch64_sse2.S b3_aarch64_sse41.S
> .endif
> @@ -90,10 +91,13 @@ CFLAGS.skein_block.c+=3D	-DSKEIN_LOOP=3D111
>=20
> # To find blake3_impl.c in OpenZFS tree for our somehat ugly =
blake3_impl_hack.c
> # that's needed until the necessary tweaks can be upstreamed.
> +# XXX the last import gutted all this since upstream changes broke =
this hack.
> CFLAGS.blake3_impl_hack.c+=3D -I${OZFS}/module/icp/algs/blake3 =
-I${OZFS}/module/icp/include
>=20
> CWARNFLAGS.zfs.c+=3D ${NO_WDANGLING_POINTER}
>=20
> +# Needing to remove the -mgeneral-regs-only is a red flag that this =
is not quite
> +# right. But it's needed at the moment due to the muddled upstream.

This one isn=E2=80=99t bogus? The file is deliberately using NEON so =
needs
access to floating-point registers, which LLVM (mostly) enforces for
the assembler, unlike GNU as.

Jess

> b3_aarch64_sse2.o: b3_aarch64_sse2.S
> 	${CC} -c ${CFLAGS:N-mgeneral-regs-only} ${WERROR} ${.IMPSRC} \
> 	    -o ${.TARGET}




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C898F70B-7CA2-451F-A080-ADBFB472561D>