diff options
Diffstat (limited to 'llvm/test/tools')
| -rw-r--r-- | llvm/test/tools/dsymutil/X86/basic-linking-bundle.test | 8 | ||||
| -rw-r--r-- | llvm/test/tools/dsymutil/X86/basic-linking-x86.test | 236 | ||||
| -rw-r--r-- | llvm/test/tools/dsymutil/X86/basic-lto-dw4-linking-x86.test | 206 | ||||
| -rw-r--r-- | llvm/test/tools/dsymutil/X86/basic-lto-linking-x86.test | 254 | ||||
| -rw-r--r-- | llvm/test/tools/dsymutil/X86/multiple-inputs.test | 16 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-dwarfdump/X86/brief.s | 15 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-dwarfdump/X86/verbose.test | 25 |
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: |

