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

From: Warner Losh <imp_at_bsdimp.com>
Date: Thu, 17 Oct 2024 18:56:00 UTC
On Thu, Oct 17, 2024 at 12:26 PM Jessica Clarke <jrtc27@freebsd.org> wrote:

> 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.
>

Ah, but there use to be...  I rebased a tree that had a number of similar
cleanups across
its removal and didn't notice. And my checks of my tree turned that file
up, but I didn't
notice it was in a tree I'd not built out of since before the change:

commit 06c07e1203324bfe8ab4526c82dbb750864272d5
Author: Dmitry Chagin <dchagin@FreeBSD.org>
Date:   Mon Feb 13 19:07:38 2023 +0300

    Complete removal of opt_compat.h

    Since Linux emulation layer build options was removed there is no reason
    to keep opt_compat.h.

    Reviewed by:            emaste
    Differential Revision:  https://reviews.freebsd.org/D38548
    MFC after:              2 weeks

So I've reverted since opt_usb.h was also removed from linuxulator.

Warner