[PATCH v2] vdso: Improve cmd_vdso_check to check all dynamic relocations

Fangrui Song maskray at google.com
Thu Mar 9 09:38:03 AEDT 2023


On Fri, Jan 27, 2023 at 3:19 PM Fangrui Song <maskray at google.com> wrote:

> On Thu, Dec 29, 2022 at 11:22 AM Palmer Dabbelt <palmer at dabbelt.com>
> wrote:
> >
> > On Wed, 21 Dec 2022 15:51:47 PST (-0800), maskray at google.com wrote:
> > > The actual intention is that no dynamic relocation exists. However,
> some
> > > GNU ld ports produce unneeded R_*_NONE. (If a port fails to determine
> > > the exact .rel[a].dyn size, the trailing zeros become R_*_NONE
> > > relocations. E.g. ld's powerpc port recently fixed
> > > https://sourceware.org/bugzilla/show_bug.cgi?id=29540) 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.)
> > >
> > > Signed-off-by: Fangrui Song <maskray at google.com>
> > > Reviewed-by: Christophe Leroy <christophe.leroy at csgroup.eu>
> > > ---
> > > Change from v1:
> > > * rebase after 8ac3b5cd3e0521d92f9755e90d140382fc292510 (lib/vdso: use
> "grep -E" instead of "egrep")
> > > * change the commit message to mention an example GNU ld bug; no
> longer say the patch fixes a deprecated egrep use
> > > ---
> > >   arch/arm/vdso/Makefile            |  3 ---
> > >   arch/arm64/kernel/vdso/Makefile   |  3 ---
> > >   arch/arm64/kernel/vdso32/Makefile |  3 ---
> > >   arch/csky/kernel/vdso/Makefile    |  3 ---
> > >   arch/loongarch/vdso/Makefile      |  3 ---
> > >   arch/mips/vdso/Makefile           |  3 ---
> > >   arch/powerpc/kernel/vdso/Makefile |  1 -
> > >   arch/riscv/kernel/vdso/Makefile   |  3 ---
> > >   arch/s390/kernel/vdso32/Makefile  |  2 --
> > >   arch/s390/kernel/vdso64/Makefile  |  2 --
> > >   arch/x86/entry/vdso/Makefile      |  4 ----
> > >   lib/vdso/Makefile                 | 13 ++++---------
> > >   12 files changed, 4 insertions(+), 39 deletions(-)
> >
> > [snip]
> >
> > > diff --git a/arch/riscv/kernel/vdso/Makefile
> b/arch/riscv/kernel/vdso/Makefile
> > > index 06e6b27f3bcc..d85c37e11b21 100644
> > > --- a/arch/riscv/kernel/vdso/Makefile
> > > +++ b/arch/riscv/kernel/vdso/Makefile
> > > @@ -1,9 +1,6 @@
> > >   # SPDX-License-Identifier: GPL-2.0-only
> > >   # Copied from arch/tile/kernel/vdso/Makefile
> > >
> > > -# Absolute relocation type $(ARCH_REL_TYPE_ABS) needs to be defined
> before
> > > -# the inclusion of generic Makefile.
> > > -ARCH_REL_TYPE_ABS := R_RISCV_32|R_RISCV_64|R_RISCV_JUMP_SLOT
> > >   include $(srctree)/lib/vdso/Makefile
> > >   # Symbols present in the vdso
> > >   vdso-syms  = rt_sigreturn
> >
> > Acked-by: Palmer Dabbelt <palmer at rivosinc.com> # RISC-V
> >
> > Thanks!
>
> Looks like this patch hasn't been picked yet...
>

Ping:)


-- 
宋方睿
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20230308/7c29bcb4/attachment.htm>


More information about the Linuxppc-dev mailing list