mirror of
https://sourceware.org/git/glibc.git
synced 2025-09-04 03:22:14 +03:00
Update.
1998-03-10 07:54 H.J. Lu <hjl@gnu.org> * elf/rtld.c (dl_main): Load the preloaded objects dependencies. * sysdeps/posix/mkstemp.c (mkstemp): Open temporary file mode 0600. Reported by Greg Alexander <galexand@sietch.bloomington.in.us>.
This commit is contained in:
@@ -1,3 +1,7 @@
|
|||||||
|
1998-03-10 07:54 H.J. Lu <hjl@gnu.org>
|
||||||
|
|
||||||
|
* elf/rtld.c (dl_main): Load the preloaded objects dependencies.
|
||||||
|
|
||||||
1998-03-10 Ulrich Drepper <drepper@cygnus.com>
|
1998-03-10 Ulrich Drepper <drepper@cygnus.com>
|
||||||
|
|
||||||
* elf/dl-lookup.c (_dl_lookup_versioned_symbol): Print version
|
* elf/dl-lookup.c (_dl_lookup_versioned_symbol): Print version
|
||||||
@@ -16,8 +20,8 @@
|
|||||||
|
|
||||||
1998-03-10 Andreas Jaeger <aj@arthur.rhein-neckar.de>
|
1998-03-10 Andreas Jaeger <aj@arthur.rhein-neckar.de>
|
||||||
|
|
||||||
* sysdeps/posix/mkstemp.c (mkstemp): Open temporary file mode
|
* sysdeps/posix/mkstemp.c (mkstemp): Open temporary file mode 0600.
|
||||||
0600. Reported by Greg Alexander <galexand@sietch.bloomington.in.us>.
|
Reported by Greg Alexander <galexand@sietch.bloomington.in.us>.
|
||||||
|
|
||||||
1998-03-10 00:10 Ulrich Drepper <drepper@cygnus.com>
|
1998-03-10 00:10 Ulrich Drepper <drepper@cygnus.com>
|
||||||
|
|
||||||
|
30
elf/rtld.c
30
elf/rtld.c
@@ -283,6 +283,7 @@ dl_main (const ElfW(Phdr) *phdr,
|
|||||||
size_t file_size;
|
size_t file_size;
|
||||||
char *file;
|
char *file;
|
||||||
int has_interp = 0;
|
int has_interp = 0;
|
||||||
|
unsigned int i;
|
||||||
|
|
||||||
/* Process the environment variable which control the behaviour. */
|
/* Process the environment variable which control the behaviour. */
|
||||||
process_envvars (&mode, &lazy);
|
process_envvars (&mode, &lazy);
|
||||||
@@ -595,7 +596,6 @@ of this helper program; chances are you did not intend to run this program.\n",
|
|||||||
{
|
{
|
||||||
/* Set up PRELOADS with a vector of the preloaded libraries. */
|
/* Set up PRELOADS with a vector of the preloaded libraries. */
|
||||||
struct link_map *l;
|
struct link_map *l;
|
||||||
unsigned int i;
|
|
||||||
preloads = __alloca (npreloads * sizeof preloads[0]);
|
preloads = __alloca (npreloads * sizeof preloads[0]);
|
||||||
l = _dl_rtld_map.l_next; /* End of the chain before preloads. */
|
l = _dl_rtld_map.l_next; /* End of the chain before preloads. */
|
||||||
i = 0;
|
i = 0;
|
||||||
@@ -612,6 +612,11 @@ of this helper program; chances are you did not intend to run this program.\n",
|
|||||||
dependencies in the executable's searchlist for symbol resolution. */
|
dependencies in the executable's searchlist for symbol resolution. */
|
||||||
_dl_map_object_deps (main_map, preloads, npreloads, mode == trace);
|
_dl_map_object_deps (main_map, preloads, npreloads, mode == trace);
|
||||||
|
|
||||||
|
/* We should also load the preloaded objects dependencies. They
|
||||||
|
may call dlsym (RTLD_NEXT, ...). */
|
||||||
|
for (i = 0; i < npreloads; i++)
|
||||||
|
_dl_map_object_deps (preloads[i], NULL, 0, 0);
|
||||||
|
|
||||||
#ifndef MAP_ANON
|
#ifndef MAP_ANON
|
||||||
/* We are done mapping things, so close the zero-fill descriptor. */
|
/* We are done mapping things, so close the zero-fill descriptor. */
|
||||||
__close (_dl_zerofd);
|
__close (_dl_zerofd);
|
||||||
@@ -629,7 +634,7 @@ of this helper program; chances are you did not intend to run this program.\n",
|
|||||||
put it back in the list of visible objects. We insert it into the
|
put it back in the list of visible objects. We insert it into the
|
||||||
chain in symbol search order because gdb uses the chain's order as
|
chain in symbol search order because gdb uses the chain's order as
|
||||||
its symbol search order. */
|
its symbol search order. */
|
||||||
unsigned int i = 1;
|
i = 1;
|
||||||
while (main_map->l_searchlist[i] != &_dl_rtld_map)
|
while (main_map->l_searchlist[i] != &_dl_rtld_map)
|
||||||
++i;
|
++i;
|
||||||
_dl_rtld_map.l_prev = main_map->l_searchlist[i - 1];
|
_dl_rtld_map.l_prev = main_map->l_searchlist[i - 1];
|
||||||
@@ -659,9 +664,6 @@ of this helper program; chances are you did not intend to run this program.\n",
|
|||||||
important that we do this before real relocation, because the
|
important that we do this before real relocation, because the
|
||||||
functions we call below for output may no longer work properly
|
functions we call below for output may no longer work properly
|
||||||
after relocation. */
|
after relocation. */
|
||||||
|
|
||||||
int i;
|
|
||||||
|
|
||||||
if (! _dl_loaded->l_info[DT_NEEDED])
|
if (! _dl_loaded->l_info[DT_NEEDED])
|
||||||
_dl_sysdep_message ("\t", "statically linked\n", NULL);
|
_dl_sysdep_message ("\t", "statically linked\n", NULL);
|
||||||
else
|
else
|
||||||
@@ -971,10 +973,20 @@ a filename can be specified using the LD_DEBUG_OUTPUT environment variable.\n",
|
|||||||
dl_debug += 7;
|
dl_debug += 7;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
/* Skip everything until next separator. */
|
{
|
||||||
do
|
/* Display a warning and skip everything until next
|
||||||
++dl_debug;
|
separator. */
|
||||||
while (*dl_debug != '\0' && !issep (*dl_debug));
|
char *startp = dl_debug;
|
||||||
|
|
||||||
|
do
|
||||||
|
++dl_debug;
|
||||||
|
while (*dl_debug != '\0' && !issep (*dl_debug));
|
||||||
|
|
||||||
|
startp = strndupa (startp, dl_debug - startp);
|
||||||
|
_dl_sysdep_error ("warning: debug option `", startp,
|
||||||
|
"' unknown; try LD_DEBUG=help\n", NULL);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
while (*dl_debug != '\0');
|
while (*dl_debug != '\0');
|
||||||
|
Reference in New Issue
Block a user