linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] Kbuild updates for v5.18-rc1
@ 2022-03-28 12:08 Masahiro Yamada
  2022-03-29 20:10 ` Linus Torvalds
  0 siblings, 1 reply; 3+ messages in thread
From: Masahiro Yamada @ 2022-03-28 12:08 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Linux Kernel Mailing List, Linux Kbuild mailing list

Hi Linus,


Please pull the remaining Kbuild changes.

You will see conflicts in the top Makefile.
The fix-up is available in linux-next.
(6c4457c324cd9855352e3eb1f965105901e47a6d)


Thank you.



The following changes since commit 754e0b0e35608ed5206d6a67a791563c631cec07:

  Linux 5.17-rc4 (2022-02-13 12:13:30 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
tags/kbuild-v5.18

for you to fetch changes up to b0324de9dfba0e05ea7991a91b002c1441bf27e1:

  kbuild: Make $(LLVM) more flexible (2022-03-18 13:45:14 +0900)

----------------------------------------------------------------
Kbuild updates for v5.18

 - Add new environment variables, USERCFLAGS and USERLDFLAGS to allow
   additional flags to be passed to user-space programs.

 - Fix missing fflush() bugs in Kconfig and fixdep

 - Fix a minor bug in the comment format of the .config file

 - Make kallsyms ignore llvm's local labels, .L*

 - Change the .config format to use CONFIG_FOO=n instead of
   "# CONFIG_FOO is not set"

 - Fix UAPI compile-test for cross-compiling with Clang

 - Extend the LLVM= syntax to support LLVM=<suffix> form for using a
   particular version of LLVm, and LLVM=<prefix> form for using custom
   LLVM in a particular directory path.

 - Clean up Makefiles

----------------------------------------------------------------
Changbin Du (1):
      kallsyms: ignore all local labels prefixed by '.L'

Elliot Berman (1):
      kbuild: Add environment variables for userprogs flags

Masahiro Yamada (11):
      kbuild: unify cmd_copy and cmd_shipped
      kbuild: replace $(if A,A,B) with $(or A,B)
      kconfig: add fflush() before ferror() check
      kconfig: fix missing '# end of' for empty menu
      certs: include certs/signing_key.x509 unconditionally
      certs: simplify empty certs creation in certs/Makefile
      kconfig: change .config format to use =n instead of "is not set"
      usr/include: replace extra-y with always-y
      arch: syscalls: simplify uapi/kapi directory creation
      fixdep: use fflush() and ferror() to ensure successful write to files
      kbuild: add --target to correctly cross-compile UAPI headers with Clang

Nathan Chancellor (1):
      kbuild: Make $(LLVM) more flexible

 Documentation/kbuild/kbuild.rst                             | 11 +++++++
 Documentation/kbuild/llvm.rst                               | 31
++++++++++++++----
 Documentation/kbuild/makefiles.rst                          |  2 ++
 Makefile                                                    | 44
++++++++++++++-----------
 arch/alpha/kernel/syscalls/Makefile                         |  3 +-
 arch/arm/tools/Makefile                                     |  3 +-
 arch/ia64/kernel/syscalls/Makefile                          |  3 +-
 arch/m68k/kernel/syscalls/Makefile                          |  3 +-
 arch/microblaze/boot/Makefile                               |  2 +-
 arch/microblaze/boot/dts/Makefile                           |  2 +-
 arch/microblaze/kernel/syscalls/Makefile                    |  3 +-
 arch/mips/kernel/syscalls/Makefile                          |  3 +-
 arch/parisc/kernel/syscalls/Makefile                        |  3 +-
 arch/powerpc/kernel/syscalls/Makefile                       |  3 +-
 arch/s390/kernel/syscalls/Makefile                          |  3 +-
 arch/sh/kernel/syscalls/Makefile                            |  3 +-
 arch/sparc/kernel/syscalls/Makefile                         |  3 +-
 arch/x86/entry/syscalls/Makefile                            |  3 +-
 arch/xtensa/kernel/syscalls/Makefile                        |  3 +-
 certs/Makefile                                              | 37
+++++++--------------
 certs/system_certificates.S                                 |  3 --
 fs/unicode/Makefile                                         |  2 +-
 init/Kconfig                                                |  8 ++---
 scripts/Makefile.build                                      |  3 +-
 scripts/Makefile.clean                                      |  2 +-
 scripts/Makefile.lib                                        | 16 ++++------
 scripts/basic/fixdep.c                                      | 46
+++++++++++----------------
 scripts/kallsyms.c                                          |  2 +-
 scripts/kconfig/confdata.c                                  | 42
++++++++++++------------
 scripts/kconfig/merge_config.sh                             | 19 ++++++-----
 scripts/kconfig/streamline_config.pl                        |  2 +-
 scripts/kconfig/tests/choice/alldef_expected_config         |  6 ++--
 scripts/kconfig/tests/choice/allmod_expected_config         |  4 +--
 scripts/kconfig/tests/choice/allno_expected_config          |  6 ++--
 scripts/kconfig/tests/choice/allyes_expected_config         |  8 ++---
 scripts/kconfig/tests/choice/oldask1_config                 |  2 +-
 scripts/kconfig/tests/inter_choice/expected_config          |  2 +-
 scripts/kconfig/tests/new_choice_with_dep/config            |  2 +-
 scripts/kconfig/tests/no_write_if_dep_unmet/__init__.py     |  7 ++--
 scripts/kconfig/tests/no_write_if_dep_unmet/expected_config |  2 +-
 tools/bpf/bpftool/Makefile                                  |  4 +--
 tools/build/Makefile                                        |  2 +-
 tools/counter/Makefile                                      |  2 +-
 tools/gpio/Makefile                                         |  2 +-
 tools/hv/Makefile                                           |  2 +-
 tools/iio/Makefile                                          |  2 +-
 tools/lib/api/Makefile                                      |  2 +-
 tools/lib/bpf/Makefile                                      |  2 +-
 tools/lib/perf/Makefile                                     |  2 +-
 tools/lib/subcmd/Makefile                                   |  2 +-
 tools/objtool/Makefile                                      |  2 +-
 tools/pci/Makefile                                          |  2 +-
 tools/perf/Makefile.perf                                    |  4 +--
 tools/power/x86/intel-speed-select/Makefile                 |  2 +-
 tools/scripts/Makefile.include                              | 22 ++++++++-----
 tools/scripts/utilities.mak                                 |  2 +-
 tools/spi/Makefile                                          |  6 ++--
 tools/testing/selftests/lib.mk                              |  8 ++++-
 tools/tracing/rtla/Makefile                                 |  2 +-
 tools/usb/Makefile                                          |  2 +-
 usr/Makefile                                                |  4 +--
 usr/include/Makefile                                        |  7 ++--
 62 files changed, 224 insertions(+), 213 deletions(-)

-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [GIT PULL] Kbuild updates for v5.18-rc1
  2022-03-28 12:08 [GIT PULL] Kbuild updates for v5.18-rc1 Masahiro Yamada
@ 2022-03-29 20:10 ` Linus Torvalds
  2022-03-30  2:14   ` Masahiro Yamada
  0 siblings, 1 reply; 3+ messages in thread
From: Linus Torvalds @ 2022-03-29 20:10 UTC (permalink / raw)
  To: Masahiro Yamada; +Cc: Linux Kernel Mailing List, Linux Kbuild mailing list

I pulled this, and then immediately unpulled.

On Mon, Mar 28, 2022 at 5:09 AM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
>  - Change the .config format to use CONFIG_FOO=n instead of
>    "# CONFIG_FOO is not set"

This is unacceptable.

The change was apparently made to make automation easier, at the
expense of making it harder for people to parse.

That is not a valid tradeoff.

I _look_ at my config files. Constantly. I don't want some mess where
it's really damn hard to visually tell the difference between "this is
enabled" and "this is not enabled".

So no, I'm not pulling this kind of horrible "make it simpler for
automation, and harder for humans" to read.

                Linus

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [GIT PULL] Kbuild updates for v5.18-rc1
  2022-03-29 20:10 ` Linus Torvalds
@ 2022-03-30  2:14   ` Masahiro Yamada
  0 siblings, 0 replies; 3+ messages in thread
From: Masahiro Yamada @ 2022-03-30  2:14 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Linux Kernel Mailing List, Linux Kbuild mailing list

On Wed, Mar 30, 2022 at 5:10 AM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> I pulled this, and then immediately unpulled.
>
> On Mon, Mar 28, 2022 at 5:09 AM Masahiro Yamada <masahiroy@kernel.org> wrote:
> >
> >  - Change the .config format to use CONFIG_FOO=n instead of
> >    "# CONFIG_FOO is not set"
>
> This is unacceptable.
>
> The change was apparently made to make automation easier, at the
> expense of making it harder for people to parse.

Making automation was not the main motivation.

We use comment lines in two ways.

[1] disabled option
     # CONFIG_FOO is not set

[2] real comments

    #
    # IRQ subsystem
    #
    CONFIG_GENERIC_IRQ_PROBE=y
       [ snip]
    # CONFIG_GENERIC_IRQ_DEBUGFS is not set
    # end of IRQ subsystem



In the current .config format,
 it is easy to tell the difference between
"this is enabled" and "this is not enabled",
but it is hard to tell the difference between
"this is not enabled" and "this is a comment".


I constantly receive some patches (e.g. [1] )
for better commenting, but the weirdness
is that Kconfig uses comments to store actual
information.

[1] https://patchwork.kernel.org/project/linux-kbuild/patch/20211213100043.45645-3-arielmarcovitch@gmail.com/


Having said that, you really dislike this change.
Let me send v2.


>
> That is not a valid tradeoff.
>
> I _look_ at my config files. Constantly. I don't want some mess where
> it's really damn hard to visually tell the difference between "this is
> enabled" and "this is not enabled".
>
> So no, I'm not pulling this kind of horrible "make it simpler for
> automation, and harder for humans" to read.
>
>                 Linus



-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-03-30  2:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-28 12:08 [GIT PULL] Kbuild updates for v5.18-rc1 Masahiro Yamada
2022-03-29 20:10 ` Linus Torvalds
2022-03-30  2:14   ` Masahiro Yamada

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).