xref: /llvm-project/lldb/test/Shell/SymbolFile/DWARF/x86/debug-types-signature-loop.s (revision d1bc75c0bce141b94f9afadfde4e784760735ec0)
1# REQUIRES: lld
2
3# RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux -o %t.o %s
4# RUN: ld.lld %t.o -o %t
5# RUN: %lldb %t -o "target variable e" -b | FileCheck %s
6
7# CHECK: error: Unable to determine byte size.
8
9        .type   e,@object               # @e
10        .section        .rodata,"a",@progbits
11        .globl  e
12        .p2align        2
13e:
14        .long   0                       # 0x0
15        .size   e, 4
16
17.Lstr_offsets_base0:
18        .section        .debug_str,"MS",@progbits,1
19.Linfo_string0:
20        .asciz  "Hand-written DWARF"
21.Linfo_string1:
22        .asciz  "a.cpp"
23.Linfo_string3:
24        .asciz  "e"
25.Linfo_string4:
26        .asciz  "unsigned int"
27.Linfo_string5:
28        .asciz  "e1"
29.Linfo_string6:
30        .asciz  "E"
31
32        .section        .debug_abbrev,"",@progbits
33        .byte   1                       # Abbreviation Code
34        .byte   65                      # DW_TAG_type_unit
35        .byte   1                       # DW_CHILDREN_yes
36        .byte   19                      # DW_AT_language
37        .byte   5                       # DW_FORM_data2
38        .byte   0                       # EOM(1)
39        .byte   0                       # EOM(2)
40        .byte   5                       # Abbreviation Code
41        .byte   17                      # DW_TAG_compile_unit
42        .byte   1                       # DW_CHILDREN_yes
43        .byte   37                      # DW_AT_producer
44        .byte   14                      # DW_FORM_strp
45        .byte   19                      # DW_AT_language
46        .byte   5                       # DW_FORM_data2
47        .byte   3                       # DW_AT_name
48        .byte   14                      # DW_FORM_strp
49        .byte   0                       # EOM(1)
50        .byte   0                       # EOM(2)
51        .byte   6                       # Abbreviation Code
52        .byte   52                      # DW_TAG_variable
53        .byte   0                       # DW_CHILDREN_no
54        .byte   3                       # DW_AT_name
55        .byte   14                      # DW_FORM_strp
56        .byte   73                      # DW_AT_type
57        .byte   19                      # DW_FORM_ref4
58        .byte   2                       # DW_AT_location
59        .byte   24                      # DW_FORM_exprloc
60        .byte   0                       # EOM(1)
61        .byte   0                       # EOM(2)
62        .byte   8                       # Abbreviation Code
63        .byte   4                       # DW_TAG_enumeration_type
64        .byte   0                       # DW_CHILDREN_no
65        .byte   60                      # DW_AT_declaration
66        .byte   25                      # DW_FORM_flag_present
67        .byte   105                     # DW_AT_signature
68        .byte   32                      # DW_FORM_ref_sig8
69        .byte   0                       # EOM(1)
70        .byte   0                       # EOM(2)
71        .byte   0                       # EOM(3)
72
73        .section        .debug_info,"",@progbits
74.Ltu_begin0:
75        .long   .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
76.Ldebug_info_start0:
77        .short  5                       # DWARF version number
78        .byte   2                       # DWARF Unit Type
79        .byte   8                       # Address Size (in bytes)
80        .long   .debug_abbrev           # Offset Into Abbrev. Section
81        .quad   5390450678491038984     # Type Signature
82        .long   .LE-.Ltu_begin0         # Type DIE Offset
83        .byte   1                       # Abbrev [1] 0x18:0x1d DW_TAG_type_unit
84        .short  4                       # DW_AT_language
85.LE:
86        .byte   8                       # Abbrev [8] 0x23:0xd DW_TAG_enumeration_type
87                                        # DW_AT_declaration
88        .quad   5390450678491038984     # DW_AT_signature
89.Lbase:
90        .byte   0                       # End Of Children Mark
91.Ldebug_info_end0:
92
93.Lcu_begin0:
94        .long   .Ldebug_info_end1-.Ldebug_info_start1 # Length of Unit
95.Ldebug_info_start1:
96        .short  5                       # DWARF version number
97        .byte   1                       # DWARF Unit Type
98        .byte   8                       # Address Size (in bytes)
99        .long   .debug_abbrev           # Offset Into Abbrev. Section
100        .byte   5                       # Abbrev [5] 0xc:0x2c DW_TAG_compile_unit
101        .long   .Linfo_string0          # DW_AT_producer
102        .short  4                       # DW_AT_language
103        .long   .Linfo_string1          # DW_AT_name
104        .byte   6                       # Abbrev [6] 0x1e:0xb DW_TAG_variable
105        .long   .Linfo_string3          # DW_AT_name
106        .long   .LE_sig-.Lcu_begin0     # DW_AT_type
107        .byte   9                       # DW_AT_location
108        .byte   3
109        .quad   e
110.LE_sig:
111        .byte   8                       # Abbrev [8] 0x2e:0x9 DW_TAG_enumeration_type
112                                        # DW_AT_declaration
113        .quad   5390450678491038984     # DW_AT_signature
114        .byte   0                       # End Of Children Mark
115.Ldebug_info_end1:
116