diff options
-rw-r--r-- | ldso/ldso/aarch64/elfinterp.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/ldso/ldso/aarch64/elfinterp.c b/ldso/ldso/aarch64/elfinterp.c index 879484e16..2b5e185d8 100644 --- a/ldso/ldso/aarch64/elfinterp.c +++ b/ldso/ldso/aarch64/elfinterp.c @@ -279,6 +279,17 @@ _dl_do_lazy_reloc (struct elf_resolve *tpnt, struct r_scope_elem *scope, case R_AARCH64_JUMP_SLOT: *reloc_addr += tpnt->loadaddr; break; +#if defined USE_TLS && USE_TLS + case R_AARCH64_TLSDESC: + { + struct tlsdesc volatile *td = + (struct tlsdesc volatile *)reloc_addr; + + td->arg = (void*)rpnt; + td->entry = _dl_tlsdesc_return; + } + break; +#endif default: return -1; /*call _dl_exit(1) */ } |