Minor optimization of unloading prevention patch.
authorUlrich Drepper <drepper@redhat.com>
Thu, 23 Jul 2009 14:40:56 +0000 (07:40 -0700)
committerUlrich Drepper <drepper@redhat.com>
Thu, 23 Jul 2009 14:40:56 +0000 (07:40 -0700)
References to unique symbols from copy relocations can only come
from executables which cannot be unloaded anyway.  Optimize the
code to set the unload flag a bit.

elf/dl-lookup.c

index 61e8d7f..18f7288 100644 (file)
@@ -331,12 +331,12 @@ do_lookup_x (const char *undef_name, uint_fast32_t new_hash,
                          {
                            table[idx].sym = sym;
                            table[idx].map = map;
-                         }
 
-                       if (table[idx].map->l_type == lt_loaded)
-                         /* Make sure we don't unload this object by
-                            setting the appropriate flag.  */
-                         table[idx].map->l_flags_1 |= DF_1_NODELETE;
+                           if (map->l_type == lt_loaded)
+                             /* Make sure we don't unload this object by
+                                setting the appropriate flag.  */
+                             map->l_flags_1 |= DF_1_NODELETE;
+                         }
 
                        return;
                      }