aboutsummaryrefslogtreecommitdiff
path: root/elf/dl-deps.c
diff options
context:
space:
mode:
authorOndřej Bílka <neleai@seznam.cz>2014-05-27 16:56:11 +0200
committerOndřej Bílka <neleai@seznam.cz>2014-05-27 16:56:39 +0200
commit3dfb9a5cbee3232cb38237f65759b6f230e790c0 (patch)
tree62a1c553d65d2b8cbf3aacf318db870fcc742825 /elf/dl-deps.c
parent774f928582fcfefb726f115772c001043aefa01c (diff)
downloadglibc-3dfb9a5cbee3232cb38237f65759b6f230e790c0.zip
glibc-3dfb9a5cbee3232cb38237f65759b6f230e790c0.tar.gz
glibc-3dfb9a5cbee3232cb38237f65759b6f230e790c0.tar.bz2
Remove duplicate code in elf/dl-deps.c.
Diffstat (limited to 'elf/dl-deps.c')
-rw-r--r--elf/dl-deps.c50
1 files changed, 19 insertions, 31 deletions
diff --git a/elf/dl-deps.c b/elf/dl-deps.c
index 9c83c81..c3b0cfc 100644
--- a/elf/dl-deps.c
+++ b/elf/dl-deps.c
@@ -302,22 +302,24 @@ _dl_map_object_deps (struct link_map *map,
/* Store the tag in the argument structure. */
args.name = name;
- if (d->d_tag == DT_AUXILIARY)
+ /* Say that we are about to load an auxiliary library. */
+ if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_LIBS,
+ 0))
+ _dl_debug_printf ("load auxiliary object=%s"
+ " requested by file=%s\n",
+ name,
+ DSO_FILENAME (l->l_name));
+
+ /* We must be prepared that the addressed shared
+ object is not available. For filter objects the dependency
+ must be available. */
+ bool malloced;
+ int err = _dl_catch_error (&objname, &errstring, &malloced,
+ openaux, &args);
+
+ if (__glibc_unlikely (errstring != NULL))
{
- /* Say that we are about to load an auxiliary library. */
- if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_LIBS,
- 0))
- _dl_debug_printf ("load auxiliary object=%s"
- " requested by file=%s\n",
- name,
- DSO_FILENAME (l->l_name));
-
- /* We must be prepared that the addressed shared
- object is not available. */
- bool malloced;
- (void) _dl_catch_error (&objname, &errstring, &malloced,
- openaux, &args);
- if (__glibc_unlikely (errstring != NULL))
+ if (d->d_tag == DT_AUXILIARY)
{
/* We are not interested in the error message. */
assert (errstring != NULL);
@@ -327,23 +329,9 @@ _dl_map_object_deps (struct link_map *map,
/* Simply ignore this error and continue the work. */
continue;
}
- }
- else
- {
- /* Say that we are about to load an auxiliary library. */
- if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_LIBS,
- 0))
- _dl_debug_printf ("load filtered object=%s"
- " requested by file=%s\n",
- name,
- DSO_FILENAME (l->l_name));
-
- /* For filter objects the dependency must be available. */
- bool malloced;
- int err = _dl_catch_error (&objname, &errstring, &malloced,
- openaux, &args);
- if (__glibc_unlikely (errstring != NULL))
+ else
{
+
char *new_errstring = strdupa (errstring);
objname = strdupa (objname);
if (malloced)