diff options
author | Ulrich Drepper <drepper@redhat.com> | 2004-02-28 17:56:22 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2004-02-28 17:56:22 +0000 |
commit | 49ad572a70b8aeb91e57483a11dd1b77e31c4468 (patch) | |
tree | 321e8f8c36e40206125e136031ad0f5ecdeb6431 | |
parent | 4c771a3b260116c59e606a6ebd68702072836481 (diff) | |
download | glibc-49ad572a70b8aeb91e57483a11dd1b77e31c4468.zip glibc-49ad572a70b8aeb91e57483a11dd1b77e31c4468.tar.gz glibc-49ad572a70b8aeb91e57483a11dd1b77e31c4468.tar.bz2 |
Update.
* 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.
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | elf/rtld.c | 1 | ||||
-rw-r--r-- | sysdeps/generic/dl-sysdep.c | 2 |
3 files changed, 6 insertions, 1 deletions
@@ -1,5 +1,9 @@ 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> @@ -1246,6 +1246,7 @@ ERROR: ld.so: object '%s' from %s cannot be preloaded: ignored.\n", 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; diff --git a/sysdeps/generic/dl-sysdep.c b/sysdeps/generic/dl-sysdep.c index b95c02d..bdd7326 100644 --- a/sysdeps/generic/dl-sysdep.c +++ b/sysdeps/generic/dl-sysdep.c @@ -201,7 +201,7 @@ _dl_sysdep_start (void **start_argptr, #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 |