[llvm] ea1f513 - [llvm-dwarfdump][test] Add tests for dumping the .debug_line_str section.

Xing GUO via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 1 05:22:59 PDT 2020


Author: Xing GUO
Date: 2020-09-01T20:22:01+08:00
New Revision: ea1f5133cc572720bbb9a90d271a59d99a55845d

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

LOG: [llvm-dwarfdump][test] Add tests for dumping the .debug_line_str section.

This patch adds tests for dumping the .debug_line_str section. The
dumper of the debug_line_str section is able to write nonprintable
strings as escaped chars while the dumper of the debug_str and
debug_str.dwo sections cannot. I will fix them and add tests for them
in a follow-up patch.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D86916

Added: 
    llvm/test/tools/llvm-dwarfdump/debug-line-str.yaml

Modified: 
    

Removed: 
    


################################################################################
diff  --git a/llvm/test/tools/llvm-dwarfdump/debug-line-str.yaml b/llvm/test/tools/llvm-dwarfdump/debug-line-str.yaml
new file mode 100644
index 000000000000..bf640798362a
--- /dev/null
+++ b/llvm/test/tools/llvm-dwarfdump/debug-line-str.yaml
@@ -0,0 +1,32 @@
+## a) Test that llvm-dwarfdump is able to dump the debug_line_str section.
+
+##                        "abc\0cba\0\0"
+# RUN: yaml2obj -DCONTENT="616263006362610000" %s -o %t1.o
+# RUN: llvm-dwarfdump --debug-line-str %t1.o | FileCheck %s --check-prefix=LINE-STR
+
+#       LINE-STR: .debug_line_str contents:
+#  LINE-STR-NEXT: 0x00000000: "abc"
+#  LINE-STR-NEXT: 0x00000004: "cba"
+#  LINE-STR-NEXT: 0x00000008: ""
+# LINE-STR-EMPTY:
+
+--- !ELF
+FileHeader:
+  Class: ELFCLASS64
+  Data: ELFDATA2LSB
+  Type: ET_EXEC
+Sections:
+  - Name:    .debug_line_str
+    Type:    SHT_PROGBITS
+    Content: [[CONTENT]]
+
+## b) Test how we dump unprintable chars.
+
+##                        ['\t', '\0', '\001', '\0', '\\', '0', '0', '1', '\0']
+# RUN: yaml2obj -DCONTENT="090001005C30303100" %s -o %t2.o
+# RUN: llvm-dwarfdump --debug-line-str %t2.o | FileCheck %s --check-prefix=ESCAPED
+
+#      ESCAPED: .debug_line_str contents:
+# ESCAPED-NEXT: 0x00000000: "\t"
+# ESCAPED-NEXT: 0x00000002: "\001"
+# ESCAPED-NEXT: 0x00000004: "\\001"


        


More information about the llvm-commits mailing list