We also shouldn't have ifdef's that change the size of a kernel structure that's part of the KBI. Isn't struct epoch_tracker part of the KBI?
On Thu, Sep 26, 2019 at 12:46 PM Warner Losh <[email protected]> wrote: > > But we shouldn't be including opt_foo.h files in sys/*.h files. That's the > root cause of trouble here. > > Warner > > On Thu, Sep 26, 2019 at 9:11 AM Niclas Zeising <[email protected]> wrote: >> >> On 2019-09-26 17:03, Charlie Li via freebsd-x11 wrote: >> > Kyle Evans wrote: >> >> On Thu, Sep 26, 2019 at 9:49 AM Charlie Li wrote: >> >>> This breaks building the drm-kmod ports, as the build cannot find >> >>> opt_epoch.h (drm-devel-kmod example shown, drm-current-kmod dies the >> >>> exact same way): >> >>> >> >>> --- linux_anon_inodes.o --- >> >>> cc -O2 -pipe -fno-strict-aliasing -include >> >>> /wrkdirs/usr/ports/graphics/drm-devel-kmod/work/kms-drm-dc414a9/drivers/gpu/drm/drm_os_config.h >> >>> '-DKBUILD_MODNAME="linuxkpi_gplv2"' -Werror -D_KERNEL -DKLD_MODULE >> >>> -nostdinc >> >>> -I/wrkdirs/usr/ports/graphics/drm-devel-kmod/work/kms-drm-dc414a9/include >> >>> >> >>> -I/wrkdirs/usr/ports/graphics/drm-devel-kmod/work/kms-drm-dc414a9/linuxkpi/dummy/include >> >>> -I/wrkdirs/usr/ports/graphics/drm-devel-kmod/work/kms-drm-dc414a9/linuxkpi/gplv2/include >> >>> -I/usr/src/sys/compat/linuxkpi/common/include -I. -I/usr/src/sys >> >>> -I/usr/src/sys/contrib/ck/include -fno-common -fno-omit-frame-pointer >> >>> -mno-omit-leaf-frame-pointer >> >>> -fdebug-prefix-map=./machine=/usr/src/sys/amd64/include >> >>> -fdebug-prefix-map=./x86=/usr/src/sys/x86/include -MD >> >>> -MF.depend.linux_anon_inodes.o -MTlinux_anon_inodes.o -mcmodel=kernel >> >>> -mno-red-zone -mno-mmx -mno-sse -msoft-float >> >>> -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector >> >>> -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes >> >>> -Wmissing-prototypes -Wpointer-arith -Wcast-qual -Wundef >> >>> -Wno-pointer-sign -D__printf__=__freebsd_kprintf__ >> >>> -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas >> >>> -Wno-error-tautological-compare -Wno-error-empty-body >> >>> -Wno-error-parentheses-equality -Wno-error-unused-function >> >>> -Wno-error-pointer-sign -Wno-error-shift-negative-value >> >>> -Wno-address-of-packed-member -Wno-format-zero-length -Wno-pointer-arith >> >>> -mno-aes -mno-avx -std=iso9899:1999 -c >> >>> /wrkdirs/usr/ports/graphics/drm-devel-kmod/work/kms-drm-dc414a9/linuxkpi/gplv2/src/linux_anon_inodes.c >> >>> -o linux_anon_inodes.o >> >>> In file included from >> >>> /wrkdirs/usr/ports/graphics/drm-devel-kmod/work/kms-drm-dc414a9/linuxkpi/gplv2/src/linux_anon_inodes.c:12: >> >>> In file included from >> >>> /wrkdirs/usr/ports/graphics/drm-devel-kmod/work/kms-drm-dc414a9/linuxkpi/gplv2/include/linux/anon_inodes.h:4: >> >>> In file included from >> >>> /wrkdirs/usr/ports/graphics/drm-devel-kmod/work/kms-drm-dc414a9/linuxkpi/gplv2/include/linux/fs.h:6: >> >>> In file included from >> >>> /wrkdirs/usr/ports/graphics/drm-devel-kmod/work/kms-drm-dc414a9/linuxkpi/gplv2/include/linux/shrinker.h:5: >> >>> In file included from >> >>> /usr/src/sys/compat/linuxkpi/common/include/linux/list.h:56: >> >>> In file included from /usr/src/sys/net/if_var.h:83: >> >>> /usr/src/sys/sys/epoch.h:44:10: fatal error: 'opt_epoch.h' file not found >> >>> #include "opt_epoch.h" >> >>> ^~~~~~~~~~~~~ >> >>> --- linux_anon_inodefs.o --- >> >>> In file included from >> >>> /wrkdirs/usr/ports/graphics/drm-devel-kmod/work/kms-drm-dc414a9/linuxkpi/gplv2/src/linux_anon_inodefs.c:45: >> >>> In file included from >> >>> /wrkdirs/usr/ports/graphics/drm-devel-kmod/work/kms-drm-dc414a9/linuxkpi/gplv2/include/linux/debugfs.h:18: >> >>> In file included from >> >>> /wrkdirs/usr/ports/graphics/drm-devel-kmod/work/kms-drm-dc414a9/linuxkpi/gplv2/include/linux/fs.h:6: >> >>> In file included from >> >>> /wrkdirs/usr/ports/graphics/drm-devel-kmod/work/kms-drm-dc414a9/linuxkpi/gplv2/include/linux/shrinker.h:5: >> >>> In file included from >> >>> /usr/src/sys/compat/linuxkpi/common/include/linux/list.h:56: >> >>> In file included from /usr/src/sys/net/if_var.h:83: >> >>> /usr/src/sys/sys/epoch.h:44:10: fatal error: 'opt_epoch.h' file not found >> >>> #include "opt_epoch.h" >> >>> ^~~~~~~~~~~~~ >> >>> --- linux_anon_inodes.o --- >> >>> 1 error generated. >> >>> *** [linux_anon_inodes.o] Error code 1 >> >>> >> >>> make[2]: stopped in >> >>> /wrkdirs/usr/ports/graphics/drm-devel-kmod/work/kms-drm-dc414a9/linuxkpi >> >>> --- linux_anon_inodefs.o --- >> >>> 1 error generated. >> >>> *** [linux_anon_inodefs.o] Error code 1 >> >>> >> >>> Interestingly enough, does not happen when drm-current-kmod is built as >> >>> part of buildkernel (using an existing installed package with SOURCE on). >> >>> >> >> >> >> FWIW, johalun noticed this yesterday and addressed it here: >> >> https://github.com/FreeBSDDesktop/kms-drm/commit/b486949e7e9f0cfe8dac5f0ac7fe1a660300981d >> >> >> > Ah, of course I would miss these commits in the kms-drm repo, >> > considering that I watch them roll in. Will wait for the updated >> > snapshots in ports. >> > >> >> I'll get to updating the ports as soon as I can. >> Regards >> -- >> Niclas Zeising >> _______________________________________________ >> [email protected] mailing list >> https://lists.freebsd.org/mailman/listinfo/freebsd-x11 >> To unsubscribe, send any mail to "[email protected]" _______________________________________________ [email protected] mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "[email protected]"
