[PATCH v5] x86-64: Add GLIBC_ABI_DT_X86_64_PLT version dependency

H.J. Lu hjl.tools@gmail.com
Sun Aug 17 19:01:15 GMT 2025


On Sun, Aug 17, 2025 at 11:55 AM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> On Linux/x86-64, programs and shared libraries created with -z mark-plt
> have the GLIBC_2.36 version tag dependency since -z mark-plt uses the
> r_addend field of the R_X86_64_JUMP_SLOT relocation to store the offset
> of the indirect branch instruction.  Glibc versions which don't have the
> commit added to glibc 2.36:
>
> commit f8587a61892cbafd98ce599131bf4f103466f084
> Author: H.J. Lu <hjl.tools@gmail.com>
> Date:   Fri May 20 19:21:48 2022 -0700
>
>     x86-64: Ignore r_addend for R_X86_64_GLOB_DAT/R_X86_64_JUMP_SLOT
>
> won't ignore the r_addend value in the R_X86_64_JUMP_SLOT relocation.  If
> glibc versions defines GLIBC_ABI_DT_X86_64_PLT version tag with
>
> commit 399384e0c8193e31aea014220ccfa24300ae5938
> Author: H.J. Lu <hjl.tools@gmail.com>
> Date:   Thu Aug 14 07:03:20 2025 -0700
>
>     x86-64: Add GLIBC_ABI_DT_X86_64_PLT [BZ #33212]
>
> to indicate inclusion of the commit:
>
> commit f8587a61892cbafd98ce599131bf4f103466f084
> Author: H.J. Lu <hjl.tools@gmail.com>
> Date:   Fri May 20 19:21:48 2022 -0700
>
>     x86-64: Ignore r_addend for R_X86_64_GLOB_DAT/R_X86_64_JUMP_SLOT
>
> we can add GLIBC_ABI_DT_X86_64_PLT version tag dependency, instead of
> GLIBC_2.36 version tag dependency.
>
>         PR ld/33213
>         * elf-bfd.h (_bfd_elf_link_add_glibc_version_dependency): Change
>         return type to bool.
>         * elf64-x86-64.c (elf_x86_64_add_glibc_version_dependency): Add
>         GLIBC_ABI_DT_X86_64_PLT version tag dependency, instead of,
>         GLIBC_2.36 version tag dependency, for -z mark-plt if libc.so
>         defines GLIBC_ABI_DT_X86_64_PLT version tag.
>         * elflink.c (_bfd_elf_link_add_glibc_version_dependency): Change
>         return type to bool.  Return false if elf_link_add_glibc_verneed
>         returns false.
>

I sent out this patch prematurely since this depends on

https://patchwork.sourceware.org/project/binutils/patch/20250817185853.686698-1-hjl.tools@gmail.com/

-- 
H.J.


More information about the Binutils mailing list