[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z5EhsaJOaRjjMEp4@li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com>
Date: Wed, 22 Jan 2025 17:49:53 +0100
From: Alexander Gordeev <agordeev@...ux.ibm.com>
To: Ard Biesheuvel <ardb+git@...gle.com>
Cc: linux-kbuild@...r.kernel.org, linux-kernel@...r.kernel.org,
Ard Biesheuvel <ardb@...nel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Masahiro Yamada <masahiroy@...nel.org>,
linux-riscv@...ts.infradead.org, linux-s390@...r.kernel.org,
Ron Economos <re@...z.net>
Subject: Re: [PATCH v3] kbuild: Strip runtime const RELA sections correctly
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!
Powered by blists - more mailing lists