|
| 1 | +// RUN: llvm-mc < %s -triple=armv7-linux-gnueabi -filetype=obj -o %t -g -dwarf-version 5 -fdebug-compilation-dir=/tmp |
| 2 | +// RUN: llvm-dwarfdump %t | FileCheck -check-prefix DWARF -check-prefix DWARF45 %s |
| 3 | +// RUN: llvm-objdump -r %t | FileCheck -check-prefix RELOC -check-prefix RELOC5 %s |
1 | 4 | // RUN: llvm-mc < %s -triple=armv7-linux-gnueabi -filetype=obj -o %t -g -fdebug-compilation-dir=/tmp
|
2 |
| -// RUN: llvm-dwarfdump %t | FileCheck -check-prefix DWARF -check-prefix DWARF4 %s |
3 |
| -// RUN: llvm-objdump -r %t | FileCheck -check-prefix RELOC %s |
| 5 | +// RUN: llvm-dwarfdump %t | FileCheck -check-prefix DWARF -check-prefix DWARF45 %s |
| 6 | +// RUN: llvm-objdump -r %t | FileCheck -check-prefix RELOC -check-prefix RELOC4 %s |
4 | 7 | // RUN: llvm-mc < %s -triple=armv7-linux-gnueabi -filetype=obj -o %t -g -dwarf-version 3 -fdebug-compilation-dir=/tmp
|
5 | 8 | // RUN: llvm-dwarfdump %t | FileCheck -check-prefix DWARF -check-prefix DWARF3 %s
|
6 | 9 | // RUN: llvm-mc < %s -triple=armv7-linux-gnueabi -filetype=obj -o %t -g -dwarf-version 2 2>&1 | FileCheck -check-prefix VERSION %s
|
7 | 10 | // RUN: not llvm-mc < %s -triple=armv7-linux-gnueabi -filetype=obj -o %t -g -dwarf-version 1 2>&1 | FileCheck -check-prefix DWARF1 %s
|
8 |
| -// RUN: not llvm-mc < %s -triple=armv7-linux-gnueabi -filetype=obj -o %t -g -dwarf-version 5 2>&1 | FileCheck -check-prefix DWARF5 %s |
| 11 | +// RUN: not llvm-mc < %s -triple=armv7-linux-gnueabi -filetype=obj -o %t -g -dwarf-version 6 2>&1 | FileCheck -check-prefix DWARF6 %s |
9 | 12 | .section .text, "ax"
|
10 | 13 | a:
|
11 | 14 | mov r0, r0
|
|
18 | 21 | // DWARF: Abbrev table for offset: 0x00000000
|
19 | 22 | // DWARF: [1] DW_TAG_compile_unit DW_CHILDREN_yes
|
20 | 23 | // DWARF3: DW_AT_stmt_list DW_FORM_data4
|
21 |
| -// DWARF4: DW_AT_stmt_list DW_FORM_sec_offset |
| 24 | +// DWARF45: DW_AT_stmt_list DW_FORM_sec_offset |
22 | 25 | // DWARF3: DW_AT_ranges DW_FORM_data4
|
23 |
| -// DWARF4: DW_AT_ranges DW_FORM_sec_offset |
| 26 | +// DWARF45: DW_AT_ranges DW_FORM_sec_offset |
24 | 27 | // DWARF: DW_AT_name DW_FORM_string
|
25 | 28 | // DWARF: DW_AT_comp_dir DW_FORM_string
|
26 | 29 | // DWARF: DW_AT_producer DW_FORM_string
|
|
29 | 32 | // DWARF: .debug_info contents:
|
30 | 33 | // DWARF: 0x{{[0-9a-f]+}}: DW_TAG_compile_unit [1]
|
31 | 34 | // DWARF-NOT: DW_TAG_
|
32 |
| -// DWARF3: DW_AT_ranges [DW_FORM_data4] (0x00000000 |
33 |
| -// DWARF4: DW_AT_ranges [DW_FORM_sec_offset] (0x00000000 |
| 35 | +// DWARF3: DW_AT_ranges [DW_FORM_data4] (0x00000000 |
| 36 | +// DWARF45: DW_AT_ranges [DW_FORM_sec_offset] (0x00000000 |
34 | 37 |
|
35 | 38 | // DWARF: 0x{{[0-9a-f]+}}: DW_TAG_label [2] *
|
36 | 39 | // DWARF-NEXT: DW_AT_name [DW_FORM_string] ("a")
|
|
46 | 49 |
|
47 | 50 |
|
48 | 51 | // DWARF: .debug_line contents:
|
49 |
| -// DWARF: 0x0000000000000000 11 0 1 0 0 is_stmt |
50 |
| -// DWARF-NEXT: 0x0000000000000004 11 0 1 0 0 is_stmt end_sequence |
51 |
| -// DWARF-NEXT: 0x0000000000000000 15 0 1 0 0 is_stmt |
52 |
| -// DWARF-NEXT: 0x0000000000000004 15 0 1 0 0 is_stmt end_sequence |
| 52 | +// DWARF: 0x0000000000000000 14 0 1 0 0 is_stmt |
| 53 | +// DWARF-NEXT: 0x0000000000000004 14 0 1 0 0 is_stmt end_sequence |
| 54 | +// DWARF-NEXT: 0x0000000000000000 18 0 1 0 0 is_stmt |
| 55 | +// DWARF-NEXT: 0x0000000000000004 18 0 1 0 0 is_stmt end_sequence |
53 | 56 |
|
54 | 57 |
|
55 | 58 | // DWARF: .debug_ranges contents:
|
|
61 | 64 |
|
62 | 65 |
|
63 | 66 |
|
| 67 | +// Offsets are different in DWARF v5 due to different header layout. |
64 | 68 | // RELOC: RELOCATION RECORDS FOR [.rel.debug_info]:
|
65 |
| -// RELOC-NEXT: 00000006 R_ARM_ABS32 .debug_abbrev |
66 |
| -// RELOC-NEXT: 0000000c R_ARM_ABS32 .debug_line |
67 |
| -// RELOC-NEXT: 00000010 R_ARM_ABS32 .debug_ranges |
| 69 | +// RELOC4-NEXT: 00000006 R_ARM_ABS32 .debug_abbrev |
| 70 | +// RELOC4-NEXT: 0000000c R_ARM_ABS32 .debug_line |
| 71 | +// RELOC4-NEXT: 00000010 R_ARM_ABS32 .debug_ranges |
| 72 | +// RELOC5-NEXT: 00000008 R_ARM_ABS32 .debug_abbrev |
| 73 | +// RELOC5-NEXT: 0000000d R_ARM_ABS32 .debug_line |
| 74 | +// RELOC5-NEXT: 00000011 R_ARM_ABS32 .debug_ranges |
68 | 75 | // RELOC-NEXT: R_ARM_ABS32 .text
|
69 | 76 | // RELOC-NEXT: R_ARM_ABS32 foo
|
70 | 77 |
|
|
81 | 88 | // VERSION: {{.*}} warning: DWARF2 only supports one section per compilation unit
|
82 | 89 |
|
83 | 90 | // DWARF1: Dwarf version 1 is not supported.
|
84 |
| -// DWARF5: Dwarf version 5 is not supported. |
| 91 | +// DWARF6: Dwarf version 6 is not supported. |
0 commit comments