mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-10 11:20:10 +00:00
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>
(cherry picked from commit f8587a6189
)
This commit is contained in:
parent
650bf51c78
commit
f9f0fbbf7b
@ -339,11 +339,13 @@ and creates an unsatisfiable circular dependency.\n",
|
||||
# endif
|
||||
/* Set to symbol size plus addend. */
|
||||
value = sym->st_size;
|
||||
*reloc_addr = value + reloc->r_addend;
|
||||
break;
|
||||
# endif
|
||||
/* Fall through. */
|
||||
|
||||
case R_X86_64_GLOB_DAT:
|
||||
case R_X86_64_JUMP_SLOT:
|
||||
*reloc_addr = value + reloc->r_addend;
|
||||
*reloc_addr = value;
|
||||
break;
|
||||
|
||||
# ifndef RESOLVE_CONFLICT_FIND_MAP
|
||||
|
Loading…
Reference in New Issue
Block a user