[PATCH] D95461: [llvm-nm] Display defined weak STT_GNU_IFUNC symbols as 'i'

George Rimar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 27 00:22:06 PST 2021


grimar added inline comments.


================
Comment at: llvm/tools/llvm-nm/llvm-nm.cpp:1148
+      return isObject(Obj, I) ? 'v' : 'w';
     return 'U';
+  }
----------------
I'd reorder. The `isa<MachOObjectFile>(Obj)` condition looks a bit too burried.


```
if (Symflags & object::SymbolRef::SF_Undefined) {
  if (isa<MachOObjectFile>(Obj) || !(Symflags & object::SymbolRef::SF_Weak))
    return 'U';
  return isObject(Obj, I) ? 'v' : 'w';
}
```


================
Comment at: llvm/tools/llvm-nm/llvm-nm.cpp:1153
+      return 'i';
+  }
+  if ((Symflags & object::SymbolRef::SF_Weak) && !isa<MachOObjectFile>(Obj))
----------------
No need to have curly bracers here.


================
Comment at: llvm/tools/llvm-nm/llvm-nm.cpp:1154
+  }
+  if ((Symflags & object::SymbolRef::SF_Weak) && !isa<MachOObjectFile>(Obj))
+    return isObject(Obj, I) ? 'V' : 'W';
----------------
The same comment about reordering applies here.
I think checking the object type first is cleaner.

```
if (!isa<MachOObjectFile>(Obj) && (Symflags & object::SymbolRef::SF_Weak))
```


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D95461/new/

https://reviews.llvm.org/D95461



More information about the llvm-commits mailing list