aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/ObjectYAML
diff options
context:
space:
mode:
authorXing GUO <higuoxing@gmail.com>2020-09-08 16:08:42 +0800
committerXing GUO <higuoxing@gmail.com>2020-09-08 16:09:36 +0800
commit3cda69872362526b1672ae23de4ac968b7564c2b (patch)
treef3da2c9394bd02b38de63f7b066bd751536eb408 /llvm/test/ObjectYAML
parent69230e75f120141979248becac30ceaca4ab2e87 (diff)
downloadllvm-3cda69872362526b1672ae23de4ac968b7564c2b.zip
llvm-3cda69872362526b1672ae23de4ac968b7564c2b.tar.gz
llvm-3cda69872362526b1672ae23de4ac968b7564c2b.tar.bz2
[obj2yaml] Stop parsing the debug_str section when it encounters a string without the null terminator.
When obj2yaml encounters a string without the null terminator, it should stop parsing the debug_str section. This patch addresses comments in [D86867](https://reviews.llvm.org/D86867#inline-803291). Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D87261
Diffstat (limited to 'llvm/test/ObjectYAML')
-rw-r--r--llvm/test/ObjectYAML/MachO/DWARF-debug_str.yaml58
1 files changed, 58 insertions, 0 deletions
diff --git a/llvm/test/ObjectYAML/MachO/DWARF-debug_str.yaml b/llvm/test/ObjectYAML/MachO/DWARF-debug_str.yaml
index 29247b3..9bb55ea 100644
--- a/llvm/test/ObjectYAML/MachO/DWARF-debug_str.yaml
+++ b/llvm/test/ObjectYAML/MachO/DWARF-debug_str.yaml
@@ -321,3 +321,61 @@ DWARF:
# EMPTY-STRING-NEXT: debug_str:
# EMPTY-STRING-NEXT: - ''
# EMPTY-STRING-NEXT: ...
+
+## d) Test generating and dumping a __debug_str section which contains a string without a null terminator.
+
+# RUN: yaml2obj --docnum=3 %s | obj2yaml | FileCheck %s --check-prefix=NO-TERMINATOR
+
+# NO-TERMINATOR-NOT: DWARF:
+# NO-TERMINATOR: Sections:
+# NO-TERMINATOR-NEXT: - sectname: __debug_str
+# NO-TERMINATOR-NEXT: segname: __DWARF
+# NO-TERMINATOR-NEXT: addr: 0x0000000000000000
+# NO-TERMINATOR-NEXT: size: 7
+# NO-TERMINATOR-NEXT: offset: 0x00000210
+# NO-TERMINATOR-NEXT: align: 0
+# NO-TERMINATOR-NEXT: reloff: 0x00000000
+# NO-TERMINATOR-NEXT: nreloc: 0
+# NO-TERMINATOR-NEXT: flags: 0x00000000
+# NO-TERMINATOR-NEXT: reserved1: 0x00000000
+# NO-TERMINATOR-NEXT: reserved2: 0x00000000
+# NO-TERMINATOR-NEXT: reserved3: 0x00000000
+# NO-TERMINATOR-NEXT: content: '61626300616263'
+# NO-TERMINATOR-NEXT: ...
+
+--- !mach-o
+FileHeader:
+ magic: 0xFEEDFACF
+ cputype: 0x01000007
+ cpusubtype: 0x00000003
+ filetype: 0x0000000A
+ ncmds: 1
+ sizeofcmds: 232
+ flags: 0x00000000
+ reserved: 0x00000000
+LoadCommands:
+ - cmd: LC_SEGMENT_64
+ cmdsize: 152
+ segname: __DWARF
+ vmaddr: 0x00
+ vmsize: 0x00
+ fileoff: 0x00
+ filesize: 0x00
+ maxprot: 0
+ initprot: 0
+ nsects: 1
+ flags: 0
+ Sections:
+ - sectname: __debug_str
+ segname: __DWARF
+ addr: 0x00
+ size: 7
+ offset: 0x210
+ align: 0
+ reloff: 0x00000000
+ nreloc: 0
+ flags: 0x00000000
+ reserved1: 0x00000000
+ reserved2: 0x00000000
+ reserved3: 0x00000000
+ content: '61626300616263' ## "abc\0abc"