Remove duplicate code in elf/dl-deps.c

Message ID 20140519094412.GA18336@domone.podge
State Superseded
Headers

Commit Message

Ondrej Bilka May 19, 2014, 9:44 a.m. UTC
  Hi,

When looking for extend_alloca I found following duplicate condition. OK
to commit?

	* elf/dl-deps.c (_dl_map_object_deps): Remove duplicate code.
  

Comments

Andreas Schwab May 19, 2014, 10:47 a.m. UTC | #1
Ondřej Bílka <neleai@seznam.cz> writes:

> -		    /* For filter objects the dependency must be available.  */

Please keep the comment.

Andreas.
  

Patch

diff --git a/elf/dl-deps.c b/elf/dl-deps.c
index 9c83c81..f3b0301 100644
--- a/elf/dl-deps.c
+++ b/elf/dl-deps.c
@@ -302,22 +301,23 @@  _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.  */
+		bool malloced;
+		(void) _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,22 +327,7 @@  _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);