public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Florian Weimer <fweimer@redhat.com>
To: "H.J. Lu" <hjl.tools@gmail.com>
Cc: GNU C Library <libc-alpha@sourceware.org>
Subject: Re: [RFC] DT_X86_64_PLT* dependency
Date: Mon, 02 Oct 2023 12:26:22 +0200	[thread overview]
Message-ID: <875y3pe2wh.fsf@oldenburg.str.redhat.com> (raw)
In-Reply-To: <CAMe9rOrGNtG_1aO3A=_7c1HyJzZy9D3saESCxrqndut8qpUBsQ@mail.gmail.com> (H. J. Lu's message of "Fri, 29 Sep 2023 08:16:16 -0700")

* H. J. Lu:

> When these tags are generated, the r_addend field of the R_X86_64_JUMP_SLOT
> relocation stores the offset of the indirect branch instruction.  However, glibc
> versions which don't have this commit in 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
>
>     According to x86-64 psABI, r_addend should be ignored for R_X86_64_GLOB_DAT
>     and R_X86_64_JUMP_SLOT.  Since linkers always set their r_addends to 0, we
>     can ignore their r_addends.
>
>     Reviewed-by: Fangrui Song <maskray@google.com>
>
> won't ignore the r_addend value in the R_X86_64_JUMP_SLOT relocation.   Such
> binaries will fail to run with these versions of glibc.  I am working
> on a linker patch
> to add a glibc version dependency similar to GLIBC_ABI_DT_RELR for DT_RELR.
> Although this commit has been backported to glibc 2.33/2.34/2.35
> release branches,
> there may be 2.33/2.34/2.35 glibc binaries without the fix. 

Can we reuse the GLIBC_ABI_DT_RELR marker?

> Should binaries with DT_X86_64_PLT tags depend on glibc 2.36 or 2.33?

I don't understand this question.  The binaries will  run on any system
that has the marker symbol.  Or do you suggest to use an existing glibc
symbol version?

Thanks,
Florian


  reply	other threads:[~2023-10-02 10:26 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-29 15:16 H.J. Lu
2023-10-02 10:26 ` Florian Weimer [this message]
2023-10-03  7:44   ` H.J. Lu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=875y3pe2wh.fsf@oldenburg.str.redhat.com \
    --to=fweimer@redhat.com \
    --cc=hjl.tools@gmail.com \
    --cc=libc-alpha@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).