[llvm-shlib] Fix the version naming style of libLLVM for Windows (#85710)
[llvm-project.git] / bolt / test / X86 / shared-abbrev.s
blob36d6a20333a1eec9201a21fe0f343ae8219b8ba8
1 # RUN: rm -rf %t
2 # RUN: mkdir %t
3 # RUN: llvm-mc -filetype=obj -triple=x86_64 -dwarf-version=4 %s -o %t/shared-abbrev.o
4 # RUN: %clang %cflags %t/shared-abbrev.o -o %t/shared-abbrev.exe
5 # RUN: llvm-bolt %t/shared-abbrev.exe -o %t/shared-abbrev.exe.bolt --update-debug-sections
6 # RUN: llvm-dwarfdump --debug-info %t/shared-abbrev.exe.bolt | FileCheck %s
8 # CHECK: 0x00000000:
9 # CHECK-SAME: abbr_offset = 0x0000
10 # CHECK-EMPTY:
11 # CHECK-NEXT: DW_TAG_compile_unit
12 # CHECK-NEXT: DW_AT_stmt_list
13 # CHECK-NEXT: DW_AT_low_pc
14 # CHECK-NEXT: DW_AT_ranges
15 # CHECK: 0x0000001c:
16 # CHECK-SAME: abbr_offset = 0x0000
17 # CHECK-EMPTY:
18 # CHECK: DW_TAG_compile_unit
19 # CHECK-NEXT: DW_AT_stmt_list
20 # CHECK-NEXT: DW_AT_low_pc
21 # CHECK-NEXT: DW_AT_ranges
22 # CHECK: 0x00000038:
23 # CHECK-SAME: abbr_offset = 0x0000
24 # CHECK-EMPTY:
25 # CHECK-NEXT: DW_TAG_compile_unit
26 # CHECK-NEXT: DW_AT_stmt_list
27 # CHECK-NEXT: DW_AT_low_pc
28 # CHECK-NEXT: DW_AT_ranges
30 .text
31 .file "main.cpp"
32 .globl main # -- Begin function main
33 .p2align 4, 0x90
34 .type main,@function
35 main: # @main
36 .Lfunc_begin0:
37 .file 1 "test" "main.cpp"
38 .loc 1 1 0 # main.cpp:1:0
39 .cfi_startproc
40 .cfi_def_cfa %rsp, 8
41 retq
42 .Ltmp1:
43 .Lfunc_end0:
44 .size main, .Lfunc_end0-main
45 .cfi_endproc
46 # -- End function
47 .section .debug_abbrev,"",@progbits
48 .byte 1 # Abbreviation Code
49 .byte 17 # DW_TAG_compile_unit
50 .byte 0 # DW_CHILDREN_no
51 .byte 16 # DW_AT_stmt_list
52 .byte 23 # DW_FORM_sec_offset
53 .byte 17 # DW_AT_low_pc
54 .byte 1 # DW_FORM_addr
55 .byte 18 # DW_AT_high_pc
56 .byte 7 # DW_FORM_data8
57 .byte 0 # EOM(1)
58 .byte 0 # EOM(2)
59 .byte 2 # Abbreviation Code
60 .byte 17 # DW_TAG_compile_unit
61 .byte 0 # DW_CHILDREN_no
62 .byte 16 # DW_AT_stmt_list
63 .byte 23 # DW_FORM_sec_offset
64 .byte 17 # DW_AT_low_pc
65 .byte 1 # DW_FORM_addr
66 .byte 85 # DW_AT_ranges
67 .byte 23 # DW_FORM_sec_offset
68 .byte 0 # EOM(1)
69 .byte 0 # EOM(2)
70 .byte 0 # EOM(3)
71 .section .debug_info,"",@progbits
72 .Lcu_begin0:
73 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
74 .Ldebug_info_start0:
75 .short 4 # DWARF version number
76 .long .debug_abbrev # Offset Into Abbrev. Section
77 .byte 8 # Address Size (in bytes)
78 .byte 2 # Abbrev [2] DW_TAG_compile_unit
79 .long .Lline_table_start0 # DW_AT_stmt_list
80 .quad 0 # DW_AT_low_pc
81 .long .Ldebug_ranges0 # DW_AT_ranges --- end manual --
82 .Ldebug_info_end0:
84 # Second CU table.
85 .long .Ldebug_info_end1-.Ldebug_info_start1 # Length of Unit
86 .Ldebug_info_start1:
87 .short 4 # DWARF version number
88 .long .debug_abbrev # Offset Into Abbrev. Section
89 .byte 8 # Address Size (in bytes)
90 .byte 1 # Abbrev [1] DW_TAG_compile_unit
91 .long .Lline_table_start0 # DW_AT_stmt_list
92 .quad .Lfunc_begin0 # DW_AT_low_pc
93 .quad .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
94 .byte 0 # End Of Children Mark
95 .Ldebug_info_end1:
97 # Third CU table.
98 .long .Ldebug_info_end2-.Ldebug_info_start2 # Length of Unit
99 .Ldebug_info_start2:
100 .short 4 # DWARF version number
101 .long .debug_abbrev # Offset Into Abbrev. Section
102 .byte 8 # Address Size (in bytes)
103 .byte 2 # Abbrev [2] DW_TAG_compile_unit
104 .long .Lline_table_start0 # DW_AT_stmt_list
105 .quad 0 # DW_AT_low_pc
106 .long .Ldebug_ranges0 # DW_AT_ranges --- end manual --
107 .Ldebug_info_end2:
108 .section .debug_ranges,"",@progbits
109 .Ldebug_ranges0:
110 .quad .Lfunc_begin0
111 .quad .Lfunc_end0
112 .quad .Lfunc_begin0
113 .quad .Lfunc_end0
114 .quad 0
115 .quad 0
116 .section ".note.GNU-stack","",@progbits
117 .addrsig
118 .section .debug_line,"",@progbits
119 .Lline_table_start0: