# git rev-parse -q --verify aa9581108f498991e309c4a90b1af0805d2e41b5^{commit} aa9581108f498991e309c4a90b1af0805d2e41b5 already have revision, skipping fetch # git checkout -q -f -B kisskb aa9581108f498991e309c4a90b1af0805d2e41b5 # git clean -qxdf # < git log -1 # commit aa9581108f498991e309c4a90b1af0805d2e41b5 # Author: Masahiro Yamada # Date: Wed Nov 6 20:23:57 2019 +0900 # # modpost: add an option to suppress 'exported twice' warnings # # Since commit "modpost: do not set ->preloaded for symbols from # Module.symvers", the modpost always warns about symbols exported # multiple times. # # Generally, I believe it is a good thing to show a warning when the # same symbol name is exported twice. This avoids the accidental symbol # conflict. # # However, in some cases, we build an external module to provide a # different version/variant of the in-kernel module, overriding the # same set of exported symbols. # # At least, there is one use-case in the upstream code; # tools/testing/nvdimm/libnvdimm.ko replaces drivers/nvdimm/libnvdimm.ko # in order to link it against mocked version of core kernel symbols. # # Now, this emits a lots of 'exported twice' warnings: # # https://lkml.org/lkml/2019/10/31/627 # # To suppress those, add a new option KBUILD_MULTI_EXPORT_NO_WARN. # # If you intentionally override the existing symbols, you can pass it # from the command line: # # make M=tools/testing/nvdimm KBUILD_MULTI_EXPORT_NO_WARN=1 # # Or, more conveniently, you can add it to the module Makefile, so # you can still do: # # make M=tools/testing/nvdimm # # without sprinkling the warnings. # # Reported-by: Jeff Moyer # Signed-off-by: Masahiro Yamada # Tested-by: Jeff Moyer # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 aa9581108f498991e309c4a90b1af0805d2e41b5 # < make -s -j 48 ARCH=powerpc O=/kisskb/build/kbuild_powernv_defconfig+NO_PERF_ppc64le-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- powernv_defconfig # Added to kconfig CONFIG_PERF_EVENTS=n # yes \n | make -s -j 48 ARCH=powerpc O=/kisskb/build/kbuild_powernv_defconfig+NO_PERF_ppc64le-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- oldconfig yes: standard output: Broken pipe # make -s -j 48 ARCH=powerpc O=/kisskb/build/kbuild_powernv_defconfig+NO_PERF_ppc64le-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- WARNING: vmlinux.o(.text+0x2fc8): Section mismatch in reference from the variable start_here_common to the function .init.text:start_kernel() The function start_here_common() references the function __init start_kernel(). This is often because start_here_common lacks a __init annotation or the annotation of start_kernel is wrong. Completed OK # rm -rf /kisskb/build/kbuild_powernv_defconfig+NO_PERF_ppc64le-gcc5 # Build took: 0:02:57.424564