Re: [PATCH] vdso: Improve cmd_vdso_check to check all dynamic relocations
From: Fangrui Song <hidden>
Date: 2022-12-18 18:34:19
Also in:
linux-arm-kernel, linux-mips, linux-riscv, linux-s390, lkml, loongarch
On Sun, Dec 4, 2022 at 8:58 AM Christophe Leroy [off-list ref] wrote:
Le 04/12/2022 à 05:50, Fangrui Song a écrit :quoted
On Mon, Nov 14, 2022 at 4:46 PM Fangrui Song [off-list ref] wrote:quoted
On 2022-11-14, Christophe Leroy wrote:quoted
Le 28/09/2022 à 07:25, Fangrui Song a écrit :quoted
On Sat, Sep 10, 2022 at 12:53 AM Fangrui Song [off-list ref] wrote:quoted
On 2022-08-30, Fangrui Song wrote:quoted
The actual intention is that no dynamic relocation exists. However, some GNU ld ports produce unneeded R_*_NONE. (If a port is not care enough to determine the exact .rel[a].dyn size, the trailing zeros become R_*_NONE relocations. E.g. powerpc64le ld as of 2.38 has the issue with defconfig.) R_*_NONE are generally no-op in the dynamic loaders. So just ignore them. With the change, we can remove ARCH_REL_TYPE_ABS. ARCH_REL_TYPE_ABS is a bit misnomer as ports may check RELAVETIVE/GLOB_DAT/JUMP_SLOT which are not called "absolute relocations". (The patch is motivated by the arm64 port missing R_AARCH64_RELATIVE.) While here, replace "egrep" with "grep" as "egrep" is deprecated in GNU grep 3.7. Signed-off-by: Fangrui Song <redacted> --- [...]Ping.Ping^2 :)Can you explain which ARCH_REL_TYPE_ABS can be removed with this change ? How is the verification done if ARCH_REL_TYPE_ABS is removed ?All ARCH_REL_TYPE_ABS relocation types can be removed. As explained, the real intention is to check no dynamic relocation, and this is done by the newWell, there was a typo in my question, I wanted to ask 'why', not 'which'.quoted
quoted
cmd_vdso_check = if $(READELF) -rW $@ | grep -v _NONE | grep -q "R_\w*_"; \ in this patch. grep -v _NONE is to work around some GNU ld ports (and likely older releases of some ports even if their latest versions are fixed) which produce unneeded R_*_NONE dynamic relocations.Ping :)Ok, that seems to work on powerpc. Reviewed-by: Christophe Leroy <redacted>
Thanks. Can a maintainer pick up this commit?