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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jessica, Linus,

On Wed, Sep 18, 2019 at 12:09 AM Jessica Yu <jeyu@xxxxxxxxxx> 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



[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux