summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools
diff options
context:
space:
mode:
authorJonas Devlieghere <jonas@devlieghere.com>2017-09-21 20:15:30 +0000
committerJonas Devlieghere <jonas@devlieghere.com>2017-09-21 20:15:30 +0000
commit26f9a0c5297ec09a2b057bcb818d64c9414f5f01 (patch)
tree862dc9da36ec8147dc4d43aa58ac34de69b309b5 /llvm/test/tools
parent05eac276776d51323d36d2d29c4d2f8482fc75c3 (diff)
downloadbcm5719-llvm-26f9a0c5297ec09a2b057bcb818d64c9414f5f01.tar.gz
bcm5719-llvm-26f9a0c5297ec09a2b057bcb818d64c9414f5f01.zip
[dwarfdump] Add verbose output for .debug-line section
This patch adds dumping of line table instructions as well as the final state at each specified pc value in verbose mode. This is essentially the same as the default in Darwin's dwarfdump. Dumping the actual line table opcodes can be particularly useful for something like debugging a bad `.debug_line` section. Differential revision: https://reviews.llvm.org/D37971 llvm-svn: 313910
Diffstat (limited to 'llvm/test/tools')
-rw-r--r--llvm/test/tools/dsymutil/X86/basic-linking-bundle.test8
-rw-r--r--llvm/test/tools/dsymutil/X86/basic-linking-x86.test236
-rw-r--r--llvm/test/tools/dsymutil/X86/basic-lto-dw4-linking-x86.test206
-rw-r--r--llvm/test/tools/dsymutil/X86/basic-lto-linking-x86.test254
-rw-r--r--llvm/test/tools/dsymutil/X86/multiple-inputs.test16
-rw-r--r--llvm/test/tools/llvm-dwarfdump/X86/brief.s15
-rw-r--r--llvm/test/tools/llvm-dwarfdump/X86/verbose.test25
7 files changed, 393 insertions, 367 deletions
diff --git a/llvm/test/tools/dsymutil/X86/basic-linking-bundle.test b/llvm/test/tools/dsymutil/X86/basic-linking-bundle.test
index f5a0b5b4c4a..282f44fa09c 100644
--- a/llvm/test/tools/dsymutil/X86/basic-linking-bundle.test
+++ b/llvm/test/tools/dsymutil/X86/basic-linking-bundle.test
@@ -5,15 +5,15 @@ RUN: cat %p/../Inputs/basic.macho.x86_64 > %t/basic.macho.x86_64
RUN: llvm-dsymutil -oso-prepend-path=%p/.. %t/basic.macho.x86_64
Check that the object file in the bundle exists and is sane:
-RUN: llvm-dwarfdump -v %t/basic.macho.x86_64.dSYM/Contents/Resources/DWARF/basic.macho.x86_64 | FileCheck %S/basic-linking-x86.test
+RUN: llvm-dwarfdump -a %t/basic.macho.x86_64.dSYM/Contents/Resources/DWARF/basic.macho.x86_64 | FileCheck %S/basic-linking-x86.test
-Check that llvm-dwarfdump -v recognizes the bundle as a dSYM:
-RUN: llvm-dwarfdump -v %t/basic.macho.x86_64.dSYM | FileCheck %S/basic-linking-x86.test
+Check that llvm-dwarfdump -a recognizes the bundle as a dSYM:
+RUN: llvm-dwarfdump -a %t/basic.macho.x86_64.dSYM | FileCheck %S/basic-linking-x86.test
RUN: FileCheck %s --input-file %t/basic.macho.x86_64.dSYM/Contents/Info.plist
RUN: llvm-dsymutil -oso-prepend-path=%p/.. %t/basic.macho.x86_64 -o %t/dsymdest/basic.macho.x86_64.dSYM
-RUN: llvm-dwarfdump -v %t/dsymdest/basic.macho.x86_64.dSYM/Contents/Resources/DWARF/basic.macho.x86_64 | FileCheck %S/basic-linking-x86.test
+RUN: llvm-dwarfdump -a %t/dsymdest/basic.macho.x86_64.dSYM/Contents/Resources/DWARF/basic.macho.x86_64 | FileCheck %S/basic-linking-x86.test
RUN: FileCheck %s --input-file %t/dsymdest/basic.macho.x86_64.dSYM/Contents/Info.plist
CHECK: <?xml version="1.0" encoding="UTF-8"?>
diff --git a/llvm/test/tools/dsymutil/X86/basic-linking-x86.test b/llvm/test/tools/dsymutil/X86/basic-linking-x86.test
index 60cde82bfad..37d8be73360 100644
--- a/llvm/test/tools/dsymutil/X86/basic-linking-x86.test
+++ b/llvm/test/tools/dsymutil/X86/basic-linking-x86.test
@@ -1,12 +1,12 @@
RUN: cat %p/../Inputs/basic.macho.x86_64 > %t1
RUN: llvm-dsymutil -f -oso-prepend-path=%p/.. %t1
-RUN: llvm-dwarfdump -v %t1.dwarf | FileCheck %s
+RUN: llvm-dwarfdump -a %t1.dwarf | FileCheck %s
RUN: llvm-dsymutil -f -o %t2 -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64
-RUN: llvm-dwarfdump -v %t2 | FileCheck %s
-RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 | llvm-dwarfdump -v - | FileCheck %s --check-prefix=CHECK --check-prefix=BASIC
-RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic-archive.macho.x86_64 | llvm-dwarfdump -v - | FileCheck %s --check-prefix=CHECK --check-prefix=ARCHIVE
-RUN: llvm-dsymutil -dump-debug-map -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 | llvm-dsymutil -f -y -o - - | llvm-dwarfdump -v - | FileCheck %s --check-prefix=CHECK --check-prefix=BASIC
-RUN: llvm-dsymutil -dump-debug-map -oso-prepend-path=%p/.. %p/../Inputs/basic-archive.macho.x86_64 | llvm-dsymutil -f -o - -y - | llvm-dwarfdump -v - | FileCheck %s --check-prefix=CHECK --check-prefix=ARCHIVE
+RUN: llvm-dwarfdump -a %t2 | FileCheck %s
+RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 | llvm-dwarfdump -a - | FileCheck %s --check-prefix=CHECK --check-prefix=BASIC
+RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic-archive.macho.x86_64 | llvm-dwarfdump -a - | FileCheck %s --check-prefix=CHECK --check-prefix=ARCHIVE
+RUN: llvm-dsymutil -dump-debug-map -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 | llvm-dsymutil -f -y -o - - | llvm-dwarfdump -a - | FileCheck %s --check-prefix=CHECK --check-prefix=BASIC
+RUN: llvm-dsymutil -dump-debug-map -oso-prepend-path=%p/.. %p/../Inputs/basic-archive.macho.x86_64 | llvm-dsymutil -f -o - -y - | llvm-dwarfdump -a - | FileCheck %s --check-prefix=CHECK --check-prefix=ARCHIVE
CHECK: file format Mach-O 64-bit x86-64
@@ -14,129 +14,129 @@ CHECK: debug_info contents
CHECK: Compile Unit:
-CHECK: DW_TAG_compile_unit [1] *
-CHECK: DW_AT_producer [DW_FORM_strp] ( .debug_str[0x00000001] = "Apple LLVM version 6.0 (clang-600.0.39) (based on LLVM 3.5svn)")
-CHECK: DW_AT_language [DW_FORM_data2] (DW_LANG_C99)
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000040] = "basic1.c")
-CHECK: DW_AT_stmt_list [DW_FORM_data4] (0x00000000)
-CHECK: DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x00000049] = "/Inputs")
-CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000100000ea0)
-CHECK: DW_TAG_subprogram [2] *
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000051] = "main")
-CHECK: DW_AT_decl_file [DW_FORM_data1] ("/Inputs{{[/\\]}}basic1.c")
-CHECK: DW_AT_decl_line [DW_FORM_data1] (23)
-CHECK: DW_AT_prototyped [DW_FORM_flag] (0x01)
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x0063 => {0x00000063})
-CHECK: DW_AT_external [DW_FORM_flag] (0x01)
-CHECK: DW_AT_accessibility [DW_FORM_data1] (DW_ACCESS_public)
-CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000100000ea0)
-CHECK: DW_AT_high_pc [DW_FORM_addr] (0x0000000100000ec4)
-CHECK: DW_AT_frame_base [DW_FORM_block1] (DW_OP_reg6 RBP)
-CHECK: DW_TAG_formal_parameter [3]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000056] = "argc")
-CHECK: DW_AT_decl_file [DW_FORM_data1] ("/Inputs{{[/\\]}}basic1.c")
-CHECK: DW_AT_decl_line [DW_FORM_data1] (23)
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x0063 => {0x00000063})
-CHECK: DW_AT_location [DW_FORM_block1] (DW_OP_fbreg -8)
-CHECK: DW_TAG_formal_parameter [3]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000005b] = "argv")
-CHECK: DW_AT_decl_file [DW_FORM_data1] ("/Inputs{{[/\\]}}basic1.c")
-CHECK: DW_AT_decl_line [DW_FORM_data1] (23)
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x006a => {0x0000006a})
-CHECK: DW_AT_location [DW_FORM_block1] (DW_OP_fbreg -16)
+CHECK: DW_TAG_compile_unit
+CHECK: DW_AT_producer ("Apple LLVM version 6.0 (clang-600.0.39) (based on LLVM 3.5svn)")
+CHECK: DW_AT_language (DW_LANG_C99)
+CHECK: DW_AT_name ("basic1.c")
+CHECK: DW_AT_stmt_list (0x00000000)
+CHECK: DW_AT_comp_dir ("/Inputs")
+CHECK: DW_AT_low_pc (0x0000000100000ea0)
+CHECK: DW_TAG_subprogram
+CHECK: DW_AT_name ("main")
+CHECK: DW_AT_decl_file ("/Inputs{{[/\\]}}basic1.c")
+CHECK: DW_AT_decl_line (23)
+CHECK: DW_AT_prototyped (0x01)
+CHECK: DW_AT_type (cu + 0x0063)
+CHECK: DW_AT_external (0x01)
+CHECK: DW_AT_accessibility (DW_ACCESS_public)
+CHECK: DW_AT_low_pc (0x0000000100000ea0)
+CHECK: DW_AT_high_pc (0x0000000100000ec4)
+CHECK: DW_AT_frame_base (DW_OP_reg6 RBP)
+CHECK: DW_TAG_formal_parameter
+CHECK: DW_AT_name ("argc")
+CHECK: DW_AT_decl_file ("/Inputs{{[/\\]}}basic1.c")
+CHECK: DW_AT_decl_line (23)
+CHECK: DW_AT_type (cu + 0x0063)
+CHECK: DW_AT_location (DW_OP_fbreg -8)
+CHECK: DW_TAG_formal_parameter
+CHECK: DW_AT_name ("argv")
+CHECK: DW_AT_decl_file ("/Inputs{{[/\\]}}basic1.c")
+CHECK: DW_AT_decl_line (23)
+CHECK: DW_AT_type (cu + 0x006a)
+CHECK: DW_AT_location (DW_OP_fbreg -16)
CHECK: NULL
-CHECK: DW_TAG_base_type [4]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000060] = "int")
-CHECK: DW_AT_encoding [DW_FORM_data1] (DW_ATE_signed)
-CHECK: DW_AT_byte_size [DW_FORM_data1] (0x04)
-CHECK: DW_TAG_pointer_type [5]
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x006f => {0x0000006f})
-CHECK: DW_TAG_pointer_type [5]
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x0074 => {0x00000074})
-CHECK: DW_TAG_const_type [6]
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x0079 => {0x00000079})
-CHECK: DW_TAG_base_type [4]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000064] = "char")
-CHECK: DW_AT_encoding [DW_FORM_data1] (DW_ATE_signed_char)
-CHECK: DW_AT_byte_size [DW_FORM_data1] (0x01)
+CHECK: DW_TAG_base_type
+CHECK: DW_AT_name ("int")
+CHECK: DW_AT_encoding (DW_ATE_signed)
+CHECK: DW_AT_byte_size (0x04)
+CHECK: DW_TAG_pointer_type
+CHECK: DW_AT_type (cu + 0x006f)
+CHECK: DW_TAG_pointer_type
+CHECK: DW_AT_type (cu + 0x0074)
+CHECK: DW_TAG_const_type
+CHECK: DW_AT_type (cu + 0x0079)
+CHECK: DW_TAG_base_type
+CHECK: DW_AT_name ("char")
+CHECK: DW_AT_encoding (DW_ATE_signed_char)
+CHECK: DW_AT_byte_size (0x01)
CHECK: NULL
CHECK: Compile Unit:
-CHECK: DW_TAG_compile_unit [1] *
-CHECK: DW_AT_producer [DW_FORM_strp] ( .debug_str[0x00000001] = "Apple LLVM version 6.0 (clang-600.0.39) (based on LLVM 3.5svn)")
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000069] = "basic2.c")
-CHECK: DW_AT_stmt_list [DW_FORM_data4] (0x0000003f)
-CHECK: DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x00000049] = "/Inputs")
-CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000100000ed0)
-CHECK: DW_TAG_base_type [4]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000060] = "int")
-CHECK: DW_TAG_variable [7]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000072] = "private_int")
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x0026 => {0x000000a7})
-CHECK: DW_AT_decl_file [DW_FORM_data1] ("/Inputs{{[/\\]}}basic2.c")
-BASIC: DW_AT_location [DW_FORM_block1] (DW_OP_addr 0x100001008)
-ARCHIVE: DW_AT_location [DW_FORM_block1] (DW_OP_addr 0x100001004)
-CHECK: DW_TAG_variable [7]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000007e] = "baz")
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x0026 => {0x000000a7})
-CHECK: DW_AT_decl_file [DW_FORM_data1] ("/Inputs{{[/\\]}}basic2.c")
-CHECK: DW_AT_location [DW_FORM_block1] (DW_OP_addr 0x100001000)
-CHECK: DW_TAG_subprogram [2] *
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000082] = "foo")
-CHECK: DW_AT_decl_file [DW_FORM_data1] ("/Inputs{{[/\\]}}basic2.c")
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x0026 => {0x000000a7})
-CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000100000ed0)
-CHECK: DW_AT_high_pc [DW_FORM_addr] (0x0000000100000f19)
-CHECK: DW_AT_frame_base [DW_FORM_block1] (DW_OP_reg6 RBP)
-CHECK: DW_TAG_formal_parameter [3]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000086] = "arg")
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x0026 => {0x000000a7})
-CHECK: DW_AT_location [DW_FORM_block1] (DW_OP_fbreg -4)
+CHECK: DW_TAG_compile_unit
+CHECK: DW_AT_producer ("Apple LLVM version 6.0 (clang-600.0.39) (based on LLVM 3.5svn)")
+CHECK: DW_AT_name ("basic2.c")
+CHECK: DW_AT_stmt_list (0x0000003f)
+CHECK: DW_AT_comp_dir ("/Inputs")
+CHECK: DW_AT_low_pc (0x0000000100000ed0)
+CHECK: DW_TAG_base_type
+CHECK: DW_AT_name ("int")
+CHECK: DW_TAG_variable
+CHECK: DW_AT_name ("private_int")
+CHECK: DW_AT_type (cu + 0x0026)
+CHECK: DW_AT_decl_file ("/Inputs{{[/\\]}}basic2.c")
+BASIC: DW_AT_location (DW_OP_addr 0x100001008)
+ARCHIVE: DW_AT_location (DW_OP_addr 0x100001004)
+CHECK: DW_TAG_variable
+CHECK: DW_AT_name ("baz")
+CHECK: DW_AT_type (cu + 0x0026)
+CHECK: DW_AT_decl_file ("/Inputs{{[/\\]}}basic2.c")
+CHECK: DW_AT_location (DW_OP_addr 0x100001000)
+CHECK: DW_TAG_subprogram
+CHECK: DW_AT_name ("foo")
+CHECK: DW_AT_decl_file ("/Inputs{{[/\\]}}basic2.c")
+CHECK: DW_AT_type (cu + 0x0026)
+CHECK: DW_AT_low_pc (0x0000000100000ed0)
+CHECK: DW_AT_high_pc (0x0000000100000f19)
+CHECK: DW_AT_frame_base (DW_OP_reg6 RBP)
+CHECK: DW_TAG_formal_parameter
+CHECK: DW_AT_name ("arg")
+CHECK: DW_AT_type (cu + 0x0026)
+CHECK: DW_AT_location (DW_OP_fbreg -4)
CHECK: NULL
-CHECK: DW_TAG_subprogram [8]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000008a] = "inc")
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x0026 => {0x000000a7})
-CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000100000f20)
-CHECK: DW_AT_high_pc [DW_FORM_addr] (0x0000000100000f37)
-CHECK: DW_AT_frame_base [DW_FORM_block1] (DW_OP_reg6 RBP)
+CHECK: DW_TAG_subprogram
+CHECK: DW_AT_name ("inc")
+CHECK: DW_AT_type (cu + 0x0026)
+CHECK: DW_AT_low_pc (0x0000000100000f20)
+CHECK: DW_AT_high_pc (0x0000000100000f37)
+CHECK: DW_AT_frame_base (DW_OP_reg6 RBP)
CHECK: NULL
CHECK: Compile Unit:
-CHECK: DW_TAG_compile_unit [1] *
-CHECK: DW_AT_producer [DW_FORM_strp] ( .debug_str[0x00000001] = "Apple LLVM version 6.0 (clang-600.0.39) (based on LLVM 3.5svn)")
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000008e] = "basic3.c")
-CHECK: DW_AT_stmt_list [DW_FORM_data4] (0x00000093)
-CHECK: DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x00000049] = "/Inputs")
-CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000100000f40)
-CHECK: DW_TAG_variable [9]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000097] = "val")
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x003c => {0x00000162})
-CHECK: DW_AT_decl_file [DW_FORM_data1] ("/Inputs{{[/\\]}}basic3.c")
-BASIC: DW_AT_location [DW_FORM_block1] (DW_OP_addr 0x100001004)
-ARCHIVE: DW_AT_location [DW_FORM_block1] (DW_OP_addr 0x100001008)
-CHECK: DW_TAG_volatile_type [10]
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x0041 => {0x00000167})
-CHECK: DW_TAG_base_type [4]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000060] = "int")
-CHECK: DW_TAG_subprogram [2] *
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000009b] = "bar")
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x0041 => {0x00000167})
-CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000100000f40)
-CHECK: DW_AT_high_pc [DW_FORM_addr] (0x0000000100000f84)
-CHECK: DW_AT_frame_base [DW_FORM_block1] (DW_OP_reg6 RBP)
-CHECK: DW_TAG_formal_parameter [3]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000086] = "arg")
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x0041 => {0x00000167})
-CHECK: DW_AT_location [DW_FORM_block1] (DW_OP_fbreg -8)
+CHECK: DW_TAG_compile_unit
+CHECK: DW_AT_producer ("Apple LLVM version 6.0 (clang-600.0.39) (based on LLVM 3.5svn)")
+CHECK: DW_AT_name ("basic3.c")
+CHECK: DW_AT_stmt_list (0x00000093)
+CHECK: DW_AT_comp_dir ("/Inputs")
+CHECK: DW_AT_low_pc (0x0000000100000f40)
+CHECK: DW_TAG_variable
+CHECK: DW_AT_name ("val")
+CHECK: DW_AT_type (cu + 0x003c)
+CHECK: DW_AT_decl_file ("/Inputs{{[/\\]}}basic3.c")
+BASIC: DW_AT_location (DW_OP_addr 0x100001004)
+ARCHIVE: DW_AT_location (DW_OP_addr 0x100001008)
+CHECK: DW_TAG_volatile_type
+CHECK: DW_AT_type (cu + 0x0041)
+CHECK: DW_TAG_base_type
+CHECK: DW_AT_name ("int")
+CHECK: DW_TAG_subprogram
+CHECK: DW_AT_name ("bar")
+CHECK: DW_AT_type (cu + 0x0041)
+CHECK: DW_AT_low_pc (0x0000000100000f40)
+CHECK: DW_AT_high_pc (0x0000000100000f84)
+CHECK: DW_AT_frame_base (DW_OP_reg6 RBP)
+CHECK: DW_TAG_formal_parameter
+CHECK: DW_AT_name ("arg")
+CHECK: DW_AT_type (cu + 0x0041)
+CHECK: DW_AT_location (DW_OP_fbreg -8)
CHECK: NULL
-CHECK: DW_TAG_subprogram [8]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000008a] = "inc")
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x0041 => {0x00000167})
-CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000100000f90)
-CHECK: DW_AT_high_pc [DW_FORM_addr] (0x0000000100000fa9)
-CHECK: DW_AT_frame_base [DW_FORM_block1] (DW_OP_reg6 RBP)
+CHECK: DW_TAG_subprogram
+CHECK: DW_AT_name ("inc")
+CHECK: DW_AT_type (cu + 0x0041)
+CHECK: DW_AT_low_pc (0x0000000100000f90)
+CHECK: DW_AT_high_pc (0x0000000100000fa9)
+CHECK: DW_AT_frame_base (DW_OP_reg6 RBP)
CHECK: NULL
diff --git a/llvm/test/tools/dsymutil/X86/basic-lto-dw4-linking-x86.test b/llvm/test/tools/dsymutil/X86/basic-lto-dw4-linking-x86.test
index 9448d58eac8..d3530d5f85b 100644
--- a/llvm/test/tools/dsymutil/X86/basic-lto-dw4-linking-x86.test
+++ b/llvm/test/tools/dsymutil/X86/basic-lto-dw4-linking-x86.test
@@ -1,118 +1,118 @@
-RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic-lto-dw4.macho.x86_64 | llvm-dwarfdump -v - | FileCheck %s
+RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic-lto-dw4.macho.x86_64 | llvm-dwarfdump -a - | FileCheck %s
CHECK: file format Mach-O 64-bit x86-64
CHECK: debug_info contents
CHECK: Compile Unit: {{.*}} version = 0x0004
-CHECK: DW_TAG_compile_unit [1] *
-CHECK: DW_AT_producer [DW_FORM_strp] ( .debug_str[0x00000001] = "clang version 3.7.0 ")
-CHECK: DW_AT_language [DW_FORM_data2] (DW_LANG_C99)
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000016] = "basic1.c")
-CHECK: DW_AT_stmt_list [DW_FORM_sec_offset] (0x00000000)
-CHECK: DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x0000001f] = "/Inputs")
-CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000100000f40)
-CHECK: DW_AT_high_pc [DW_FORM_data4] (0x0000000b)
-CHECK: DW_TAG_subprogram [2] *
-CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000100000f40)
-CHECK: DW_AT_high_pc [DW_FORM_data4] (0x0000000b)
-CHECK: DW_AT_frame_base [DW_FORM_exprloc] (DW_OP_reg6 RBP)
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000027] = "main")
-CHECK: DW_AT_decl_file [DW_FORM_data1] ("/Inputs{{[/\\]}}basic1.c")
-CHECK: DW_AT_prototyped [DW_FORM_flag_present] (true)
-CHECK: DW_AT_type [DW_FORM_ref_addr] (0x00000000000000a1)
-CHECK: DW_AT_external [DW_FORM_flag_present] (true)
-CHECK: DW_TAG_formal_parameter [3]
-CHECK: DW_AT_location [DW_FORM_exprloc] (DW_OP_reg5 RDI, DW_OP_piece 0x4)
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000002c] = "argc")
-CHECK: DW_AT_decl_file [DW_FORM_data1] ("/Inputs{{[/\\]}}basic1.c")
-CHECK: DW_AT_type [DW_FORM_ref_addr] (0x00000000000000a1)
-CHECK: DW_TAG_formal_parameter [4]
-CHECK: DW_AT_location [DW_FORM_exprloc] (DW_OP_reg4 RSI)
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000031] = "argv")
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x0060 => {0x00000060})
+CHECK: DW_TAG_compile_unit
+CHECK: DW_AT_producer ("clang version 3.7.0 ")
+CHECK: DW_AT_language (DW_LANG_C99)
+CHECK: DW_AT_name ("basic1.c")
+CHECK: DW_AT_stmt_list (0x00000000)
+CHECK: DW_AT_comp_dir ("/Inputs")
+CHECK: DW_AT_low_pc (0x0000000100000f40)
+CHECK: DW_AT_high_pc (0x0000000b)
+CHECK: DW_TAG_subprogram
+CHECK: DW_AT_low_pc (0x0000000100000f40)
+CHECK: DW_AT_high_pc (0x0000000b)
+CHECK: DW_AT_frame_base (DW_OP_reg6 RBP)
+CHECK: DW_AT_name ("main")
+CHECK: DW_AT_decl_file ("/Inputs{{[/\\]}}basic1.c")
+CHECK: DW_AT_prototyped (true)
+CHECK: DW_AT_type (0x00000000000000a1)
+CHECK: DW_AT_external (true)
+CHECK: DW_TAG_formal_parameter
+CHECK: DW_AT_location (DW_OP_reg5 RDI, DW_OP_piece 0x4)
+CHECK: DW_AT_name ("argc")
+CHECK: DW_AT_decl_file ("/Inputs{{[/\\]}}basic1.c")
+CHECK: DW_AT_type (0x00000000000000a1)
+CHECK: DW_TAG_formal_parameter
+CHECK: DW_AT_location (DW_OP_reg4 RSI)
+CHECK: DW_AT_name ("argv")
+CHECK: DW_AT_type (cu + 0x0060)
CHECK: NULL
-CHECK: DW_TAG_pointer_type [5]
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x0065 => {0x00000065})
-CHECK: DW_TAG_pointer_type [5]
-CHECK: DW_TAG_const_type [6]
-CHECK: DW_TAG_base_type [7]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000036] = "char")
-CHECK: DW_AT_encoding [DW_FORM_data1] (DW_ATE_signed_char)
-CHECK: DW_AT_byte_size [DW_FORM_data1] (0x01)
+CHECK: DW_TAG_pointer_type
+CHECK: DW_AT_type (cu + 0x0065)
+CHECK: DW_TAG_pointer_type
+CHECK: DW_TAG_const_type
+CHECK: DW_TAG_base_type
+CHECK: DW_AT_name ("char")
+CHECK: DW_AT_encoding (DW_ATE_signed_char)
+CHECK: DW_AT_byte_size (0x01)
CHECK: NULL
CHECK: Compile Unit:{{.*}} version = 0x0004
-CHECK: DW_TAG_compile_unit [1] *
-CHECK: DW_AT_producer [DW_FORM_strp] ( .debug_str[0x00000001] = "clang version 3.7.0 ")
-CHECK: DW_AT_language [DW_FORM_data2] (DW_LANG_C99)
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000003b] = "basic2.c")
-CHECK: DW_AT_stmt_list [DW_FORM_sec_offset] (0x00000044)
-CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000100000f50)
-CHECK: DW_AT_high_pc [DW_FORM_data4] (0x00000037)
-CHECK: DW_TAG_base_type [7]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000044] = "int")
-CHECK: DW_TAG_variable [8]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000048] = "baz")
-CHECK: DW_AT_location [DW_FORM_exprloc] (DW_OP_addr 0x100001000)
-CHECK: DW_TAG_variable [8]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000004c] = "private_int")
-CHECK: DW_AT_decl_file [DW_FORM_data1] ("/Inputs{{[/\\]}}basic2.c")
-CHECK: DW_AT_location [DW_FORM_exprloc] (DW_OP_addr 0x100001008)
-CHECK: DW_TAG_subprogram [9]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000058] = "inc")
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x002a => {0x000000a1})
-CHECK: DW_AT_inline [DW_FORM_data1] (DW_INL_inlined)
-CHECK: DW_TAG_subprogram [10] *
-CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000100000f50)
-CHECK: DW_AT_high_pc [DW_FORM_data4] (0x00000037)
-CHECK: DW_AT_frame_base [DW_FORM_exprloc] (DW_OP_reg6 RBP)
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000005c] = "foo")
-CHECK: DW_AT_decl_file [DW_FORM_data1] ("/Inputs{{[/\\]}}basic2.c")
-CHECK: DW_AT_prototyped [DW_FORM_flag_present] (true)
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x002a => {0x000000a1})
-CHECK: DW_TAG_formal_parameter [11]
-CHECK: DW_AT_location [DW_FORM_sec_offset] (0x00000000
+CHECK: DW_TAG_compile_unit
+CHECK: DW_AT_producer ("clang version 3.7.0 ")
+CHECK: DW_AT_language (DW_LANG_C99)
+CHECK: DW_AT_name ("basic2.c")
+CHECK: DW_AT_stmt_list (0x00000044)
+CHECK: DW_AT_low_pc (0x0000000100000f50)
+CHECK: DW_AT_high_pc (0x00000037)
+CHECK: DW_TAG_base_type
+CHECK: DW_AT_name ("int")
+CHECK: DW_TAG_variable
+CHECK: DW_AT_name ("baz")
+CHECK: DW_AT_location (DW_OP_addr 0x100001000)
+CHECK: DW_TAG_variable
+CHECK: DW_AT_name ("private_int")
+CHECK: DW_AT_decl_file ("/Inputs{{[/\\]}}basic2.c")
+CHECK: DW_AT_location (DW_OP_addr 0x100001008)
+CHECK: DW_TAG_subprogram
+CHECK: DW_AT_name ("inc")
+CHECK: DW_AT_type (cu + 0x002a)
+CHECK: DW_AT_inline (DW_INL_inlined)
+CHECK: DW_TAG_subprogram
+CHECK: DW_AT_low_pc (0x0000000100000f50)
+CHECK: DW_AT_high_pc (0x00000037)
+CHECK: DW_AT_frame_base (DW_OP_reg6 RBP)
+CHECK: DW_AT_name ("foo")
+CHECK: DW_AT_decl_file ("/Inputs{{[/\\]}}basic2.c")
+CHECK: DW_AT_prototyped (true)
+CHECK: DW_AT_type (cu + 0x002a)
+CHECK: DW_TAG_formal_parameter
+CHECK: DW_AT_location (0x00000000
CHECK: 0x0000000000000000 - 0x000000000000000c: DW_OP_reg5 RDI, DW_OP_piece 0x4)
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000060] = "arg")
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x002a => {0x000000a1})
-CHECK: DW_TAG_inlined_subroutine [12]
-CHECK: DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x005b => {0x000000d2} "inc")
-CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000100000f61)
-CHECK: DW_AT_high_pc [DW_FORM_data4] (0x0000000f)
+CHECK: DW_AT_name ("arg")
+CHECK: DW_AT_type (cu + 0x002a)
+CHECK: DW_TAG_inlined_subroutine
+CHECK: DW_AT_abstract_origin (cu + 0x005b "inc")
+CHECK: DW_AT_low_pc (0x0000000100000f61)
+CHECK: DW_AT_high_pc (0x0000000f)
CHECK: NULL
CHECK: NULL
CHECK: Compile Unit: {{.*}} version = 0x0004
-CHECK: DW_TAG_compile_unit [1] *
-CHECK: DW_AT_producer [DW_FORM_strp] ( .debug_str[0x00000001] = "clang version 3.7.0 ")
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000064] = "basic3.c")
-CHECK: DW_AT_stmt_list [DW_FORM_sec_offset] (0x0000009a)
-CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000100000f90)
-CHECK: DW_AT_high_pc [DW_FORM_data4] (0x00000024)
-CHECK: DW_TAG_variable [13]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000006d] = "val")
-CHECK: DW_AT_decl_file [DW_FORM_data1] ("/Inputs{{[/\\]}}basic3.c")
-CHECK: DW_AT_location [DW_FORM_exprloc] (DW_OP_addr 0x100001004)
-CHECK: DW_TAG_volatile_type [14]
-CHECK: DW_TAG_subprogram [15]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000058] = "inc")
-CHECK: DW_AT_inline [DW_FORM_data1] (DW_INL_inlined)
-CHECK: DW_TAG_subprogram [2] *
-CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000100000f90)
-CHECK: DW_AT_high_pc [DW_FORM_data4] (0x00000024)
-CHECK: DW_AT_frame_base [DW_FORM_exprloc] (DW_OP_reg6 RBP)
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000071] = "bar")
-CHECK: DW_TAG_formal_parameter [16]
-CHECK: DW_AT_location [DW_FORM_sec_offset] (0x00000025
+CHECK: DW_TAG_compile_unit
+CHECK: DW_AT_producer ("clang version 3.7.0 ")
+CHECK: DW_AT_name ("basic3.c")
+CHECK: DW_AT_stmt_list (0x0000009a)
+CHECK: DW_AT_low_pc (0x0000000100000f90)
+CHECK: DW_AT_high_pc (0x00000024)
+CHECK: DW_TAG_variable
+CHECK: DW_AT_name ("val")
+CHECK: DW_AT_decl_file ("/Inputs{{[/\\]}}basic3.c")
+CHECK: DW_AT_location (DW_OP_addr 0x100001004)
+CHECK: DW_TAG_volatile_type
+CHECK: DW_TAG_subprogram
+CHECK: DW_AT_name ("inc")
+CHECK: DW_AT_inline (DW_INL_inlined)
+CHECK: DW_TAG_subprogram
+CHECK: DW_AT_low_pc (0x0000000100000f90)
+CHECK: DW_AT_high_pc (0x00000024)
+CHECK: DW_AT_frame_base (DW_OP_reg6 RBP)
+CHECK: DW_AT_name ("bar")
+CHECK: DW_TAG_formal_parameter
+CHECK: DW_AT_location (0x00000025
CHECK: 0x0000000000000000 - 0x000000000000000f: DW_OP_reg5 RDI, DW_OP_piece 0x4
CHECK: 0x0000000000000019 - 0x000000000000001d: DW_OP_reg5 RDI, DW_OP_piece 0x4)
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000060] = "arg")
-CHECK: DW_TAG_inlined_subroutine [17]
-CHECK: DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x0044 => {0x0000015f} "inc")
-CHECK: DW_AT_ranges [DW_FORM_sec_offset] (0x00000000
+CHECK: DW_AT_name ("arg")
+CHECK: DW_TAG_inlined_subroutine
+CHECK: DW_AT_abstract_origin (cu + 0x0044 "inc")
+CHECK: DW_AT_ranges (0x00000000
CHECK: [0x0000000100000f94 - 0x0000000100000f9a)
CHECK: [0x0000000100000f9f - 0x0000000100000fa7))
@@ -145,7 +145,7 @@ CHECK: Address Line Column File ISA Discriminator Flags
CHECK-NEXT: ------------------ ------ ------ ------ --- ------------- -------------
CHECK-NEXT: 0x0000000100000f40 26 0 1 0 0 is_stmt
CHECK-NEXT: 0x0000000100000f44 27 10 1 0 0 is_stmt prologue_end
-CHECK-NEXT: 0x0000000100000f49 27 3 1 0 0
+CHECK-NEXT: 0x0000000100000f49 27 3 1 0 0
CHECK-NEXT: 0x0000000100000f4b 27 3 1 0 0 end_sequence
CHECK: Dir Mod Time File Len File Name
@@ -155,13 +155,13 @@ CHECK: Address Line Column File ISA Discriminator Flags
CHECK-NEXT: ------------------ ------ ------ ------ --- ------------- -------------
CHECK-NEXT: 0x0000000100000f50 19 0 1 0 0 is_stmt
CHECK-NEXT: 0x0000000100000f54 20 18 1 0 0 is_stmt prologue_end
-CHECK-NEXT: 0x0000000100000f5a 20 17 1 0 0
-CHECK-NEXT: 0x0000000100000f5c 20 10 1 0 0
+CHECK-NEXT: 0x0000000100000f5a 20 17 1 0 0
+CHECK-NEXT: 0x0000000100000f5c 20 10 1 0 0
CHECK-NEXT: 0x0000000100000f61 15 10 1 0 0 is_stmt
CHECK-NEXT: 0x0000000100000f70 20 23 1 0 0 is_stmt
-CHECK-NEXT: 0x0000000100000f74 20 36 1 0 0
-CHECK-NEXT: 0x0000000100000f83 20 31 1 0 0
-CHECK-NEXT: 0x0000000100000f85 20 3 1 0 0
+CHECK-NEXT: 0x0000000100000f74 20 36 1 0 0
+CHECK-NEXT: 0x0000000100000f83 20 31 1 0 0
+CHECK-NEXT: 0x0000000100000f85 20 3 1 0 0
CHECK-NEXT: 0x0000000100000f87 20 3 1 0 0 end_sequence
CHECK: Dir Mod Time File Len File Name
@@ -175,7 +175,7 @@ CHECK-NEXT: 0x0000000100000f9a 17 7 1 0 0 is_stmt
CHECK-NEXT: 0x0000000100000f9f 12 10 1 0 0 is_stmt
CHECK-NEXT: 0x0000000100000fa7 20 1 1 0 0 is_stmt
CHECK-NEXT: 0x0000000100000fa9 19 18 1 0 0 is_stmt
-CHECK-NEXT: 0x0000000100000fab 19 10 1 0 0
+CHECK-NEXT: 0x0000000100000fab 19 10 1 0 0
CHECK-NEXT: 0x0000000100000fb2 20 1 1 0 0 is_stmt
CHECK-NEXT: 0x0000000100000fb4 20 1 1 0 0 is_stmt end_sequence
diff --git a/llvm/test/tools/dsymutil/X86/basic-lto-linking-x86.test b/llvm/test/tools/dsymutil/X86/basic-lto-linking-x86.test
index 2489b051d05..9004bbcb7df 100644
--- a/llvm/test/tools/dsymutil/X86/basic-lto-linking-x86.test
+++ b/llvm/test/tools/dsymutil/X86/basic-lto-linking-x86.test
@@ -1,5 +1,5 @@
-RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic-lto.macho.x86_64 | llvm-dwarfdump -v - | FileCheck %s
-RUN: llvm-dsymutil -oso-prepend-path=%p/.. -dump-debug-map %p/../Inputs/basic-lto.macho.x86_64 | llvm-dsymutil -f -o - -y - | llvm-dwarfdump -v - | FileCheck %s
+RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic-lto.macho.x86_64 | llvm-dwarfdump -a - | FileCheck %s
+RUN: llvm-dsymutil -oso-prepend-path=%p/.. -dump-debug-map %p/../Inputs/basic-lto.macho.x86_64 | llvm-dsymutil -f -o - -y - | llvm-dwarfdump -a - | FileCheck %s
CHECK: file format Mach-O 64-bit x86-64
@@ -7,129 +7,129 @@ CHECK: debug_info contents
CHECK: Compile Unit:
-CHECK: DW_TAG_compile_unit [1] *
-CHECK: DW_AT_producer [DW_FORM_strp] ( .debug_str[0x00000001] = "Apple LLVM version 6.0 (clang-600.0.39) (based on LLVM 3.5svn)")
-CHECK: DW_AT_language [DW_FORM_data2] (DW_LANG_C99)
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000040] = "basic1.c")
-CHECK: DW_AT_stmt_list [DW_FORM_data4] (0x00000000)
-CHECK: DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x00000049] = "/Inputs")
-CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000100000f40)
-CHECK: DW_TAG_subprogram [2] *
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000051] = "main")
-CHECK: DW_AT_decl_file [DW_FORM_data1] ("/Inputs{{[/\\]}}basic1.c")
-CHECK: DW_AT_decl_line [DW_FORM_data1] (23)
-CHECK: DW_AT_prototyped [DW_FORM_flag] (0x01)
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x0063 => {0x00000063})
-CHECK: DW_AT_external [DW_FORM_flag] (0x01)
-CHECK: DW_AT_accessibility [DW_FORM_data1] (DW_ACCESS_public)
-CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000100000f40)
-CHECK: DW_AT_high_pc [DW_FORM_addr] (0x0000000100000f4b)
-CHECK: DW_AT_frame_base [DW_FORM_block1] (DW_OP_reg6 RBP)
-CHECK: DW_TAG_formal_parameter [3]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000056] = "argc")
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x0063 => {0x00000063})
-CHECK: DW_AT_location [DW_FORM_block1] (DW_OP_reg5 RDI, DW_OP_piece 0x4)
-CHECK: DW_TAG_formal_parameter [3]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000005b] = "argv")
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x006a => {0x0000006a})
-CHECK: DW_AT_location [DW_FORM_block1] (DW_OP_reg4 RSI)
+CHECK: DW_TAG_compile_unit
+CHECK: DW_AT_producer ("Apple LLVM version 6.0 (clang-600.0.39) (based on LLVM 3.5svn)")
+CHECK: DW_AT_language (DW_LANG_C99)
+CHECK: DW_AT_name ("basic1.c")
+CHECK: DW_AT_stmt_list (0x00000000)
+CHECK: DW_AT_comp_dir ("/Inputs")
+CHECK: DW_AT_low_pc (0x0000000100000f40)
+CHECK: DW_TAG_subprogram
+CHECK: DW_AT_name ("main")
+CHECK: DW_AT_decl_file ("/Inputs{{[/\\]}}basic1.c")
+CHECK: DW_AT_decl_line (23)
+CHECK: DW_AT_prototyped (0x01)
+CHECK: DW_AT_type (cu + 0x0063)
+CHECK: DW_AT_external (0x01)
+CHECK: DW_AT_accessibility (DW_ACCESS_public)
+CHECK: DW_AT_low_pc (0x0000000100000f40)
+CHECK: DW_AT_high_pc (0x0000000100000f4b)
+CHECK: DW_AT_frame_base (DW_OP_reg6 RBP)
+CHECK: DW_TAG_formal_parameter
+CHECK: DW_AT_name ("argc")
+CHECK: DW_AT_type (cu + 0x0063)
+CHECK: DW_AT_location (DW_OP_reg5 RDI, DW_OP_piece 0x4)
+CHECK: DW_TAG_formal_parameter
+CHECK: DW_AT_name ("argv")
+CHECK: DW_AT_type (cu + 0x006a)
+CHECK: DW_AT_location (DW_OP_reg4 RSI)
CHECK: NULL
-CHECK: DW_TAG_base_type [4]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000060] = "int")
-CHECK: DW_AT_encoding [DW_FORM_data1] (DW_ATE_signed)
-CHECK: DW_AT_byte_size [DW_FORM_data1] (0x04)
-CHECK: DW_TAG_pointer_type [5]
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x006f => {0x0000006f})
-CHECK: DW_TAG_pointer_type [5]
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x0074 => {0x00000074})
-CHECK: DW_TAG_const_type [6]
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x0079 => {0x00000079})
-CHECK: DW_TAG_base_type [4]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000064] = "char")
-CHECK: DW_AT_encoding [DW_FORM_data1] (DW_ATE_signed_char)
-CHECK: DW_AT_byte_size [DW_FORM_data1] (0x01)
+CHECK: DW_TAG_base_type
+CHECK: DW_AT_name ("int")
+CHECK: DW_AT_encoding (DW_ATE_signed)
+CHECK: DW_AT_byte_size (0x04)
+CHECK: DW_TAG_pointer_type
+CHECK: DW_AT_type (cu + 0x006f)
+CHECK: DW_TAG_pointer_type
+CHECK: DW_AT_type (cu + 0x0074)
+CHECK: DW_TAG_const_type
+CHECK: DW_AT_type (cu + 0x0079)
+CHECK: DW_TAG_base_type
+CHECK: DW_AT_name ("char")
+CHECK: DW_AT_encoding (DW_ATE_signed_char)
+CHECK: DW_AT_byte_size (0x01)
CHECK: NULL
CHECK: Compile Unit:
-CHECK: DW_TAG_compile_unit [1] *
-CHECK: DW_AT_producer [DW_FORM_strp] ( .debug_str[0x00000001] = "Apple LLVM version 6.0 (clang-600.0.39) (based on LLVM 3.5svn)")
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000069] = "basic2.c")
-CHECK: DW_AT_stmt_list [DW_FORM_data4] (0x0000003e)
-CHECK: DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x00000049] = "/Inputs")
-CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000100000f50)
-CHECK: DW_TAG_variable [7]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000072] = "private_int")
-CHECK: DW_AT_type [DW_FORM_ref_addr] (0x0000000000000063)
-CHECK: DW_AT_decl_file [DW_FORM_data1] ("/Inputs{{[/\\]}}basic2.c")
-CHECK: DW_AT_location [DW_FORM_block1] (DW_OP_addr 0x100001008)
-CHECK: DW_TAG_variable [7]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000007e] = "baz")
-CHECK: DW_AT_type [DW_FORM_ref_addr] (0x0000000000000063)
-CHECK: DW_AT_location [DW_FORM_block1] (DW_OP_addr 0x100001000)
-CHECK: DW_TAG_subprogram [8] *
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000082] = "foo")
-CHECK: DW_AT_type [DW_FORM_ref_addr] (0x0000000000000063)
-CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000100000f50)
-CHECK: DW_AT_high_pc [DW_FORM_addr] (0x0000000100000f89)
-CHECK: DW_AT_frame_base [DW_FORM_block1] (DW_OP_reg6 RBP)
-CHECK: DW_TAG_formal_parameter [9]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000086] = "arg")
-CHECK: DW_AT_type [DW_FORM_ref_addr] (0x0000000000000063)
-CHECK: DW_AT_location [DW_FORM_data4] (0x00000000
+CHECK: DW_TAG_compile_unit
+CHECK: DW_AT_producer ("Apple LLVM version 6.0 (clang-600.0.39) (based on LLVM 3.5svn)")
+CHECK: DW_AT_name ("basic2.c")
+CHECK: DW_AT_stmt_list (0x0000003e)
+CHECK: DW_AT_comp_dir ("/Inputs")
+CHECK: DW_AT_low_pc (0x0000000100000f50)
+CHECK: DW_TAG_variable
+CHECK: DW_AT_name ("private_int")
+CHECK: DW_AT_type (0x0000000000000063)
+CHECK: DW_AT_decl_file ("/Inputs{{[/\\]}}basic2.c")
+CHECK: DW_AT_location (DW_OP_addr 0x100001008)
+CHECK: DW_TAG_variable
+CHECK: DW_AT_name ("baz")
+CHECK: DW_AT_type (0x0000000000000063)
+CHECK: DW_AT_location (DW_OP_addr 0x100001000)
+CHECK: DW_TAG_subprogram
+CHECK: DW_AT_name ("foo")
+CHECK: DW_AT_type (0x0000000000000063)
+CHECK: DW_AT_low_pc (0x0000000100000f50)
+CHECK: DW_AT_high_pc (0x0000000100000f89)
+CHECK: DW_AT_frame_base (DW_OP_reg6 RBP)
+CHECK: DW_TAG_formal_parameter
+CHECK: DW_AT_name ("arg")
+CHECK: DW_AT_type (0x0000000000000063)
+CHECK: DW_AT_location (0x00000000
CHECK: 0x0000000000000000 - 0x000000000000000e: DW_OP_reg5 RDI, DW_OP_piece 0x4)
-CHECK: DW_TAG_inlined_subroutine [10]
-CHECK: DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x00a7 => {0x00000128} "inc")
-CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000100000f63)
-CHECK: DW_AT_high_pc [DW_FORM_addr] (0x0000000100000f72)
-CHECK: DW_AT_call_line [DW_FORM_data1] (20)
+CHECK: DW_TAG_inlined_subroutine
+CHECK: DW_AT_abstract_origin (cu + 0x00a7 "inc")
+CHECK: DW_AT_low_pc (0x0000000100000f63)
+CHECK: DW_AT_high_pc (0x0000000100000f72)
+CHECK: DW_AT_call_line (20)
CHECK: NULL
-CHECK: DW_TAG_subprogram [11]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000008a] = "inc")
-CHECK: DW_AT_type [DW_FORM_ref_addr] (0x0000000000000063)
-CHECK: DW_AT_inline [DW_FORM_data1] (DW_INL_inlined)
+CHECK: DW_TAG_subprogram
+CHECK: DW_AT_name ("inc")
+CHECK: DW_AT_type (0x0000000000000063)
+CHECK: DW_AT_inline (DW_INL_inlined)
CHECK: NULL
CHECK: Compile Unit:
-CHECK: DW_TAG_compile_unit [1] *
-CHECK: DW_AT_producer [DW_FORM_strp] ( .debug_str[0x00000001] = "Apple LLVM version 6.0 (clang-600.0.39) (based on LLVM 3.5svn)")
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000008e] = "basic3.c")
-CHECK: DW_AT_stmt_list [DW_FORM_data4] (0x0000007e)
-CHECK: DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x00000049] = "/Inputs")
-CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000100000f90)
-CHECK: DW_TAG_variable [12]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000097] = "val")
-CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x003c => {0x00000176})
-CHECK: DW_AT_decl_file [DW_FORM_data1] ("/Inputs{{[/\\]}}basic3.c")
-CHECK: DW_AT_location [DW_FORM_block1] (DW_OP_addr 0x100001004)
-CHECK: DW_TAG_volatile_type [13]
-CHECK: DW_AT_type [DW_FORM_ref_addr] (0x0000000000000063)
-CHECK: DW_TAG_subprogram [8] *
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000009b] = "bar")
-CHECK: DW_AT_type [DW_FORM_ref_addr] (0x0000000000000063)
-CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000100000f90)
-CHECK: DW_AT_high_pc [DW_FORM_addr] (0x0000000100000fb4)
-CHECK: DW_AT_frame_base [DW_FORM_block1] (DW_OP_reg6 RBP)
-CHECK: DW_TAG_formal_parameter [9]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000086] = "arg")
-CHECK: DW_AT_type [DW_FORM_ref_addr] (0x0000000000000063)
-CHECK: DW_AT_location [DW_FORM_data4] (0x00000025
+CHECK: DW_TAG_compile_unit
+CHECK: DW_AT_producer ("Apple LLVM version 6.0 (clang-600.0.39) (based on LLVM 3.5svn)")
+CHECK: DW_AT_name ("basic3.c")
+CHECK: DW_AT_stmt_list (0x0000007e)
+CHECK: DW_AT_comp_dir ("/Inputs")
+CHECK: DW_AT_low_pc (0x0000000100000f90)
+CHECK: DW_TAG_variable
+CHECK: DW_AT_name ("val")
+CHECK: DW_AT_type (cu + 0x003c)
+CHECK: DW_AT_decl_file ("/Inputs{{[/\\]}}basic3.c")
+CHECK: DW_AT_location (DW_OP_addr 0x100001004)
+CHECK: DW_TAG_volatile_type
+CHECK: DW_AT_type (0x0000000000000063)
+CHECK: DW_TAG_subprogram
+CHECK: DW_AT_name ("bar")
+CHECK: DW_AT_type (0x0000000000000063)
+CHECK: DW_AT_low_pc (0x0000000100000f90)
+CHECK: DW_AT_high_pc (0x0000000100000fb4)
+CHECK: DW_AT_frame_base (DW_OP_reg6 RBP)
+CHECK: DW_TAG_formal_parameter
+CHECK: DW_AT_name ("arg")
+CHECK: DW_AT_type (0x0000000000000063)
+CHECK: DW_AT_location (0x00000025
CHECK: 0x0000000000000000 - 0x000000000000000f: DW_OP_reg5 RDI, DW_OP_piece 0x4
CHECK: 0x0000000000000019 - 0x000000000000001d: DW_OP_reg5 RDI, DW_OP_piece 0x4)
-CHECK: DW_TAG_lexical_block [14] *
-CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000100000f94)
-CHECK: DW_AT_high_pc [DW_FORM_addr] (0x0000000100000fa7)
-CHECK: DW_TAG_inlined_subroutine [15]
-CHECK: DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x009a => {0x000001d4} "inc")
-CHECK: DW_AT_ranges [DW_FORM_data4] (0x00000000
+CHECK: DW_TAG_lexical_block
+CHECK: DW_AT_low_pc (0x0000000100000f94)
+CHECK: DW_AT_high_pc (0x0000000100000fa7)
+CHECK: DW_TAG_inlined_subroutine
+CHECK: DW_AT_abstract_origin (cu + 0x009a "inc")
+CHECK: DW_AT_ranges (0x00000000
CHECK: [0x0000000100000f94 - 0x0000000100000f9a)
CHECK: [0x0000000100000f9f - 0x0000000100000fa7))
CHECK: NULL
CHECK: NULL
-CHECK: DW_TAG_subprogram [11]
-CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000008a] = "inc")
-CHECK: DW_AT_type [DW_FORM_ref_addr] (0x0000000000000063)
+CHECK: DW_TAG_subprogram
+CHECK: DW_AT_name ("inc")
+CHECK: DW_AT_type (0x0000000000000063)
CHECK: NULL
CHECK: .debug_loc contents:
@@ -153,36 +153,30 @@ CHECK: .debug_line contents
CHECK: Dir Mod Time File Len File Name
CHECK-NEXT: ---- ---------- ---------- ---------------------------
CHECK-NEXT: file_names[ 1] 0 0x00000000 0x00000000 basic1.c
-CHECK: Address Line Column File ISA Discriminator Flags
-CHECK-NEXT: ------------------ ------ ------ ------ --- ------------- -------------
-CHECK-NEXT: 0x0000000100000f40 23 0 1 0 0 is_stmt
-CHECK-NEXT: 0x0000000100000f44 24 0 1 0 0 is_stmt prologue_end
-CHECK-NEXT: 0x0000000100000f4b 24 0 1 0 0 is_stmt end_sequence
+CHECK: 0x0000000100000f40 23 0 1 0 0 is_stmt
+CHECK: 0x0000000100000f44 24 0 1 0 0 is_stmt prologue_end
+CHECK: 0x0000000100000f4b 24 0 1 0 0 is_stmt end_sequence
CHECK: Dir Mod Time File Len File Name
CHECK-NEXT: ---- ---------- ---------- ---------------------------
CHECK-NEXT: file_names[ 1] 0 0x00000000 0x00000000 basic2.c
-CHECK: Address Line Column File ISA Discriminator Flags
-CHECK-NEXT: ------------------ ------ ------ ------ --- ------------- -------------
-CHECK-NEXT: 0x0000000100000f50 19 0 1 0 0 is_stmt
-CHECK-NEXT: 0x0000000100000f54 20 0 1 0 0 is_stmt prologue_end
-CHECK-NEXT: 0x0000000100000f63 15 0 1 0 0 is_stmt
-CHECK-NEXT: 0x0000000100000f72 20 0 1 0 0 is_stmt
-CHECK-NEXT: 0x0000000100000f89 20 0 1 0 0 is_stmt end_sequence
+CHECK: 0x0000000100000f50 19 0 1 0 0 is_stmt
+CHECK: 0x0000000100000f54 20 0 1 0 0 is_stmt prologue_end
+CHECK: 0x0000000100000f63 15 0 1 0 0 is_stmt
+CHECK: 0x0000000100000f72 20 0 1 0 0 is_stmt
+CHECK: 0x0000000100000f89 20 0 1 0 0 is_stmt end_sequence
CHECK: Dir Mod Time File Len File Name
CHECK-NEXT: ---- ---------- ---------- ---------------------------
CHECK-NEXT: file_names[ 1] 0 0x00000000 0x00000000 basic3.c
-CHECK: Address Line Column File ISA Discriminator Flags
-CHECK-NEXT: ------------------ ------ ------ ------ --- ------------- -------------
-CHECK-NEXT: 0x0000000100000f90 16 0 1 0 0 is_stmt
-CHECK-NEXT: 0x0000000100000f94 12 0 1 0 0 is_stmt prologue_end
-CHECK-NEXT: 0x0000000100000f9a 17 0 1 0 0 is_stmt
-CHECK-NEXT: 0x0000000100000f9f 12 0 1 0 0 is_stmt
-CHECK-NEXT: 0x0000000100000fa7 20 0 1 0 0 is_stmt
-CHECK-NEXT: 0x0000000100000fa9 19 0 1 0 0 is_stmt
-CHECK-NEXT: 0x0000000100000fb2 20 0 1 0 0 is_stmt
-CHECK-NEXT: 0x0000000100000fb4 20 0 1 0 0 is_stmt end_sequence
+CHECK: 0x0000000100000f90 16 0 1 0 0 is_stmt
+CHECK: 0x0000000100000f94 12 0 1 0 0 is_stmt prologue_end
+CHECK: 0x0000000100000f9a 17 0 1 0 0 is_stmt
+CHECK: 0x0000000100000f9f 12 0 1 0 0 is_stmt
+CHECK: 0x0000000100000fa7 20 0 1 0 0 is_stmt
+CHECK: 0x0000000100000fa9 19 0 1 0 0 is_stmt
+CHECK: 0x0000000100000fb2 20 0 1 0 0 is_stmt
+CHECK: 0x0000000100000fb4 20 0 1 0 0 is_stmt end_sequence
CHECK: .debug_pubnames contents:
CHECK-NEXT: length = 0x00000017 version = 0x0002 unit_offset = 0x00000000 unit_size = 0x00000081
diff --git a/llvm/test/tools/dsymutil/X86/multiple-inputs.test b/llvm/test/tools/dsymutil/X86/multiple-inputs.test
index 6456d9498f6..21219b409ec 100644
--- a/llvm/test/tools/dsymutil/X86/multiple-inputs.test
+++ b/llvm/test/tools/dsymutil/X86/multiple-inputs.test
@@ -8,21 +8,21 @@ RUN: cat %p/../Inputs/basic-lto-dw4.macho.x86_64 > %t/basic-lto-dw4.macho.x86_64
# Multiple inputs in flat mode
RUN: llvm-dsymutil -f -oso-prepend-path=%p/.. %t/basic.macho.x86_64 %t/basic-archive.macho.x86_64 %t/basic-lto.macho.x86_64 %t/basic-lto-dw4.macho.x86_64
-RUN: llvm-dwarfdump -v %t/basic.macho.x86_64.dwarf \
+RUN: llvm-dwarfdump -a %t/basic.macho.x86_64.dwarf \
RUN: | FileCheck %S/basic-linking-x86.test --check-prefix=CHECK --check-prefix=BASIC
-RUN: llvm-dwarfdump -v %t/basic-archive.macho.x86_64.dwarf \
+RUN: llvm-dwarfdump -a %t/basic-archive.macho.x86_64.dwarf \
RUN: | FileCheck %S/basic-linking-x86.test --check-prefix=CHECK --check-prefix=ARCHIVE
-RUN: llvm-dwarfdump -v %t/basic-lto.macho.x86_64.dwarf | FileCheck %S/basic-lto-linking-x86.test
-RUN: llvm-dwarfdump -v %t/basic-lto-dw4.macho.x86_64.dwarf | FileCheck %S/basic-lto-dw4-linking-x86.test
+RUN: llvm-dwarfdump -a %t/basic-lto.macho.x86_64.dwarf | FileCheck %S/basic-lto-linking-x86.test
+RUN: llvm-dwarfdump -a %t/basic-lto-dw4.macho.x86_64.dwarf | FileCheck %S/basic-lto-dw4-linking-x86.test
# Multiple inputs that end up in the same named bundle
RUN: llvm-dsymutil -oso-prepend-path=%p/.. %t/basic.macho.x86_64 %t/basic-archive.macho.x86_64 %t/basic-lto.macho.x86_64 %t/basic-lto-dw4.macho.x86_64 -o %t.dSYM
-RUN: llvm-dwarfdump -v %t.dSYM/Contents/Resources/DWARF/basic.macho.x86_64 \
+RUN: llvm-dwarfdump -a %t.dSYM/Contents/Resources/DWARF/basic.macho.x86_64 \
RUN: | FileCheck %S/basic-linking-x86.test --check-prefix=CHECK --check-prefix=BASIC
-RUN: llvm-dwarfdump -v %t.dSYM/Contents/Resources/DWARF/basic-archive.macho.x86_64 \
+RUN: llvm-dwarfdump -a %t.dSYM/Contents/Resources/DWARF/basic-archive.macho.x86_64 \
RUN: | FileCheck %S/basic-linking-x86.test --check-prefix=CHECK --check-prefix=ARCHIVE
-RUN: llvm-dwarfdump -v %t.dSYM/Contents/Resources/DWARF/basic-lto.macho.x86_64 | FileCheck %S/basic-lto-linking-x86.test
-RUN: llvm-dwarfdump -v %t.dSYM/Contents/Resources/DWARF/basic-lto-dw4.macho.x86_64 | FileCheck %S/basic-lto-dw4-linking-x86.test
+RUN: llvm-dwarfdump -a %t.dSYM/Contents/Resources/DWARF/basic-lto.macho.x86_64 | FileCheck %S/basic-lto-linking-x86.test
+RUN: llvm-dwarfdump -a %t.dSYM/Contents/Resources/DWARF/basic-lto-dw4.macho.x86_64 | FileCheck %S/basic-lto-dw4-linking-x86.test
# Multiple inputs in a named bundle in flat mode... impossible.
RUN: not llvm-dsymutil -f -oso-prepend-path=%p/.. %t/basic.macho.x86_64 %t/basic-archive.macho.x86_64 %t/basic-lto.macho.x86_64 %t/basic-lto-dw4.macho.x86_64 -o %t.dSYM 2>&1 | FileCheck %s
diff --git a/llvm/test/tools/llvm-dwarfdump/X86/brief.s b/llvm/test/tools/llvm-dwarfdump/X86/brief.s
index d77a007929e..06a9d24dd0d 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/brief.s
+++ b/llvm/test/tools/llvm-dwarfdump/X86/brief.s
@@ -1,5 +1,5 @@
# RUN: llvm-mc %s -filetype obj -triple x86_64-apple-darwin -o - \
-# RUN: | llvm-dwarfdump -debug-info - \
+# RUN: | llvm-dwarfdump --debug-info --debug-line - \
# RUN: | FileCheck %s
# CHECK-NOT: .debug_abbrev contents:
@@ -12,12 +12,19 @@
# CHECK: DW_AT_name ("int")
# CHECK-NOT: debug_str
# CHECK-NOT: DW_AT_type {{.*}} =>
-#
+
+# CHECK: Address Line Column File ISA Discriminator Flags
+# CHECK-NEXT:------------------ ------ ------ ------ --- ------------- -------------
+# CHECK-NEXT:0x0000000000000000 1 0 1 0 0 is_stmt
+# CHECK-NEXT:0x0000000000000006 1 12 1 0 0 is_stmt prologue_end
+# CHECK-NEXT:0x0000000000000008 1 12 1 0 0 is_stmt end_sequence
+
# CHECK-NOT: {{.*}} contents:
-#
+
# This test is meant to verify that without specifying -verbose DW_FORMs and
# abbreviation codes are hidden from .debug_info section. Furthermore it
-# verifies that it also hides .debug_str and die reference offsets into the CU.
+# verifies that it also hides .debug_str and die reference offsets into the CU
+# and that the .debug_line table is printed rather than the opcodes.
.section __TEXT,__text,regular,pure_instructions
.macosx_version_min 10, 12
diff --git a/llvm/test/tools/llvm-dwarfdump/X86/verbose.test b/llvm/test/tools/llvm-dwarfdump/X86/verbose.test
new file mode 100644
index 00000000000..2d52247f15f
--- /dev/null
+++ b/llvm/test/tools/llvm-dwarfdump/X86/verbose.test
@@ -0,0 +1,25 @@
+# RUN: llvm-mc %S/brief.s -filetype obj -triple x86_64-apple-darwin -o - \
+# RUN: | llvm-dwarfdump -v --debug-info --debug-line - \
+# RUN: | FileCheck %s
+
+# CHECK-NOT: .debug_abbrev contents:
+
+# CHECK: .debug_info contents:
+# CHECK: DW_TAG_compile_unit [1]
+# CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x{{.*}}] = "brief.c")
+# CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x{{.*}}] = "main")
+# CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x{{.*}}] = "int")
+
+# CHECK: .debug_line contents:
+# CHECK: 00 DW_LNE_set_address (0x0000000000000000)
+# CHECK: 01 DW_LNS_copy
+# CHECK: 0x0000000000000000 1 0 1 0 0 is_stmt
+# CHECK: 05 DW_LNS_set_column (12)
+# CHECK: 0a DW_LNS_set_prologue_end
+# CHECK: 66 address += 89, line += 0
+# CHECK: 0x0000000000000006 1 12 1 0 0 is_stmt prologue_end
+# CHECK: 02 DW_LNS_advance_pc (2)
+# CHECK: 00 DW_LNE_end_sequence
+# CHECK: 0x0000000000000008 1 12 1 0 0 is_stmt end_sequence
+#
+# CHECK-NOT: {{.*}} contents:
OpenPOWER on IntegriCloud