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;
}