ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from vmlinux.a(init.o at 899876), and 'i32 1' from vmlinux.a(security.o at 937376)
kernel test robot
build bottree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: aaf724ed69264719550ec4f194d3ab17b886af9a commit: 890ba5be6335dbbbc99af14ea007befb5f83f174 Revert "riscv: Define TASK_SIZE_MAX for __access_ok()" date: 5 days ago config: riscv-randconfig-001-20250628 (https://download.01.org/0day-ci/archive/20250629/[email protected]/config) compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project e04c938cc08a90ae60440ce22d072ebc69d67ee8) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250629/[email protected]/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
All errors (new ones prefixed by >>):
ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from vmlinux.a(init.o at 899876), and 'i32 1' from vmlinux.a(net-traces.o at 1014596) ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from vmlinux.a(init.o at 899876), and 'i32 1' from vmlinux.a(e1000_main.o at 992876) ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from vmlinux.a(init.o at 899876), and 'i32 1' from vmlinux.a(core.o at 912236)
>> ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from vmlinux.a(init.o at 899876), and 'i32 1' from vmlinux.a(security.o at 937376) >> ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from vmlinux.a(init.o at 899876), and 'i32 1' from vmlinux.a(sock.o at 1012256) ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from vmlinux.a(init.o at 899876), and 'i32 1' from vmlinux.a(ioctl.o at 1015736) >> ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from vmlinux.a(init.o at 899876), and 'i32 1' from vmlinux.a(socket.o at 1012196) ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from vmlinux.a(init.o at 899876), and 'i32 1' from vmlinux.a(ring_buffer.o at 910076) ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from vmlinux.a(init.o at 899876), and 'i32 1' from vmlinux.a(hugetlb.o at 919016) >> ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from vmlinux.a(init.o at 899876), and 'i32 1' from vmlinux.a(btf.o at 913916)
ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from vmlinux.a(init.o at 899876), and 'i32 1' from vmlinux.a(page_alloc.o at 918536) ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from vmlinux.a(init.o at 899876), and 'i32 1' from vmlinux.a(slub.o at 918836) ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from vmlinux.a(init.o at 899876), and 'i32 1' from vmlinux.a(spi.o at 992036) ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from vmlinux.a(init.o at 899876), and 'i32 1' from vmlinux.a(vmalloc.o at 918296) ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from vmlinux.a(init.o at 899876), and 'i32 1' from vmlinux.a(syscall.o at 912296) ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from vmlinux.a(init.o at 899876), and 'i32 1' from vmlinux.a(trace.o at 910136) ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from vmlinux.a(init.o at 899876), and 'i32 1' from vmlinux.a(skbuff.o at 1012376) ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from vmlinux.a(init.o at 899876), and 'i32 1' from vmlinux.a(vmscan.o at 916376) ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from vmlinux.a(init.o at 899876), and 'i32 1' from vmlinux.a(xprtsock.o at 1024196) ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from vmlinux.a(init.o at 899876), and 'i32 1' from vmlinux.a(filemap.o at 915776) ld.lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
Signature · 2 lines
0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
+Cc: [email protected]
Quoted 25 lines · kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: aaf724ed69264719550ec4f194d3ab17b886af9a commit: 890ba5be6335dbbbc99af14ea007befb5f83f174 Revert "riscv: Define TASK_SIZE_MAX for __access_ok()" date: 5 days ago config: riscv-randconfig-001-20250628 (https://download.01.org/0day-ci/archive/20250629/[email protected]/config) compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project e04c938cc08a90ae60440ce22d072ebc69d67ee8) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250629/[email protected]/reproduce)If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/All errors (new ones prefixed by >>):
ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from
vmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(net-traces.o at 1014596)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(e1000_main.o at 992876)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(core.o at 912236)Quoted 2 lines
Quoted 2 lines
ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from
vmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(security.o at 937376)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(sock.o at 1012256)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from
vmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(ioctl.o at 1015736)Quoted 1 line
Quoted 1 line
ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from
vmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(socket.o at 1012196)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from
vmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(ring_buffer.o at 910076)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(hugetlb.o at 919016)Quoted 1 line
Quoted 1 line
ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from
vmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(btf.o at 913916)
Quoted 11 lines
ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from
vmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(page_alloc.o at 918536)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(slub.o at 918836)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(spi.o at 992036)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(vmalloc.o at 918296)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(syscall.o at 912296)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(trace.o at 910136)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(skbuff.o at 1012376)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(vmscan.o at 916376)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(xprtsock.o at 1024196)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(filemap.o at 915776)ld.lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
I'm not sure what lld is saying here. It seems this problem has always been there, the revert commit just made it appears more.
These errors should still be investigated, but I think the revert commit is fine.
I see CONFIG_CMODEL_MEDLOW=y, so probably has something to do with arch/riscv/mm/init.c is compiled with -mcmodel=medany, while the others are compiled with -mcmodel=medlow. I leave it to smarter minds..
Nam
Palmer Dabbelt
maintainerQuoted 40 lines · On Sun, 29 Jun 2025 23:45:06 PDT (-0700), [email protected] wrote:
+Cc: [email protected]
Quoted 25 lines · kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: aaf724ed69264719550ec4f194d3ab17b886af9a commit: 890ba5be6335dbbbc99af14ea007befb5f83f174 Revert "riscv: Define TASK_SIZE_MAX for __access_ok()" date: 5 days ago config: riscv-randconfig-001-20250628 (https://download.01.org/0day-ci/archive/20250629/[email protected]/config) compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project e04c938cc08a90ae60440ce22d072ebc69d67ee8) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250629/[email protected]/reproduce)If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/All errors (new ones prefixed by >>):
ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from
vmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(net-traces.o at 1014596)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(e1000_main.o at 992876)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(core.o at 912236)Quoted 2 lines
Quoted 2 lines
ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from
vmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(security.o at 937376)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(sock.o at 1012256)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from
vmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(ioctl.o at 1015736)Quoted 1 line
Quoted 1 line
ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from
vmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(socket.o at 1012196)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from
vmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(ring_buffer.o at 910076)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(hugetlb.o at 919016)Quoted 1 line
Quoted 1 line
ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from
vmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(btf.o at 913916)Quoted 11 lines
ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' from
vmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(page_alloc.o at 918536)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(slub.o at 918836)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(spi.o at 992036)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(vmalloc.o at 918296)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(syscall.o at 912296)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(trace.o at 910136)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(skbuff.o at 1012376)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(vmscan.o at 916376)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(xprtsock.o at 1024196)ld.lld: error: Function Import: link error: linking module flags 'Code Model': IDs have conflicting values: 'i32 3' fromvmlinux.a(init.o at 899876), and 'i32 1' fromvmlinux.a(filemap.o at 915776)ld.lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
Quoted 5 lines
I'm not sure what lld is saying here. It seems this problem has always been there, the revert commit just made it appears more.
These errors should still be investigated, but I think the revert commit is fine.
Ya, I agree.
Quoted 3 lines
I see
CONFIG_CMODEL_MEDLOW=y, so probably has something to do witharch/riscv/mm/init.cis compiled with -mcmodel=medany, while the others are compiled with -mcmodel=medlow. I leave it to smarter minds..
LLVM has a blurb that says
// Linking object files with different code models is undefined behavior // because the compiler would have to generate additional code (to span // longer jumps) if a larger code model is used with a smaller one. // Therefore we will treat attempts to mix code models as an error.
which is just wacky, so I'm moaning about it over here <https://github.com/ClangBuiltLinux/linux/issues/2097>...