Re: [linux-next:master 7116/7122] init/main.c:613:(.init.text+0x358): relocation truncated to fit: R_RISCV_GPREL_I against symbol `__setup_start' defined in .init.rodata section in .tmp_vmlinux.kallsyms1

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

 



CC sysctl maintainers and linux-fsdevel 

On Tue, Apr 30, 2024 at 05:03:02PM +0200, Joel Granados wrote:
> On Sun, Apr 21, 2024 at 10:10:26AM +0800, kernel test robot wrote:
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> > head:   a35e92ef04c07bd473404b9b73d489aea19a60a8
> > commit: 603cac6a968ab44e179e820fc0e2ca3ac2e1d829 [7116/7122] Merge branch 'sysctl-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sysctl/sysctl.git
> > config: riscv-randconfig-001-20231020 (https://download.01.org/0day-ci/archive/20240421/202404211031.J6l2AfJk-lkp@xxxxxxxxx/config)
> > compiler: riscv64-linux-gcc (GCC) 13.2.0
> > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240421/202404211031.J6l2AfJk-lkp@xxxxxxxxx/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 <lkp@xxxxxxxxx>
> > | Closes: https://lore.kernel.org/oe-kbuild-all/202404211031.J6l2AfJk-lkp@xxxxxxxxx/
> > 
> > All errors (new ones prefixed by >>):
> > 
> >    riscv64-linux-ld: section .data LMA [000000000099b000,0000000001424de7] overlaps section .text LMA [0000000000104040,000000000213c543]
> >    riscv64-linux-ld: section .data..percpu LMA [00000000024e2000,00000000026b46e7] overlaps section .rodata LMA [000000000213c580,000000000292d0dd]
> >    riscv64-linux-ld: section .rodata VMA [ffffffff8213c580,ffffffff8292d0dd] overlaps section .data VMA [ffffffff82000000,ffffffff82a89de7]
> >    init/main.o: in function `rdinit_setup':
> > >> init/main.c:613:(.init.text+0x358): relocation truncated to fit: R_RISCV_GPREL_I against symbol `__setup_start' defined in .init.rodata section in .tmp_vmlinux.kallsyms1
> >    net/ipv4/ipconfig.o: in function `ic_dhcp_init_options':
> >    net/ipv4/ipconfig.c:682:(.init.text+0x9b4): relocation truncated to fit: R_RISCV_GPREL_I against `ic_bootp_cookie'
> >    net/sunrpc/auth_gss/gss_krb5_mech.o: in function `gss_krb5_prepare_enctype_priority_list':
> > >> net/sunrpc/auth_gss/gss_krb5_mech.c:213:(.text.gss_krb5_prepare_enctype_priority_list+0x9c): relocation truncated to fit: R_RISCV_GPREL_I against `gss_krb5_enctypes.0'
> >    lib/maple_tree.o: in function `mas_leaf_max_gap':
> > >> lib/maple_tree.c:1512:(.text.mas_leaf_max_gap+0x2b8): relocation truncated to fit: R_RISCV_GPREL_I against `mt_pivots'
> >    lib/maple_tree.o: in function `ma_dead_node':
> > >> lib/maple_tree.c:560:(.text.mas_data_end+0x110): relocation truncated to fit: R_RISCV_GPREL_I against `mt_pivots'
> >    lib/maple_tree.o: in function `mas_extend_spanning_null':
> > >> lib/maple_tree.c:3662:(.text.mas_extend_spanning_null+0x69c): relocation truncated to fit: R_RISCV_GPREL_I against `mt_pivots'
> >    lib/maple_tree.o: in function `mas_mab_cp':
> > >> lib/maple_tree.c:1943:(.text.mas_mab_cp+0x248): relocation truncated to fit: R_RISCV_GPREL_I against `mt_pivots'
> >    lib/maple_tree.o: in function `mab_mas_cp':
> > >> lib/maple_tree.c:2000:(.text.mab_mas_cp+0x15c): relocation truncated to fit: R_RISCV_GPREL_I against `mt_pivots'
> >    lib/maple_tree.o: in function `mas_reuse_node':
> > >> lib/maple_tree.c:3416:(.text.mas_reuse_node+0x17c): relocation truncated to fit: R_RISCV_GPREL_I against `mt_slots'
> >    lib/maple_tree.o: in function `mt_free_walk':
> > >> lib/maple_tree.c:5238:(.text.mt_free_walk+0x15c): relocation truncated to fit: R_RISCV_GPREL_I against `mt_slots'
> >    lib/maple_tree.o: in function `mtree_lookup_walk':
> >    lib/maple_tree.c:3700:(.text.mtree_lookup_walk+0x94): additional relocation overflows omitted from the output
> > 
> I cross compiled this locally and I believe that the error is *NOT*
> introduced by our sysctl-next changes because I get the same 3 errors
> before and after:
> 1. .data overlaps .text
> 2. .data overlaps .rodata
> 3. .rodata overlaps .data
> 
> The errors are the same type but not exactly the same. I believe that
> they change as code gets modified. So before the sysctl-next changes
> went in, the error was expressed somewhere else. This is consistent with
> the way that the bot shows the "new" errors; since they always change as
> code is changed, they will always detect a "new" error.
> 
> Another commonality is that reason for reallocation: in my tests its
> always due to R_RISCV_GPREL_I.
> 
> Here are my results (I modified them slightly for readability).
> 
> # Before sysctl change:
> 
>   ~/s/linux-next (29b0937 ◼) ❯❯❯ COMPILER_INSTALL_PATH=/home/joel/toolchains/0day_riscv COMPILER=gcc-13.2.0 /home/joel/src/lkp-tests/kbuild/make.cross W=1 O=briscv ARCH=riscv SHELL=/bin/bash
>   ...
>   /home/joel/toolchains/0day_riscv/gcc-13.2.0-nolibc/riscv64-linux/bin/riscv64-linux-ld: section .data LMA [000000000098c000,0000000001416fa7] overlaps section .text LMA [0000000000104040,000000000213c503]
>   /home/joel/toolchains/0day_riscv/gcc-13.2.0-nolibc/riscv64-linux/bin/riscv64-linux-ld: section .data..percpu LMA [00000000024d5000,00000000026a76e7] overlaps section .rodata LMA [000000000213c540,000000000291e3dd]
>   /home/joel/toolchains/0day_riscv/gcc-13.2.0-nolibc/riscv64-linux/bin/riscv64-linux-ld: section .rodata VMA [ffffffff8213c540,ffffffff8291e3dd] overlaps section .data VMA [ffffffff82000000,ffffffff82a8afa7]
>   mm/vmscan.o: in function `folio_nr_pages':
>   /home/joel/src/linux-next/briscv/../include/linux/mm.h:2078:(.text.pageout+0x184): relocation truncated to fit: R_RISCV_GPREL_I against `__func__.9'
>   kernel/profile.o: in function `profile_setup':
>   /home/joel/src/linux-next/briscv/../kernel/profile.c:58:(.text.profile_setup+0x90): relocation truncated to fit: R_RISCV_GPREL_I against `sleepstr.2'
>   mm/show_mem.o: in function `show_free_areas':
>   /home/joel/src/linux-next/briscv/../mm/show_mem.c:381:(.text.show_free_areas+0x1f54): relocation truncated to fit: R_RISCV_GPREL_I against `types.0'
>   fs/fs_types.o: in function `fs_ftype_to_dtype':
>   /home/joel/src/linux-next/briscv/../fs/fs_types.c:38:(.text.fs_ftype_to_dtype+0x44): relocation truncated to fit: R_RISCV_GPREL_I against `fs_dtype_by_ftype'
>   fs/fs_types.o: in function `fs_umode_to_dtype':
>   /home/joel/src/linux-next/briscv/../fs/fs_types.c:103:(.text.fs_umode_to_dtype+0x94): relocation truncated to fit: R_RISCV_GPREL_I against `fs_dtype_by_ftype'
>   security/keys/keyctl.o: in function `keyctl_capabilities':
>   /home/joel/src/linux-next/briscv/../security/keys/keyctl.c:1855:(.text.keyctl_capabilities+0x40): relocation truncated to fit: R_RISCV_GPREL_I against `keyrings_capabilities'
>   make[3]: *** [../scripts/Makefile.vmlinux:37: vmlinux] Error 1
>   make[3]: Target '__default' not remade because of errors.
>   make[2]: *** [/home/joel/src/linux-next/Makefile:1165: vmlinux] Error 2
>   make[2]: Target '__all' not remade because of errors.
>   make[1]: *** [/home/joel/src/linux-next/Makefile:240: __sub-make] Error 2
>   make[1]: Target '__all' not remade because of errors.
>   make[1]: Leaving directory '/home/joel/src/linux-next/briscv'
>   make: *** [Makefile:240: __sub-make] Error 2
>   make: Target '__all' not remade because of errors.
> 
> # After sysctl change:
> 
>   ~/s/linux-next (603cac6 ◼) ❯❯❯ COMPILER_INSTALL_PATH=/home/joel/toolchains/0day_riscv COMPILER=gcc-13.2.0 /home/joel/src/lkp-tests/kbuild/make.cross W=1 O=briscv ARCH=riscv SHELL=/bin/bash
>   ...
>   /home/joel/toolchains/0day_riscv/gcc-13.2.0-nolibc/riscv64-linux/bin/riscv64-linux-ld: section .data LMA [000000000098c000,0000000001415de7] overlaps section .text LMA [0000000000104000,000000000213c603]
>   /home/joel/toolchains/0day_riscv/gcc-13.2.0-nolibc/riscv64-linux/bin/riscv64-linux-ld: section .data..percpu LMA [00000000024d3000,00000000026a56e7] overlaps section .rodata LMA [000000000213c640,000000000291e2fd]
>   /home/joel/toolchains/0day_riscv/gcc-13.2.0-nolibc/riscv64-linux/bin/riscv64-linux-ld: section .rodata VMA [ffffffff8213c640,ffffffff8291e2fd] overlaps section .data VMA [ffffffff82000000,ffffffff82a89de7]
>   init/main.o: in function `.L0 ':
>   /home/joel/src/linux-next/briscv/../init/main.c:769:(.init.text+0x2388): relocation truncated to fit: R_RISCV_GPREL_I against symbol `__stop___param' defined in __param section in .tmp_vmlinux.kallsyms1
>   kernel/extable.o:(.init.text+0x2c): relocation truncated to fit: R_RISCV_GPREL_I against symbol `__start___ex_table' defined in __ex_table section in .tmp_vmlinux.kallsyms1
>   kernel/extable.o:(.text.search_exception_tables+0x14): relocation truncated to fit: R_RISCV_GPREL_I against symbol `__start___ex_table' defined in __ex_table section in .tmp_vmlinux.kallsyms1
>   kernel/params.o: in function `param_sysfs_builtin':
>   /home/joel/src/linux-next/briscv/../kernel/params.c:836:(.init.text+0x354): relocation truncated to fit: R_RISCV_GPREL_I against symbol `__stop___param' defined in __param section in .tmp_vmlinux.kallsyms1
>   make[3]: *** [../scripts/Makefile.vmlinux:37: vmlinux] Error 1
>   make[3]: Target '__default' not remade because of errors.
>   make[2]: *** [/home/joel/src/linux-next/Makefile:1165: vmlinux] Error 2
>   make[2]: Target '__all' not remade because of errors.
>   make[1]: *** [/home/joel/src/linux-next/Makefile:240: __sub-make] Error 2
>   make[1]: Target '__all' not remade because of errors.
>   make[1]: Leaving directory '/home/joel/src/linux-next/briscv'
>   make: *** [Makefile:240: __sub-make] Error 2
>   make: Target '__all' not remade because of errors.
> 
> If you see any flaw in this analysis, please let me know.
> 
> Best
> 
> -- 
> 
> Joel Granados



-- 

Joel Granados

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux