lib/libufs: build regressed after b366ee486

From: Evgeniy Khramtsov via FreeBSD-CURRENT <FreeBSD-CURRENT_at_FreeBSD.org>
Date: Fri, 03 Dec 2021 18:35:01 UTC
I was updating from

commit 20aa359773befc8182f6b5dcb5aad7390cab6c26
Author: Dimitry Andric <dim@FreeBSD.org>
Date:   Sat Nov 13 21:02:29 2021 +0100

    Bump __FreeBSD_version for llvm-project 13.0.0 merge

    PR:             258209
    MFC after:      2 weeks

to

commit b366ee4868bca2b3ebe4bb29c9590a29b6cecc29 (main)
Author: Kirk McKusick <mckusick@FreeBSD.org>
Date:   Sun Nov 14 22:09:06 2021 -0800

    Consolodate four copies of the STDSB define into a single place.

    The STDSB macro is passed to the ffs_sbget() routine to fetch a
    UFS/FFS superblock "from the stadard place". It was identically defined
    in lib/libufs/libufs.h, stand/libsa/ufs.c, sys/ufs/ffs/ffs_extern.h,
    and sys/ufs/ffs/ffs_subr.c. Delete it from these four files and
    define it instead in sys/ufs/ffs/fs.h. All existing uses of this macro
    already include sys/ufs/ffs/fs.h so no include changes need to be made.

    No functional change intended.

    Sponsored by: Netflix

$ cd lib/libufs
$ make
[...]
/usr/local/llvm13/bin/clang  -O2 -pipe -fno-common -D_LIBUFS -I/usr/src/lib/libufs   -g -gz=zlib -MD  -MF.depend.sblock.o -MTsblock.o -std=gnu99 -Wno-format-zero-length -fstack-protector-strong -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-error=unused-but-set-variable -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef -Wno-address-of-packed-member -Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter  -Qunused-arguments    -c sblock.c -o sblock.o
sblock.c:59:38: error: use of undeclared identifier 'STDSB'
        if ((errno = sbget(disk->d_fd, &fs, STDSB)) != 0) {
                                            ^
1 error generated.
*** Error code 1

Stop.
make: stopped in /usr/src/lib/libufs
[...]

My environment is custom (hard to bisect at the moment), but the most
major local modification to base that I have is devel/llvm13 as toolchain.

make.conf:

LLVM=/usr/local/llvm13/bin
ADDR2LINE=${LLVM}/llvm-addr2line
AR=${LLVM}/llvm-ar
AS=${LLVM}/llvm-as
CC=${LLVM}/clang
CPP=${LLVM}/clang-cpp
CPPFILT=${LLVM}/llvm-cxxfilt
CXX=${LLVM}/clang++
DTRACEFLAGS+=-x cpppath=${CPP} -x ldpath=${LD}
LD=${LLVM}/ld
LLVM_LINK=${LLVM}/llvm-link
NM=${LLVM}/llvm-nm
OBJC=${LLVM}/clang
OBJCOPY=${LLVM}/llvm-objcopy
OBJDUMP=${LLVM}/llvm-objdump
RANLIB=${LLVM}/llvm-ranlib
READELF=${LLVM}/llvm-readelf
SIZE=${LLVM}/llvm-size
STRINGS=${LLVM}/llvm-strings
STRIPBIN=${LLVM}/llvm-strip
STRIP_CMD=${STRIPBIN}

src.conf:

WITHOUT_CLANG=yes
WITHOUT_CLANG_BOOTSTRAP=yes
# elftoolchain utils manually deleted, todo: have a knob to turn off build
WITHOUT_ELFTOOLCHAIN_BOOTSTRAP=yes
WITHOUT_LLD=yes
WITHOUT_LLDB=yes
WITHOUT_LLD_BOOTSTRAP=yes
WITHOUT_LLVM_COV=yes