From 511d2857005e8635d870ed4f3e3bf57b28009a5c Mon Sep 17 00:00:00 2001 From: Tim Northover Date: Mon, 11 Feb 2013 16:28:12 +0000 Subject: AArch64: generate dwarfdump test rather than include .o in subversion git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174891 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/DebugInfo/AArch64/dwarfdump.ll | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 test/DebugInfo/AArch64/dwarfdump.ll (limited to 'test/DebugInfo/AArch64') diff --git a/test/DebugInfo/AArch64/dwarfdump.ll b/test/DebugInfo/AArch64/dwarfdump.ll new file mode 100644 index 0000000000..b94f77558e --- /dev/null +++ b/test/DebugInfo/AArch64/dwarfdump.ll @@ -0,0 +1,33 @@ +; RUN: llc -mtriple=aarch64-non-linux-gnu < %s -filetype=obj | llvm-dwarfdump - | FileCheck %s + +; We're mostly checking that relocations are applied correctly +; here. Currently R_AARCH64_ABS32 is used for references to debug data +; and R_AARCH64_ABS64 is used for program addresses. + +; A couple of ABS32s, both at 0 and elsewhere, interpreted correctly: + +; CHECK: DW_AT_producer [DW_FORM_strp] ( .debug_str[0x00000000] = "clang version 3.3 ") +; CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000013] = "tmp.c") + +; A couple of ABS64s similarly: + +; CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000) +; CHECK: DW_AT_high_pc [DW_FORM_addr] (0x0000000000000008) + +define i32 @main() nounwind { + ret i32 0, !dbg !8 +} + +attributes #0 = { nounwind } + +!llvm.dbg.cu = !{!0} + +!0 = metadata !{i32 786449, i32 0, i32 12, metadata !"tmp.c", metadata !"/home/tim/llvm/build", metadata !"clang version 3.3 ", i1 true, i1 false, metadata !"", i32 0, metadata !1, metadata !1, metadata !2, metadata !1} ; [ DW_TAG_compile_unit ] [/home/timnor01/llvm/build/tmp.c] [DW_LANG_C99] +!1 = metadata !{i32 0} +!2 = metadata !{metadata !3} +!3 = metadata !{i32 786478, i32 0, metadata !4, metadata !"main", metadata !"main", metadata !"", metadata !4, i32 1, metadata !5, i1 false, i1 true, i32 0, i32 0, null, i32 0, i1 false, i32 ()* @main, null, null, metadata !1, i32 1} ; [ DW_TAG_subprogram ] [line 1] [def] [main] +!4 = metadata !{i32 786473, metadata !"tmp.c", metadata !"/home/tim/llvm/build", null} ; [ DW_TAG_file_type ] +!5 = metadata !{i32 786453, i32 0, metadata !"", i32 0, i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !6, i32 0, i32 0} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ] +!6 = metadata !{metadata !7} +!7 = metadata !{i32 786468, null, metadata !"int", null, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ] [int] [line 0, size 32, align 32, offset 0, enc DW_ATE_signed] +!8 = metadata !{i32 2, i32 0, metadata !3, null} -- cgit v1.2.3