diff options
| author | Sunil Srivastava <sunil_srivastava@playstation.sony.com> | 2019-02-03 22:40:01 +0000 |
|---|---|---|
| committer | Sunil Srivastava <sunil_srivastava@playstation.sony.com> | 2019-02-03 22:40:01 +0000 |
| commit | b33b410283e2759797b5ed264a4c6889a80fc5bb (patch) | |
| tree | e6c890808ff471e596f3bde01ace18f50ac14d49 /llvm | |
| parent | 6ccad0a7d03b672e8653dfd4722ac10e26d3901f (diff) | |
| download | bcm5719-llvm-b33b410283e2759797b5ed264a4c6889a80fc5bb.tar.gz bcm5719-llvm-b33b410283e2759797b5ed264a4c6889a80fc5bb.zip | |
Compute the correct symbol size in llvm-nm even without --print-size
In llvm-nm, the symbol size was being computed only with --print-size option,
even though it was being printed in other cases, such as with --format=posix.
This patch simply removes the guard, so that the size is computed
independently of the later decision to print it or not.
Fixes PR39997.
Differential Revision: https://reviews.llvm.org/D57599
llvm-svn: 353011
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/test/tools/llvm-nm/X86/posixELF.test | 2 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-nm/X86/response-file.test | 2 | ||||
| -rw-r--r-- | llvm/tools/llvm-nm/llvm-nm.cpp | 6 |
3 files changed, 4 insertions, 6 deletions
diff --git a/llvm/test/tools/llvm-nm/X86/posixELF.test b/llvm/test/tools/llvm-nm/X86/posixELF.test index f66e1befc8f..810bc9705f9 100644 --- a/llvm/test/tools/llvm-nm/X86/posixELF.test +++ b/llvm/test/tools/llvm-nm/X86/posixELF.test @@ -1,4 +1,4 @@ # RUN: llvm-nm -P %p/Inputs/hello.obj.elf-x86_64 | FileCheck %s -CHECK: main T 0 0 +CHECK: main T 0 15 CHECK: puts U 0 0 diff --git a/llvm/test/tools/llvm-nm/X86/response-file.test b/llvm/test/tools/llvm-nm/X86/response-file.test index 5c53960056c..8f4e2a734b9 100644 --- a/llvm/test/tools/llvm-nm/X86/response-file.test +++ b/llvm/test/tools/llvm-nm/X86/response-file.test @@ -1,5 +1,5 @@ # RUN: echo "-P %p/Inputs/hello.obj.elf-x86_64" > %t-response # RUN: llvm-nm @%t-response | FileCheck %s -CHECK: main T 0 0 +CHECK: main T 0 15 CHECK: puts U 0 0 diff --git a/llvm/tools/llvm-nm/llvm-nm.cpp b/llvm/tools/llvm-nm/llvm-nm.cpp index 3a83fdb1424..7c009297139 100644 --- a/llvm/tools/llvm-nm/llvm-nm.cpp +++ b/llvm/tools/llvm-nm/llvm-nm.cpp @@ -1190,10 +1190,8 @@ dumpSymbolNamesFromObject(SymbolicFile &Obj, bool printName, NMSymbol S = {}; S.Size = 0; S.Address = 0; - if (PrintSize) { - if (isa<ELFObjectFileBase>(&Obj)) - S.Size = ELFSymbolRef(Sym).getSize(); - } + if (isa<ELFObjectFileBase>(&Obj)) + S.Size = ELFSymbolRef(Sym).getSize(); if (PrintAddress && isa<ObjectFile>(Obj)) { SymbolRef SymRef(Sym); Expected<uint64_t> AddressOrErr = SymRef.getAddress(); |

