diff --git a/llvm/test/tools/llvm-nm/X86/size-sort.test b/llvm/test/tools/llvm-nm/X86/size-sort.test new file mode 100644 index 000000000000..64ea99e35b1f --- /dev/null +++ b/llvm/test/tools/llvm-nm/X86/size-sort.test @@ -0,0 +1,12 @@ +# RUN: llvm-nm --size-sort %p/Inputs/hello.obj.elf-x86_64 | FileCheck --check-prefix=SIZE-SORT-NO-ADDR %s +# RUN: llvm-nm --size-sort -S %p/Inputs/hello.obj.elf-x86_64 | FileCheck --check-prefix=SIZE-SORT-PRINT-ADDR %s +# RUN: llvm-nm -S %p/Inputs/hello.obj.elf-x86_64 | FileCheck --check-prefix=NO-SIZE-SORT-PRINT-ADDR %s + +# SIZE-SORT-NO-ADDR: U puts +# SIZE-SORT-NO-ADDR: 0000000000000015 T main + +# SIZE-SORT-PRINT-ADDR: U puts +# SIZE-SORT-PRINT-ADDR: 0000000000000000 0000000000000015 T main + +# NO-SIZE-SORT-PRINT-ADDR: 0000000000000000 0000000000000015 T main +# NO-SIZE-SORT-PRINT-ADDR: U puts diff --git a/llvm/tools/llvm-nm/llvm-nm.cpp b/llvm/tools/llvm-nm/llvm-nm.cpp index 042e284e8369..084e30540a12 100644 --- a/llvm/tools/llvm-nm/llvm-nm.cpp +++ b/llvm/tools/llvm-nm/llvm-nm.cpp @@ -798,8 +798,7 @@ static void sortAndPrintSymbolList(SymbolicFile &Obj, bool printName, bool Global = SymFlags & SymbolRef::SF_Global; bool Weak = SymFlags & SymbolRef::SF_Weak; if ((!Undefined && UndefinedOnly) || (Undefined && DefinedOnly) || - (!Global && ExternalOnly) || (SizeSort && !PrintAddress) || - (Weak && NoWeakSymbols)) + (!Global && ExternalOnly) || (Weak && NoWeakSymbols)) continue; if (PrintFileName) writeFileName(outs());