diff --git a/libc/include/android/dlext.h b/libc/include/android/dlext.h
index 76d19ae..d5ec386 100644
--- a/libc/include/android/dlext.h
+++ b/libc/include/android/dlext.h
@@ -194,8 +194,6 @@
                                                             uint64_t type,
                                                             const char* permitted_when_isolated_path);
 
-const char* android_dlwarning();
-
 __END_DECLS
 
 #endif /* __ANDROID_DLEXT_H__ */
diff --git a/libdl/libdl.c b/libdl/libdl.c
index d2e5e31..b62ee5c 100644
--- a/libdl/libdl.c
+++ b/libdl/libdl.c
@@ -70,4 +70,4 @@
   return 0;
 }
 
-const char* android_dlwarning(void) { return 0; }
+void android_dlwarning(void* obj, void (*f)(void*, const char*)) { f(obj, 0); }
diff --git a/linker/dlfcn.cpp b/linker/dlfcn.cpp
index 89b2a36..64bf9e0 100644
--- a/linker/dlfcn.cpp
+++ b/linker/dlfcn.cpp
@@ -137,9 +137,9 @@
   return get_application_target_sdk_version();
 }
 
-const char* android_dlwarning() {
+void android_dlwarning(void* obj, void (*f)(void*, const char*)) {
   ScopedPthreadMutexLocker locker(&g_dl_mutex);
-  return get_dlwarning();
+  get_dlwarning(obj, f);
 }
 
 bool android_init_namespaces(const char* public_ns_sonames,
diff --git a/linker/linker_dlwarning.cpp b/linker/linker_dlwarning.cpp
index f4a3daf..cd76533 100644
--- a/linker/linker_dlwarning.cpp
+++ b/linker/linker_dlwarning.cpp
@@ -21,7 +21,6 @@
 #include <string>
 
 static std::string current_msg;
-static std::string old_msg;
 
 void add_dlwarning(const char* sopath, const char* message, const char* value) {
   if (!current_msg.empty()) {
@@ -38,13 +37,12 @@
 
 // Resets the current one (like dlerror but instead of
 // being thread-local it is process-local).
-const char* get_dlwarning() {
+void get_dlwarning(void* obj, void (*f)(void*, const char*)) {
   if (current_msg.empty()) {
-    return nullptr;
+    f(obj, nullptr);
+  } else {
+    std::string msg = current_msg;
+    current_msg.clear();
+    f(obj, msg.c_str());
   }
-
-  old_msg = current_msg;
-  current_msg.clear();
-
-  return old_msg.c_str();
 }
diff --git a/linker/linker_dlwarning.h b/linker/linker_dlwarning.h
index b67032c..0263c72 100644
--- a/linker/linker_dlwarning.h
+++ b/linker/linker_dlwarning.h
@@ -20,7 +20,9 @@
 void add_dlwarning(const char* sopath, const char* message, const char* value = nullptr);
 
 // Resets the current one (like dlerror but instead of
-// being thread-local it is process-local).
-const char* get_dlwarning();
+// being thread-local it is process-local). The user_data
+// is used to avoid forcing user into saving the message
+// to a global variable.
+void get_dlwarning(void* user_data, void (*f)(void*, const char*));
 
 #endif  /* __LINKER_DLWARNING_H */
