https://sourceware.org/bugzilla/show_bug.cgi?id=32256

--- Comment #4 from Akhilesh Kumar <akhilesh.k at samsung dot com> ---


Sharing more update on this 

When compiling RISC-V kernel modules with the `-mno-relax` flag, I notice that
local symbols with the `.L` prefix are still generated in the output, 

which seems inconsistent with the intended behavior. As per my understanding,
the fix introduced in Binutils 2.42

https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=dff565fcca8137954d6ad571ef39f6aec5c0429c


There are some fix patch set also with reference to this commit on Binutils
2.43.

https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=af514e5f6d1d0233a251a3ae17f7cb8d9ba8e36b
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=c83ea305e21e1363b62747984c1b7286cb7a2ca8


was expected to reduce unnecessary relocations when using `-mno-relax`,
specifically for kernel modules. However, count reduced but for some modules
these symbols still there  

with binutils 2.42
akhilesh.k@B0110LHG:~/Activity/L_sections/linux-6.6.6$
riscv64-unknown-linux-gnu-objdump -d  ./fs/btrfs/btrfs.ko | grep ".L" | wc 
  79742  373367 3674340
akhilesh.k@B0110LHG:~/Activity/L_sections/linux-6.6.6$ 

with binutils 2.43
akhilesh.k@B0110LHG:~/Activity/L_sections/linux-6.6.6$
riscv64-unknown-linux-gnu-objdump -d  ./fs/btrfs/btrfs.ko | grep ".L" | wc 
  15923   85556  878187

The presence of these local symbols might  increases the size of the .ko files
it would be beneficial if this could be resolved to better support kernel
module compilation with relaxation disabled.

Could you please provide guidance on whether this is expected behavior or a bug
that needs to be addressed?

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Reply via email to