Re: git: 1a37caeb076b - main - modules: Add missing opt_*.h files for stand-alone compile

From: Jessica Clarke <jrtc27_at_freebsd.org>
Date: Thu, 17 Oct 2024 18:26:13 UTC
On 17 Oct 2024, at 19:20, Warner Losh <imp@bsdimp.com> wrote:
> 
> 
> 
> On Thu, Oct 17, 2024, 11:29 AM Wolfram Schneider <wosch@freebsd.org> wrote:
>> On Sat, 12 Oct 2024 at 22:58, Warner Losh <imp@freebsd.org> wrote:
>> >
>> > The branch main has been updated by imp:
>> >
>> > URL: https://cgit.FreeBSD.org/src/commit/?id=1a37caeb076b9d31e13c54691d7f1eeb589798bb
>> >
>> > commit 1a37caeb076b9d31e13c54691d7f1eeb589798bb
>> > Author:     Warner Losh <imp@FreeBSD.org>
>> > AuthorDate: 2024-10-12 20:40:41 +0000
>> > Commit:     Warner Losh <imp@FreeBSD.org>
>> > CommitDate: 2024-10-12 20:40:41 +0000
>> >
>> >     modules: Add missing opt_*.h files for stand-alone compile
>> >
>> >     Standalone compile that we at least create these opt_*.h files.
>> >
>> >     Sponsored by:           Netflix
>> > ---
>> >  sys/modules/linux/Makefile   | 2 ++
>> >  sys/modules/linux64/Makefile | 5 ++++-
>> >  2 files changed, 6 insertions(+), 1 deletion(-)
>> >
>> > diff --git a/sys/modules/linux/Makefile b/sys/modules/linux/Makefile
>> > index eb4e17ec706b..36dfbbe2192f 100644
>> > --- a/sys/modules/linux/Makefile
>> > +++ b/sys/modules/linux/Makefile
>> > @@ -33,6 +33,7 @@ SRCS= linux${SFX}_dummy_machdep.c \
>> >         linux_uid16.c \
>> >         linux_vdso.c \
>> >         linux_xattr.c \
>> > +       opt_compat.h \
>> >         opt_inet.h \
>> >         opt_inet6.h \
>> >         opt_ktrace.h \
>> > @@ -41,6 +42,7 @@ SRCS= linux${SFX}_dummy_machdep.c \
>> >         bus_if.h \
>> >         device_if.h \
>> >         vnode_if.h
>> > +
>> >  .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
>> >  SRCS+= linux_dummy_x86.c
>> >  VDSODEPS=linux_vdso_gettc_x86.inc
>> > diff --git a/sys/modules/linux64/Makefile b/sys/modules/linux64/Makefile
>> > index b23891a65a4f..119d90126ab3 100644
>> > --- a/sys/modules/linux64/Makefile
>> > +++ b/sys/modules/linux64/Makefile
>> > @@ -28,14 +28,17 @@ SRCS=       linux_dummy_machdep.c \
>> >         linux_vdso.c \
>> >         linux_timer.c \
>> >         linux_xattr.c \
>> > -       opt_ktrace.h \
>> > +       opt_compat.h \
>> >         opt_inet6.h \
>> > +       opt_ktrace.h \
>> >         opt_posix.h \
>> > +       opt_usb.h \
>> >         bus_if.h \
>> >         device_if.h \
>> >         vnode_if.h \
>> >         linux_support.S \
>> >         linux_vdso_inc.S
>> > +
>> >  .if ${MACHINE_CPUARCH} == "amd64"
>> >  SRCS+= linux_dummy_x86.c
>> >  .endif
>> 
>> After this commit I get stale symlinks in /usr/obj
>> 
>> make -j$(nproc) buildworld  > log.buildworld 2>&1; make -j$(nproc)
>> buildkernel >& log.buildkernel;
>> ./tools/build/stale-symlink-buildworld.sh
>> 
>> amd64:
>> stale symlink detected: lrwxrwxr-x  1 wosch wheel 95 Oct 17 17:00
>> /scratch/tmp/wosch/freebsd/home/wosch/projects/freebsd-src/amd64.amd64/sys/GENERIC/modules/home/wosch/projects/freebsd-src/sys/modules/linux/opt_compat.h
>> -> /scratch/tmp/wosch/freebsd/home/wosch/projects/freebsd-src/amd64.amd64/sys/GENERIC/opt_compat.h
>> 
>> stale symlink detected: lrwxrwxr-x  1 wosch wheel 95 Oct 17 17:00
>> /scratch/tmp/wosch/freebsd/home/wosch/projects/freebsd-src/amd64.amd64/sys/GENERIC/modules/home/wosch/projects/freebsd-src/sys/modules/linux64/opt_compat.h
>> -> /scratch/tmp/wosch/freebsd/home/wosch/projects/freebsd-src/amd64.amd64/sys/GENERIC/opt_compat.h
>> 
>> arm64:
>> stale symlink detected: lrwxr-xr-x  1 root wheel 73 Oct 17 17:18
>> /usr/obj/home/projects/freebsd-src/arm64.aarch64/sys/GENERIC/modules/home/projects/freebsd-src/sys/modules/linux64/opt_compat.h
>> -> /usr/obj/home/projects/freebsd-src/arm64.aarch64/sys/GENERIC/opt_compat.h
>> 
>> see also PR: 276235
> 
> The symlinks look right to me. What makes them stale?

Given the script does find -H -type l, it’ll be that they point to
non-existent files. I don’t know what opt_compat.h is for Netflix but
there’s no such thing in-tree, these are the only references to it.

Jess