@@ -863,11 +863,11 @@ struct elf_resolve *_dl_load_elf_shared_library(unsigned int rflags,
{
# ifdef __SUPPORT_LD_DEBUG_EARLY__
char *tmp = (char *) tpnt->l_tls_initimage;
- tpnt->l_tls_initimage = (char *) tlsppnt->p_vaddr + tpnt->loadaddr;
+ tpnt->l_tls_initimage = (char *) DL_RELOC_ADDR(tpnt->loadaddr, tlsppnt->p_vaddr;
_dl_debug_early("Relocated TLS initial image from %x to %x (size = %x)\n", tmp, tpnt->l_tls_initimage, tpnt->l_tls_initimage_size);
tmp = 0;
# else
- tpnt->l_tls_initimage = (char *) tlsppnt->p_vaddr + tpnt->loadaddr;
+ tpnt->l_tls_initimage = (char *) DL_RELOC_ADDR(tpnt->loadaddr, tlsppnt->p_vaddr);
# endif
}
}
@@ -772,7 +772,7 @@ of this helper program; chances are you did not intend to run this program.\n\
char *tmp attribute_unused =
(char *) app_tpnt->l_tls_initimage;
app_tpnt->l_tls_initimage =
- (char *) app_tpnt->l_tls_initimage + app_tpnt->loadaddr;
+ (char *) DL_RELOC_ADDR(app_tpnt->loadaddr, app_tpnt->l_tls_initimage);
_dl_debug_early("Relocated TLS initial image from %x to %x (size = %x)\n",
tmp, app_tpnt->l_tls_initimage, app_tpnt->l_tls_initimage_size);
}