On Mon, Jan 13, 2025 at 04:53:07PM +0100, Ard Biesheuvel wrote: Hi Ard, > Due to the fact that runtime const ELF sections are named without a > leading period or double underscore, the RSTRIP logic that removes the > static RELA sections from vmlinux fails to identify them. This results > in a situation like below, where some sections that were supposed to get > removed are left behind. > > [Nr] Name Type Address Off Size ES Flg Lk Inf Al > > [58] runtime_shift_d_hash_shift PROGBITS ffffffff83500f50 2900f50 000014 00 A 0 0 1 > [59] .relaruntime_shift_d_hash_shift RELA 0000000000000000 55b6f00 000078 18 I 70 58 8 > [60] runtime_ptr_dentry_hashtable PROGBITS ffffffff83500f68 2900f68 000014 00 A 0 0 1 > [61] .relaruntime_ptr_dentry_hashtable RELA 0000000000000000 55b6f78 000078 18 I 70 60 8 > [62] runtime_ptr_USER_PTR_MAX PROGBITS ffffffff83500f80 2900f80 000238 00 A 0 0 1 > [63] .relaruntime_ptr_USER_PTR_MAX RELA 0000000000000000 55b6ff0 000d50 18 I 70 62 8 > > So tweak the match expression to strip all sections starting with .rel. > While at it, consolidate the logic used by RISC-V, s390 and x86 into a > single shared Makefile library command. On s390 this is before: [32] .relaruntime[...] RELA 0000000000000000 13b3fe20 [34] .relaruntime[...] RELA 0000000000000000 13b3fe98 This is after: [ 2] .rela.text RELA 0000000000000000 13b3fe20 [ 4] .rela.rodata RELA 0000000000000000 142cf588 [ 6] .rela__ksymtab RELA 0000000000000000 142ece08 [ 8] .rela__ksymt[...] RELA 0000000000000000 1433f200 [13] .rela__param RELA 0000000000000000 14432d40 [15] .rela__modver RELA 0000000000000000 14436358 [17] .rela__ex_table RELA 0000000000000000 14436538 [20] .rela.data..[...] RELA 0000000000000000 14446228 [22] .rela.data.rel.ro RELA 0000000000000000 144d9240 [25] .rela.data RELA 0000000000000000 14559148 [27] .rela__bug_table RELA 0000000000000000 145b4ae0 [29] .rela.data.rel RELA 0000000000000000 1461aab0 [32] .rela.amode3[...] RELA 0000000000000000 146eb280 [34] .rela.init.text RELA 0000000000000000 146eb430 [36] .rela.exit.text RELA 0000000000000000 14750c20 [38] .rela.altins[...] RELA 0000000000000000 14753d28 [41] .rela.nospec[...] RELA 0000000000000000 1484ca58 [43] .rela.nospec[...] RELA 0000000000000000 1487ef90 [46] .rela.amode3[...] RELA 0000000000000000 14a0d168 [48] .rela.amode3[...] RELA 0000000000000000 14a0d270 [51] .rela.init.data RELA 0000000000000000 14a0d330 [53] .relaruntime[...] RELA 0000000000000000 14b5d6f0 [55] .relaruntime[...] RELA 0000000000000000 14b5d768 [57] .rela.data..[...] RELA 0000000000000000 14b5d7e0 [61] .rela.debug_[...] RELA 0000000000000000 14b5d918 [63] .rela.debug_info RELA 0000000000000000 14b80478 [66] .rela.debug_line RELA 0000000000000000 250ef010 [68] .rela.debug_frame RELA 0000000000000000 25123060 [71] .rela.debug_loc RELA 0000000000000000 253bb1a0 [73] .rela.debug_[...] RELA 0000000000000000 298eb5a8 Thanks!