# git rev-parse -q --verify 95e12f6cee09c4261c0fa8f0b0920b4e1596789c^{commit} # git fetch -q -n -f git://gitlab.ozlabs.ibm.com/mirror/linux-kbuild.git for-next # git rev-parse -q --verify 95e12f6cee09c4261c0fa8f0b0920b4e1596789c^{commit} 95e12f6cee09c4261c0fa8f0b0920b4e1596789c # git checkout -q -f -B kisskb 95e12f6cee09c4261c0fa8f0b0920b4e1596789c # git clean -qxdf # < git log -1 # commit 95e12f6cee09c4261c0fa8f0b0920b4e1596789c # Author: Masahiro Yamada # Date: Mon May 9 04:06:19 2022 +0900 # # modpost: change the license of EXPORT_SYMBOL to bool type # # There were more EXPORT_SYMBOL types in the past. The following commits # removed unused ones. # # - f1c3d73e973c ("module: remove EXPORT_SYMBOL_GPL_FUTURE") # - 367948220fce ("module: remove EXPORT_UNUSED_SYMBOL*") # # There are 3 remaining in enum export, but export_unknown does not make # any sense because we never expect such a situation like "we do not know # how it was exported". # # If the symbol name starts with "__ksymtab_", but the section name # does not start with "___ksymtab+" or "___ksymtab_gpl+", it is not an # exported symbol. # # It occurs when a variable starting with "__ksymtab_" is directly defined: # # int __ksymtab_foo; # # Presumably, there is no practical issue for using such a weird variable # name (but there is no good reason for doing so, either). # # Anyway, that is not an exported symbol. Setting export_unknown is not # the right thing to do. Do not call sym_add_exported() in this case. # # With pointless export_unknown removed, the export type finally becomes # boolean (either EXPORT_SYMBOL or EXPORT_SYMBOL_GPL). # # I renamed the field name to is_gpl_only. EXPORT_SYMBOL_GPL sets it true. # Only GPL-compatible modules can use it. # # I removed the orphan comment, "How a symbol is exported", which is # unrelated to sec_mismatch_count. It is about enum export. # See commit bd5cbcedf446 ("kbuild: export-type enhancement to modpost.c") # # Signed-off-by: Masahiro Yamada # Reviewed-by: Nicolas Schier # Tested-by: Nathan Chancellor # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/aarch64-linux/bin/aarch64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/aarch64-linux/bin/aarch64-linux-ld --version # < git log --format=%s --max-count=1 95e12f6cee09c4261c0fa8f0b0920b4e1596789c # < make -s -j 40 ARCH=arm64 O=/kisskb/build/kbuild_arm64-defconfig_arm64-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/aarch64-linux/bin/aarch64-linux- defconfig # < make -s -j 40 ARCH=arm64 O=/kisskb/build/kbuild_arm64-defconfig_arm64-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/aarch64-linux/bin/aarch64-linux- help # make -s -j 40 ARCH=arm64 O=/kisskb/build/kbuild_arm64-defconfig_arm64-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/aarch64-linux/bin/aarch64-linux- olddefconfig # make -s -j 40 ARCH=arm64 O=/kisskb/build/kbuild_arm64-defconfig_arm64-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/aarch64-linux/bin/aarch64-linux- Completed OK # rm -rf /kisskb/build/kbuild_arm64-defconfig_arm64-gcc5 # Build took: 0:02:54.093458