diff options
author | Roland McGrath <roland@gnu.org> | 2002-08-25 20:14:50 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2002-08-25 20:14:50 +0000 |
commit | 6ce3881de539b0a76673da3ea6fdac7453b47910 (patch) | |
tree | 2c5ab5ce32db69bf2d38b1759ec61e5f9fc3ff78 /elf | |
parent | d8a36a812d9ee3c2fd935d2391b27303903f0091 (diff) | |
download | glibc-6ce3881de539b0a76673da3ea6fdac7453b47910.tar.gz glibc-6ce3881de539b0a76673da3ea6fdac7453b47910.tar.xz glibc-6ce3881de539b0a76673da3ea6fdac7453b47910.zip |
* sysdeps/generic/utmp_file.c (UNLOCK_FILE): Clear alarm before
resetting handler, to avoid the possibility of a spurious SIGALRM delivered to the user's handler. Reported by Amit D. Chaudhary <amitc@brocade.com>, * misc/Makefile (CFLAGS-init-misc.c): Varaible removed. It served to set -fkeep-inline-functions, which is not needed for the current file. * sysdeps/generic/ldsodefs.h: Add attribute_hidden to *_internal decls. (_dl_setup_hash): Add attribute_hidden. (_dl_sysdep_start, _dl_sysdep_start_cleanup): Likewise. (_dl_sysdep_read_whole_file, _dl_dprintf): Likewise. (_dl_new_object, _dl_map_object_deps): Likewise. (_dl_map_object_deps_internal): Remove decl. * elf/rtld.c (__mempcpy, _exit): Redeclare locally as hidden. * sysdeps/i386/dl-machine.h [PI_STATIC_AND_HIDDEN && HAVE_VISIBILITY_ATTRIBUTE && HAVE_HIDDEN && !HAVE_BROKEN_VISIBILITY_ATTRIBUTE] (elf_machine_dynamic, elf_machine_load_address): Rewritten without asm, instead relying on the compiler to produce only GOTOFF variable refs.
Diffstat (limited to 'elf')
-rw-r--r-- | elf/rtld.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/elf/rtld.c b/elf/rtld.c index 0c8bba3c7c..7c7c926d81 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -40,6 +40,13 @@ #include <assert.h> +/* Avoid PLT use for our local calls at startup. */ +extern __typeof (__mempcpy) __mempcpy attribute_hidden; + +/* GCC has mental blocks about _exit. */ +extern __typeof (_exit) exit_internal asm ("_exit") attribute_hidden; +#define _exit exit_internal + /* Helper function to handle errors while resolving symbols. */ static void print_unresolved (int errcode, const char *objname, const char *errsting); |