freebsd: Use compiler.h from FreeBSD's base's linuxkpi
commit38a04f0a7c17885385187ce02aa7595aef6f3d4a
authorWarner Losh <imp@bsdimp.com>
Wed, 16 Oct 2024 17:00:40 +0000 (16 11:00 -0600)
committerGitHub <noreply@github.com>
Wed, 16 Oct 2024 17:00:40 +0000 (16 13:00 -0400)
treee99968268f0d1207959b1064d89513d96e5755d4
parente0bf43d64ed01285321bf6c3a308f699c5483efc
freebsd: Use compiler.h from FreeBSD's base's linuxkpi

The FreeBSD linux/compiler.h in OpenZFS was copied from a very old
version of FreeBSD's linuxkpi's linux/compiler.h. There's no need for
this duplication. Use FreeBSD's linuxkpi version instead, and provide
zfs_fallthrough to augment it (it's all that's needed). Use #pragma once
to avoid naming issues for guard variables. Since this is a complete
rewrite, use my copyright here (the original code in FreeBSD still
credits everybody). This works back at least to FreeBSD 12.4, which
is not out of support, and all newer releases.

Remove extra copies of macros that were defined elsewhere, but are now
properly defined in LinuxKPI so are redundant.

Sponsored-by: Netflix
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Warner Losh <imp@bsdimp.com>
Closes #16650
include/os/freebsd/linux/compiler.h
include/os/freebsd/spl/sys/ccompat.h
include/os/freebsd/spl/sys/debug.h