* elf/rtld.c (dl_main): Adjust l->l_ld of the vDSO by l->l_addr.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Only set
GL(dl_sysinfo) if non-zero.
2004-02-27 Jakub Jelinek <jakub@redhat.com>
+ * elf/rtld.c (dl_main): Adjust l->l_ld of the vDSO by l->l_addr.
+ * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Only set
+ GL(dl_sysinfo) if non-zero.
+
* sysdeps/unix/sysv/linux/sysconf.c: Include stdlib.h.
2004-02-26 Ulrich Drepper <drepper@redhat.com>
l->l_map_start = (ElfW(Addr)) GL(dl_sysinfo_dso);
l->l_addr = l->l_map_start - l->l_addr;
l->l_map_end += l->l_addr;
+ l->l_ld = (void *) ((ElfW(Addr)) l->l_ld + l->l_addr);
elf_get_dynamic_info (l, dyn_temp);
_dl_setup_hash (l);
l->l_relocated = 1;
#if defined NEED_DL_SYSINFO
/* Only set the sysinfo value if we also have the vsyscall DSO. */
- if (GL(dl_sysinfo_dso) != 0)
+ if (GL(dl_sysinfo_dso) != 0 && new_sysinfo)
GL(dl_sysinfo) = new_sysinfo;
#endif