mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
[MC/Dwarf] Unclamp DWARF linetables format on Darwin.
In r319995, we fixed the line table format to version 2 on Darwin because dsymutil didn't yet understand the new format which caused test failures for the LLDB bots. This has been resolved in the meantime so there's no reason to keep this limitation. rdar://problem/35968332 llvm-svn: 342136
This commit is contained in:
parent
80a8f35107
commit
ebeda624e9
@ -462,14 +462,8 @@ MCDwarfLineTableHeader::Emit(MCStreamer *MCOS, MCDwarfLineTableParams Params,
|
||||
emitAbsValue(*MCOS,
|
||||
MakeStartMinusEndExpr(*MCOS, *LineStartSym, *LineEndSym, 4), 4);
|
||||
|
||||
unsigned LineTableVersion = context.getDwarfVersion();
|
||||
|
||||
// On Darwin we default to v2 for anything before DWARF v5.
|
||||
if (context.getObjectFileInfo()->getTargetTriple().isOSDarwin() &&
|
||||
LineTableVersion < 5)
|
||||
LineTableVersion = 2;
|
||||
|
||||
// Next 2 bytes is the Version.
|
||||
unsigned LineTableVersion = context.getDwarfVersion();
|
||||
MCOS->EmitIntValue(LineTableVersion, 2);
|
||||
|
||||
// Keep track of the bytes between the very start and where the header length
|
||||
|
@ -1,8 +1,5 @@
|
||||
; MD5 checksums provided by IR should be passed through to asm.
|
||||
; They'll be emitted to an object file only for DWARF 5 or later.
|
||||
;
|
||||
; Note that on Darwin for DWARF 4 or earlier, the line table version is clamped
|
||||
; to version 2. However that doesn't affect the output checked in this test.
|
||||
|
||||
; REQUIRES: object-emission
|
||||
; RUN: %llc_dwarf -dwarf-version 4 -filetype=asm -o - %s | FileCheck %s --check-prefix=ASM-4
|
||||
|
@ -1,8 +1,5 @@
|
||||
; Source text provided by IR should be passed through to asm.
|
||||
; It is emitted to an object file only for DWARF 5 or later.
|
||||
;
|
||||
; Note that on Darwin for DWARF 4 or earlier, the line table version is clamped
|
||||
; to version 2. However that doesn't affect the output checked in this test.
|
||||
|
||||
; REQUIRES: object-emission
|
||||
; RUN: %llc_dwarf -dwarf-version 4 -filetype=asm -o - %s | FileCheck %s --check-prefix=ASM-4
|
||||
|
@ -24,7 +24,7 @@
|
||||
; Expect no line table entry since there are no functions and file references in this compile unit
|
||||
; CHECK: .debug_line contents:
|
||||
; CHECK: Line table prologue:
|
||||
; CHECK: total_length: 0x00000019
|
||||
; CHECK: total_length: 0x0000001a
|
||||
; CHECK-NOT: file_names[
|
||||
|
||||
@i = external global i32
|
||||
|
@ -15,7 +15,7 @@
|
||||
; CHECK: DW_AT_high_pc [DW_FORM_data4] (0x00000010)
|
||||
|
||||
; CHECK: DW_TAG_compile_unit
|
||||
; CHECK: DW_AT_stmt_list [DW_FORM_sec_offset] (0x0000003c)
|
||||
; CHECK: DW_AT_stmt_list [DW_FORM_sec_offset] (0x0000003d)
|
||||
; CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000000000010)
|
||||
; CHECK: DW_AT_high_pc [DW_FORM_data4] (0x00000009)
|
||||
; CHECK: DW_TAG_subprogram
|
||||
@ -26,13 +26,13 @@
|
||||
; CHECK: .debug_line contents:
|
||||
; CHECK-NEXT: debug_line[{{.*}}]
|
||||
; CHECK-NEXT: Line table prologue:
|
||||
; CHECK-NEXT: total_length: 0x00000038
|
||||
; CHECK-NEXT: total_length: 0x00000039
|
||||
; CHECK: file_names[ 1]:
|
||||
; CHECK-NEXT: name: "simple.c"
|
||||
; CHECK-NEXT: dir_index: 0
|
||||
; CHECK: debug_line[{{.*}}]
|
||||
; CHECK-NEXT: Line table prologue:
|
||||
; CHECK-NEXT: total_length: 0x00000039
|
||||
; CHECK-NEXT: total_length: 0x0000003a
|
||||
; CHECK: file_names[ 1]:
|
||||
; CHECK-NEXT: name: "simple2.c"
|
||||
; CHECK-NEXT: dir_index: 0
|
||||
|
@ -8,7 +8,7 @@
|
||||
// CHECK-NEXT: Name: __debug_line
|
||||
// CHECK-NEXT: Segment: __DWARF
|
||||
// CHECK-NEXT: Address: 0x1
|
||||
// CHECK-NEXT: Size: 0x28
|
||||
// CHECK-NEXT: Size: 0x29
|
||||
// CHECK-NEXT: Offset: 237
|
||||
// CHECK-NEXT: Alignment: 0
|
||||
// CHECK-NEXT: RelocationOffset: 0x0
|
||||
@ -20,8 +20,8 @@
|
||||
// CHECK-NEXT: Reserved1: 0x0
|
||||
// CHECK-NEXT: Reserved2: 0x0
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 24000000 02001E00 00000101 FB0E0D00 |$...............|
|
||||
// CHECK-NEXT: 0010: 01010101 00000001 00000164 69720000 |...........dir..|
|
||||
// CHECK-NEXT: 0020: 666F6F00 01000000 |foo.....|
|
||||
// CHECK-NEXT: 000: 25000000 04001F00 00000101 01FB0E0D |%...............|
|
||||
// CHECK-NEXT: 010: 00010101 01000000 01000001 64697200 |............dir.|
|
||||
// CHECK-NEXT: 020: 00666F6F 00010000 00 |.foo.....|
|
||||
// CHECK-NEXT: )
|
||||
// CHECK-NEXT: }
|
||||
|
@ -89,7 +89,7 @@ _x: .long 1
|
||||
// CHECK: .debug_line contents:
|
||||
// CHECK: Line table prologue:
|
||||
// We don't check the total_length as it includes lengths of temp paths
|
||||
// CHECK: version: 2
|
||||
// CHECK: version: 4
|
||||
// We don't check the prologue_length as it too includes lengths of temp paths
|
||||
// CHECK: min_inst_length: 1
|
||||
// CHECK: default_is_stmt: 1
|
||||
|
@ -9,7 +9,7 @@
|
||||
// CHECK: Name: __debug_line (5F 5F 64 65 62 75 67 5F 6C 69 6E 65 00 00 00 00)
|
||||
// CHECK: Segment: __DWARF (5F 5F 44 57 41 52 46 00 00 00 00 00 00 00 00 00)
|
||||
// CHECK: Address: 0x1
|
||||
// CHECK: Size: 0x3C
|
||||
// CHECK: Size: 0x3D
|
||||
// CHECK: Offset: 237
|
||||
// CHECK: Alignment: 0
|
||||
// CHECK: RelocationOffset: 0x12C
|
||||
@ -21,15 +21,15 @@
|
||||
// CHECK: Reserved1: 0x0
|
||||
// CHECK: Reserved2: 0x0
|
||||
// CHECK: SectionData (
|
||||
// CHECK: 0000: 38000000 02002100 00000101 FB0E0D00 |8.....!.........|
|
||||
// CHECK: 0010: 01010101 00000001 00000100 62617200 |............bar.|
|
||||
// CHECK: 0020: 00000066 6F6F0000 00000004 02000502 |...foo..........|
|
||||
// CHECK: 0030: 00000000 033F0102 01000101 |.....?......|
|
||||
// CHECK: 000: 39000000 04002200 00000101 01FB0E0D |9.....".........|
|
||||
// CHECK: 010: 00010101 01000000 01000001 00626172 |.............bar|
|
||||
// CHECK: 020: 00000000 666F6F00 00000000 04020005 |....foo.........|
|
||||
// CHECK: 030: 02000000 00033F01 02010001 01 |......?......|
|
||||
// CHECK: )
|
||||
// CHECK: }
|
||||
// CHECK: ]
|
||||
// CHECK: Relocations [
|
||||
// CHECK: Section __debug_line {
|
||||
// CHECK: 0x30 0 2 0 GENERIC_RELOC_VANILLA 0 __text
|
||||
// CHECK: 0x31 0 2 0 GENERIC_RELOC_VANILLA 0 __text
|
||||
// CHECK: }
|
||||
// CHECK: ]
|
||||
|
Loading…
Reference in New Issue
Block a user