diff --git a/linker/linker.cpp b/linker/linker.cpp
index 4d2e72f..409580e 100755
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -160,7 +160,8 @@
 #define DL_ERR(fmt, x...) \
     do { \
         format_buffer(__linker_dl_err_buf, sizeof(__linker_dl_err_buf), fmt, ##x); \
-        ERROR(fmt "\n", ##x); \
+        /* If LD_DEBUG is set high enough, send every dlerror(3) message to the log. */ \
+        DEBUG(fmt "\n", ##x); \
     } while(0)
 
 const char* linker_get_error() {
@@ -644,7 +645,7 @@
   for (size_t i = 0; paths[i] != NULL; ++i) {
     int n = format_buffer(buf, sizeof(buf), "%s/%s", paths[i], name);
     if (n < 0 || n >= static_cast<int>(sizeof(buf))) {
-      WARN("Ignoring very long library path: %s/%s\n", paths[i], name);
+      PRINT("Warning: ignoring very long library path: %s/%s\n", paths[i], name);
       continue;
     }
     int fd = TEMP_FAILURE_RETRY(open(buf, O_RDONLY | O_CLOEXEC));
@@ -960,7 +961,7 @@
     si->refcount = 0;
   } else {
     si->refcount--;
-    PRINT("not unloading '%s', decrementing refcount to %d\n", si->name, si->refcount);
+    TRACE("not unloading '%s', decrementing refcount to %d\n", si->name, si->refcount);
   }
   return 0;
 }
diff --git a/linker/linker_debug.h b/linker/linker_debug.h
index c1df1dd..0a3710b 100644
--- a/linker/linker_debug.h
+++ b/linker/linker_debug.h
@@ -71,8 +71,6 @@
 #define PRINT(x...)          _PRINTVF(-1, x)
 #define INFO(x...)           _PRINTVF(0, x)
 #define TRACE(x...)          _PRINTVF(1, x)
-#define WARN(fmt,args...)    _PRINTVF(-1, "%s:%d| WARNING: " fmt, __FILE__, __LINE__, ## args)
-#define ERROR(fmt,args...)   _PRINTVF(-1, "%s:%d| ERROR: " fmt, __FILE__, __LINE__, ## args)
 
 #if TRACE_DEBUG
 #define DEBUG(x...)          _PRINTVF(2, "DEBUG: " x)
@@ -82,9 +80,4 @@
 
 #define TRACE_TYPE(t,x...)   do { if (DO_TRACE_##t) { TRACE(x); } } while (0)
 
-#if TIMING
-#undef WARN
-#define WARN(x...)           do {} while (0)
-#endif /* TIMING */
-
 #endif /* _LINKER_DEBUG_H_ */
