mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-28 00:21:52 +03:00
Update.
1998-03-12 13:11 Tim Waugh <tim@cyberelk.demon.co.uk> * posix/wordexp-test.c: More tests. (main): Set up arena for pathname expansion tests (in a temporary directory). (testit): Don't check word count or word vector if return value is non-zero. * posix/wordexp.c (exec_comm): Always chop off terminating linefeed (just like bash does). (parse_param): Change lots of occurrences of "if (!*env)" to "if (!env || !*env)". (parse_param): For assignment inside parameter expansion, use all expanded words in assignment rather than just the first. (parse_param): Corrected return value for parameter expansion of an unset variable when WRDE_UNDEF is in effect. (parse_dollars): Don't field-split if quoted. (wordexp): Opening brace character isn't allowed unquoted. 1998-03-12 Ulrich Drepper <drepper@cygnus.com> * elf/dlerror.c: Fix concurrency problems with error string and number. * elf/dl-deps.c (_dl_map_object_deps): Print debug info when filter/auxiliary are being loaded. 1998-03-12 14:24 Ulrich Drepper <drepper@cygnus.com> * elf/dlerror.c (last_object_name): Removed. (dlerror): Don't use last_object_name. (_dl_error_run): Omit second argument to _dl_catch_error. * elf/dl-error.c (struct catch): Remove objname member. (_dl_signal_error): Construct string including objname when given. (_dl_catch_error): Remove objname handling. * elf/link.h (_dl_catch_error): Fix prototype and comment. * elf/rtld.c (dl_main): Call _dl_catch_error correctly. * elf/dl-deps.c (_dl_map_objet_deps): Likewise. * nss/nsswitch.c (nss_dlerror_run): Likewise. * iconv/gconv_dl.c (dlerror_run): Likewise. [Corrects PR libc/501].
This commit is contained in:
@ -194,7 +194,6 @@ _dl_map_object_deps (struct link_map *map,
|
||||
else if (d->d_tag == DT_AUXILIARY || d->d_tag == DT_FILTER)
|
||||
{
|
||||
char *errstring;
|
||||
const char *objname;
|
||||
struct list *newp;
|
||||
|
||||
if (d->d_tag == DT_AUXILIARY)
|
||||
@ -202,9 +201,18 @@ _dl_map_object_deps (struct link_map *map,
|
||||
/* Store the tag in the argument structure. */
|
||||
args.d = d;
|
||||
|
||||
/* Say that we are about to load an auxiliary library. */
|
||||
if (_dl_debug_libs)
|
||||
_dl_debug_message ("load auxiliary object=",
|
||||
strtab + d->d_un.d_val,
|
||||
" requested by file=",
|
||||
l->l_name[0]
|
||||
? l->l_name : _dl_argv[0],
|
||||
"\n", NULL);
|
||||
|
||||
/* We must be prepared that the addressed shared
|
||||
object is not available. */
|
||||
if (_dl_catch_error (&errstring, &objname, openaux, &args))
|
||||
if (_dl_catch_error (&errstring, openaux, &args))
|
||||
{
|
||||
/* We are not interested in the error message. */
|
||||
assert (errstring != NULL);
|
||||
@ -215,11 +223,22 @@ _dl_map_object_deps (struct link_map *map,
|
||||
}
|
||||
}
|
||||
else
|
||||
/* For filter objects the dependency must be available. */
|
||||
args.aux = _dl_map_object (l, strtab + d->d_un.d_val, 0,
|
||||
(l->l_type == lt_executable
|
||||
? lt_library : l->l_type),
|
||||
trace_mode);
|
||||
{
|
||||
/* Say that we are about to load an auxiliary library. */
|
||||
if (_dl_debug_libs)
|
||||
_dl_debug_message ("load filtered object=",
|
||||
strtab + d->d_un.d_val,
|
||||
" requested by file=",
|
||||
l->l_name[0]
|
||||
? l->l_name : _dl_argv[0],
|
||||
"\n", NULL);
|
||||
|
||||
/* For filter objects the dependency must be available. */
|
||||
args.aux = _dl_map_object (l, strtab + d->d_un.d_val, 0,
|
||||
(l->l_type == lt_executable
|
||||
? lt_library : l->l_type),
|
||||
trace_mode);
|
||||
}
|
||||
|
||||
/* The auxiliary object is actually available.
|
||||
Incorporate the map in all the lists. */
|
||||
|
Reference in New Issue
Block a user