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/i386 | |
parent | 36461455978549862873b9fa1117de21984dceac (diff) | |
download | glibc-5c82e15e8646cd7d229bcd8287d01875e12df0b3.zip glibc-5c82e15e8646cd7d229bcd8287d01875e12df0b3.tar.gz glibc-5c82e15e8646cd7d229bcd8287d01875e12df0b3.tar.bz2 |
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/i386')
-rw-r--r-- | sysdeps/i386/dl-machine.h | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/sysdeps/i386/dl-machine.h b/sysdeps/i386/dl-machine.h index 3edfb00..37ec728 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\ |