diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-03-15 03:16:52 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-03-15 03:16:52 +0000 |
commit | 5c82e15e8646cd7d229bcd8287d01875e12df0b3 (patch) | |
tree | 14c2843a36f2ba9014790a44a5eb9451afefede3 /sysdeps | |
parent | 36461455978549862873b9fa1117de21984dceac (diff) | |
download | glibc-5c82e15e8646cd7d229bcd8287d01875e12df0b3.tar.gz glibc-5c82e15e8646cd7d229bcd8287d01875e12df0b3.tar.xz glibc-5c82e15e8646cd7d229bcd8287d01875e12df0b3.zip |
Update.
2002-03-14 Ulrich Drepper <drepper@redhat.com> * elf/dl-minimal.c (malloc): Declare _end as hidden. (__errno_location): New function. Declare errno as hidden. * elf/rtld.c (_dl_argc): Define as hidden. (_dl_skip_args): Define as hidden. (_begin, _end): Declare as hidden. * sysdeps/generic/dl-sysdep.c (_end): Declare as hidden. * sysdeps/generic/entry.h (_start): Declare as hidden. * sysdeps/generic/ldsodefs.h (_dl_argc): Declare as hidden. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Declare _dl_runtime_resolve and _dl_runtime_profile as hidden. (RTLD_START): Use GOTOFF to access _dl_skip_args and _dl_fini.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/generic/dl-sysdep.c | 2 | ||||
-rw-r--r-- | sysdeps/generic/entry.h | 2 | ||||
-rw-r--r-- | sysdeps/generic/ldsodefs.h | 2 | ||||
-rw-r--r-- | sysdeps/i386/dl-machine.h | 9 |
4 files changed, 7 insertions, 8 deletions
diff --git a/sysdeps/generic/dl-sysdep.c b/sysdeps/generic/dl-sysdep.c index 45980ee974..36b1150ff7 100644 --- a/sysdeps/generic/dl-sysdep.c +++ b/sysdeps/generic/dl-sysdep.c @@ -39,7 +39,7 @@ #include <hp-timing.h> extern char **_environ; -extern void _end; +extern void _end attribute_hidden; /* Protect SUID program against misuse of file descriptors. */ extern void __libc_check_standard_fds (void); diff --git a/sysdeps/generic/entry.h b/sysdeps/generic/entry.h index 2f17ce8a4b..16d3e3045e 100644 --- a/sysdeps/generic/entry.h +++ b/sysdeps/generic/entry.h @@ -1,5 +1,5 @@ #ifndef __ASSEMBLY__ -extern void _start (void); +extern void _start (void) attribute_hidden; #endif #define ENTRY_POINT _start diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index 4aa5621c19..d2dd3e60ec 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -392,7 +392,7 @@ extern struct rtld_global _rtld_local __rtld_local_attribute__; #undef EXTERN /* Parameters passed to the dynamic linker. */ -extern int _dl_argc; +extern int _dl_argc attribute_hidden; extern char **_dl_argv; #ifdef _RTLD_LOCAL extern char **_dl_argv_internal attribute_hidden; diff --git a/sysdeps/i386/dl-machine.h b/sysdeps/i386/dl-machine.h index 3edfb00c0a..37ec7283be 100644 --- a/sysdeps/i386/dl-machine.h +++ b/sysdeps/i386/dl-machine.h @@ -79,8 +79,8 @@ static inline int __attribute__ ((unused)) elf_machine_runtime_setup (struct link_map *l, int lazy, int profile) { Elf32_Addr *got; - extern void _dl_runtime_resolve (Elf32_Word); - extern void _dl_runtime_profile (Elf32_Word); + extern void _dl_runtime_resolve (Elf32_Word) attribute_hidden; + extern void _dl_runtime_profile (Elf32_Word) attribute_hidden; if (l->l_info[DT_JMPREL] && lazy) { @@ -223,8 +223,7 @@ _dl_start_user:\n\ movl %esp, (%eax)\n\ # See if we were run as a command with the executable file\n\ # name as an extra leading argument.\n\ - movl _dl_skip_args@GOT(%ebx), %eax\n\ - movl (%eax), %eax\n\ + movl _dl_skip_args@GOTOFF(%ebx), %eax\n\ # Pop the original argument count.\n\ popl %edx\n\ # Adjust the stack pointer to skip _dl_skip_args words.\n\ @@ -246,7 +245,7 @@ _dl_start_user:\n\ # Call the function to run the initializers.\n\ call _dl_init_internal@PLT\n\ # Pass our finalizer function to the user in %edx, as per ELF ABI.\n\ - movl _dl_fini@GOT(%ebx), %edx\n\ + leal _dl_fini@GOTOFF(%ebx), %edx\n\ # Jump to the user's entry point.\n\ jmp *%edi\n\ .previous\n\ |