mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-03 08:11:08 +00:00
* sysdeps/mach/hurd/i386/init-first.c (init): Don't set __environ
here, before we might move the stack. (posixland_init): Set __libc_argc, __libc_argc, and __environ here. (init1): And not here. * sysdeps/i386/dl-machine.h (RTLD_START): Fix code broken by last change, to restore argc value in call-clobbered register after RTLD_START_SPECIAL_INIT, which will contain a call. * elf/dl-deps.c (_dl_map_object_deps): Fix size calculations for allocating and initializing L->l_initfini. * resolv/Makefile (headers): Add bits/netdb.h, so it gets installed.
This commit is contained in:
parent
9129b9874d
commit
c6d8020283
16
ChangeLog
16
ChangeLog
@ -1,3 +1,19 @@
|
|||||||
|
2000-04-03 Roland McGrath <roland@baalperazim.frob.com>
|
||||||
|
|
||||||
|
* sysdeps/mach/hurd/i386/init-first.c (init): Don't set __environ
|
||||||
|
here, before we might move the stack.
|
||||||
|
(posixland_init): Set __libc_argc, __libc_argc, and __environ here.
|
||||||
|
(init1): And not here.
|
||||||
|
|
||||||
|
* sysdeps/i386/dl-machine.h (RTLD_START): Fix code broken by last
|
||||||
|
change, to restore argc value in call-clobbered register after
|
||||||
|
RTLD_START_SPECIAL_INIT, which will contain a call.
|
||||||
|
|
||||||
|
* elf/dl-deps.c (_dl_map_object_deps): Fix size calculations for
|
||||||
|
allocating and initializing L->l_initfini.
|
||||||
|
|
||||||
|
* resolv/Makefile (headers): Add bits/netdb.h, so it gets installed.
|
||||||
|
|
||||||
2000-04-03 Ulrich Drepper <drepper@redhat.com>
|
2000-04-03 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
* elf/dl-load.c (_dl_init_paths): Use (void*) -1 to signal non-existing
|
* elf/dl-load.c (_dl_init_paths): Use (void*) -1 to signal non-existing
|
||||||
|
@ -449,12 +449,11 @@ _dl_map_object_deps (struct link_map *map,
|
|||||||
{
|
{
|
||||||
needed[nneeded++] = NULL;
|
needed[nneeded++] = NULL;
|
||||||
|
|
||||||
l->l_initfini =
|
l->l_initfini = malloc (nneeded * sizeof needed[0]);
|
||||||
(struct link_map **) malloc (nneeded * sizeof (struct link_map));
|
|
||||||
if (l->l_initfini == NULL)
|
if (l->l_initfini == NULL)
|
||||||
_dl_signal_error (ENOMEM, map->l_name,
|
_dl_signal_error (ENOMEM, map->l_name,
|
||||||
"cannot allocate dependency list");
|
"cannot allocate dependency list");
|
||||||
memcpy (l->l_initfini, needed, nneeded * sizeof (struct link_map));
|
memcpy (l->l_initfini, needed, nneeded * sizeof needed[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If we have no auxiliary objects just go on to the next map. */
|
/* If we have no auxiliary objects just go on to the next map. */
|
||||||
|
@ -21,7 +21,9 @@
|
|||||||
#
|
#
|
||||||
subdir := resolv
|
subdir := resolv
|
||||||
|
|
||||||
headers := resolv.h netdb.h arpa/nameser.h arpa/nameser_compat.h \
|
headers := resolv.h \
|
||||||
|
netdb.h bits/netdb.h \
|
||||||
|
arpa/nameser.h arpa/nameser_compat.h \
|
||||||
sys/bitypes.h
|
sys/bitypes.h
|
||||||
distribute := ../conf/portability.h mapv4v6addr.h mapv4v6hostent.h \
|
distribute := ../conf/portability.h mapv4v6addr.h mapv4v6hostent.h \
|
||||||
Banner res_hconf.h res_debug.h
|
Banner res_hconf.h res_debug.h
|
||||||
|
@ -233,6 +233,7 @@ _dl_start_user:\n\
|
|||||||
" RTLD_START_SPECIAL_INIT "\n\
|
" RTLD_START_SPECIAL_INIT "\n\
|
||||||
# Load the parameters again.\n\
|
# Load the parameters again.\n\
|
||||||
# (eax, edx, ecx, *--esp) = (_dl_loaded, argc, argv, envp)\n\
|
# (eax, edx, ecx, *--esp) = (_dl_loaded, argc, argv, envp)\n\
|
||||||
|
movl (%esp), %edx\n\
|
||||||
movl _dl_loaded@GOT(%ebx), %esi\n\
|
movl _dl_loaded@GOT(%ebx), %esi\n\
|
||||||
leal 8(%esp,%edx,4), %eax\n\
|
leal 8(%esp,%edx,4), %eax\n\
|
||||||
leal 4(%esp), %ecx\n\
|
leal 4(%esp), %ecx\n\
|
||||||
|
Loading…
Reference in New Issue
Block a user