[llvm] r353011 - Compute the correct symbol size in llvm-nm even without --print-size

Sunil Srivastava via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 3 14:40:01 PST 2019


Author: ssrivastava
Date: Sun Feb  3 14:40:01 2019
New Revision: 353011

URL: http://llvm.org/viewvc/llvm-project?rev=353011&view=rev
Log:
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

Modified:
    llvm/trunk/test/tools/llvm-nm/X86/posixELF.test
    llvm/trunk/test/tools/llvm-nm/X86/response-file.test
    llvm/trunk/tools/llvm-nm/llvm-nm.cpp

Modified: llvm/trunk/test/tools/llvm-nm/X86/posixELF.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-nm/X86/posixELF.test?rev=353011&r1=353010&r2=353011&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-nm/X86/posixELF.test (original)
+++ llvm/trunk/test/tools/llvm-nm/X86/posixELF.test Sun Feb  3 14:40:01 2019
@@ -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

Modified: llvm/trunk/test/tools/llvm-nm/X86/response-file.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-nm/X86/response-file.test?rev=353011&r1=353010&r2=353011&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-nm/X86/response-file.test (original)
+++ llvm/trunk/test/tools/llvm-nm/X86/response-file.test Sun Feb  3 14:40:01 2019
@@ -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

Modified: llvm/trunk/tools/llvm-nm/llvm-nm.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-nm/llvm-nm.cpp?rev=353011&r1=353010&r2=353011&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-nm/llvm-nm.cpp (original)
+++ llvm/trunk/tools/llvm-nm/llvm-nm.cpp Sun Feb  3 14:40:01 2019
@@ -1190,10 +1190,8 @@ dumpSymbolNamesFromObject(SymbolicFile &
       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();




More information about the llvm-commits mailing list