• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

Revisiona9a752b0cede664f641502c2ab87a6735fe8d889 (tree)
Time2018-01-21 20:48:00
AuthorMax Filippov <jcmvbkbc@gmai...>
CommiterWaldemar Brodkorb

Log Message

xtensa: fix R_XTENSA_TLSDESC_ARG handling in _dl_do_reloc

R_XTENSA_TLSDESC_ARG is a true RELA relocation, the addend is in the
relocation record itself, not in place.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>

Change Summary

Incremental Difference

--- a/ldso/ldso/xtensa/elfinterp.c
+++ b/ldso/ldso/xtensa/elfinterp.c
@@ -244,10 +244,11 @@ _dl_do_reloc (struct elf_resolve *tpnt, struct r_scope_elem *scope,
244244 if (!TRY_STATIC_TLS ((struct link_map *) tls_tpnt))
245245 *reloc_addr = (ElfW(Addr))
246246 _dl_make_tlsdesc_dynamic((struct link_map *) tls_tpnt,
247- symbol_addr + *reloc_addr);
247+ symbol_addr + rpnt->r_addend);
248248 else
249249 #endif
250- *reloc_addr += symbol_addr + tls_tpnt->l_tls_offset;
250+ *reloc_addr = symbol_addr + rpnt->r_addend +
251+ tls_tpnt->l_tls_offset;
251252 break;
252253 #endif
253254