Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/llvm/llvm-project.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'bolt/test/X86/dwarf5-debug-info-dwarf4-debug-line.s')
-rw-r--r--bolt/test/X86/dwarf5-debug-info-dwarf4-debug-line.s167
1 files changed, 167 insertions, 0 deletions
diff --git a/bolt/test/X86/dwarf5-debug-info-dwarf4-debug-line.s b/bolt/test/X86/dwarf5-debug-info-dwarf4-debug-line.s
new file mode 100644
index 000000000000..4e7e7cd7b4b7
--- /dev/null
+++ b/bolt/test/X86/dwarf5-debug-info-dwarf4-debug-line.s
@@ -0,0 +1,167 @@
+# REQUIRES: system-linux
+
+# RUN: llvm-mc -dwarf-version=4 -filetype=obj -triple x86_64-unknown-linux %s -o %t1.o
+# RUN: %clang %cflags -dwarf-5 %t1.o -o %t.exe -Wl,-q
+# RUN: llvm-bolt %t.exe -o %t.bolt -update-debug-sections
+# RUN: llvm-dwarfdump --show-form --verbose --debug-line %t.exe | FileCheck --check-prefix=PRECHECK %s
+# RUN: llvm-dwarfdump --show-form --verbose --debug-line %t.bolt | FileCheck --check-prefix=POSTCHECK %s
+
+# This test checks that .debug_line gets generated correctly when .debug_info is DWARF5, and .debug_line is DWARF4.
+
+# PRECHECK: version: 4
+# PRECHECK: file_names[ 1]:
+# PRECHECK-NEXT: name: "main.cpp"
+# PRECHECK-NEXT: dir_index: 0
+# PRECHECK-NEXT: mod_time: 0x00000000
+# PRECHECK-NEXT: length: 0x00000000
+
+# POSTCHECK: version: 4
+# POSTCHECK: file_names[ 1]:
+# POSTCHECK-NEXT: name: "main.cpp"
+# POSTCHECK-NEXT: dir_index: 0
+# POSTCHECK-NEXT: mod_time: 0x00000000
+# POSTCHECK-NEXT: length: 0x00000000
+
+# int main() {
+# return 0;
+# }
+
+
+ .file "main.cpp"
+ .text
+.Ltext0:
+ .globl main
+ .type main, @function
+main:
+.LFB0:
+ .file 1 "main.cpp"
+ .loc 1 1 12
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ .loc 1 2 10
+ movl $0, %eax
+ .loc 1 3 1
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE0:
+ .size main, .-main
+.Letext0:
+ .section .debug_info,"",@progbits
+.Ldebug_info0:
+ .long 0x50
+ .value 0x5
+ .byte 0x1
+ .byte 0x8
+ .long .Ldebug_abbrev0
+ .uleb128 0x1
+ .long .LASF0
+ .byte 0x21
+ .long .LASF1
+ .long .LASF2
+ .quad .Ltext0
+ .quad .Letext0-.Ltext0
+ .long .Ldebug_line0
+ .uleb128 0x2
+ .long .LASF3
+ .byte 0x1
+ .byte 0x1
+ .byte 0x5
+ .long 0x4c
+ .quad .LFB0
+ .quad .LFE0-.LFB0
+ .uleb128 0x1
+ .byte 0x9c
+ .uleb128 0x3
+ .byte 0x4
+ .byte 0x5
+ .string "int"
+ .byte 0
+ .section .debug_abbrev,"",@progbits
+.Ldebug_abbrev0:
+ .uleb128 0x1
+ .uleb128 0x11
+ .byte 0x1
+ .uleb128 0x25
+ .uleb128 0xe
+ .uleb128 0x13
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x1b
+ .uleb128 0xe
+ .uleb128 0x11
+ .uleb128 0x1
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x10
+ .uleb128 0x17
+ .byte 0
+ .byte 0
+ .uleb128 0x2
+ .uleb128 0x2e
+ .byte 0
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x39
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x11
+ .uleb128 0x1
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x40
+ .uleb128 0x18
+ .uleb128 0x7a
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x24
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x3e
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0x8
+ .byte 0
+ .byte 0
+ .byte 0
+ .section .debug_aranges,"",@progbits
+ .long 0x2c
+ .value 0x2
+ .long .Ldebug_info0
+ .byte 0x8
+ .byte 0
+ .value 0
+ .value 0
+ .quad .Ltext0
+ .quad .Letext0-.Ltext0
+ .quad 0
+ .quad 0
+ .section .debug_line,"",@progbits
+.Ldebug_line0:
+ .section .debug_str,"MS",@progbits,1
+.LASF0:
+ .string "GNU C++14 8.5.0 20210514 (Red Hat 8.5.0-3) -mtune=generic -march=x86-64 -g2 -gdwarf-5"
+.LASF1:
+ .string "main.cpp"
+.LASF3:
+ .string "main"
+.LASF2:
+ .string "."
+ .ident "GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-3)"
+ .section .note.GNU-stack,"",@progbits