[llvm] ba482dd - Revert "[symbolizer] Treat invalid address as addr2line does"

Serge Pavlov via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 13 01:56:33 PDT 2023


Author: Serge Pavlov
Date: 2023-04-13T15:56:16+07:00
New Revision: ba482dde664d392cc5b30bbf468802d9e9c01b0b

URL: https://github.com/llvm/llvm-project/commit/ba482dde664d392cc5b30bbf468802d9e9c01b0b
DIFF: https://github.com/llvm/llvm-project/commit/ba482dde664d392cc5b30bbf468802d9e9c01b0b.diff

LOG: Revert "[symbolizer] Treat invalid address as addr2line does"

This reverts commit 27c4777f41d2ab204c1cf84ff1cccd5ba41354da.

It created problems for testing on Gentoo, see:
https://reviews.llvm.org/rG27c4777f41d2ab204c1cf84ff1cccd5ba41354da#1190273
Reverted until https://reviews.llvm.org/D147652 has been landed.

Added: 
    

Modified: 
    llvm/include/llvm/DebugInfo/Symbolize/DIPrinter.h
    llvm/lib/DebugInfo/Symbolize/DIPrinter.cpp
    llvm/test/tools/llvm-symbolizer/flush-output.s
    llvm/test/tools/llvm-symbolizer/input-base.test
    llvm/test/tools/llvm-symbolizer/invalid-input-address.test
    llvm/test/tools/llvm-symbolizer/options-from-env.test
    llvm/test/tools/llvm-symbolizer/output-style-empty-line.test
    llvm/test/tools/llvm-symbolizer/sym.test

Removed: 
    


################################################################################
diff  --git a/llvm/include/llvm/DebugInfo/Symbolize/DIPrinter.h b/llvm/include/llvm/DebugInfo/Symbolize/DIPrinter.h
index 04028203be342..f799b0a4cde0a 100644
--- a/llvm/include/llvm/DebugInfo/Symbolize/DIPrinter.h
+++ b/llvm/include/llvm/DebugInfo/Symbolize/DIPrinter.h
@@ -121,8 +121,6 @@ class GNUPrinter : public PlainPrinterBase {
 public:
   GNUPrinter(raw_ostream &OS, raw_ostream &ES, PrinterConfig &Config)
       : PlainPrinterBase(OS, ES, Config) {}
-
-  void printInvalidCommand(const Request &Request, StringRef Command) override;
 };
 
 class JSONPrinter : public DIPrinter {

diff  --git a/llvm/lib/DebugInfo/Symbolize/DIPrinter.cpp b/llvm/lib/DebugInfo/Symbolize/DIPrinter.cpp
index 31040411aabf7..cde9b62436341 100644
--- a/llvm/lib/DebugInfo/Symbolize/DIPrinter.cpp
+++ b/llvm/lib/DebugInfo/Symbolize/DIPrinter.cpp
@@ -146,11 +146,6 @@ void GNUPrinter::printSimpleLocation(StringRef Filename,
       SourceCode(Filename, Info.Line, Config.SourceContextLines, Info.Source));
 }
 
-void GNUPrinter::printInvalidCommand(const Request &Request,
-                                     StringRef Command) {
-  OS << "??:0\n";
-}
-
 void PlainPrinterBase::printVerbose(StringRef Filename,
                                     const DILineInfo &Info) {
   OS << "  Filename: " << Filename << '\n';

diff  --git a/llvm/test/tools/llvm-symbolizer/flush-output.s b/llvm/test/tools/llvm-symbolizer/flush-output.s
index 070bf3fa3c86e..840f430feaf81 100644
--- a/llvm/test/tools/llvm-symbolizer/flush-output.s
+++ b/llvm/test/tools/llvm-symbolizer/flush-output.s
@@ -14,4 +14,4 @@ foo:
 # RUN:   | FileCheck %s
 
 # CHECK: flush-output.s:10
-# CHECK: ??:0
+# CHECK: bad

diff  --git a/llvm/test/tools/llvm-symbolizer/input-base.test b/llvm/test/tools/llvm-symbolizer/input-base.test
index cb8061998c513..66244a7203c08 100644
--- a/llvm/test/tools/llvm-symbolizer/input-base.test
+++ b/llvm/test/tools/llvm-symbolizer/input-base.test
@@ -17,8 +17,8 @@ RUN: llvm-addr2line -e /dev/null -a 1234 | FileCheck %s
 RUN: llvm-addr2line -e /dev/null -a 01234 | FileCheck %s
 RUN: llvm-addr2line -e /dev/null -a 0b1010 | FileCheck %s --check-prefix=HEXADECIMAL-NOT-BINARY
 RUN: llvm-addr2line -e /dev/null -a 0B1010 | FileCheck %s --check-prefix=HEXADECIMAL-NOT-BINARY
-RUN: llvm-addr2line -e /dev/null -a 0o1234 | FileCheck %s --check-prefix=INVALID-NOT-OCTAL
-RUN: llvm-addr2line -e /dev/null -a 0O1234 | FileCheck %s --check-prefix=INVALID-NOT-OCTAL
+RUN: llvm-addr2line -e /dev/null -a 0o1234 | FileCheck %s --check-prefix=INVALID-NOT-OCTAL-LOWER
+RUN: llvm-addr2line -e /dev/null -a 0O1234 | FileCheck %s --check-prefix=INVALID-NOT-OCTAL-UPPER
 
 CHECK: 0x1234
 CHECK-NEXT: ??
@@ -26,7 +26,8 @@ CHECK-NEXT: ??
 HEXADECIMAL-NOT-BINARY: 0xb1010
 HEXADECIMAL-NOT-BINARY: ??
 
+INVALID-NOT-OCTAL-LOWER: 0o1234
+INVALID-NOT-OCTAL-LOWER-NOT: ??
+
 INVALID-NOT-OCTAL-UPPER: 0O1234
 INVALID-NOT-OCTAL-UPPER-NOT: ??
-
-INVALID-NOT-OCTAL: ??:0

diff  --git a/llvm/test/tools/llvm-symbolizer/invalid-input-address.test b/llvm/test/tools/llvm-symbolizer/invalid-input-address.test
index bffd625030dcc..559aeeec0cd2c 100644
--- a/llvm/test/tools/llvm-symbolizer/invalid-input-address.test
+++ b/llvm/test/tools/llvm-symbolizer/invalid-input-address.test
@@ -14,23 +14,10 @@ RUN: llvm-symbolizer --obj=%p/Inputs/addr.exe < %t.inp | FileCheck --check-prefi
 RUN: llvm-symbolizer --obj=%p/Inputs/addr.exe "some text" "some text2" | FileCheck --check-prefix=BAD-INPUT %s
 RUN: llvm-symbolizer --obj=%p/Inputs/addr.exe @%t.rsp | FileCheck --check-prefix=BAD-INPUT %s
 
-# Test bad input in GNU-compatible output mode.
-RUN: llvm-symbolizer --obj=%p/Inputs/addr.exe --output-style=GNU < %t.inp | FileCheck --check-prefix=GNU-BAD-INPUT %s
-RUN: llvm-symbolizer --obj=%p/Inputs/addr.exe --output-style=GNU "some text" "some text2" | FileCheck --check-prefix=GNU-BAD-INPUT %s
-RUN: llvm-symbolizer --obj=%p/Inputs/addr.exe --output-style=GNU @%t.rsp | FileCheck --check-prefix=GNU-BAD-INPUT %s
+# Test bad input address values for the GNU-compatible version.
+RUN: llvm-addr2line --obj=%p/Inputs/addr.exe < %t.inp | FileCheck --check-prefix=BAD-INPUT %s
+RUN: llvm-addr2line --obj=%p/Inputs/addr.exe "some text" "some text2" | FileCheck --check-prefix=BAD-INPUT %s
+RUN: llvm-addr2line --obj=%p/Inputs/addr.exe @%t.rsp | FileCheck --check-prefix=BAD-INPUT %s
 
 BAD-INPUT:      some text
 BAD-INPUT-NEXT: some text2
-
-# Test bad input address values for the GNU-compatible version.
-RUN: llvm-addr2line --obj=%p/Inputs/addr.exe < %t.inp | FileCheck --check-prefix=GNU-BAD-INPUT %s
-RUN: llvm-addr2line --obj=%p/Inputs/addr.exe "some text" "some text2" | FileCheck --check-prefix=GNU-BAD-INPUT %s
-RUN: llvm-addr2line --obj=%p/Inputs/addr.exe @%t.rsp | FileCheck --check-prefix=GNU-BAD-INPUT %s
-
-# Test bad input address values for the GNU-compatible version if output mode is LLVM.
-RUN: llvm-addr2line --obj=%p/Inputs/addr.exe --output-style=LLVM < %t.inp | FileCheck --check-prefix=BAD-INPUT %s
-RUN: llvm-addr2line --obj=%p/Inputs/addr.exe --output-style=LLVM "some text" "some text2" | FileCheck --check-prefix=BAD-INPUT %s
-RUN: llvm-addr2line --obj=%p/Inputs/addr.exe --output-style=LLVM @%t.rsp | FileCheck --check-prefix=BAD-INPUT %s
-
-GNU-BAD-INPUT:      ??:0
-GNU-BAD-INPUT-NEXT: ??:0

diff  --git a/llvm/test/tools/llvm-symbolizer/options-from-env.test b/llvm/test/tools/llvm-symbolizer/options-from-env.test
index c2204593da8d3..5fb566f56a025 100644
--- a/llvm/test/tools/llvm-symbolizer/options-from-env.test
+++ b/llvm/test/tools/llvm-symbolizer/options-from-env.test
@@ -1,20 +1,6 @@
-# RUN: env LLVM_SYMBOLIZER_OPTS='0x400540 0x40054d --verbose' llvm-symbolizer -e %p/Inputs/addr.exe --no-inlines 0x40055e | FileCheck %s
-# RUN: env LLVM_ADDR2LINE_OPTS='400540 40054d --verbose' llvm-addr2line -e %p/Inputs/addr.exe 40055e | FileCheck %s
+# RUN: env LLVM_SYMBOLIZER_OPTS='0 1 --verbose' llvm-symbolizer 2 | FileCheck %s
+# RUN: env LLVM_ADDR2LINE_OPTS='0 1 --verbose' llvm-addr2line 2 | FileCheck %s
 
-# CHECK:       Filename: /tmp{{[\\/]}}x.c
-# CHECK-NEXT:  Function start filename: /tmp{{[\\/]}}x.c
-# CHECK-NEXT:  Function start line: 2
-# CHECK:       Line: 3
-# CHECK-NEXT:  Column: 3
-
-# CHECK:       Filename: /tmp{{[\\/]}}x.c
-# CHECK-NEXT:  Function start filename: /tmp{{[\\/]}}x.c
-# CHECK-NEXT:  Function start line: 2
-# CHECK:       Line: 3
-# CHECK-NEXT:  Column: 3
-
-# CHECK:       Filename: /tmp{{[\\/]}}x.c
-# CHECK-NEXT:  Function start filename: /tmp{{[\\/]}}x.c
-# CHECK-NEXT:  Function start line: 6
-# CHECK:       Line: 7
-# CHECK-NEXT:  Column: 3
+# CHECK:      0
+# CHECK-NEXT: 1
+# CHECK-NEXT: 2

diff  --git a/llvm/test/tools/llvm-symbolizer/output-style-empty-line.test b/llvm/test/tools/llvm-symbolizer/output-style-empty-line.test
index 5709d07c2e5fd..213d86f3b8150 100644
--- a/llvm/test/tools/llvm-symbolizer/output-style-empty-line.test
+++ b/llvm/test/tools/llvm-symbolizer/output-style-empty-line.test
@@ -25,4 +25,4 @@ LLVM-EMPTY:
 LLVM-NEXT: some text2
 
 GNU: x.c:14
-GNU-NEXT: ??:0
+GNU-NEXT: some text2

diff  --git a/llvm/test/tools/llvm-symbolizer/sym.test b/llvm/test/tools/llvm-symbolizer/sym.test
index d687b7af10b0b..4bb3eb0aaf5be 100644
--- a/llvm/test/tools/llvm-symbolizer/sym.test
+++ b/llvm/test/tools/llvm-symbolizer/sym.test
@@ -66,7 +66,7 @@ RUN: llvm-addr2line -pafi --obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCh
 #ZERO: ??
 #ZERO: ??:0:0
 #
-#A2L:         ??:0
+#A2L:         some text
 #A2L_A-NEXT:  0x40054d
 #A2L_F-NEXT:  inctwo
 #A2L-NEXT:    {{[/\]+}}tmp{{[/\]+}}x.c:3{{$}}
@@ -74,9 +74,9 @@ RUN: llvm-addr2line -pafi --obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCh
 #A2L_I-NEXT:  {{[/\]+}}tmp{{[/\]+}}x.c:7{{$}}
 #A2L_FI-NEXT: main
 #A2L_I-NEXT:  {{[/\]+}}tmp{{[/\]+}}x.c:14{{$}}
-#A2L-NEXT:    ??:0
+#A2L-NEXT:    some text2
 
-#A2LP:          ??:0
+#A2LP:          some text
 #A2LP_A-NEXT:   0x40054d: {{[/\]+}}tmp{{[/\]+}}x.c:3{{$}}
 #A2LP_F-NEXT:   inctwo at {{[/\]+}}tmp{{[/\]+}}x.c:3{{$}}
 #A2LP_AF-NEXT:  0x40054d: inctwo at {{[/\]+}}tmp{{[/\]+}}x.c:3{{$}}
@@ -84,4 +84,4 @@ RUN: llvm-addr2line -pafi --obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCh
 #A2LP_I-NEXT:   {{[/\]+}}tmp{{[/\]+}}x.c:14{{$}}
 #A2LP_FI-NEXT:   (inlined by) inc at {{[/\]+}}tmp{{[/\]+}}x.c:7{{$}}
 #A2LP_FI-NEXT:   (inlined by) main at {{[/\]+}}tmp{{[/\]+}}x.c:14{{$}}
-#A2LP-NEXT:     ??:0
+#A2LP-NEXT:     some text2


        


More information about the llvm-commits mailing list