From 7e369ff2e564495211e9cc3d6224057c804621fe Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Tue, 4 Feb 2014 23:53:15 +0000 Subject: Small fix for llvm-nm handling of weak symbols on ELF (print 'v'). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200808 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/llvm-nm/llvm-nm.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'tools/llvm-nm') diff --git a/tools/llvm-nm/llvm-nm.cpp b/tools/llvm-nm/llvm-nm.cpp index 5b8bafc8ab..8d1fa729bd 100644 --- a/tools/llvm-nm/llvm-nm.cpp +++ b/tools/llvm-nm/llvm-nm.cpp @@ -360,8 +360,12 @@ static char getSymbolNMTypeChar(ELFObjectFile &Obj, symbol_iterator I) { Ret = ::toupper(Ret); break; case ELF::STB_WEAK: - if (EF.getSymbolTableIndex(ESym) == ELF::SHN_UNDEF) - Ret = 'w'; + if (EF.getSymbolTableIndex(ESym) == ELF::SHN_UNDEF) { + if (ESym->getType() == ELF::STT_OBJECT) + Ret = 'v'; + else + Ret = 'w'; + } else if (ESym->getType() == ELF::STT_OBJECT) Ret = 'V'; else -- cgit v1.2.3