diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-07-07 17:12:59 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-07-07 17:12:59 +0000 |
| commit | be8b0ea8542a652207c46fdf9ed412729d248c83 (patch) | |
| tree | a0ec2fa57294540cbe410a6998a6f9e1e6435be2 /llvm/tools/llvm-nm | |
| parent | 76413ecb607d71b800288c8114550d1e90cb0608 (diff) | |
| download | bcm5719-llvm-be8b0ea8542a652207c46fdf9ed412729d248c83.tar.gz bcm5719-llvm-be8b0ea8542a652207c46fdf9ed412729d248c83.zip | |
Delete UnknownAddress. It is a perfectly valid symbol value.
getSymbolValue now returns a value that in convenient for most callers:
* 0 for undefined
* symbol size for common symbols
* offset/address for symbols the rest
Code that needs something more specific can check getSymbolFlags.
llvm-svn: 241605
Diffstat (limited to 'llvm/tools/llvm-nm')
| -rw-r--r-- | llvm/tools/llvm-nm/llvm-nm.cpp | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/llvm/tools/llvm-nm/llvm-nm.cpp b/llvm/tools/llvm-nm/llvm-nm.cpp index 26be4f213f2..80f166da399 100644 --- a/llvm/tools/llvm-nm/llvm-nm.cpp +++ b/llvm/tools/llvm-nm/llvm-nm.cpp @@ -564,12 +564,12 @@ static void sortAndPrintSymbolList(SymbolicFile &Obj, bool printName, char SymbolAddrStr[18] = ""; char SymbolSizeStr[18] = ""; - if (OutputFormat == sysv || I->Address == UnknownAddress) + if (OutputFormat == sysv || I->TypeChar == 'U') strcpy(SymbolAddrStr, printBlanks); if (OutputFormat == sysv) strcpy(SymbolSizeStr, printBlanks); - if (I->Address != UnknownAddress) + if (I->TypeChar != 'U') format(printFormat, I->Address) .print(SymbolAddrStr, sizeof(SymbolAddrStr)); format(printFormat, I->Size).print(SymbolSizeStr, sizeof(SymbolSizeStr)); @@ -881,21 +881,17 @@ static void dumpSymbolNamesFromObject(SymbolicFile &Obj, bool printName, continue; NMSymbol S; S.Size = 0; - S.Address = UnknownAddress; + S.Address = 0; if (PrintSize) { if (isa<ELFObjectFileBase>(&Obj)) S.Size = ELFSymbolRef(Sym).getSize(); } if (PrintAddress && isa<ObjectFile>(Obj)) { SymbolRef SymRef(Sym); - if (SymFlags & SymbolRef::SF_Common) { - S.Address = SymRef.getCommonSize(); - } else { - ErrorOr<uint64_t> AddressOrErr = SymRef.getAddress(); - if (error(AddressOrErr.getError())) - break; - S.Address = *AddressOrErr; - } + ErrorOr<uint64_t> AddressOrErr = SymRef.getAddress(); + if (error(AddressOrErr.getError())) + break; + S.Address = *AddressOrErr; } S.TypeChar = getNMTypeChar(Obj, Sym); if (error(Sym.printName(OS))) |

