Message ID | 20190627014617.600-1-yamada.masahiro@socionext.com (mailing list archive) |
---|---|
Headers | show |
Series | Compile-test UAPI and kernel headers | expand |
On Thu, Jun 27, 2019 at 10:49 AM Masahiro Yamada <yamada.masahiro@socionext.com> wrote: > > > 1/4: reworked v2. > > 2/4: fix a flaw I noticed when I was working on this series > > 3/4: maybe useful for 4/4 and in some other places > > 4/4: v2. compile as many headers as possible. > If you want to test this series, please check: git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git header-test-v2 > Changes in v2: > - Add CONFIG_CPU_{BIG,LITTLE}_ENDIAN guard to avoid build error > - Use 'header-test-' instead of 'no-header-test' > - Avoid weird 'find' warning when cleaning > - New patch > - New patch > - Add everything to test coverage, and exclude broken ones > - Rename 'Makefile' to 'Kbuild' > - Add CONFIG_KERNEL_HEADER_TEST option > > Masahiro Yamada (4): > kbuild: compile-test UAPI headers to ensure they are self-contained > kbuild: do not create wrappers for header-test-y > kbuild: support header-test-pattern-y > kbuild: compile-test kernel headers to ensure they are self-contained > > .gitignore | 1 - > Documentation/dontdiff | 1 - > Documentation/kbuild/makefiles.txt | 13 +- > Makefile | 4 +- > include/Kbuild | 1134 ++++++++++++++++++++++++++++ > init/Kconfig | 22 + > scripts/Makefile.build | 10 +- > scripts/Makefile.lib | 12 +- > scripts/cc-system-headers.sh | 8 + > usr/.gitignore | 1 - > usr/Makefile | 2 + > usr/include/.gitignore | 3 + > usr/include/Makefile | 133 ++++ > 13 files changed, 1331 insertions(+), 13 deletions(-) > create mode 100644 include/Kbuild > create mode 100755 scripts/cc-system-headers.sh > create mode 100644 usr/include/.gitignore > create mode 100644 usr/include/Makefile > > -- > 2.17.1 >
On Thu, 27 Jun 2019, Masahiro Yamada <yamada.masahiro@socionext.com> wrote: > 1/4: reworked v2. > > 2/4: fix a flaw I noticed when I was working on this series > > 3/4: maybe useful for 4/4 and in some other places > > 4/4: v2. compile as many headers as possible. > > > Changes in v2: > - Add CONFIG_CPU_{BIG,LITTLE}_ENDIAN guard to avoid build error > - Use 'header-test-' instead of 'no-header-test' > - Avoid weird 'find' warning when cleaning > - New patch > - New patch > - Add everything to test coverage, and exclude broken ones > - Rename 'Makefile' to 'Kbuild' > - Add CONFIG_KERNEL_HEADER_TEST option > > Masahiro Yamada (4): > kbuild: compile-test UAPI headers to ensure they are self-contained > kbuild: do not create wrappers for header-test-y > kbuild: support header-test-pattern-y > kbuild: compile-test kernel headers to ensure they are self-contained [responding here because I didn't receive the actual patch] This looks like it's doing what it's supposed to, but I ran into a bunch of build fails with CONFIG_OF=n. Sent a fix to one [1], but stopped at the next. Looks like you'll have to exclude more. And I'm pretty sure we'll uncover more configurations where this will fail. But I do applaud the goal, and I'm committed to making all include/drm headers self-contained. I wouldn't block this based on the issues, it's pretty much the only way to expose them and get them fixed/excluded, and it's behind a config knob after all. With the caveat that I didn't finish the build, but OTOH tested the rainy day scenario and had the patch find issues it's meant to find: Tested-by: Jani Nikula <jani.nikula@intel.com> [1] http://patchwork.freedesktop.org/patch/msgid/20190627110103.7539-1-jani.nikula@intel.com > > .gitignore | 1 - > Documentation/dontdiff | 1 - > Documentation/kbuild/makefiles.txt | 13 +- > Makefile | 4 +- > include/Kbuild | 1134 ++++++++++++++++++++++++++++ > init/Kconfig | 22 + > scripts/Makefile.build | 10 +- > scripts/Makefile.lib | 12 +- > scripts/cc-system-headers.sh | 8 + > usr/.gitignore | 1 - > usr/Makefile | 2 + > usr/include/.gitignore | 3 + > usr/include/Makefile | 133 ++++ > 13 files changed, 1331 insertions(+), 13 deletions(-) > create mode 100644 include/Kbuild > create mode 100755 scripts/cc-system-headers.sh > create mode 100644 usr/include/.gitignore > create mode 100644 usr/include/Makefile
On Thu, Jun 27, 2019 at 8:36 PM Jani Nikula <jani.nikula@linux.intel.com> wrote: > > On Thu, 27 Jun 2019, Masahiro Yamada <yamada.masahiro@socionext.com> wrote: > > 1/4: reworked v2. > > > > 2/4: fix a flaw I noticed when I was working on this series > > > > 3/4: maybe useful for 4/4 and in some other places > > > > 4/4: v2. compile as many headers as possible. > > > > > > Changes in v2: > > - Add CONFIG_CPU_{BIG,LITTLE}_ENDIAN guard to avoid build error > > - Use 'header-test-' instead of 'no-header-test' > > - Avoid weird 'find' warning when cleaning > > - New patch > > - New patch > > - Add everything to test coverage, and exclude broken ones > > - Rename 'Makefile' to 'Kbuild' > > - Add CONFIG_KERNEL_HEADER_TEST option > > > > Masahiro Yamada (4): > > kbuild: compile-test UAPI headers to ensure they are self-contained > > kbuild: do not create wrappers for header-test-y > > kbuild: support header-test-pattern-y > > kbuild: compile-test kernel headers to ensure they are self-contained > > [responding here because I didn't receive the actual patch] > > This looks like it's doing what it's supposed to, but I ran into a bunch > of build fails with CONFIG_OF=n. Sent a fix to one [1], but stopped at > the next. Looks like you'll have to exclude more. And I'm pretty sure > we'll uncover more configurations where this will fail. Thanks for testing. I did more compile-tests, and excluded more headers in v3. Thanks.