about summary refs log tree commit diff
path: root/elf/dl-runtime.c
diff options
context:
space:
mode:
Diffstat (limited to 'elf/dl-runtime.c')
-rw-r--r--elf/dl-runtime.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c
index 9b24c30841..911c54159b 100644
--- a/elf/dl-runtime.c
+++ b/elf/dl-runtime.c
@@ -84,7 +84,7 @@ fixup (
 	  {
 	    const ElfW(Half) *vernum =
 	      (const void *) D_PTR (l, l_info[VERSYMIDX (DT_VERSYM)]);
-	    ElfW(Half) ndx = vernum[ELFW(R_SYM) (reloc->r_info)];
+	    ElfW(Half) ndx = vernum[ELFW(R_SYM) (reloc->r_info) & 0x7fff];
 	    const struct r_found_version *version = &l->l_versions[ndx];
 
 	    if (version->hash != 0)
@@ -179,7 +179,7 @@ profile_fixup (
 	      {
 		const ElfW(Half) *vernum =
 		  (const void *) D_PTR (l,l_info[VERSYMIDX (DT_VERSYM)]);
-		ElfW(Half) ndx = vernum[ELFW(R_SYM) (reloc->r_info)];
+		ElfW(Half) ndx = vernum[ELFW(R_SYM) (reloc->r_info) & 0x7fff];
 		const struct r_found_version *version = &l->l_versions[ndx];
 
 		if (version->hash != 0)