about summary refs log tree commit diff
path: root/elf
diff options
context:
space:
mode:
Diffstat (limited to 'elf')
-rw-r--r--elf/dl-deps.c4
-rw-r--r--elf/dl-lookup.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/elf/dl-deps.c b/elf/dl-deps.c
index 9fd2dd23ef..7842013c92 100644
--- a/elf/dl-deps.c
+++ b/elf/dl-deps.c
@@ -254,6 +254,10 @@ _dl_map_object_deps (struct link_map *map,
 		else
 		  dep = args.aux;
 
+		/* Skip those are not dlopened if we are dlopened.  */
+		if (map->l_type == lt_loaded && dep->l_type != lt_loaded)
+		  continue;
+
 		if (! dep->l_reserved)
 		  {
 		    /* Allocate new entry.  */
diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c
index 773f73df9b..6f14aaf498 100644
--- a/elf/dl-lookup.c
+++ b/elf/dl-lookup.c
@@ -158,7 +158,7 @@ add_dependency (struct link_map *undef_map, struct link_map *map)
 	 referenced object and don't record the dependencies.  This
 	 means this increment can never be reverted and the object
 	 will never be unloaded.  This is semantically the correct
-	 behaviour.  */
+	 behavior.  */
       if (__builtin_expect (act < undef_map->l_reldepsmax, 1))
 	undef_map->l_reldeps[undef_map->l_reldepsact++] = map;