diff --git a/libc/dlfcn.cc b/libc/dlfcn.cc
index 8d6b890a408cc1110eff6e361d8c85870a664dba..3a8d81b2df39c5658fc8466afe50f47d22687025 100644
--- a/libc/dlfcn.cc
+++ b/libc/dlfcn.cc
@@ -20,7 +20,7 @@ int dl_iterate_phdr(int (*callback)(struct dl_phdr_info *info,
         for (auto obj : m) {
             dl_phdr_info info;
             info.dlpi_addr = reinterpret_cast<uintptr_t>(obj->base());
-            std::string name = obj->soname();
+            std::string name = obj->pathname();
             info.dlpi_name = name.c_str();
             auto phdrs = obj->phdrs();
             // hopefully, the libc and osv types match: