2019-09-15 15:14:45

by Masahiro Yamada

[permalink] [raw]
Subject: [GIT PULL] Kbuild updates for v5.4-rc1

Hi Linus,

This is a Kbuild pull request for v5.4-rc1.
I am sending this a bit earlier.
Please pull it in when you open the merge window.

Thanks.


The following changes since commit d45331b00ddb179e291766617259261c112db872:

Linux 5.3-rc4 (2019-08-11 13:26:41 -0700)

are available in the Git repository at:

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

for you to fetch changes up to 77564a4829ef6d309331d443ea6ceb065f3dc371:

genksyms: convert to SPDX License Identifier for lex.l and parse.y
(2019-09-14 11:40:13 +0900)

----------------------------------------------------------------
Kbuild updates for v5.4

- add modpost warn exported symbols marked as 'static' because 'static'
and EXPORT_SYMBOL is an odd combination

- break the build early if gold linker is used

- optimize the Bison rule to produce .c and .h files by a single
pattern rule

- handle PREEMPT_RT in the module vermagic and UTS_VERSION

- warn CONFIG options leaked to the user-space except existing ones

- make single targets work properly

- rebuild modules when module linker scripts are updated

- split the module final link stage into scripts/Makefile.modfinal

- fix the missed error code in merge_config.sh

- improve the error message displayed on the attempt of the O= build
in unclean source tree

- remove 'clean-dirs' syntax

- disable -Wimplicit-fallthrough warning for Clang

- add CONFIG_CC_OPTIMIZE_FOR_SIZE_O3 for ARC

- remove ARCH_{CPP,A,C}FLAGS variables

- add $(BASH) to run bash scripts

- change *CFLAGS_<basetarget>.o to take the relative path to $(obj)
instead of the basename

- stop suppressing Clang's -Wunused-function warnings when W=1

- fix linux/export.h to avoid genksyms calculating CRC of trimmed
exported symbols

- misc cleanups

----------------------------------------------------------------
Denis Efremov (2):
modpost: check for static EXPORT_SYMBOL* functions
modpost: add NOFAIL to strndup

Guillaume Tucker (1):
merge_config.sh: ignore unwanted grep errors

Heikki Krogerus (1):
modpost: add guid_t type definition

Kees Cook (1):
kbuild: Parameterize kallsyms generation and correct reporting

Mark Brown (1):
merge_config.sh: Check error codes from make

Masahiro Yamada (54):
kbuild: use $(basename ...) for cmd_asn1_compiler
kbuild: make bison create C file and header in a single pattern rule
kbuild: move flex and bison rules to Makefile.host
kbuild: add [M] marker for build log of *.mod.o
kbuild: treat an object as multi-used when $(foo-) is set
kbuild: move the Module.symvers check for external module build
kbuild: refactor part-of-module more
kbuild: fix modkern_aflags implementation
kbuild: remove 'make /' support
kbuild: remove meaningless 'targets' in ./Kbuild
kbuild: do not descend to ./Kbuild when cleaning
kbuild: unset variables in top Makefile instead of setting 0
kbuild: unify vmlinux-dirs and module-dirs rules
kbuild: unify clean-dirs rule for in-kernel and external module
kbuild: re-implement detection of CONFIG options leaked to user-space
kbuild: make single targets work more correctly
treewide: remove dummy Makefiles for single targets
kbuild: move KBUILD_LDS, KBUILD_VMLINUX_{OBJS,LIBS} to makefiles.rst
kbuild: rebuild modules when module linker scripts are updated
kbuild: split final module linking out into Makefile.modfinal
.gitignore: ignore modules.order explicitly
kbuild: add CONFIG_ASM_MODVERSIONS
kbuild: move modkern_{c,a}flags to Makefile.lib from Makefile.build
kbuild: pkg: clean up package files/dirs from the top Makefile
kbuild: pkg: add package targets to PHONY instead of FORCE
kbuild: pkg: rename scripts/package/Makefile to scripts/Makefile.package
kbuild: remove unneeded '+' marker from kselftest-merge
docs: kbuild: fix invalid ReST syntax
docs: kbuild: remove cc-ldoption from document again
init/Kconfig: rework help of CONFIG_CC_OPTIMIZE_FOR_SIZE
kbuild: remove unneeded comments and code from scripts/basic/Makefile
kbuild: remove unneeded dependency for $(DOC_TARGETS)
kbuild: get rid of $(realpath ...) from scripts/mkmakefile
kbuild: remove 'Using ... as source for kernel' message
kbuild: Inform user to pass ARCH= for make mrproper only when necessary
kbuild: clarify where to run make mrproper when out-of-tree fails
kbuild: move the clean srctree check to the outputmakefile target
kbuild: remove prepare3 target
kbuild: check clean srctree even earlier
kbuild: remove clean-dirs syntax
kbuild: remove unneeded '+' marker from cmd_clean
kbuild: clean up subdir-ymn calculation in Makefile.clean
kbuild,arc: add CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 for ARC
kbuild: remove ARCH_{CPP,A,C}FLAGS
kbuild: add $(BASH) to run scripts with bash-extension
kbuild: change *FLAGS_<basetarget>.o to take the path relative to $(obj)
kbuild: refactor scripts/Makefile.extrawarn
kbuild: rename KBUILD_ENABLE_EXTRA_GCC_CHECKS to KBUILD_EXTRA_WARN
kbuild: allow Clang to find unused static inline functions for W=1 build
export.h: remove defined(__KERNEL__), which is no longer needed
export.h, genksyms: do not make genksyms calculate CRC of trimmed symbols
modpost: use MODULE_INFO() for __module_depends
modpost: use __section in the output to *.mod.c
genksyms: convert to SPDX License Identifier for lex.l and parse.y

Nathan Chancellor (1):
kbuild: Do not enable -Wimplicit-fallthrough for clang for now

Thomas Gleixner (2):
kbuild: Fail if gold linker is detected
Kbuild: Handle PREEMPT_RT for version string and magic

.gitignore | 2 +-
Documentation/kbuild/kbuild.rst | 28 +--
Documentation/kbuild/makefiles.rst | 67 +++---
Kbuild | 7 -
Makefile | 296
+++++++++++++-------------
arch/Kconfig | 7 +
arch/alpha/Kconfig | 1 +
arch/arc/Makefile | 8 -
arch/arc/configs/axs101_defconfig | 1 +
arch/arc/configs/axs103_defconfig | 1 +
arch/arc/configs/axs103_smp_defconfig | 1 +
arch/arc/configs/haps_hs_defconfig | 1 +
arch/arc/configs/haps_hs_smp_defconfig | 1 +
arch/arc/configs/hsdk_defconfig | 1 +
arch/arc/configs/nps_defconfig | 1 +
arch/arc/configs/nsim_700_defconfig | 1 +
arch/arc/configs/nsim_hs_defconfig | 1 +
arch/arc/configs/nsim_hs_smp_defconfig | 1 +
arch/arc/configs/nsimosci_defconfig | 1 +
arch/arc/configs/nsimosci_hs_defconfig | 1 +
arch/arc/configs/nsimosci_hs_smp_defconfig | 1 +
arch/arc/configs/tb10x_defconfig | 1 +
arch/arc/configs/vdk_hs38_defconfig | 1 +
arch/arc/configs/vdk_hs38_smp_defconfig | 1 +
arch/arm/Makefile | 2 +-
arch/arm/kvm/Makefile | 5 +-
arch/arm64/Kconfig | 1 +
arch/arm64/Makefile | 2 +-
arch/ia64/Kconfig | 1 +
arch/ia64/Makefile | 2 +-
arch/m68k/Kconfig | 1 +
arch/m68k/Makefile | 2 +-
arch/mips/Kconfig | 1 +
arch/mips/boot/Makefile | 2 +-
arch/parisc/Makefile | 2 +-
arch/powerpc/Kconfig | 1 +
arch/powerpc/Makefile | 2 +-
arch/powerpc/Makefile.postlink | 2 +-
arch/powerpc/kernel/prom_init_check.sh | 2 +-
arch/riscv/Kconfig | 1 +
arch/riscv/Makefile | 2 +-
arch/s390/Kconfig | 1 +
arch/sparc/Kconfig | 1 +
arch/um/Kconfig | 1 +
arch/x86/Kconfig | 1 +
arch/x86/entry/vdso/Makefile | 3 +-
drivers/gpu/drm/amd/display/dc/calcs/Makefile | 6 +-
drivers/gpu/drm/amd/display/dc/dcn20/Makefile | 2 +-
drivers/gpu/drm/amd/display/dc/dml/Makefile | 17 +-
drivers/gpu/drm/amd/display/dc/dsc/Makefile | 7 +-
drivers/gpu/drm/i915/Makefile | 2 +-
drivers/net/ethernet/aquantia/atlantic/hw_atl/Makefile | 2 -
drivers/net/ethernet/mellanox/mlx5/core/accel/Makefile | 2 -
drivers/net/ethernet/mellanox/mlx5/core/diag/Makefile | 2 -
drivers/net/ethernet/mellanox/mlx5/core/en/Makefile | 2 -
drivers/net/ethernet/mellanox/mlx5/core/en/xsk/Makefile | 1 -
drivers/net/ethernet/mellanox/mlx5/core/en_accel/Makefile | 2 -
drivers/net/ethernet/mellanox/mlx5/core/fpga/Makefile | 2 -
drivers/net/ethernet/mellanox/mlx5/core/ipoib/Makefile | 2 -
drivers/net/ethernet/mellanox/mlx5/core/lib/Makefile | 2 -
drivers/net/ethernet/netronome/nfp/bpf/Makefile | 2 -
drivers/net/ethernet/netronome/nfp/flower/Makefile | 2 -
drivers/net/ethernet/netronome/nfp/nfpcore/Makefile | 2 -
drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000/Makefile | 2 -
drivers/net/ethernet/netronome/nfp/nic/Makefile | 2 -
include/linux/compiler_types.h | 20 +-
include/linux/export.h | 42 ++--
include/linux/vermagic.h | 2 +
init/Kconfig | 26 ++-
init/Makefile | 5 +-
kernel/Makefile | 2 +-
scripts/Kconfig.include | 3 +
scripts/Makefile | 2 +-
scripts/Makefile.build | 73 ++++---
scripts/Makefile.clean | 31 +--
scripts/Makefile.extrawarn | 121 ++++++-----
scripts/Makefile.host | 39 +++-
scripts/Makefile.lib | 63 +++---
scripts/Makefile.modfinal | 60 ++++++
scripts/Makefile.modpost | 80 ++-----
scripts/{package/Makefile => Makefile.package} | 43 ++--
scripts/basic/Makefile | 14 +-
scripts/genksyms/Makefile | 11 +-
scripts/genksyms/keywords.c | 6 +-
scripts/genksyms/lex.l | 32 +--
scripts/genksyms/parse.y | 32 +--
scripts/headers_install.sh | 72 +++++++
scripts/kconfig/Makefile | 10 +-
scripts/kconfig/merge_config.sh | 12 +-
scripts/link-vmlinux.sh | 38 ++--
scripts/mkcompile_h | 4 +-
scripts/mkmakefile | 4 +-
scripts/mod/file2alias.c | 5 +
scripts/mod/modpost.c | 48 ++++-
usr/include/Makefile | 4 +-
95 files changed, 755 insertions(+), 680 deletions(-)
delete mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl/Makefile
delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/accel/Makefile
delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/diag/Makefile
delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/Makefile
delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/xsk/Makefile
delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en_accel/Makefile
delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/fpga/Makefile
delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/ipoib/Makefile
delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/lib/Makefile
delete mode 100644 drivers/net/ethernet/netronome/nfp/bpf/Makefile
delete mode 100644 drivers/net/ethernet/netronome/nfp/flower/Makefile
delete mode 100644 drivers/net/ethernet/netronome/nfp/nfpcore/Makefile
delete mode 100644 drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000/Makefile
delete mode 100644 drivers/net/ethernet/netronome/nfp/nic/Makefile
create mode 100644 scripts/Makefile.modfinal
rename scripts/{package/Makefile => Makefile.package} (92%)


--
Best Regards
Masahiro Yamada


2019-09-17 18:06:23

by Jessica Yu

[permalink] [raw]
Subject: Re: [GIT PULL] Kbuild updates for v5.4-rc1

+++ Masahiro Yamada [15/09/19 22:27 +0900]:
>Hi Linus,
>
>This is a Kbuild pull request for v5.4-rc1.
>I am sending this a bit earlier.
>Please pull it in when you open the merge window.
>
>Thanks.

Hi Masahiro, Linus,

There is a merge conflict between the kbuild and modules-next tree.

Specifically, commits

69a94abb82e ("export.h, genksyms: do not make genksyms calculate CRC of trimmed symbols")

and

9b9a3f20cbe ("kbuild: split final module linking out into Makefile.modfinal")

from the kbuild tree caused some conflicts in modules-next in
include/linux/export.h and scripts/Makefile.modpost. The conflict
caused by 69a94abb82e in export.h is *non* trivial whereas the latter
commit involving Makefile.modpost is trivial.

So there are a few options here..

Solution #1: Masahiro pops the topmost 4 commits (down to 69a94abb82e)
from kbuild/for-next and I take them resolved through modules-next.
This would only leave the trivial conflict in Makefile.modpost left.
Send Linus the modules-next tree with a trivial resolution for
Makefile.modpost.

Solution #2:
Matthias Maennich staged a merge resolution from his tree
(https://github.com/metti/linux/tree/modules-next_linux-kbuild) so
another solution might be that I merge kbuild/for-next into
modules-next, take Matthias' (CC'd) conflict resolution including his
Signed-off-by, and then take that to Linus.

What would be most preferrable for you guys?

Thanks,

Jessica

>The following changes since commit d45331b00ddb179e291766617259261c112db872:
>
> Linux 5.3-rc4 (2019-08-11 13:26:41 -0700)
>
>are available in the Git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
>tags/kbuild-v5.4
>
>for you to fetch changes up to 77564a4829ef6d309331d443ea6ceb065f3dc371:
>
> genksyms: convert to SPDX License Identifier for lex.l and parse.y
>(2019-09-14 11:40:13 +0900)
>
>----------------------------------------------------------------
>Kbuild updates for v5.4
>
> - add modpost warn exported symbols marked as 'static' because 'static'
> and EXPORT_SYMBOL is an odd combination
>
> - break the build early if gold linker is used
>
> - optimize the Bison rule to produce .c and .h files by a single
> pattern rule
>
> - handle PREEMPT_RT in the module vermagic and UTS_VERSION
>
> - warn CONFIG options leaked to the user-space except existing ones
>
> - make single targets work properly
>
> - rebuild modules when module linker scripts are updated
>
> - split the module final link stage into scripts/Makefile.modfinal
>
> - fix the missed error code in merge_config.sh
>
> - improve the error message displayed on the attempt of the O= build
> in unclean source tree
>
> - remove 'clean-dirs' syntax
>
> - disable -Wimplicit-fallthrough warning for Clang
>
> - add CONFIG_CC_OPTIMIZE_FOR_SIZE_O3 for ARC
>
> - remove ARCH_{CPP,A,C}FLAGS variables
>
> - add $(BASH) to run bash scripts
>
> - change *CFLAGS_<basetarget>.o to take the relative path to $(obj)
> instead of the basename
>
> - stop suppressing Clang's -Wunused-function warnings when W=1
>
> - fix linux/export.h to avoid genksyms calculating CRC of trimmed
> exported symbols
>
> - misc cleanups
>
>----------------------------------------------------------------
>Denis Efremov (2):
> modpost: check for static EXPORT_SYMBOL* functions
> modpost: add NOFAIL to strndup
>
>Guillaume Tucker (1):
> merge_config.sh: ignore unwanted grep errors
>
>Heikki Krogerus (1):
> modpost: add guid_t type definition
>
>Kees Cook (1):
> kbuild: Parameterize kallsyms generation and correct reporting
>
>Mark Brown (1):
> merge_config.sh: Check error codes from make
>
>Masahiro Yamada (54):
> kbuild: use $(basename ...) for cmd_asn1_compiler
> kbuild: make bison create C file and header in a single pattern rule
> kbuild: move flex and bison rules to Makefile.host
> kbuild: add [M] marker for build log of *.mod.o
> kbuild: treat an object as multi-used when $(foo-) is set
> kbuild: move the Module.symvers check for external module build
> kbuild: refactor part-of-module more
> kbuild: fix modkern_aflags implementation
> kbuild: remove 'make /' support
> kbuild: remove meaningless 'targets' in ./Kbuild
> kbuild: do not descend to ./Kbuild when cleaning
> kbuild: unset variables in top Makefile instead of setting 0
> kbuild: unify vmlinux-dirs and module-dirs rules
> kbuild: unify clean-dirs rule for in-kernel and external module
> kbuild: re-implement detection of CONFIG options leaked to user-space
> kbuild: make single targets work more correctly
> treewide: remove dummy Makefiles for single targets
> kbuild: move KBUILD_LDS, KBUILD_VMLINUX_{OBJS,LIBS} to makefiles.rst
> kbuild: rebuild modules when module linker scripts are updated
> kbuild: split final module linking out into Makefile.modfinal
> .gitignore: ignore modules.order explicitly
> kbuild: add CONFIG_ASM_MODVERSIONS
> kbuild: move modkern_{c,a}flags to Makefile.lib from Makefile.build
> kbuild: pkg: clean up package files/dirs from the top Makefile
> kbuild: pkg: add package targets to PHONY instead of FORCE
> kbuild: pkg: rename scripts/package/Makefile to scripts/Makefile.package
> kbuild: remove unneeded '+' marker from kselftest-merge
> docs: kbuild: fix invalid ReST syntax
> docs: kbuild: remove cc-ldoption from document again
> init/Kconfig: rework help of CONFIG_CC_OPTIMIZE_FOR_SIZE
> kbuild: remove unneeded comments and code from scripts/basic/Makefile
> kbuild: remove unneeded dependency for $(DOC_TARGETS)
> kbuild: get rid of $(realpath ...) from scripts/mkmakefile
> kbuild: remove 'Using ... as source for kernel' message
> kbuild: Inform user to pass ARCH= for make mrproper only when necessary
> kbuild: clarify where to run make mrproper when out-of-tree fails
> kbuild: move the clean srctree check to the outputmakefile target
> kbuild: remove prepare3 target
> kbuild: check clean srctree even earlier
> kbuild: remove clean-dirs syntax
> kbuild: remove unneeded '+' marker from cmd_clean
> kbuild: clean up subdir-ymn calculation in Makefile.clean
> kbuild,arc: add CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 for ARC
> kbuild: remove ARCH_{CPP,A,C}FLAGS
> kbuild: add $(BASH) to run scripts with bash-extension
> kbuild: change *FLAGS_<basetarget>.o to take the path relative to $(obj)
> kbuild: refactor scripts/Makefile.extrawarn
> kbuild: rename KBUILD_ENABLE_EXTRA_GCC_CHECKS to KBUILD_EXTRA_WARN
> kbuild: allow Clang to find unused static inline functions for W=1 build
> export.h: remove defined(__KERNEL__), which is no longer needed
> export.h, genksyms: do not make genksyms calculate CRC of trimmed symbols
> modpost: use MODULE_INFO() for __module_depends
> modpost: use __section in the output to *.mod.c
> genksyms: convert to SPDX License Identifier for lex.l and parse.y
>
>Nathan Chancellor (1):
> kbuild: Do not enable -Wimplicit-fallthrough for clang for now
>
>Thomas Gleixner (2):
> kbuild: Fail if gold linker is detected
> Kbuild: Handle PREEMPT_RT for version string and magic
>
> .gitignore | 2 +-
> Documentation/kbuild/kbuild.rst | 28 +--
> Documentation/kbuild/makefiles.rst | 67 +++---
> Kbuild | 7 -
> Makefile | 296
>+++++++++++++-------------
> arch/Kconfig | 7 +
> arch/alpha/Kconfig | 1 +
> arch/arc/Makefile | 8 -
> arch/arc/configs/axs101_defconfig | 1 +
> arch/arc/configs/axs103_defconfig | 1 +
> arch/arc/configs/axs103_smp_defconfig | 1 +
> arch/arc/configs/haps_hs_defconfig | 1 +
> arch/arc/configs/haps_hs_smp_defconfig | 1 +
> arch/arc/configs/hsdk_defconfig | 1 +
> arch/arc/configs/nps_defconfig | 1 +
> arch/arc/configs/nsim_700_defconfig | 1 +
> arch/arc/configs/nsim_hs_defconfig | 1 +
> arch/arc/configs/nsim_hs_smp_defconfig | 1 +
> arch/arc/configs/nsimosci_defconfig | 1 +
> arch/arc/configs/nsimosci_hs_defconfig | 1 +
> arch/arc/configs/nsimosci_hs_smp_defconfig | 1 +
> arch/arc/configs/tb10x_defconfig | 1 +
> arch/arc/configs/vdk_hs38_defconfig | 1 +
> arch/arc/configs/vdk_hs38_smp_defconfig | 1 +
> arch/arm/Makefile | 2 +-
> arch/arm/kvm/Makefile | 5 +-
> arch/arm64/Kconfig | 1 +
> arch/arm64/Makefile | 2 +-
> arch/ia64/Kconfig | 1 +
> arch/ia64/Makefile | 2 +-
> arch/m68k/Kconfig | 1 +
> arch/m68k/Makefile | 2 +-
> arch/mips/Kconfig | 1 +
> arch/mips/boot/Makefile | 2 +-
> arch/parisc/Makefile | 2 +-
> arch/powerpc/Kconfig | 1 +
> arch/powerpc/Makefile | 2 +-
> arch/powerpc/Makefile.postlink | 2 +-
> arch/powerpc/kernel/prom_init_check.sh | 2 +-
> arch/riscv/Kconfig | 1 +
> arch/riscv/Makefile | 2 +-
> arch/s390/Kconfig | 1 +
> arch/sparc/Kconfig | 1 +
> arch/um/Kconfig | 1 +
> arch/x86/Kconfig | 1 +
> arch/x86/entry/vdso/Makefile | 3 +-
> drivers/gpu/drm/amd/display/dc/calcs/Makefile | 6 +-
> drivers/gpu/drm/amd/display/dc/dcn20/Makefile | 2 +-
> drivers/gpu/drm/amd/display/dc/dml/Makefile | 17 +-
> drivers/gpu/drm/amd/display/dc/dsc/Makefile | 7 +-
> drivers/gpu/drm/i915/Makefile | 2 +-
> drivers/net/ethernet/aquantia/atlantic/hw_atl/Makefile | 2 -
> drivers/net/ethernet/mellanox/mlx5/core/accel/Makefile | 2 -
> drivers/net/ethernet/mellanox/mlx5/core/diag/Makefile | 2 -
> drivers/net/ethernet/mellanox/mlx5/core/en/Makefile | 2 -
> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/Makefile | 1 -
> drivers/net/ethernet/mellanox/mlx5/core/en_accel/Makefile | 2 -
> drivers/net/ethernet/mellanox/mlx5/core/fpga/Makefile | 2 -
> drivers/net/ethernet/mellanox/mlx5/core/ipoib/Makefile | 2 -
> drivers/net/ethernet/mellanox/mlx5/core/lib/Makefile | 2 -
> drivers/net/ethernet/netronome/nfp/bpf/Makefile | 2 -
> drivers/net/ethernet/netronome/nfp/flower/Makefile | 2 -
> drivers/net/ethernet/netronome/nfp/nfpcore/Makefile | 2 -
> drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000/Makefile | 2 -
> drivers/net/ethernet/netronome/nfp/nic/Makefile | 2 -
> include/linux/compiler_types.h | 20 +-
> include/linux/export.h | 42 ++--
> include/linux/vermagic.h | 2 +
> init/Kconfig | 26 ++-
> init/Makefile | 5 +-
> kernel/Makefile | 2 +-
> scripts/Kconfig.include | 3 +
> scripts/Makefile | 2 +-
> scripts/Makefile.build | 73 ++++---
> scripts/Makefile.clean | 31 +--
> scripts/Makefile.extrawarn | 121 ++++++-----
> scripts/Makefile.host | 39 +++-
> scripts/Makefile.lib | 63 +++---
> scripts/Makefile.modfinal | 60 ++++++
> scripts/Makefile.modpost | 80 ++-----
> scripts/{package/Makefile => Makefile.package} | 43 ++--
> scripts/basic/Makefile | 14 +-
> scripts/genksyms/Makefile | 11 +-
> scripts/genksyms/keywords.c | 6 +-
> scripts/genksyms/lex.l | 32 +--
> scripts/genksyms/parse.y | 32 +--
> scripts/headers_install.sh | 72 +++++++
> scripts/kconfig/Makefile | 10 +-
> scripts/kconfig/merge_config.sh | 12 +-
> scripts/link-vmlinux.sh | 38 ++--
> scripts/mkcompile_h | 4 +-
> scripts/mkmakefile | 4 +-
> scripts/mod/file2alias.c | 5 +
> scripts/mod/modpost.c | 48 ++++-
> usr/include/Makefile | 4 +-
> 95 files changed, 755 insertions(+), 680 deletions(-)
> delete mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl/Makefile
> delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/accel/Makefile
> delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/diag/Makefile
> delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/Makefile
> delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/xsk/Makefile
> delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en_accel/Makefile
> delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/fpga/Makefile
> delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/ipoib/Makefile
> delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/lib/Makefile
> delete mode 100644 drivers/net/ethernet/netronome/nfp/bpf/Makefile
> delete mode 100644 drivers/net/ethernet/netronome/nfp/flower/Makefile
> delete mode 100644 drivers/net/ethernet/netronome/nfp/nfpcore/Makefile
> delete mode 100644 drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000/Makefile
> delete mode 100644 drivers/net/ethernet/netronome/nfp/nic/Makefile
> create mode 100644 scripts/Makefile.modfinal
> rename scripts/{package/Makefile => Makefile.package} (92%)
>
>
>--
>Best Regards
>Masahiro Yamada

2019-09-17 19:36:37

by Jessica Yu

[permalink] [raw]
Subject: Re: [GIT PULL] Kbuild updates for v5.4-rc1

+++ Masahiro Yamada [18/09/19 02:26 +0900]:
>Hi Jessica, Linus,
>
>On Wed, Sep 18, 2019 at 12:09 AM Jessica Yu <[email protected]> wrote:
>>
>> +++ Masahiro Yamada [15/09/19 22:27 +0900]:
>> >Hi Linus,
>> >
>> >This is a Kbuild pull request for v5.4-rc1.
>> >I am sending this a bit earlier.
>> >Please pull it in when you open the merge window.
>> >
>> >Thanks.
>>
>> Hi Masahiro, Linus,
>>
>> There is a merge conflict between the kbuild and modules-next tree.
>>
>> Specifically, commits
>>
>> 69a94abb82e ("export.h, genksyms: do not make genksyms calculate CRC of trimmed symbols")
>>
>> and
>>
>> 9b9a3f20cbe ("kbuild: split final module linking out into Makefile.modfinal")
>>
>> from the kbuild tree caused some conflicts in modules-next in
>> include/linux/export.h and scripts/Makefile.modpost. The conflict
>> caused by 69a94abb82e in export.h is *non* trivial whereas the latter
>> commit involving Makefile.modpost is trivial.
>>
>> So there are a few options here..
>>
>> Solution #1: Masahiro pops the topmost 4 commits (down to 69a94abb82e)
>> from kbuild/for-next and I take them resolved through modules-next.
>> This would only leave the trivial conflict in Makefile.modpost left.
>> Send Linus the modules-next tree with a trivial resolution for
>> Makefile.modpost.
>
>
>No. I do not like to do it.
>
>
>Reason 1:
>Commit 69a94abb82e is a bug fix.
>On the other hand, the module name-space is a completely new feature.
>Why must the bug-fix commit rebased on top of the new feature commits?
>
>Reason 2:
>If 69a94abb82e were moved to your branch,
>its commit log would become really strange because the module-next branch
>does not contain 15bfc2348d54

No problem, fair enough points.

>> Solution #2:
>> Matthias Maennich staged a merge resolution from his tree
>> (https://github.com/metti/linux/tree/modules-next_linux-kbuild) so
>> another solution might be that I merge kbuild/for-next into
>> modules-next, take Matthias' (CC'd) conflict resolution including his
>> Signed-off-by, and then take that to Linus.
>
>I do not mind this. Please feel free to proceed.
>
>
>
>But, if you do not mind, I can propose one more solution.
>
>Solution #3
>
>Linus will pull this Kbuild PR.
>
>Then, Jessica will rebase the module-next branch on the latest Linus tree.
>
>Because nothing in the modules-next branch has been tested in linux-next yet,
>(the patches were queued after -rc8, but there was no linux-next
>release last week)
>there is no strong reason to keep them on v5.3-rc7, right?

Yikes, I did not catch Stephen Rothwell's email about pausing the
linux-next releases from Sept 5 until Sept 30
(https://lore.kernel.org/linux-next/[email protected]/).

The modules-next namespace patches have been in since last Tuesday,
and my original plan was for them to catch at least a week of
linux-next time before sending the pull request. :-/ But that did not
happen due to the above.

So Linus, in light of the above realization, I'd say at this time - I
will still formally send a pull request with the merge conflicts
resolved with either solution #2 or #3, but merge at your own
discretion, it's fine to delay to the following release if you're
uncomfortable.

Thanks,

Jessica

2019-09-17 19:44:02

by Will Deacon

[permalink] [raw]
Subject: Re: [GIT PULL] Kbuild updates for v5.4-rc1

Hi Jessica,

On Tue, Sep 17, 2019 at 08:01:36PM +0200, Jessica Yu wrote:
> Yikes, I did not catch Stephen Rothwell's email about pausing the
> linux-next releases from Sept 5 until Sept 30
> (https://lore.kernel.org/linux-next/[email protected]/).
>
> The modules-next namespace patches have been in since last Tuesday,
> and my original plan was for them to catch at least a week of
> linux-next time before sending the pull request. :-/ But that did not
> happen due to the above.
>
> So Linus, in light of the above realization, I'd say at this time - I
> will still formally send a pull request with the merge conflicts
> resolved with either solution #2 or #3, but merge at your own
> discretion, it's fine to delay to the following release if you're
> uncomfortable.

FWIW, when I've run into unexpected merge conflicts with other trees in the
past, I've found that it's usually sufficient just to include the resolution
as an inline diff in the pull request, rather than try to munge the tree
with merges or rebases. Linus is pretty good at figuring it out, and with a
resolution to compare with, the damage is limited. The downside of the merge
is that it's fiddly to extract the changes and see what's actually being
pulled.

Also, it's not like the kbuild stuff has been in -next for ages, so this
would've been a late and messy conflict regardless.

Will

2019-09-17 19:54:06

by Jessica Yu

[permalink] [raw]
Subject: Re: [GIT PULL] Kbuild updates for v5.4-rc1

+++ Will Deacon [17/09/19 19:16 +0100]:
>Hi Jessica,
>
>On Tue, Sep 17, 2019 at 08:01:36PM +0200, Jessica Yu wrote:
>> Yikes, I did not catch Stephen Rothwell's email about pausing the
>> linux-next releases from Sept 5 until Sept 30
>> (https://lore.kernel.org/linux-next/[email protected]/).
>>
>> The modules-next namespace patches have been in since last Tuesday,
>> and my original plan was for them to catch at least a week of
>> linux-next time before sending the pull request. :-/ But that did not
>> happen due to the above.
>>
>> So Linus, in light of the above realization, I'd say at this time - I
>> will still formally send a pull request with the merge conflicts
>> resolved with either solution #2 or #3, but merge at your own
>> discretion, it's fine to delay to the following release if you're
>> uncomfortable.
>
>FWIW, when I've run into unexpected merge conflicts with other trees in the
>past, I've found that it's usually sufficient just to include the resolution
>as an inline diff in the pull request, rather than try to munge the tree
>with merges or rebases. Linus is pretty good at figuring it out, and with a
>resolution to compare with, the damage is limited. The downside of the merge
>is that it's fiddly to extract the changes and see what's actually being
>pulled.
>
>Also, it's not like the kbuild stuff has been in -next for ages, so this
>would've been a late and messy conflict regardless.

Hi Will!

Thanks a lot for the advice :-) The inline diff sounds like a good
idea. This is I believe only the second tree conflict I've encountered
so far so the tips are much appreciated.

Jessica

2019-09-18 00:25:16

by Masahiro Yamada

[permalink] [raw]
Subject: Re: [GIT PULL] Kbuild updates for v5.4-rc1

Hi Jessica, Linus,

On Wed, Sep 18, 2019 at 12:09 AM Jessica Yu <[email protected]> wrote:
>
> +++ Masahiro Yamada [15/09/19 22:27 +0900]:
> >Hi Linus,
> >
> >This is a Kbuild pull request for v5.4-rc1.
> >I am sending this a bit earlier.
> >Please pull it in when you open the merge window.
> >
> >Thanks.
>
> Hi Masahiro, Linus,
>
> There is a merge conflict between the kbuild and modules-next tree.
>
> Specifically, commits
>
> 69a94abb82e ("export.h, genksyms: do not make genksyms calculate CRC of trimmed symbols")
>
> and
>
> 9b9a3f20cbe ("kbuild: split final module linking out into Makefile.modfinal")
>
> from the kbuild tree caused some conflicts in modules-next in
> include/linux/export.h and scripts/Makefile.modpost. The conflict
> caused by 69a94abb82e in export.h is *non* trivial whereas the latter
> commit involving Makefile.modpost is trivial.
>
> So there are a few options here..
>
> Solution #1: Masahiro pops the topmost 4 commits (down to 69a94abb82e)
> from kbuild/for-next and I take them resolved through modules-next.
> This would only leave the trivial conflict in Makefile.modpost left.
> Send Linus the modules-next tree with a trivial resolution for
> Makefile.modpost.


No. I do not like to do it.


Reason 1:
Commit 69a94abb82e is a bug fix.
On the other hand, the module name-space is a completely new feature.
Why must the bug-fix commit rebased on top of the new feature commits?

Reason 2:
If 69a94abb82e were moved to your branch,
its commit log would become really strange because the module-next branch
does not contain 15bfc2348d54




> Solution #2:
> Matthias Maennich staged a merge resolution from his tree
> (https://github.com/metti/linux/tree/modules-next_linux-kbuild) so
> another solution might be that I merge kbuild/for-next into
> modules-next, take Matthias' (CC'd) conflict resolution including his
> Signed-off-by, and then take that to Linus.

I do not mind this. Please feel free to proceed.



But, if you do not mind, I can propose one more solution.

Solution #3

Linus will pull this Kbuild PR.

Then, Jessica will rebase the module-next branch on the latest Linus tree.

Because nothing in the modules-next branch has been tested in linux-next yet,
(the patches were queued after -rc8, but there was no linux-next
release last week)
there is no strong reason to keep them on v5.3-rc7, right?


Masahiro



> What would be most preferrable for you guys?
>
> Thanks,
>
> Jessica
>
> >The following changes since commit d45331b00ddb179e291766617259261c112db872:
> >
> > Linux 5.3-rc4 (2019-08-11 13:26:41 -0700)
> >
> >are available in the Git repository at:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
> >tags/kbuild-v5.4
> >
> >for you to fetch changes up to 77564a4829ef6d309331d443ea6ceb065f3dc371:
> >
> > genksyms: convert to SPDX License Identifier for lex.l and parse.y
> >(2019-09-14 11:40:13 +0900)
> >
> >----------------------------------------------------------------
> >Kbuild updates for v5.4
> >
> > - add modpost warn exported symbols marked as 'static' because 'static'
> > and EXPORT_SYMBOL is an odd combination
> >
> > - break the build early if gold linker is used
> >
> > - optimize the Bison rule to produce .c and .h files by a single
> > pattern rule
> >
> > - handle PREEMPT_RT in the module vermagic and UTS_VERSION
> >
> > - warn CONFIG options leaked to the user-space except existing ones
> >
> > - make single targets work properly
> >
> > - rebuild modules when module linker scripts are updated
> >
> > - split the module final link stage into scripts/Makefile.modfinal
> >
> > - fix the missed error code in merge_config.sh
> >
> > - improve the error message displayed on the attempt of the O= build
> > in unclean source tree
> >
> > - remove 'clean-dirs' syntax
> >
> > - disable -Wimplicit-fallthrough warning for Clang
> >
> > - add CONFIG_CC_OPTIMIZE_FOR_SIZE_O3 for ARC
> >
> > - remove ARCH_{CPP,A,C}FLAGS variables
> >
> > - add $(BASH) to run bash scripts
> >
> > - change *CFLAGS_<basetarget>.o to take the relative path to $(obj)
> > instead of the basename
> >
> > - stop suppressing Clang's -Wunused-function warnings when W=1
> >
> > - fix linux/export.h to avoid genksyms calculating CRC of trimmed
> > exported symbols
> >
> > - misc cleanups
> >
> >----------------------------------------------------------------
> >Denis Efremov (2):
> > modpost: check for static EXPORT_SYMBOL* functions
> > modpost: add NOFAIL to strndup
> >
> >Guillaume Tucker (1):
> > merge_config.sh: ignore unwanted grep errors
> >
> >Heikki Krogerus (1):
> > modpost: add guid_t type definition
> >
> >Kees Cook (1):
> > kbuild: Parameterize kallsyms generation and correct reporting
> >
> >Mark Brown (1):
> > merge_config.sh: Check error codes from make
> >
> >Masahiro Yamada (54):
> > kbuild: use $(basename ...) for cmd_asn1_compiler
> > kbuild: make bison create C file and header in a single pattern rule
> > kbuild: move flex and bison rules to Makefile.host
> > kbuild: add [M] marker for build log of *.mod.o
> > kbuild: treat an object as multi-used when $(foo-) is set
> > kbuild: move the Module.symvers check for external module build
> > kbuild: refactor part-of-module more
> > kbuild: fix modkern_aflags implementation
> > kbuild: remove 'make /' support
> > kbuild: remove meaningless 'targets' in ./Kbuild
> > kbuild: do not descend to ./Kbuild when cleaning
> > kbuild: unset variables in top Makefile instead of setting 0
> > kbuild: unify vmlinux-dirs and module-dirs rules
> > kbuild: unify clean-dirs rule for in-kernel and external module
> > kbuild: re-implement detection of CONFIG options leaked to user-space
> > kbuild: make single targets work more correctly
> > treewide: remove dummy Makefiles for single targets
> > kbuild: move KBUILD_LDS, KBUILD_VMLINUX_{OBJS,LIBS} to makefiles.rst
> > kbuild: rebuild modules when module linker scripts are updated
> > kbuild: split final module linking out into Makefile.modfinal
> > .gitignore: ignore modules.order explicitly
> > kbuild: add CONFIG_ASM_MODVERSIONS
> > kbuild: move modkern_{c,a}flags to Makefile.lib from Makefile.build
> > kbuild: pkg: clean up package files/dirs from the top Makefile
> > kbuild: pkg: add package targets to PHONY instead of FORCE
> > kbuild: pkg: rename scripts/package/Makefile to scripts/Makefile.package
> > kbuild: remove unneeded '+' marker from kselftest-merge
> > docs: kbuild: fix invalid ReST syntax
> > docs: kbuild: remove cc-ldoption from document again
> > init/Kconfig: rework help of CONFIG_CC_OPTIMIZE_FOR_SIZE
> > kbuild: remove unneeded comments and code from scripts/basic/Makefile
> > kbuild: remove unneeded dependency for $(DOC_TARGETS)
> > kbuild: get rid of $(realpath ...) from scripts/mkmakefile
> > kbuild: remove 'Using ... as source for kernel' message
> > kbuild: Inform user to pass ARCH= for make mrproper only when necessary
> > kbuild: clarify where to run make mrproper when out-of-tree fails
> > kbuild: move the clean srctree check to the outputmakefile target
> > kbuild: remove prepare3 target
> > kbuild: check clean srctree even earlier
> > kbuild: remove clean-dirs syntax
> > kbuild: remove unneeded '+' marker from cmd_clean
> > kbuild: clean up subdir-ymn calculation in Makefile.clean
> > kbuild,arc: add CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 for ARC
> > kbuild: remove ARCH_{CPP,A,C}FLAGS
> > kbuild: add $(BASH) to run scripts with bash-extension
> > kbuild: change *FLAGS_<basetarget>.o to take the path relative to $(obj)
> > kbuild: refactor scripts/Makefile.extrawarn
> > kbuild: rename KBUILD_ENABLE_EXTRA_GCC_CHECKS to KBUILD_EXTRA_WARN
> > kbuild: allow Clang to find unused static inline functions for W=1 build
> > export.h: remove defined(__KERNEL__), which is no longer needed
> > export.h, genksyms: do not make genksyms calculate CRC of trimmed symbols
> > modpost: use MODULE_INFO() for __module_depends
> > modpost: use __section in the output to *.mod.c
> > genksyms: convert to SPDX License Identifier for lex.l and parse.y
> >
> >Nathan Chancellor (1):
> > kbuild: Do not enable -Wimplicit-fallthrough for clang for now
> >
> >Thomas Gleixner (2):
> > kbuild: Fail if gold linker is detected
> > Kbuild: Handle PREEMPT_RT for version string and magic
> >
> > .gitignore | 2 +-
> > Documentation/kbuild/kbuild.rst | 28 +--
> > Documentation/kbuild/makefiles.rst | 67 +++---
> > Kbuild | 7 -
> > Makefile | 296
> >+++++++++++++-------------
> > arch/Kconfig | 7 +
> > arch/alpha/Kconfig | 1 +
> > arch/arc/Makefile | 8 -
> > arch/arc/configs/axs101_defconfig | 1 +
> > arch/arc/configs/axs103_defconfig | 1 +
> > arch/arc/configs/axs103_smp_defconfig | 1 +
> > arch/arc/configs/haps_hs_defconfig | 1 +
> > arch/arc/configs/haps_hs_smp_defconfig | 1 +
> > arch/arc/configs/hsdk_defconfig | 1 +
> > arch/arc/configs/nps_defconfig | 1 +
> > arch/arc/configs/nsim_700_defconfig | 1 +
> > arch/arc/configs/nsim_hs_defconfig | 1 +
> > arch/arc/configs/nsim_hs_smp_defconfig | 1 +
> > arch/arc/configs/nsimosci_defconfig | 1 +
> > arch/arc/configs/nsimosci_hs_defconfig | 1 +
> > arch/arc/configs/nsimosci_hs_smp_defconfig | 1 +
> > arch/arc/configs/tb10x_defconfig | 1 +
> > arch/arc/configs/vdk_hs38_defconfig | 1 +
> > arch/arc/configs/vdk_hs38_smp_defconfig | 1 +
> > arch/arm/Makefile | 2 +-
> > arch/arm/kvm/Makefile | 5 +-
> > arch/arm64/Kconfig | 1 +
> > arch/arm64/Makefile | 2 +-
> > arch/ia64/Kconfig | 1 +
> > arch/ia64/Makefile | 2 +-
> > arch/m68k/Kconfig | 1 +
> > arch/m68k/Makefile | 2 +-
> > arch/mips/Kconfig | 1 +
> > arch/mips/boot/Makefile | 2 +-
> > arch/parisc/Makefile | 2 +-
> > arch/powerpc/Kconfig | 1 +
> > arch/powerpc/Makefile | 2 +-
> > arch/powerpc/Makefile.postlink | 2 +-
> > arch/powerpc/kernel/prom_init_check.sh | 2 +-
> > arch/riscv/Kconfig | 1 +
> > arch/riscv/Makefile | 2 +-
> > arch/s390/Kconfig | 1 +
> > arch/sparc/Kconfig | 1 +
> > arch/um/Kconfig | 1 +
> > arch/x86/Kconfig | 1 +
> > arch/x86/entry/vdso/Makefile | 3 +-
> > drivers/gpu/drm/amd/display/dc/calcs/Makefile | 6 +-
> > drivers/gpu/drm/amd/display/dc/dcn20/Makefile | 2 +-
> > drivers/gpu/drm/amd/display/dc/dml/Makefile | 17 +-
> > drivers/gpu/drm/amd/display/dc/dsc/Makefile | 7 +-
> > drivers/gpu/drm/i915/Makefile | 2 +-
> > drivers/net/ethernet/aquantia/atlantic/hw_atl/Makefile | 2 -
> > drivers/net/ethernet/mellanox/mlx5/core/accel/Makefile | 2 -
> > drivers/net/ethernet/mellanox/mlx5/core/diag/Makefile | 2 -
> > drivers/net/ethernet/mellanox/mlx5/core/en/Makefile | 2 -
> > drivers/net/ethernet/mellanox/mlx5/core/en/xsk/Makefile | 1 -
> > drivers/net/ethernet/mellanox/mlx5/core/en_accel/Makefile | 2 -
> > drivers/net/ethernet/mellanox/mlx5/core/fpga/Makefile | 2 -
> > drivers/net/ethernet/mellanox/mlx5/core/ipoib/Makefile | 2 -
> > drivers/net/ethernet/mellanox/mlx5/core/lib/Makefile | 2 -
> > drivers/net/ethernet/netronome/nfp/bpf/Makefile | 2 -
> > drivers/net/ethernet/netronome/nfp/flower/Makefile | 2 -
> > drivers/net/ethernet/netronome/nfp/nfpcore/Makefile | 2 -
> > drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000/Makefile | 2 -
> > drivers/net/ethernet/netronome/nfp/nic/Makefile | 2 -
> > include/linux/compiler_types.h | 20 +-
> > include/linux/export.h | 42 ++--
> > include/linux/vermagic.h | 2 +
> > init/Kconfig | 26 ++-
> > init/Makefile | 5 +-
> > kernel/Makefile | 2 +-
> > scripts/Kconfig.include | 3 +
> > scripts/Makefile | 2 +-
> > scripts/Makefile.build | 73 ++++---
> > scripts/Makefile.clean | 31 +--
> > scripts/Makefile.extrawarn | 121 ++++++-----
> > scripts/Makefile.host | 39 +++-
> > scripts/Makefile.lib | 63 +++---
> > scripts/Makefile.modfinal | 60 ++++++
> > scripts/Makefile.modpost | 80 ++-----
> > scripts/{package/Makefile => Makefile.package} | 43 ++--
> > scripts/basic/Makefile | 14 +-
> > scripts/genksyms/Makefile | 11 +-
> > scripts/genksyms/keywords.c | 6 +-
> > scripts/genksyms/lex.l | 32 +--
> > scripts/genksyms/parse.y | 32 +--
> > scripts/headers_install.sh | 72 +++++++
> > scripts/kconfig/Makefile | 10 +-
> > scripts/kconfig/merge_config.sh | 12 +-
> > scripts/link-vmlinux.sh | 38 ++--
> > scripts/mkcompile_h | 4 +-
> > scripts/mkmakefile | 4 +-
> > scripts/mod/file2alias.c | 5 +
> > scripts/mod/modpost.c | 48 ++++-
> > usr/include/Makefile | 4 +-
> > 95 files changed, 755 insertions(+), 680 deletions(-)
> > delete mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl/Makefile
> > delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/accel/Makefile
> > delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/diag/Makefile
> > delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/Makefile
> > delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/xsk/Makefile
> > delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en_accel/Makefile
> > delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/fpga/Makefile
> > delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/ipoib/Makefile
> > delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/lib/Makefile
> > delete mode 100644 drivers/net/ethernet/netronome/nfp/bpf/Makefile
> > delete mode 100644 drivers/net/ethernet/netronome/nfp/flower/Makefile
> > delete mode 100644 drivers/net/ethernet/netronome/nfp/nfpcore/Makefile
> > delete mode 100644 drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000/Makefile
> > delete mode 100644 drivers/net/ethernet/netronome/nfp/nic/Makefile
> > create mode 100644 scripts/Makefile.modfinal
> > rename scripts/{package/Makefile => Makefile.package} (92%)
> >
> >
> >--
> >Best Regards
> >Masahiro Yamada



--
Best Regards
Masahiro Yamada

2019-09-20 23:16:09

by Masahiro Yamada

[permalink] [raw]
Subject: Re: [GIT PULL] Kbuild updates for v5.4-rc1

Hi Linus,

On Wed, Sep 18, 2019 at 3:48 AM Jessica Yu <[email protected]> wrote:
>
> +++ Will Deacon [17/09/19 19:16 +0100]:
> >Hi Jessica,
> >
> >On Tue, Sep 17, 2019 at 08:01:36PM +0200, Jessica Yu wrote:
> >> Yikes, I did not catch Stephen Rothwell's email about pausing the
> >> linux-next releases from Sept 5 until Sept 30
> >> (https://lore.kernel.org/linux-next/[email protected]/).
> >>
> >> The modules-next namespace patches have been in since last Tuesday,
> >> and my original plan was for them to catch at least a week of
> >> linux-next time before sending the pull request. :-/ But that did not
> >> happen due to the above.
> >>
> >> So Linus, in light of the above realization, I'd say at this time - I
> >> will still formally send a pull request with the merge conflicts
> >> resolved with either solution #2 or #3, but merge at your own
> >> discretion, it's fine to delay to the following release if you're
> >> uncomfortable.
> >
> >FWIW, when I've run into unexpected merge conflicts with other trees in the
> >past, I've found that it's usually sufficient just to include the resolution
> >as an inline diff in the pull request, rather than try to munge the tree
> >with merges or rebases. Linus is pretty good at figuring it out, and with a
> >resolution to compare with, the damage is limited. The downside of the merge
> >is that it's fiddly to extract the changes and see what's actually being
> >pulled.
> >
> >Also, it's not like the kbuild stuff has been in -next for ages, so this
> >would've been a late and messy conflict regardless.
>
> Hi Will!
>
> Thanks a lot for the advice :-) The inline diff sounds like a good
> idea. This is I believe only the second tree conflict I've encountered
> so far so the tips are much appreciated.
>
> Jessica


How should we handle this?

If you pull this against the latest of your tree,
you will end up with manual merge for the following files:

scripts/link-vmlinux.sh
drivers/gpu/drm/amd/display/dc/calcs/Makefile
drivers/gpu/drm/amd/display/dc/dml/Makefile
drivers/gpu/drm/amd/display/dc/dsc/Makefile


They are solved in linux-next,
but I also double-checked it just in case.

I think the next-20190917 is correct,
but I noticed two things:


[1] linux-next modified the hashbang of scripts/link-vmlinux.sh
(/bin/sh -> /bin/bash), but this change is unneeded

[2] I fixed up drivers/gpu/drm/amd/display/dc/dcn21/Makefile too.
This is a non-obvious conflict, and not available in linux-next.
I caught it in my build testing.


I solved the merge conflicts by myself,
and I attached the diff file. (merge-diff.txt)


If you do not want to cope with those merge conflicts at all,
I will drop the three commits (8959e39272 54b8ae66ae 69a94abb82),
and I will re-send a pull request, which you will be able to pull cleanly.
I will rebase the offending 3 commits on top of your tree later.


Which do you prefer?
Please let me know your thought.

Thanks.


--
Best Regards
Masahiro Yamada


Attachments:
merge-diff.txt (9.55 kB)

2019-09-22 18:50:14

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] Kbuild updates for v5.4-rc1

On Thu, Sep 19, 2019 at 8:48 PM Linus Torvalds
<[email protected]> wrote:
>
> No problem. I'm used to merges, and I appreciate the heads-up.

Heh. The Kbuild merge turns out to be painful for other trees too. I
suspect the module tree isn't going to be any worse than the
DEBUG_INFO_BTF conflict.

Linus

2019-09-22 18:56:10

by pr-tracker-bot

[permalink] [raw]
Subject: Re: [GIT PULL] Kbuild updates for v5.4-rc1

The pull request you sent on Sun, 15 Sep 2019 22:27:05 +0900:

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

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/d7b0827f28ab3a4fd65864451ffefa695e3255fd

Thank you!

--
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker