aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/alpha/dl-machine.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-09-23 02:10:30 +0000
committerUlrich Drepper <drepper@redhat.com>2001-09-23 02:10:30 +0000
commit9d0881aa76b399e6a025c5cf44bebe2ae0efa8af (patch)
treebe1194cddcc8909fe82713a2341725453848689a /sysdeps/alpha/dl-machine.h
parent9461da69cccd07de98e7a348537bae313df01b4d (diff)
downloadglibc-9d0881aa76b399e6a025c5cf44bebe2ae0efa8af.tar
glibc-9d0881aa76b399e6a025c5cf44bebe2ae0efa8af.tar.gz
glibc-9d0881aa76b399e6a025c5cf44bebe2ae0efa8af.tar.bz2
glibc-9d0881aa76b399e6a025c5cf44bebe2ae0efa8af.zip
Update.
2001-09-20 H.J. Lu <hjl@gnu.org> * include/dlfcn.h (__RTLD_SPROF): New definiton. * elf/dl-open.c (dl_open_worker): Return immediately after loading for __RTLD_SPROF. * elf/sprof.c (main): Default to the filename if soname doesn't exist. (load_shobj): Call dlopen with `RTLD_LAZY | __RTLD_SPROF. 2001-09-20 H.J. Lu <hjl@gnu.org> * elf/dl-profile.c (_dl_mcount): Use old *narcsp value for newarc, don't add 1. 2001-09-22 Ulrich Drepper <drepper@redhat.com> * nss/getent.c: Accept -s parameter to overwrite rules in nsswitch.conf. Patch by Nalin Dahyabhai <nalin@redhat.com>. * nss/nss_files/files-network.c (LINE_PARSER): Pad addr string with as many ".0" as necessary to form a complete address inet_network understands. * nss/getent.c: Various cleanups. Use simpler and fewer function calls. 2001-09-20 Martin Schwidefsky <schwidefsky@de.ibm.com> * sysdeps/s390/s390-32/bits/setjmp.h: Correct pointer comparison in _JMPBUF_UNWINDS. * sysdeps/s390/s390-64/bits/setjmp.h: Likewise. 2001-09-22 Ulrich Drepper <drepper@redhat.com> * iconvdata/Makefile: Add rules to build and distribute IBM1160 and IBM1161. * iconvdata/gconv-modules: Add entries for IBM1160 and IBM1161. * iconvdata/ibm1160.c: New file. * iconvdata/ibm1160.h: New file. * iconvdata/ibm1161.c: New file. * iconvdata/ibm1161.h: New file. 2001-09-19 Jakub Jelinek <jakub@redhat.com> * sysdeps/alpha/dl-machine.h (elf_machine_load_address): Compute the difference between base address and first PT_LOAD's virtual address, not the base address. 2001-09-11 Tom Rix <trix@redhat.com> * sysdeps/unix/sysv/aix/init-first.c (init): Use USE_NONONPTION_FLAG ifdef for __getopt_clean_environment. * sysdeps/unix/sysv/aix/libc-start.c: Add real implementation. * sysdeps/unix/sysv/linux/x86_64/Dist: New file. * sysdeps/x86_64/Dist: New file. * sysdeps/x86_64/soft-fp/Dist: New file.
Diffstat (limited to 'sysdeps/alpha/dl-machine.h')
-rw-r--r--sysdeps/alpha/dl-machine.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/sysdeps/alpha/dl-machine.h b/sysdeps/alpha/dl-machine.h
index 2a414ca448..a039f245db 100644
--- a/sysdeps/alpha/dl-machine.h
+++ b/sysdeps/alpha/dl-machine.h
@@ -70,16 +70,20 @@ elf_machine_load_address (void)
Elf64_Addr dot;
long int zero_disp;
- asm("br %0, 1f\n\t"
- ".weak __load_address_undefined\n\t"
- "br $0, __load_address_undefined\n"
- "1:"
+ asm("br %0, 1f\n"
+ "0:\n\t"
+ "br $0, 2f\n"
+ "1:\n\t"
+ ".data\n"
+ "2:\n\t"
+ ".quad 0b\n\t"
+ ".previous"
: "=r"(dot));
- zero_disp = *(int *)dot;
+ zero_disp = *(int *) dot;
zero_disp = (zero_disp << 43) >> 41;
- return dot + 4 + zero_disp;
+ return dot - *(Elf64_Addr *) (dot + 4 + zero_disp);
}
/* Set up the loaded object described by L so its unrelocated PLT