diff bolt/test/X86/shared-abbrev.s @ 236:c4bab56944e8 llvm-original

LLVM 16
author kono
date Wed, 09 Nov 2022 17:45:10 +0900
parents
children 1f2b6ac9f198
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bolt/test/X86/shared-abbrev.s	Wed Nov 09 17:45:10 2022 +0900
@@ -0,0 +1,119 @@
+# RUN: rm -rf %t
+# RUN: mkdir %t
+# RUN: llvm-mc -filetype=obj -triple=x86_64 -dwarf-version=4 %s -o %t/shared-abbrev.o
+# RUN: %clang %cflags %t/shared-abbrev.o -o %t/shared-abbrev.exe
+# RUN: llvm-bolt %t/shared-abbrev.exe -o %t/shared-abbrev.exe.bolt --update-debug-sections
+# RUN: llvm-dwarfdump --debug-info %t/shared-abbrev.exe.bolt | FileCheck %s
+
+# CHECK: 0x00000000:
+# CHECK-SAME: abbr_offset = 0x0000
+# CHECK-EMPTY:
+# CHECK-NEXT: 		DW_TAG_compile_unit
+# CHECK-NEXT: 		DW_AT_stmt_list
+# CHECK-NEXT: 		DW_AT_low_pc
+# CHECK-NEXT: 		DW_AT_ranges
+# CHECK: 0x0000001c:
+# CHECK-SAME: abbr_offset = 0x0017
+# CHECK-EMPTY:
+# CHECK:		DW_TAG_compile_unit
+# CHECK-NEXT: 		DW_AT_stmt_list
+# CHECK-NEXT: 		DW_AT_low_pc
+# CHECK-NEXT: 		DW_AT_ranges
+# CHECK: 0x00000039:
+# CHECK-SAME: abbr_offset = 0x0000
+# CHECK-EMPTY:
+# CHECK-NEXT: 		DW_TAG_compile_unit
+# CHECK-NEXT: 		DW_AT_stmt_list
+# CHECK-NEXT: 		DW_AT_low_pc
+# CHECK-NEXT: 		DW_AT_ranges
+
+	.text
+	.file	"main.cpp"
+	.globl	main                            # -- Begin function main
+	.p2align	4, 0x90
+	.type	main,@function
+main:                                   # @main
+.Lfunc_begin0:
+	.file	1 "test" "main.cpp"
+	.loc	1 1 0                           # main.cpp:1:0
+	.cfi_startproc
+	.cfi_def_cfa %rsp, 8
+	retq
+.Ltmp1:
+.Lfunc_end0:
+	.size	main, .Lfunc_end0-main
+	.cfi_endproc
+                                        # -- End function
+  .section	.debug_abbrev,"",@progbits
+  .byte	1                               # Abbreviation Code
+  .byte	17                              # DW_TAG_compile_unit
+  .byte	0                               # DW_CHILDREN_no
+  .byte	16                              # DW_AT_stmt_list
+  .byte	23                              # DW_FORM_sec_offset
+  .byte	17                              # DW_AT_low_pc
+  .byte	1                               # DW_FORM_addr
+  .byte	18                              # DW_AT_high_pc
+  .byte	7                               # DW_FORM_data8
+  .byte	0                               # EOM(1)
+  .byte	0                               # EOM(2)
+  .byte 2                               # Abbreviation Code
+  .byte 17                              # DW_TAG_compile_unit
+  .byte 0                               # DW_CHILDREN_no
+  .byte 16                              # DW_AT_stmt_list
+  .byte 23                              # DW_FORM_sec_offset
+  .byte 17                              # DW_AT_low_pc
+  .byte 1                               # DW_FORM_addr
+  .byte 85                              # DW_AT_ranges
+  .byte 23                              # DW_FORM_sec_offset
+  .byte 0                               # EOM(1)
+  .byte 0                               # EOM(2)
+  .byte	0                               # EOM(3)
+  .section	.debug_info,"",@progbits
+.Lcu_begin0:
+	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
+.Ldebug_info_start0:
+	.short  4                               # DWARF version number
+  .long .debug_abbrev                   # Offset Into Abbrev. Section
+  .byte 8                               # Address Size (in bytes)
+  .byte 2                               # Abbrev [2] DW_TAG_compile_unit
+  .long .Lline_table_start0             # DW_AT_stmt_list
+  .quad 0                               # DW_AT_low_pc
+  .long .Ldebug_ranges0                 # DW_AT_ranges --- end manual --
+.Ldebug_info_end0:
+
+   # Second CU table.
+   .long   .Ldebug_info_end1-.Ldebug_info_start1 # Length of Unit
+.Ldebug_info_start1:
+  .short	4                               # DWARF version number
+	.long	.debug_abbrev                   # Offset Into Abbrev. Section
+	.byte	8                               # Address Size (in bytes)
+	.byte	1                               # Abbrev [1] DW_TAG_compile_unit
+	.long	.Lline_table_start0             # DW_AT_stmt_list
+	.quad	.Lfunc_begin0                   # DW_AT_low_pc
+	.quad	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc
+  .byte 0                               # End Of Children Mark
+.Ldebug_info_end1:
+
+   # Third CU table.
+   .long   .Ldebug_info_end2-.Ldebug_info_start2 # Length of Unit
+.Ldebug_info_start2:
+	.short  4                               # DWARF version number
+  .long .debug_abbrev                   # Offset Into Abbrev. Section
+  .byte 8                               # Address Size (in bytes)
+  .byte 2                               # Abbrev [2] DW_TAG_compile_unit
+  .long .Lline_table_start0             # DW_AT_stmt_list
+  .quad 0                               # DW_AT_low_pc
+  .long .Ldebug_ranges0                 # DW_AT_ranges --- end manual --
+.Ldebug_info_end2:
+  .section  .debug_ranges,"",@progbits
+.Ldebug_ranges0:
+  .quad .Lfunc_begin0
+  .quad .Lfunc_end0
+  .quad .Lfunc_begin0
+  .quad .Lfunc_end0
+  .quad 0
+  .quad 0
+  .section	".note.GNU-stack","",@progbits
+  .addrsig
+  .section	.debug_line,"",@progbits
+.Lline_table_start0: