Merge "Upgrade to current NetBSD popen/pclose."
diff --git a/linker/linker.cpp b/linker/linker.cpp
index b275953..cbdca8e 100755
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -799,7 +799,7 @@
     TRACE("unloading '%s'\n", si->name);
     si->CallDestructors();
 
-    for (Elf32_Dyn* d = si->dynamic; d->d_tag != DT_NEEDED; ++d) {
+    for (Elf32_Dyn* d = si->dynamic; d->d_tag != DT_NULL; ++d) {
       if (d->d_tag == DT_NEEDED) {
         const char* library_name = si->strtab + d->d_un.d_val;
         soinfo* lsi = find_loaded_library(library_name);