You've already forked linux-packaging-mono
Imported Upstream version 5.18.0.205
Former-commit-id: 7f59f7e792705db773f1caecdaa823092f4e2927
This commit is contained in:
parent
5cd5df71cc
commit
8e12397d70
79
external/llvm/test/DebugInfo/SystemZ/eh_frame.s
vendored
Normal file
79
external/llvm/test/DebugInfo/SystemZ/eh_frame.s
vendored
Normal file
@ -0,0 +1,79 @@
|
||||
# RUN: llvm-mc -triple=s390x-linux-gnu -filetype=obj %s -o %t
|
||||
# RUN: llvm-objdump -s %t | FileCheck %s
|
||||
|
||||
.text
|
||||
.globl check_largest_class
|
||||
.align 4
|
||||
.type check_largest_class,@function
|
||||
check_largest_class:
|
||||
.cfi_startproc
|
||||
stmg %r13, %r15, 104(%r15)
|
||||
.cfi_offset %r13, -56
|
||||
.cfi_offset %r14, -48
|
||||
.cfi_offset %r15, -40
|
||||
aghi %r15, -224
|
||||
.cfi_def_cfa_offset 384
|
||||
std %f8, 160(%r15)
|
||||
std %f9, 168(%r15)
|
||||
std %f10, 176(%r15)
|
||||
std %f11, 184(%r15)
|
||||
std %f12, 192(%r15)
|
||||
std %f13, 200(%r15)
|
||||
std %f14, 208(%r15)
|
||||
std %f15, 216(%r15)
|
||||
.cfi_offset %f8, -224
|
||||
.cfi_offset %f9, -216
|
||||
.cfi_offset %f10, -208
|
||||
.cfi_offset %f11, -200
|
||||
.cfi_offset %f12, -192
|
||||
.cfi_offset %f13, -184
|
||||
.cfi_offset %f14, -176
|
||||
.cfi_offset %f15, -168
|
||||
lmg %r13, %r15, 328(%r15)
|
||||
br %r14
|
||||
.size check_largest_class, .-check_largest_class
|
||||
.cfi_endproc
|
||||
|
||||
# The readelf rendering is:
|
||||
#
|
||||
# Contents of the .eh_frame section:
|
||||
#
|
||||
# 00000000 0000000000000014 00000000 CIE
|
||||
# Version: 3
|
||||
# Augmentation: "zR"
|
||||
# Code alignment factor: 1
|
||||
# Data alignment factor: -8
|
||||
# Return address column: 14
|
||||
# Augmentation data: 1b
|
||||
#
|
||||
# DW_CFA_def_cfa: r15 ofs 160
|
||||
# DW_CFA_nop
|
||||
# DW_CFA_nop
|
||||
# DW_CFA_nop
|
||||
#
|
||||
# 000000.. 000000000000002c 0000001c FDE cie=00000000 pc=0000000000000000..0000000000000032
|
||||
# DW_CFA_advance_loc: 6 to 0000000000000006
|
||||
# DW_CFA_offset: r13 at cfa-56
|
||||
# DW_CFA_offset: r14 at cfa-48
|
||||
# DW_CFA_offset: r15 at cfa-40
|
||||
# DW_CFA_advance_loc: 4 to 000000000000000a
|
||||
# DW_CFA_def_cfa_offset: 384
|
||||
# DW_CFA_advance_loc: 32 to 000000000000002a
|
||||
# DW_CFA_offset: r24 at cfa-224
|
||||
# DW_CFA_offset: r28 at cfa-216
|
||||
# DW_CFA_offset: r25 at cfa-208
|
||||
# DW_CFA_offset: r29 at cfa-200
|
||||
# DW_CFA_offset: r26 at cfa-192
|
||||
# DW_CFA_offset: r30 at cfa-184
|
||||
# DW_CFA_offset: r27 at cfa-176
|
||||
# DW_CFA_offset: r31 at cfa-168
|
||||
# DW_CFA_nop
|
||||
# DW_CFA_nop
|
||||
# DW_CFA_nop
|
||||
#
|
||||
# CHECK: Contents of section .eh_frame:
|
||||
# CHECK-NEXT: 0000 00000014 00000000 017a5200 01780e01 {{.*}}
|
||||
# CHECK-NEXT: 0010 1b0c0fa0 01000000 0000002c 0000001c {{.*}}
|
||||
# CHECK-NEXT: 0020 00000000 00000032 00468d07 8e068f05 {{.*}}
|
||||
# CHECK-NEXT: 0030 440e8003 60981c9c 1b991a9d 199a189e {{.*}}
|
||||
# CHECK-NEXT: 0040 179b169f 15000000 {{.*}}
|
47
external/llvm/test/DebugInfo/SystemZ/eh_frame_personality.ll
vendored
Normal file
47
external/llvm/test/DebugInfo/SystemZ/eh_frame_personality.ll
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
; RUN: llc < %s -verify-machineinstrs -mtriple=s390x-linux-gnu | FileCheck -check-prefix=CHECK-FUNC %s
|
||||
; RUN: llc < %s -verify-machineinstrs -mtriple=s390x-linux-gnu | FileCheck -check-prefix=CHECK-ET %s
|
||||
; RUN: llc < %s -verify-machineinstrs -mtriple=s390x-linux-gnu -relocation-model=pic | FileCheck -check-prefix=CHECK-REF %s
|
||||
|
||||
declare i32 @__gxx_personality_v0(...)
|
||||
|
||||
declare void @bar()
|
||||
|
||||
define i64 @foo(i64 %lhs, i64 %rhs) personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) {
|
||||
invoke void @bar() to label %end unwind label %clean
|
||||
end:
|
||||
ret i64 0
|
||||
|
||||
clean:
|
||||
%tst = landingpad { i8*, i32 } cleanup
|
||||
ret i64 42
|
||||
}
|
||||
|
||||
; CHECK-FUNC: foo:
|
||||
; CHECK-FUNC: .cfi_startproc
|
||||
; CHECK-FUNC: .cfi_personality 0, __gxx_personality_v0
|
||||
; CHECK-FUNC: .cfi_lsda 0, .Lexception0
|
||||
; CHECK-FUNC: stmg %r6, %r15, 48(%r15)
|
||||
; CHECK-FUNC: .cfi_offset %r6, -112
|
||||
; CHECK-FUNC: .cfi_offset %r7, -104
|
||||
; CHECK-FUNC: .cfi_offset %r14, -48
|
||||
; CHECK-FUNC: .cfi_offset %r15, -40
|
||||
; CHECK-FUNC: aghi %r15, -160
|
||||
; CHECK-FUNC: .cfi_def_cfa_offset 320
|
||||
; ...main function...
|
||||
; CHECK-FUNC: .cfi_endproc
|
||||
;
|
||||
; CHECK-ET: .section .gcc_except_table,"a",@progbits
|
||||
; CHECK-ET-NEXT: .p2align 2
|
||||
; CHECK-ET-NEXT: GCC_except_table0:
|
||||
; CHECK-ET-NEXT: .Lexception0:
|
||||
;
|
||||
; CHECK-REF: .cfi_personality 155, DW.ref.__gxx_personality_v0
|
||||
; CHECK-REF: .cfi_lsda 27, .Lexception0
|
||||
; CHECK-REF: .hidden DW.ref.__gxx_personality_v0
|
||||
; CHECK-REF: .weak DW.ref.__gxx_personality_v0
|
||||
; CHECK-REF: .section .data.DW.ref.__gxx_personality_v0,"aGw",@progbits,DW.ref.__gxx_personality_v0,comdat
|
||||
; CHECK-REF-NEXT: .p2align 3
|
||||
; CHECK-REF-NEXT: .type DW.ref.__gxx_personality_v0,@object
|
||||
; CHECK-REF-NEXT: .size DW.ref.__gxx_personality_v0, 8
|
||||
; CHECK-REF-NEXT: DW.ref.__gxx_personality_v0:
|
||||
; CHECK-REF-NEXT: .quad __gxx_personality_v0
|
67
external/llvm/test/DebugInfo/SystemZ/eh_frame_personality.s
vendored
Normal file
67
external/llvm/test/DebugInfo/SystemZ/eh_frame_personality.s
vendored
Normal file
@ -0,0 +1,67 @@
|
||||
# RUN: llvm-mc -triple=s390x-linux-gnu -filetype=obj %s -o %t
|
||||
# RUN: llvm-objdump -s %t | FileCheck %s
|
||||
|
||||
.text
|
||||
.globl foo
|
||||
.align 4
|
||||
.type foo,@function
|
||||
foo: # @foo
|
||||
.cfi_startproc
|
||||
.cfi_personality 155, DW.ref.__gxx_personality_v0
|
||||
.cfi_lsda 27, .Lexception0
|
||||
stmg %r14, %r15, 112(%r15)
|
||||
.cfi_offset %r14, -48
|
||||
.cfi_offset %r15, -40
|
||||
aghi %r15, -160
|
||||
.cfi_def_cfa_offset 320
|
||||
lmg %r14, %r15, 272(%r15)
|
||||
br %r14
|
||||
.size foo, .-foo
|
||||
.cfi_endproc
|
||||
|
||||
.section .gcc_except_table,"a",@progbits
|
||||
.align 4
|
||||
.Lexception0:
|
||||
|
||||
.hidden DW.ref.__gxx_personality_v0
|
||||
.weak DW.ref.__gxx_personality_v0
|
||||
.section .data.DW.ref.__gxx_personality_v0,"aGw",@progbits,DW.ref.__gxx_personality_v0,comdat
|
||||
.align 8
|
||||
.type DW.ref.__gxx_personality_v0,@object
|
||||
.size DW.ref.__gxx_personality_v0, 8
|
||||
DW.ref.__gxx_personality_v0:
|
||||
.quad __gxx_personality_v0
|
||||
|
||||
# The readelf rendering is:
|
||||
#
|
||||
# Contents of the .eh_frame section:
|
||||
#
|
||||
# 00000000 0000001c 00000000 CIE
|
||||
# Version: 3
|
||||
# Augmentation: "zPLR"
|
||||
# Code alignment factor: 1
|
||||
# Data alignment factor: -8
|
||||
# Return address column: 14
|
||||
# Augmentation data: 9b ff ff ff ed 1b 1b
|
||||
#
|
||||
# DW_CFA_def_cfa: r15 ofs 160
|
||||
# DW_CFA_nop
|
||||
# DW_CFA_nop
|
||||
# DW_CFA_nop
|
||||
#
|
||||
# 00000020 0000001c 00000024 FDE cie=00000000 pc=00000000..00000012
|
||||
# Augmentation data: ff ff ff cf
|
||||
#
|
||||
# DW_CFA_advance_loc: 6 to 00000006
|
||||
# DW_CFA_offset: r14 at cfa-48
|
||||
# DW_CFA_offset: r15 at cfa-40
|
||||
# DW_CFA_advance_loc: 4 to 0000000a
|
||||
# DW_CFA_def_cfa_offset: 320
|
||||
# DW_CFA_nop
|
||||
# DW_CFA_nop
|
||||
#
|
||||
# CHECK: Contents of section .eh_frame:
|
||||
# CHECK-NEXT: 0000 0000001c 00000000 017a504c 52000178 .........zPLR..x
|
||||
# CHECK-NEXT: 0010 0e079b00 0000001b 1b0c0fa0 01000000 ................
|
||||
# CHECK-NEXT: 0020 0000001c 00000024 00000000 00000012 .......$........
|
||||
# CHECK-NEXT: 0030 04000000 00468e06 8f05440e c0020000 .....F....D.....
|
3
external/llvm/test/DebugInfo/SystemZ/lit.local.cfg
vendored
Normal file
3
external/llvm/test/DebugInfo/SystemZ/lit.local.cfg
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
if not 'SystemZ' in config.root.targets:
|
||||
config.unsupported = True
|
||||
|
15
external/llvm/test/DebugInfo/SystemZ/processes-relocations.ll
vendored
Normal file
15
external/llvm/test/DebugInfo/SystemZ/processes-relocations.ll
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
; RUN: llc -filetype=obj -O0 < %s -mtriple s390x-unknown-linux | \
|
||||
; RUN: llvm-dwarfdump - 2>&1 | FileCheck %s
|
||||
|
||||
; CHECK-NOT: failed to compute relocation
|
||||
|
||||
!llvm.dbg.cu = !{!0}
|
||||
!llvm.module.flags = !{!3, !4}
|
||||
!llvm.ident = !{!5}
|
||||
|
||||
!0 = !{i32 786449, !1, i32 12, !"clang version 3.6.0 ", i1 false, !"", i32 0, !2, !2, !2, !2, !2, !"", i32 1} ; [ DW_TAG_compile_unit ] [/a/empty.c] [DW_LANG_C99]
|
||||
!1 = !{!"empty.c", !"/a"}
|
||||
!2 = !{}
|
||||
!3 = !{i32 2, !"Dwarf Version", i32 4}
|
||||
!4 = !{i32 2, !"Debug Info Version", i32 1}
|
||||
!5 = !{!"clang version 3.6.0 "}
|
41
external/llvm/test/DebugInfo/SystemZ/prologue_end.ll
vendored
Normal file
41
external/llvm/test/DebugInfo/SystemZ/prologue_end.ll
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
; RUN: llc -disable-fp-elim -O0 %s -mtriple s390x-linux-gnu -o - | FileCheck %s
|
||||
|
||||
; int func(void);
|
||||
; void prologue_end_test() {
|
||||
; func();
|
||||
; func();
|
||||
; }
|
||||
|
||||
define void @prologue_end_test() nounwind uwtable !dbg !4 {
|
||||
; CHECK: prologue_end_test:
|
||||
; CHECK: .cfi_startproc
|
||||
; CHECK: aghi
|
||||
; CHECK: lgr
|
||||
; CHECK: .loc 1 3 3 prologue_end
|
||||
; CHECK: brasl {{.*}}, func
|
||||
; CHECK: brasl {{.*}}, func
|
||||
entry:
|
||||
%call = call i32 @func(), !dbg !11
|
||||
%call1 = call i32 @func(), !dbg !12
|
||||
ret void, !dbg !13
|
||||
}
|
||||
|
||||
declare i32 @func()
|
||||
|
||||
!llvm.dbg.cu = !{!0}
|
||||
!llvm.module.flags = !{!7, !8, !9}
|
||||
!llvm.ident = !{!10}
|
||||
|
||||
!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.7.0 (trunk 242129)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2)
|
||||
!1 = !DIFile(filename: "foo.c", directory: "/tmp")
|
||||
!2 = !{}
|
||||
!4 = distinct !DISubprogram(name: "prologue_end_test", scope: !1, file: !1, line: 2, type: !5, isLocal: false, isDefinition: true, scopeLine: 2, isOptimized: false, unit: !0, variables: !2)
|
||||
!5 = !DISubroutineType(types: !6)
|
||||
!6 = !{null}
|
||||
!7 = !{i32 2, !"Dwarf Version", i32 2}
|
||||
!8 = !{i32 2, !"Debug Info Version", i32 3}
|
||||
!9 = !{i32 1, !"PIC Level", i32 2}
|
||||
!10 = !{!"clang version 3.7.0 (trunk 242129)"}
|
||||
!11 = !DILocation(line: 3, column: 3, scope: !4)
|
||||
!12 = !DILocation(line: 4, column: 3, scope: !4)
|
||||
!13 = !DILocation(line: 5, column: 1, scope: !4)
|
80
external/llvm/test/DebugInfo/SystemZ/variable-loc.ll
vendored
Normal file
80
external/llvm/test/DebugInfo/SystemZ/variable-loc.ll
vendored
Normal file
@ -0,0 +1,80 @@
|
||||
; RUN: llc -mtriple=s390x-linux-gnu -disable-fp-elim < %s | FileCheck %s
|
||||
; RUN: llc -mtriple=s390x-linux-gnu -disable-fp-elim -filetype=obj < %s \
|
||||
; RUN: | llvm-dwarfdump -v -debug-info - | FileCheck --check-prefix=DEBUG %s
|
||||
;
|
||||
; This is a regression test making sure the location of variables is correct in
|
||||
; debugging information, even if they're addressed via the frame pointer.
|
||||
; Originally a copy of the AArch64 test, commandeered for SystemZ.
|
||||
;
|
||||
; First make sure main_arr is where we expect it: %r11 + 164
|
||||
;
|
||||
; CHECK: main:
|
||||
; CHECK: aghi %r15, -568
|
||||
; CHECK: la %r2, 164(%r11)
|
||||
; CHECK: brasl %r14, populate_array@PLT
|
||||
|
||||
; DEBUG: DW_TAG_variable
|
||||
; DEBUG-NOT: DW_TAG
|
||||
; DEBUG: DW_AT_location {{.*}}(DW_OP_fbreg +164)
|
||||
; DEBUG-NOT: DW_TAG
|
||||
; DEBUG: DW_AT_name {{.*}} "main_arr"
|
||||
|
||||
|
||||
@.str = private unnamed_addr constant [13 x i8] c"Total is %d\0A\00", align 2
|
||||
|
||||
declare void @populate_array(i32*, i32) nounwind
|
||||
|
||||
declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
|
||||
|
||||
declare i32 @sum_array(i32*, i32) nounwind
|
||||
|
||||
define i32 @main() nounwind !dbg !14 {
|
||||
entry:
|
||||
%retval = alloca i32, align 4
|
||||
%main_arr = alloca [100 x i32], align 4
|
||||
%val = alloca i32, align 4
|
||||
store volatile i32 0, i32* %retval
|
||||
call void @llvm.dbg.declare(metadata [100 x i32]* %main_arr, metadata !17, metadata !DIExpression()), !dbg !22
|
||||
call void @llvm.dbg.declare(metadata i32* %val, metadata !23, metadata !DIExpression()), !dbg !24
|
||||
%arraydecay = getelementptr inbounds [100 x i32], [100 x i32]* %main_arr, i32 0, i32 0, !dbg !25
|
||||
call void @populate_array(i32* %arraydecay, i32 100), !dbg !25
|
||||
%arraydecay1 = getelementptr inbounds [100 x i32], [100 x i32]* %main_arr, i32 0, i32 0, !dbg !26
|
||||
%call = call i32 @sum_array(i32* %arraydecay1, i32 100), !dbg !26
|
||||
store i32 %call, i32* %val, align 4, !dbg !26
|
||||
%0 = load i32, i32* %val, align 4, !dbg !27
|
||||
%call2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i32 0, i32 0), i32 %0), !dbg !27
|
||||
ret i32 0, !dbg !28
|
||||
}
|
||||
|
||||
declare i32 @printf(i8*, ...)
|
||||
|
||||
!llvm.dbg.cu = !{!0}
|
||||
!llvm.module.flags = !{!30}
|
||||
|
||||
!0 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.2 ", isOptimized: false, emissionKind: FullDebug, file: !29, enums: !1, retainedTypes: !1, globals: !1, imports: !1)
|
||||
!1 = !{}
|
||||
!5 = distinct !DISubprogram(name: "populate_array", line: 4, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 4, file: !29, scope: !6, type: !7, variables: !1)
|
||||
!6 = !DIFile(filename: "simple.c", directory: "/home/timnor01/a64-trunk/build")
|
||||
!7 = !DISubroutineType(types: !8)
|
||||
!8 = !{null, !9, !10}
|
||||
!9 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !10)
|
||||
!10 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
|
||||
!11 = distinct !DISubprogram(name: "sum_array", line: 9, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 9, file: !29, scope: !6, type: !12, variables: !1)
|
||||
!12 = !DISubroutineType(types: !13)
|
||||
!13 = !{!10, !9, !10}
|
||||
!14 = distinct !DISubprogram(name: "main", line: 18, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 18, file: !29, scope: !6, type: !15, variables: !1)
|
||||
!15 = !DISubroutineType(types: !16)
|
||||
!16 = !{!10}
|
||||
!17 = !DILocalVariable(name: "main_arr", line: 19, scope: !18, file: !6, type: !19)
|
||||
!18 = distinct !DILexicalBlock(line: 18, column: 16, file: !29, scope: !14)
|
||||
!19 = !DICompositeType(tag: DW_TAG_array_type, size: 3200, align: 32, baseType: !10, elements: !{!20})
|
||||
!20 = !DISubrange(count: 99)
|
||||
!22 = !DILocation(line: 19, column: 7, scope: !18)
|
||||
!23 = !DILocalVariable(name: "val", line: 20, scope: !18, file: !6, type: !10)
|
||||
!24 = !DILocation(line: 20, column: 7, scope: !18)
|
||||
!25 = !DILocation(line: 22, column: 3, scope: !18)
|
||||
!26 = !DILocation(line: 23, column: 9, scope: !18)
|
||||
!27 = !DILocation(line: 24, column: 3, scope: !18)
|
||||
!28 = !DILocation(line: 26, column: 3, scope: !18)
|
||||
!29 = !DIFile(filename: "simple.c", directory: "/home/timnor01/a64-trunk/build")
|
||||
!30 = !{i32 1, !"Debug Info Version", i32 3}
|
340
external/llvm/test/DebugInfo/SystemZ/variable-loc.s
vendored
Normal file
340
external/llvm/test/DebugInfo/SystemZ/variable-loc.s
vendored
Normal file
@ -0,0 +1,340 @@
|
||||
# RUN: llvm-mc < %s -triple=s390x-linux-gnu -filetype=obj | llvm-dwarfdump -v - | FileCheck %s
|
||||
#
|
||||
# We use both R_390_32 and R_390_64 to encode the dwarf information.
|
||||
# Test that they are used correctly. This uses the assembly output
|
||||
# for variable-loc.ll
|
||||
#
|
||||
# A couple of R_390_32s, both at 0 and elsewhere:
|
||||
#
|
||||
# CHECK: DW_AT_producer [DW_FORM_strp] ( .debug_str[0x00000000] = "clang version 3.2 ")
|
||||
# CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000013] = "simple.c")
|
||||
#
|
||||
# A couple of R_390_64s similarly:
|
||||
#
|
||||
# CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000)
|
||||
# CHECK: DW_AT_high_pc [DW_FORM_addr] (0x0000000000000050)
|
||||
|
||||
|
||||
.file "test/DebugInfo/SystemZ/variable-loc.ll"
|
||||
.section .debug_info,"",@progbits
|
||||
.Lsection_info:
|
||||
.section .debug_abbrev,"",@progbits
|
||||
.Lsection_abbrev:
|
||||
.section .debug_aranges,"",@progbits
|
||||
.section .debug_macinfo,"",@progbits
|
||||
.section .debug_line,"",@progbits
|
||||
.Lsection_line:
|
||||
.section .debug_loc,"",@progbits
|
||||
.section .debug_pubtypes,"",@progbits
|
||||
.section .debug_str,"MS",@progbits,1
|
||||
.Linfo_string:
|
||||
.section .debug_ranges,"",@progbits
|
||||
.Ldebug_range:
|
||||
.section .debug_loc,"",@progbits
|
||||
.Lsection_debug_loc:
|
||||
.text
|
||||
.Ltext_begin:
|
||||
.data
|
||||
.file 1 "simple.c"
|
||||
.file 2 "<stdin>"
|
||||
.text
|
||||
.globl main
|
||||
.align 4
|
||||
.type main,@function
|
||||
main: # @main
|
||||
.cfi_startproc
|
||||
.Lfunc_begin0:
|
||||
.loc 2 18 0 # :18:0
|
||||
# %bb.0: # %entry
|
||||
stmg %r12, %r15, 96(%r15)
|
||||
.Ltmp2:
|
||||
.cfi_offset %r12, -64
|
||||
.Ltmp3:
|
||||
.cfi_offset %r13, -56
|
||||
.Ltmp4:
|
||||
.cfi_offset %r14, -48
|
||||
.Ltmp5:
|
||||
.cfi_offset %r15, -40
|
||||
aghi %r15, -568
|
||||
.Ltmp6:
|
||||
.cfi_def_cfa_offset 728
|
||||
mvhi 564(%r15), 0
|
||||
la %r13, 164(%r15)
|
||||
lhi %r12, 100
|
||||
.loc 2 22 3 prologue_end # :22:3
|
||||
.Ltmp7:
|
||||
lgr %r2, %r13
|
||||
lr %r3, %r12
|
||||
brasl %r14, populate_array@PLT
|
||||
.loc 2 23 9 # :23:9
|
||||
lgr %r2, %r13
|
||||
lr %r3, %r12
|
||||
brasl %r14, sum_array@PLT
|
||||
lr %r0, %r2
|
||||
st %r0, 160(%r15)
|
||||
.loc 2 24 3 # :24:3
|
||||
larl %r2, .L.str
|
||||
lr %r3, %r0
|
||||
brasl %r14, printf@PLT
|
||||
lhi %r2, 0
|
||||
.loc 2 26 3 # :26:3
|
||||
lmg %r12, %r15, 664(%r15)
|
||||
br %r14
|
||||
.Ltmp8:
|
||||
.Ltmp9:
|
||||
.size main, .Ltmp9-main
|
||||
.Lfunc_end0:
|
||||
.cfi_endproc
|
||||
|
||||
.type .L.str,@object # @.str
|
||||
.section .rodata.str1.2,"aMS",@progbits,1
|
||||
.align 2
|
||||
.L.str:
|
||||
.asciz "Total is %d\n"
|
||||
.size .L.str, 13
|
||||
|
||||
.cfi_sections .debug_frame
|
||||
.text
|
||||
.Ltext_end:
|
||||
.data
|
||||
.Ldata_end:
|
||||
.text
|
||||
.Lsection_end1:
|
||||
.section .debug_info,"",@progbits
|
||||
.L.debug_info_begin0:
|
||||
.long 155 # Length of Compilation Unit Info
|
||||
.short 2 # DWARF version number
|
||||
.long .L.debug_abbrev_begin # Offset Into Abbrev. Section
|
||||
.byte 8 # Address Size (in bytes)
|
||||
.byte 1 # Abbrev [1] 0xb:0x94 DW_TAG_compile_unit
|
||||
.long .Linfo_string0 # DW_AT_producer
|
||||
.short 12 # DW_AT_language
|
||||
.long .Linfo_string1 # DW_AT_name
|
||||
.quad 0 # DW_AT_low_pc
|
||||
.long .Lsection_line # DW_AT_stmt_list
|
||||
.long .Linfo_string2 # DW_AT_comp_dir
|
||||
.byte 2 # Abbrev [2] 0x26:0x7 DW_TAG_subprogram
|
||||
.long .Linfo_string3 # DW_AT_name
|
||||
.byte 2 # DW_AT_decl_file
|
||||
.byte 4 # DW_AT_decl_line
|
||||
# DW_AT_prototyped
|
||||
# DW_AT_external
|
||||
.byte 3 # Abbrev [3] 0x2d:0xb DW_TAG_subprogram
|
||||
.long .Linfo_string4 # DW_AT_name
|
||||
.byte 2 # DW_AT_decl_file
|
||||
.byte 9 # DW_AT_decl_line
|
||||
# DW_AT_prototyped
|
||||
.long 56 # DW_AT_type
|
||||
# DW_AT_external
|
||||
.byte 4 # Abbrev [4] 0x38:0x7 DW_TAG_base_type
|
||||
.long .Linfo_string5 # DW_AT_name
|
||||
.byte 5 # DW_AT_encoding
|
||||
.byte 4 # DW_AT_byte_size
|
||||
.byte 5 # Abbrev [5] 0x3f:0xb DW_TAG_subprogram
|
||||
.long .Linfo_string6 # DW_AT_name
|
||||
.byte 2 # DW_AT_decl_file
|
||||
.byte 18 # DW_AT_decl_line
|
||||
# DW_AT_prototyped
|
||||
.long 56 # DW_AT_type
|
||||
# DW_AT_external
|
||||
# DW_AT_declaration
|
||||
.byte 6 # Abbrev [6] 0x4a:0x7 DW_TAG_base_type
|
||||
.long .Linfo_string5 # DW_AT_name
|
||||
.byte 4 # DW_AT_byte_size
|
||||
.byte 5 # DW_AT_encoding
|
||||
.byte 7 # Abbrev [7] 0x51:0x5 DW_TAG_array_type
|
||||
.long 56 # DW_AT_type
|
||||
.byte 8 # Abbrev [8] 0x56:0x48 DW_TAG_subprogram
|
||||
.long 63 # DW_AT_specification
|
||||
.quad .Lfunc_begin0 # DW_AT_low_pc
|
||||
.quad .Lfunc_end0 # DW_AT_high_pc
|
||||
.byte 1 # DW_AT_frame_base
|
||||
.byte 95
|
||||
# DW_AT_APPLE_omit_frame_ptr
|
||||
.byte 9 # Abbrev [9] 0x6d:0x30 DW_TAG_lexical_block
|
||||
.quad .Ltmp7 # DW_AT_low_pc
|
||||
.quad .Ltmp8 # DW_AT_high_pc
|
||||
.byte 10 # Abbrev [10] 0x7e:0xf DW_TAG_variable
|
||||
.long .Linfo_string7 # DW_AT_name
|
||||
.byte 2 # DW_AT_decl_file
|
||||
.byte 19 # DW_AT_decl_line
|
||||
.long 81 # DW_AT_type
|
||||
.byte 3 # DW_AT_location
|
||||
.byte 145
|
||||
.ascii "\244\001"
|
||||
.byte 10 # Abbrev [10] 0x8d:0xf DW_TAG_variable
|
||||
.long .Linfo_string8 # DW_AT_name
|
||||
.byte 2 # DW_AT_decl_file
|
||||
.byte 20 # DW_AT_decl_line
|
||||
.long 56 # DW_AT_type
|
||||
.byte 3 # DW_AT_location
|
||||
.byte 145
|
||||
.ascii "\240\001"
|
||||
.byte 0 # End Of Children Mark
|
||||
.byte 0 # End Of Children Mark
|
||||
.byte 0 # End Of Children Mark
|
||||
.L.debug_info_end0:
|
||||
.section .debug_abbrev,"",@progbits
|
||||
.L.debug_abbrev_begin:
|
||||
.byte 1 # Abbreviation Code
|
||||
.byte 17 # DW_TAG_compile_unit
|
||||
.byte 1 # DW_CHILDREN_yes
|
||||
.byte 37 # DW_AT_producer
|
||||
.byte 14 # DW_FORM_strp
|
||||
.byte 19 # DW_AT_language
|
||||
.byte 5 # DW_FORM_data2
|
||||
.byte 3 # DW_AT_name
|
||||
.byte 14 # DW_FORM_strp
|
||||
.byte 17 # DW_AT_low_pc
|
||||
.byte 1 # DW_FORM_addr
|
||||
.byte 16 # DW_AT_stmt_list
|
||||
.byte 6 # DW_FORM_data4
|
||||
.byte 27 # DW_AT_comp_dir
|
||||
.byte 14 # DW_FORM_strp
|
||||
.byte 0 # EOM(1)
|
||||
.byte 0 # EOM(2)
|
||||
.byte 2 # Abbreviation Code
|
||||
.byte 46 # DW_TAG_subprogram
|
||||
.byte 0 # DW_CHILDREN_no
|
||||
.byte 3 # DW_AT_name
|
||||
.byte 14 # DW_FORM_strp
|
||||
.byte 58 # DW_AT_decl_file
|
||||
.byte 11 # DW_FORM_data1
|
||||
.byte 59 # DW_AT_decl_line
|
||||
.byte 11 # DW_FORM_data1
|
||||
.byte 39 # DW_AT_prototyped
|
||||
.byte 25 # DW_FORM_flag_present
|
||||
.byte 63 # DW_AT_external
|
||||
.byte 25 # DW_FORM_flag_present
|
||||
.byte 0 # EOM(1)
|
||||
.byte 0 # EOM(2)
|
||||
.byte 3 # Abbreviation Code
|
||||
.byte 46 # DW_TAG_subprogram
|
||||
.byte 0 # DW_CHILDREN_no
|
||||
.byte 3 # DW_AT_name
|
||||
.byte 14 # DW_FORM_strp
|
||||
.byte 58 # DW_AT_decl_file
|
||||
.byte 11 # DW_FORM_data1
|
||||
.byte 59 # DW_AT_decl_line
|
||||
.byte 11 # DW_FORM_data1
|
||||
.byte 39 # DW_AT_prototyped
|
||||
.byte 25 # DW_FORM_flag_present
|
||||
.byte 73 # DW_AT_type
|
||||
.byte 19 # DW_FORM_ref4
|
||||
.byte 63 # DW_AT_external
|
||||
.byte 25 # DW_FORM_flag_present
|
||||
.byte 0 # EOM(1)
|
||||
.byte 0 # EOM(2)
|
||||
.byte 4 # Abbreviation Code
|
||||
.byte 36 # DW_TAG_base_type
|
||||
.byte 0 # DW_CHILDREN_no
|
||||
.byte 3 # DW_AT_name
|
||||
.byte 14 # DW_FORM_strp
|
||||
.byte 62 # DW_AT_encoding
|
||||
.byte 11 # DW_FORM_data1
|
||||
.byte 11 # DW_AT_byte_size
|
||||
.byte 11 # DW_FORM_data1
|
||||
.byte 0 # EOM(1)
|
||||
.byte 0 # EOM(2)
|
||||
.byte 5 # Abbreviation Code
|
||||
.byte 46 # DW_TAG_subprogram
|
||||
.byte 0 # DW_CHILDREN_no
|
||||
.byte 3 # DW_AT_name
|
||||
.byte 14 # DW_FORM_strp
|
||||
.byte 58 # DW_AT_decl_file
|
||||
.byte 11 # DW_FORM_data1
|
||||
.byte 59 # DW_AT_decl_line
|
||||
.byte 11 # DW_FORM_data1
|
||||
.byte 39 # DW_AT_prototyped
|
||||
.byte 25 # DW_FORM_flag_present
|
||||
.byte 73 # DW_AT_type
|
||||
.byte 19 # DW_FORM_ref4
|
||||
.byte 63 # DW_AT_external
|
||||
.byte 25 # DW_FORM_flag_present
|
||||
.byte 60 # DW_AT_declaration
|
||||
.byte 25 # DW_FORM_flag_present
|
||||
.byte 0 # EOM(1)
|
||||
.byte 0 # EOM(2)
|
||||
.byte 6 # Abbreviation Code
|
||||
.byte 36 # DW_TAG_base_type
|
||||
.byte 0 # DW_CHILDREN_no
|
||||
.byte 3 # DW_AT_name
|
||||
.byte 14 # DW_FORM_strp
|
||||
.byte 11 # DW_AT_byte_size
|
||||
.byte 11 # DW_FORM_data1
|
||||
.byte 62 # DW_AT_encoding
|
||||
.byte 11 # DW_FORM_data1
|
||||
.byte 0 # EOM(1)
|
||||
.byte 0 # EOM(2)
|
||||
.byte 7 # Abbreviation Code
|
||||
.byte 1 # DW_TAG_array_type
|
||||
.byte 0 # DW_CHILDREN_no
|
||||
.byte 73 # DW_AT_type
|
||||
.byte 19 # DW_FORM_ref4
|
||||
.byte 0 # EOM(1)
|
||||
.byte 0 # EOM(2)
|
||||
.byte 8 # Abbreviation Code
|
||||
.byte 46 # DW_TAG_subprogram
|
||||
.byte 1 # DW_CHILDREN_yes
|
||||
.byte 71 # DW_AT_specification
|
||||
.byte 19 # DW_FORM_ref4
|
||||
.byte 17 # DW_AT_low_pc
|
||||
.byte 1 # DW_FORM_addr
|
||||
.byte 18 # DW_AT_high_pc
|
||||
.byte 1 # DW_FORM_addr
|
||||
.byte 64 # DW_AT_frame_base
|
||||
.byte 10 # DW_FORM_block1
|
||||
.ascii "\347\177" # DW_AT_APPLE_omit_frame_ptr
|
||||
.byte 25 # DW_FORM_flag_present
|
||||
.byte 0 # EOM(1)
|
||||
.byte 0 # EOM(2)
|
||||
.byte 9 # Abbreviation Code
|
||||
.byte 11 # DW_TAG_lexical_block
|
||||
.byte 1 # DW_CHILDREN_yes
|
||||
.byte 17 # DW_AT_low_pc
|
||||
.byte 1 # DW_FORM_addr
|
||||
.byte 18 # DW_AT_high_pc
|
||||
.byte 1 # DW_FORM_addr
|
||||
.byte 0 # EOM(1)
|
||||
.byte 0 # EOM(2)
|
||||
.byte 10 # Abbreviation Code
|
||||
.byte 52 # DW_TAG_variable
|
||||
.byte 0 # DW_CHILDREN_no
|
||||
.byte 3 # DW_AT_name
|
||||
.byte 14 # DW_FORM_strp
|
||||
.byte 58 # DW_AT_decl_file
|
||||
.byte 11 # DW_FORM_data1
|
||||
.byte 59 # DW_AT_decl_line
|
||||
.byte 11 # DW_FORM_data1
|
||||
.byte 73 # DW_AT_type
|
||||
.byte 19 # DW_FORM_ref4
|
||||
.byte 2 # DW_AT_location
|
||||
.byte 10 # DW_FORM_block1
|
||||
.byte 0 # EOM(1)
|
||||
.byte 0 # EOM(2)
|
||||
.byte 0 # EOM(3)
|
||||
.L.debug_abbrev_end:
|
||||
.section .debug_aranges,"",@progbits
|
||||
.section .debug_ranges,"",@progbits
|
||||
.section .debug_macinfo,"",@progbits
|
||||
.section .debug_str,"MS",@progbits,1
|
||||
.Linfo_string0:
|
||||
.asciz "clang version 3.2 "
|
||||
.Linfo_string1:
|
||||
.asciz "simple.c"
|
||||
.Linfo_string2:
|
||||
.asciz "/home/timnor01/a64-trunk/build"
|
||||
.Linfo_string3:
|
||||
.asciz "populate_array"
|
||||
.Linfo_string4:
|
||||
.asciz "sum_array"
|
||||
.Linfo_string5:
|
||||
.asciz "int"
|
||||
.Linfo_string6:
|
||||
.asciz "main"
|
||||
.Linfo_string7:
|
||||
.asciz "main_arr"
|
||||
.Linfo_string8:
|
||||
.asciz "val"
|
||||
|
||||
.section ".note.GNU-stack","",@progbits
|
Reference in New Issue
Block a user