[RISCV] emit .option directive for functions with target features which differ from...
[llvm-project.git] / llvm / test / DebugInfo / X86 / dwarfdump-str-offsets-v4-invalid.s
blobe8e084c9b1bf50ed974b7d53ad93848523413921
1 ## This tests handling invalid .debug_str_offsets.dwo sections in
2 ## a pre-standard DWO/DWP file.
4 # RUN: llvm-mc -triple x86_64 %s -filetype=obj -o %t.dwo
5 # RUN: not llvm-dwarfdump -v %t.dwo 2>&1 | FileCheck %s
7 # RUN: llvm-mc -triple x86_64 %s -filetype=obj -o %t.dwp --defsym DWP=0
8 # RUN: not llvm-dwarfdump -v %t.dwp 2>&1 | FileCheck %s
10 # CHECK: error: invalid reference to or invalid content in .debug_str_offsets[.dwo]: length exceeds section size
12 .section .debug_abbrev.dwo,"e",@progbits
13 .LAbbr:
14 .byte 0x01 # Abbrev code
15 .byte 0x11 # DW_TAG_compile_unit
16 .byte 0x00 # DW_CHILDREN_no
17 .byte 0x00 # EOM(1)
18 .byte 0x00 # EOM(2)
19 .byte 0x00 # EOM(3)
20 .LAbbrEnd:
22 .section .debug_info.dwo,"e",@progbits
23 .LCU:
24 .long .LCUEnd-.LCUVersion
25 .LCUVersion:
26 .short 4
27 .long 0
28 .byte 8
29 .uleb128 1
30 .LCUEnd:
32 ## The section is truncated, i.e. its size is not a multiple of entry size.
33 .section .debug_str_offsets.dwo,"e",@progbits
34 .LStrOff:
35 .byte 0
36 .LStrOffEnd:
38 .ifdef DWP
39 .section .debug_cu_index, "", @progbits
40 ## Header:
41 .long 2 # Version
42 .long 3 # Section count
43 .long 1 # Unit count
44 .long 2 # Slot count
45 ## Hash Table of Signatures:
46 .quad 0x1100001122222222 # DWO Id of CU0
47 .quad 0
48 ## Parallel Table of Indexes:
49 .long 1
50 .long 0
51 ## Table of Section Offsets:
52 ## Row 0:
53 .long 1 # DW_SECT_INFO
54 .long 3 # DW_SECT_ABBREV
55 .long 6 # DW_SECT_STR_OFFSETS
56 ## Row 1, offsets of the contribution
57 .long .LCU-.debug_info.dwo
58 .long .LAbbr-.debug_abbrev.dwo
59 .long .LStrOff-.debug_str_offsets.dwo
60 ## Table of Section Sizes:
61 ## Row 1, sizes of the contribution
62 .long .LCUEnd-.LCU
63 .long .LAbbrEnd-.LAbbr
64 .long .LStrOffEnd-.LStrOff
65 .endif