On Mon, Oct 2, 2023, 6:26 PM Florian Weimer wrote: > * 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 > > 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 > > > > 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? > Do all versions of glibc with DT_RELR support also ignore r_addend? > > > 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? > Yes, I am planning to use existing glibc symbol version. > Thanks, > Florian > H.J.