Message ID | CAK7LNARsoed86dY75b_HNXXkCXRAKdMUGaEWUUca4BuGaZCwcg@mail.gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [GIT,PULL] Kbuild updates for v5.4-rc1 | expand |
+++ 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
Hi Jessica, Linus, On Wed, Sep 18, 2019 at 12:09 AM Jessica Yu <jeyu@kernel.org> 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
+++ Masahiro Yamada [18/09/19 02:26 +0900]: >Hi Jessica, Linus, > >On Wed, Sep 18, 2019 at 12:09 AM Jessica Yu <jeyu@kernel.org> 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/20190904233443.3f73c46b@canb.auug.org.au/). 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
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/20190904233443.3f73c46b@canb.auug.org.au/). > > 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
+++ 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/20190904233443.3f73c46b@canb.auug.org.au/). >> >> 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
Hi Linus, On Wed, Sep 18, 2019 at 3:48 AM Jessica Yu <jeyu@kernel.org> 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/20190904233443.3f73c46b@canb.auug.org.au/). > >> > >> 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 commit a3268b9f3811d651d99c474b628bd30eb2eead7b Merge: 574cc4539762 77564a4829ef Author: Masahiro Yamada <yamada.masahiro@socionext.com> Date: Fri Sep 20 11:43:11 2019 +0900 Merge tag 'kbuild-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild into merge-test 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 diff --cc arch/ia64/Kconfig index 9711cf730929,3dead116a6d7..685a3df126ca --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig @@@ -10,15 -10,14 +10,16 @@@ config IA6 bool select ARCH_MIGHT_HAVE_PC_PARPORT select ARCH_MIGHT_HAVE_PC_SERIO - select ACPI if (!IA64_HP_SIM) - select ARCH_SUPPORTS_ACPI if (!IA64_HP_SIM) + select ACPI + select ACPI_NUMA if NUMA + select ARCH_SUPPORTS_ACPI select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI - select FORCE_PCI if (!IA64_HP_SIM) + select FORCE_PCI select PCI_DOMAINS if PCI + select PCI_MSI select PCI_SYSCALL if PCI + select HAVE_ASM_MODVERSIONS select HAVE_UNSTABLE_SCHED_CLOCK select HAVE_EXIT_THREAD select HAVE_IDE diff --cc arch/riscv/Makefile index 4f0a3d2018d2,426d989125a8..f5e914210245 --- a/arch/riscv/Makefile +++ b/arch/riscv/Makefile @@@ -52,11 -52,8 +52,11 @@@ ifeq ($(CONFIG_CMODEL_MEDANY),y KBUILD_CFLAGS += -mcmodel=medany endif ifeq ($(CONFIG_MODULE_SECTIONS),y) - KBUILD_LDFLAGS_MODULE += -T $(srctree)/arch/riscv/kernel/module.lds + KBUILD_LDS_MODULE += $(srctree)/arch/riscv/kernel/module.lds endif +ifeq ($(CONFIG_PERF_EVENTS),y) + KBUILD_CFLAGS += -fno-omit-frame-pointer +endif KBUILD_CFLAGS_MODULE += $(call cc-option,-mno-relax) diff --cc drivers/gpu/drm/amd/display/dc/calcs/Makefile index 16614d73a5fc,d930df63772c..985633c08a26 --- a/drivers/gpu/drm/amd/display/dc/calcs/Makefile +++ b/drivers/gpu/drm/amd/display/dc/calcs/Makefile @@@ -32,13 -32,9 +32,13 @@@ endi calcs_ccflags := -mhard-float -msse $(cc_stack_align) +ifdef CONFIG_CC_IS_CLANG +calcs_ccflags += -msse2 +endif + - CFLAGS_dcn_calcs.o := $(calcs_ccflags) - CFLAGS_dcn_calc_auto.o := $(calcs_ccflags) - CFLAGS_dcn_calc_math.o := $(calcs_ccflags) -Wno-tautological-compare + CFLAGS_$(AMDDALPATH)/dc/calcs/dcn_calcs.o := $(calcs_ccflags) + CFLAGS_$(AMDDALPATH)/dc/calcs/dcn_calc_auto.o := $(calcs_ccflags) + CFLAGS_$(AMDDALPATH)/dc/calcs/dcn_calc_math.o := $(calcs_ccflags) -Wno-tautological-compare BW_CALCS = dce_calcs.o bw_fixed.o custom_float.o diff --cc drivers/gpu/drm/amd/display/dc/dcn20/Makefile index f57a3b281408,83635ad9124e..2b399cfa72e6 --- a/drivers/gpu/drm/amd/display/dc/dcn20/Makefile +++ b/drivers/gpu/drm/amd/display/dc/dcn20/Makefile @@@ -16,12 -16,8 +16,12 @@@ else ifneq ($(call cc-option, -mstack-a cc_stack_align := -mstack-alignment=16 endif - CFLAGS_dcn20_resource.o := -mhard-float -msse $(cc_stack_align) + CFLAGS_$(AMDDALPATH)/dc/dcn20/dcn20_resource.o := -mhard-float -msse $(cc_stack_align) +ifdef CONFIG_CC_IS_CLANG +CFLAGS_dcn20_resource.o += -msse2 +endif + AMD_DAL_DCN20 = $(addprefix $(AMDDALPATH)/dc/dcn20/,$(DCN20)) AMD_DISPLAY_FILES += $(AMD_DAL_DCN20) diff --cc drivers/gpu/drm/amd/display/dc/dcn21/Makefile index b2b39090fb57,000000000000..8cd9de8b1a7a mode 100644,000000..100644 --- a/drivers/gpu/drm/amd/display/dc/dcn21/Makefile +++ b/drivers/gpu/drm/amd/display/dc/dcn21/Makefile @@@ -1,10 -1,0 +1,10 @@@ +# +# Makefile for DCN21. + +DCN21 = dcn21_hubp.o dcn21_hubbub.o dcn21_resource.o + - CFLAGS_dcn21_resource.o := -mhard-float -msse -mpreferred-stack-boundary=4 ++CFLAGS_$(AMDDALPATH)/dc/dcn21/dcn21_resource.o := -mhard-float -msse -mpreferred-stack-boundary=4 + +AMD_DAL_DCN21 = $(addprefix $(AMDDALPATH)/dc/dcn21/,$(DCN21)) + +AMD_DISPLAY_FILES += $(AMD_DAL_DCN21) diff --cc drivers/gpu/drm/amd/display/dc/dml/Makefile index af2a864a6da0,83792e2c0f0e..5b2a65b42403 --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile @@@ -32,29 -32,16 +32,26 @@@ endi dml_ccflags := -mhard-float -msse $(cc_stack_align) +ifdef CONFIG_CC_IS_CLANG +dml_ccflags += -msse2 +endif + - CFLAGS_display_mode_lib.o := $(dml_ccflags) + CFLAGS_$(AMDDALPATH)/dc/dml/display_mode_lib.o := $(dml_ccflags) ifdef CONFIG_DRM_AMD_DC_DCN2_0 - CFLAGS_display_mode_vba.o := $(dml_ccflags) - CFLAGS_display_mode_vba_20.o := $(dml_ccflags) - CFLAGS_display_rq_dlg_calc_20.o := $(dml_ccflags) - CFLAGS_display_mode_vba_20v2.o := $(dml_ccflags) - CFLAGS_display_rq_dlg_calc_20v2.o := $(dml_ccflags) + CFLAGS_$(AMDDALPATH)/dc/dml/display_mode_vba.o := $(dml_ccflags) + CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_mode_vba_20.o := $(dml_ccflags) + CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_rq_dlg_calc_20.o := $(dml_ccflags) ++CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_mode_vba_20v2.o := $(dml_ccflags) ++CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_rq_dlg_calc_20v2.o := $(dml_ccflags) +endif +ifdef CONFIG_DRM_AMD_DC_DCN2_1 - CFLAGS_display_mode_vba_21.o := $(dml_ccflags) - CFLAGS_display_rq_dlg_calc_21.o := $(dml_ccflags) ++CFLAGS_$(AMDDALPATH)/dc/dml/dcn21/display_mode_vba_21.o := $(dml_ccflags) ++CFLAGS_$(AMDDALPATH)/dc/dml/dcn21/display_rq_dlg_calc_21.o := $(dml_ccflags) endif - ifdef CONFIG_DRM_AMD_DCN3AG - CFLAGS_display_mode_vba_3ag.o := $(dml_ccflags) - endif - CFLAGS_dml1_display_rq_dlg_calc.o := $(dml_ccflags) - CFLAGS_display_rq_dlg_helpers.o := $(dml_ccflags) - CFLAGS_dml_common_defs.o := $(dml_ccflags) + CFLAGS_$(AMDDALPATH)/dc/dml/dml1_display_rq_dlg_calc.o := $(dml_ccflags) + CFLAGS_$(AMDDALPATH)/dc/dml/display_rq_dlg_helpers.o := $(dml_ccflags) + CFLAGS_$(AMDDALPATH)/dc/dml/dml_common_defs.o := $(dml_ccflags) DML = display_mode_lib.o display_rq_dlg_helpers.o dml1_display_rq_dlg_calc.o \ dml_common_defs.o diff --cc drivers/gpu/drm/amd/display/dc/dsc/Makefile index 17db603f2d1f,c3922d6e7696..b456cd23c6fa --- a/drivers/gpu/drm/amd/display/dc/dsc/Makefile +++ b/drivers/gpu/drm/amd/display/dc/dsc/Makefile @@@ -9,14 -9,9 +9,13 @@@ endi dsc_ccflags := -mhard-float -msse $(cc_stack_align) +ifdef CONFIG_CC_IS_CLANG +dsc_ccflags += -msse2 +endif + - CFLAGS_rc_calc.o := $(dsc_ccflags) - CFLAGS_rc_calc_dpi.o := $(dsc_ccflags) - CFLAGS_codec_main_amd.o := $(dsc_ccflags) - CFLAGS_dc_dsc.o := $(dsc_ccflags) + CFLAGS_$(AMDDALPATH)/dc/dsc/rc_calc.o := $(dsc_ccflags) + CFLAGS_$(AMDDALPATH)/dc/dsc/rc_calc_dpi.o := $(dsc_ccflags) + CFLAGS_$(AMDDALPATH)/dc/dsc/dc_dsc.o := $(dsc_ccflags) DSC = dc_dsc.o rc_calc.o rc_calc_dpi.o diff --cc scripts/link-vmlinux.sh index 8c59970a09dc,2438a9faf3f1..fc656ce5e594 --- a/scripts/link-vmlinux.sh +++ b/scripts/link-vmlinux.sh @@@ -56,17 -56,14 +56,18 @@@ modpost_link( } # Link of vmlinux -# ${1} - optional extra .o files -# ${2} - output file +# ${1} - output file +# ${2}, ${3}, ... - optional extra .o files vmlinux_link() { - info LD ${2} ++ info LD ${1} local lds="${objtree}/${KBUILD_LDS}" + local output=${1} local objects + # skip output file argument + shift + if [ "${SRCARCH}" != "um" ]; then objects="--whole-archive \ ${KBUILD_VMLINUX_OBJS} \ @@@ -157,6 -139,18 +158,18 @@@ kallsyms( ${CC} ${aflags} -c -o ${2} ${afile} } + # Perform one step in kallsyms generation, including temporary linking of + # vmlinux. + kallsyms_step() + { + kallsymso_prev=${kallsymso} + kallsymso=.tmp_kallsyms${1}.o + kallsyms_vmlinux=.tmp_vmlinux${1} + - vmlinux_link "${kallsymso_prev}" ${kallsyms_vmlinux} ++ vmlinux_link ${kallsyms_vmlinux} "${kallsymso_prev}" ${btf_vmlinux_bin_o} + kallsyms ${kallsyms_vmlinux} ${kallsymso} + } + # Create map file with all symbols from ${1} # See mksymap for additional details mksysmap() @@@ -235,14 -228,8 +248,15 @@@ ${MAKE} -f "${srctree}/scripts/Makefile info MODINFO modules.builtin.modinfo ${OBJCOPY} -j .modinfo -O binary vmlinux.o modules.builtin.modinfo +btf_vmlinux_bin_o="" +if [ -n "${CONFIG_DEBUG_INFO_BTF}" ]; then + if gen_btf .tmp_vmlinux.btf .btf.vmlinux.bin.o ; then + btf_vmlinux_bin_o=.btf.vmlinux.bin.o + fi +fi + kallsymso="" + kallsymso_prev="" kallsyms_vmlinux="" if [ -n "${CONFIG_KALLSYMS}" ]; then @@@ -293,8 -268,11 +295,7 @@@ fi fi - info LD vmlinux -vmlinux_link "${kallsymso}" vmlinux - -if [ -n "${CONFIG_DEBUG_INFO_BTF}" ]; then - gen_btf vmlinux -fi +vmlinux_link vmlinux "${kallsymso}" "${btf_vmlinux_bin_o}" if [ -n "${CONFIG_BUILDTIME_EXTABLE_SORT}" ]; then info SORTEX vmlinux
On Thu, Sep 19, 2019 at 8:48 PM Linus Torvalds <torvalds@linux-foundation.org> 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
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!