mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-20 19:42:54 +02:00
06353319f0
The code this patch removes was there to make sure the text sections went before the dwarf sections. That is necessary because MachO uses offsets relative to the start of the file, so adding a section can change relaxations. The dwarf sections were being printed at the start just to produce symbols pointing at the start of those sections. The underlying issue was fixed in r231898. The dwarf sections are now printed when they are about to be used, which is after we printed the text sections. To make sure we don't regress, the patch makes the MachO streamer assert if CodeGen puts anything unexpected after the DWARF sections. llvm-svn: 232842
31 lines
1.2 KiB
LLVM
31 lines
1.2 KiB
LLVM
; RUN: llc -mtriple armv7-apple-darwin < %s | FileCheck %s
|
|
|
|
; Test that we don't pollute the start of the file with debug sections.
|
|
; This is particularly important on ARM MachO as a change in section order can
|
|
; cause a change the relaxation of the instructions used.
|
|
|
|
; CHECK: .section __TEXT,__text,regular,pure_instructions
|
|
; CHECK-NEXT: .syntax unified
|
|
; CHECK-NEXT: .globl _f
|
|
; CHECK-NEXT: .align 2
|
|
; CHECK-NEXT: _f: @ @f
|
|
|
|
; CHECK: .section __DWARF,__debug_str,regular,debug
|
|
|
|
define void @f() {
|
|
ret void, !dbg !9
|
|
}
|
|
!llvm.dbg.cu = !{!0}
|
|
!llvm.module.flags = !{!7, !8}
|
|
|
|
!0 = !MDCompileUnit(language: DW_LANG_C99, file: !1, producer: "foo", isOptimized: true, runtimeVersion: 0, emissionKind: 1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !2, imports: !2)
|
|
!1 = !MDFile(filename: "/foo/test.c", directory: "/foo")
|
|
!2 = !{}
|
|
!3 = !{!4}
|
|
!4 = !MDSubprogram(name: "f", scope: !1, file: !1, line: 1, type: !5, isLocal: false, isDefinition: true, scopeLine: 1, flags: DIFlagPrototyped, isOptimized: true, function: void ()* @f, variables: !2)
|
|
!5 = !MDSubroutineType(types: !6)
|
|
!6 = !{null}
|
|
!7 = !{i32 2, !"Dwarf Version", i32 4}
|
|
!8 = !{i32 2, !"Debug Info Version", i32 3}
|
|
!9 = !MDLocation(line: 1, column: 15, scope: !4)
|