WARNING: modpost: vmlinux.o(.text+0x74fea4): Section mismatch in reference from the function memblock_find_in_range_node() to the function .init.text:memblock_bottom_up()
kernel test robot
build bottree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 1e28eed17697bcf343c6743f0028cc3b5dd88bf0 commit: 34dc2efb39a231280fd6696a59bbe712bf3c5c4a memblock: fix section mismatch warning date: 2 days ago config: arm64-randconfig-r013-20210315 (attached as .config) compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project a28facba1ccdc957f386b7753f4958307f1bfde8)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=34dc2efb39a231280fd6696a59bbe712bf3c5c4a
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 34dc2efb39a231280fd6696a59bbe712bf3c5c4a
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
All warnings (new ones prefixed by >>, old ones prefixed by <<):
>> WARNING: modpost: vmlinux.o(.text+0x74fea4): Section mismatch in reference from the function memblock_find_in_range_node() to the function .init.text:memblock_bottom_up()
The function memblock_find_in_range_node() references the function __init memblock_bottom_up().
This is often because memblock_find_in_range_node lacks a __init annotation or the annotation of memblock_bottom_up is wrong.
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
Quoted 21 lines · kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 1e28eed17697bcf343c6743f0028cc3b5dd88bf0 commit: 34dc2efb39a231280fd6696a59bbe712bf3c5c4a memblock: fix section mismatch warning date: 2 days ago config: arm64-randconfig-r013-20210315 (attached as .config) compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project a28facba1ccdc957f386b7753f4958307f1bfde8)reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=34dc2efb39a231280fd6696a59bbe712bf3c5c4a
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout34dc2efb39a231280fd6696a59bbe712bf3c5c4a
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64If you fix the issue, kindly add following tag as appropriate
Reported-by kernel test robot <[email protected]>
Quoted 7 lines
All warnings (new ones prefixed by >>, old ones prefixed by <<):
Quoted 1 line
Quoted 1 line
WARNING: modpost:
vmlinux.o(.text+0x74fea4): Section mismatch in reference from the functionmemblock_find_in_range_node()to the function .init.text:memblock_bottom_up()The function
memblock_find_in_range_node()references the function__initmemblock_bottom_up().
This is often becausememblock_find_in_range_nodelacks a__initannotation or the annotation ofmemblock_bottom_upis wrong.
I don't have clang-13 setup handy so I could not check, but I think this should be the fix:
include/linux/memblock.h +2 -2
@@ -460,7 +460,7 @@ static inline void memblock_free_late(phys_addr_t base, phys_addr_t size)/* * Set the allocation direction to bottom-up or top-down. */ -static inline __init void memblock_set_bottom_up (bool enable) +static inline __init_memblock void memblock_set_bottom_up(bool enable) { memblock.bottom_up = enable; }
@@ -470,7 +470,7 @@ static inline __init void memblock_set_bottom_up(bool enable)* if this is true, that said, memblock will allocate memory * in bottom-up direction. */ -static inline __init bool memblock_bottom_up (void ) +static inline __init_memblock bool memblock_bottom_up(void) {return memblock.bottom_up; }
Signature · 2 lines
Sincerely yours, Mike.
Quoted 25 lines · Mike Rapoport
Quoted 23 lines · kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 1e28eed17697bcf343c6743f0028cc3b5dd88bf0 commit: 34dc2efb39a231280fd6696a59bbe712bf3c5c4a memblock: fix section mismatch warning date: 2 days ago config: arm64-randconfig-r013-20210315 (attached as .config) compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project a28facba1ccdc957f386b7753f4958307f1bfde8)reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=34dc2efb39a231280fd6696a59bbe712bf3c5c4a
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout34dc2efb39a231280fd6696a59bbe712bf3c5c4a
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64If you fix the issue, kindly add following tag as appropriate
Reported-by kernel test robot <[email protected]>All warnings (new ones prefixed by >>, old ones prefixed by <<):
Quoted 8 lines
Quoted 5 lines
Quoted 1 line
Quoted 1 line
WARNING: modpost:
vmlinux.o(.text+0x74fea4): Section mismatch in reference from the functionmemblock_find_in_range_node()to the function .init.text:memblock_bottom_up()The function
memblock_find_in_range_node()references the function__initmemblock_bottom_up().
This is often becausememblock_find_in_range_nodelacks a__initannotation or the annotation ofmemblock_bottom_upis wrong.I don't have clang-13 setup handy so I could not check, but I think this should be the fix:
Thanks for taking another look:
https://lore.kernel.org/lkml/20210225205908.GM1447004(a)kernel.org/
Do we want to switch the above to the below?
Quoted 33 lines
include/linux/memblock.h +2
-3@@ -460,7 +460,7 @@ static inline void memblock_free_late(phys_addr_t base, phys_addr_t size)/* * Set the allocation direction to bottom-up or top-down. */ -static inline __init void memblock_set_bottom_up (bool enable) +static inline __init_memblock void memblock_set_bottom_up(bool enable) { memblock.bottom_up = enable; }@@ -470,7 +470,7 @@ static inline __init void memblock_set_bottom_up(bool enable)* if this is true, that said, memblock will allocate memory * in bottom-up direction. */ -static inline __init bool memblock_bottom_up (void ) +static inline __init_memblock bool memblock_bottom_up(void) {return memblock.bottom_up; } --Sincerely yours,
Mike.--
You received this message because you are subscribed to the Google Groups "Clang Built Linux" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-linux+unsubscribe(a)googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/YFBYWjtWJrnGyiVp%40linux.ibm.com.
Signature · 2 lines
Thanks, ~Nick Desaulniers
Arnd Bergmann
Reviewed-byQuoted 9 lines · Nick Desaulniers' via Clang Built Linux
Quoted 3 lines · Mike Rapoport
I don't have clang-13 setup handy so I could not check, but I think this should be the fix:
Thanks for taking another look:
https://lore.kernel.org/lkml/20210225205908.GM1447004(a)kernel.org/
Do we want to switch the above to the below?
The patch above is now in mainline and caused the reported problem.
Quoted 14 lines
Quoted 14 lines
include/linux/memblock.h +1
-1@@ -460,7 +460,7 @@ static inline void memblock_free_late(phys_addr_t base, phys_addr_t size)/* * Set the allocation direction to bottom-up or top-down. */ -static inline __init void memblock_set_bottom_up (bool enable) +static inline __init_memblock void memblock_set_bottom_up(bool enable) { memblock.bottom_up = enable; }@@ -470,7 +470,7 @@ static inline __init void memblock_set_bottom_up(bool enable)
Quoted 8 lines
include/linux/memblock.h static inline __init void memblock_set_bottom_up(bool enable) · line 476
Quoted 8 lines
include/linux/memblock.h +1
-1* if this is true, that said, memblock will allocate memory * in bottom-up direction. */ -static inline __init bool memblock_bottom_up (void ) +static inline __init_memblock bool memblock_bottom_up(void) {return memblock.bottom_up; }
I don't see the warning on my machine for some reason, but the patch does seem correct.
Arnd