Explicitly name DT_RPATH.

The specific case of finding a DT_RPATH entry is a pretty common harmless
warning. An alternative to this change would be to just add a case to the
switch for DT_RPATH to just silently ignore it, since it's never been
supported and is deprecated anyway.

Bug: N/A
Test: builds
Change-Id: I01986da8f1f8d411fc2ea32d492c53b9f4488c72
diff --git a/linker/linker.cpp b/linker/linker.cpp
index 59e4bac..58a52d0 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -3211,8 +3211,23 @@
 
       default:
         if (!relocating_linker) {
-          DL_WARN("\"%s\" unused DT entry: type %p arg %p", get_realpath(),
-              reinterpret_cast<void*>(d->d_tag), reinterpret_cast<void*>(d->d_un.d_val));
+          const char* tag_name;
+          if (d->d_tag == DT_RPATH) {
+            tag_name = "DT_RPATH";
+          } else if (d->d_tag == DT_ENCODING) {
+            tag_name = "DT_ENCODING";
+          } else if (d->d_tag >= DT_LOOS && d->d_tag <= DT_HIOS) {
+            tag_name = "unknown OS-specific";
+          } else if (d->d_tag >= DT_LOPROC && d->d_tag <= DT_HIPROC) {
+            tag_name = "unknown processor-specific";
+          } else {
+            tag_name = "unknown";
+          }
+          DL_WARN("\"%s\" unused DT entry: %s (type %p arg %p)",
+                  get_realpath(),
+                  tag_name,
+                  reinterpret_cast<void*>(d->d_tag),
+                  reinterpret_cast<void*>(d->d_un.d_val));
         }
         break;
     }