llvm/llvm/test/tools/dsymutil/ARM/fat-dylib-update.test

# REQUIRES: object-emission,system-darwin
# RUN: dsymutil -oso-prepend-path %p/..  %p/../Inputs/fat-test.arm.dylib -o %t.dSYM
# RUN: llvm-dwarfdump -a -v %t.dSYM/Contents/Resources/DWARF/fat-test.arm.dylib | FileCheck %s
# RUN: dsymutil -u %t.dSYM
# RUN: llvm-dwarfdump -a -v %t.dSYM/Contents/Resources/DWARF/fat-test.arm.dylib | FileCheck %s
# RUN: dsymutil -u %t.dSYM -o %t1.dSYM
# RUN: llvm-dwarfdump -a -v %t1.dSYM/Contents/Resources/DWARF/fat-test.arm.dylib | FileCheck %s
#
# RUN: dsymutil --linker parallel -oso-prepend-path %p/..  %p/../Inputs/fat-test.arm.dylib -o %t.dSYM
# RUN: llvm-dwarfdump -a -v %t.dSYM/Contents/Resources/DWARF/fat-test.arm.dylib | FileCheck %s
# RUN: dsymutil --linker parallel -u %t.dSYM
# RUN: llvm-dwarfdump -a -v %t.dSYM/Contents/Resources/DWARF/fat-test.arm.dylib | FileCheck %s
# RUN: dsymutil --linker parallel -u %t.dSYM -o %t1.dSYM
# RUN: llvm-dwarfdump -a -v %t1.dSYM/Contents/Resources/DWARF/fat-test.arm.dylib | FileCheck %s

CHECK: /Contents/Resources/DWARF/fat-test.arm.dylib(armv7):	file format Mach-O arm

CHECK: .debug_info contents:
CHECK:  Compile Unit: length = 0x00000034, format = DWARF32, version = 0x0002, abbr_offset = 0x0000, addr_size = 0x04 (next unit at 0x00000038)
CHECK:  DW_TAG_compile_unit [1] *
CHECK:    DW_AT_producer [DW_FORM_strp]	( .debug_str[0x00000001] = "clang version 3.8.0 (trunk 243776)")
CHECK:    DW_AT_language [DW_FORM_data2]	(DW_LANG_C99)
CHECK:    DW_AT_name [DW_FORM_strp]	( .debug_str[0x00000024] = "fat-test.c")
CHECK:    DW_AT_stmt_list [DW_FORM_data4]	(0x00000000)
CHECK:    DW_AT_comp_dir [DW_FORM_strp]	( .debug_str[0x0000002f] = "/Inputs")
CHECK:    DW_TAG_variable [2]
CHECK:      DW_AT_name [DW_FORM_strp]	( .debug_str[0x00000037] = "armv7_var")
CHECK:      DW_AT_type [DW_FORM_ref4]	(cu + 0x0030 => {0x00000030}
CHECK:      DW_AT_external [DW_FORM_flag]	(0x01)
CHECK:      DW_AT_decl_file [DW_FORM_data1]	("/Inputs/fat-test.c")
CHECK:      DW_AT_decl_line [DW_FORM_data1]	(23)
CHECK:      DW_AT_location [DW_FORM_block1]	(DW_OP_addr 0x1000)
CHECK:    DW_TAG_base_type [3]
CHECK:      DW_AT_name [DW_FORM_strp]	( .debug_str[0x00000041] = "int")
CHECK:      DW_AT_encoding [DW_FORM_data1]	(DW_ATE_signed)
CHECK:      DW_AT_byte_size [DW_FORM_data1]	(0x04)
CHECK:    NULL


CHECK: .debug_line contents:
CHECK: Line table prologue:
CHECK:     total_length: 0x0000002a
CHECK:          version: 2
CHECK:  prologue_length: 0x00000021
CHECK:  min_inst_length: 1
CHECK:  default_is_stmt: 1
CHECK:        line_base: -5
CHECK:       line_range: 14
CHECK:      opcode_base: 13

CHECK: .apple_names contents:
CHECK: String: 0x00000037 "armv7_var"
CHECK-NEXT: Data 0 [
CHECK-NEXT:   Atom[0]: 0x0000001e
CHECK-NEXT: ]

CHECK: .apple_types contents:
CHECK: String: 0x00000041 "int"
CHECK-NEXT: Data 0 [
CHECK-NEXT:   Atom[0]: 0x00000030
CHECK-NEXT:   Atom[1]: 0x0024
CHECK-NEXT:   Atom[2]: 0x00
CHECK-NEXT:   Atom[3]: 0x0c3a28a4
CHECK-NEXT: ]

CHECK: /Contents/Resources/DWARF/fat-test.arm.dylib(armv7s):	file format Mach-O arm

CHECK: .debug_info contents:
CHECK:  Compile Unit: length = 0x00000034, format = DWARF32, version = 0x0002, abbr_offset = 0x0000, addr_size = 0x04 (next unit at 0x00000038)
CHECK:  DW_TAG_compile_unit [1] *
CHECK:    DW_AT_producer [DW_FORM_strp]	( .debug_str[0x00000001] = "clang version 3.8.0 (trunk 243776)")
CHECK:    DW_AT_language [DW_FORM_data2]	(DW_LANG_C99)
CHECK:    DW_AT_name [DW_FORM_strp]	( .debug_str[0x00000024] = "fat-test.c")
CHECK:    DW_AT_stmt_list [DW_FORM_data4]	(0x00000000)
CHECK:    DW_AT_comp_dir [DW_FORM_strp]	( .debug_str[0x0000002f] = "/Inputs")
CHECK:    DW_TAG_variable [2]
CHECK:      DW_AT_name [DW_FORM_strp]	( .debug_str[0x00000037] = "armv7s_var")
CHECK:      DW_AT_type [DW_FORM_ref4]	(cu + 0x0030 => {0x00000030}
CHECK:      DW_AT_external [DW_FORM_flag]	(0x01)
CHECK:      DW_AT_decl_file [DW_FORM_data1]	("/Inputs/fat-test.c")
CHECK:      DW_AT_decl_line [DW_FORM_data1]	(21)
CHECK:      DW_AT_location [DW_FORM_block1]	(DW_OP_addr 0x1000)
CHECK:    DW_TAG_base_type [3]
CHECK:      DW_AT_name [DW_FORM_strp]	( .debug_str[0x00000042] = "int")
CHECK:      DW_AT_encoding [DW_FORM_data1]	(DW_ATE_signed)
CHECK:      DW_AT_byte_size [DW_FORM_data1]	(0x04)
CHECK:    NULL

CHECK: .debug_line contents:
CHECK: Line table prologue:
CHECK:     total_length: 0x0000002a
CHECK:          version: 2
CHECK:  prologue_length: 0x00000021
CHECK:  min_inst_length: 1
CHECK:  default_is_stmt: 1
CHECK:        line_base: -5
CHECK:       line_range: 14
CHECK:      opcode_base: 13

CHECK: .apple_names contents:
CHECK: String: 0x00000037 "armv7s_var"
CHECK-NEXT: Data 0 [
CHECK-NEXT:   Atom[0]: 0x0000001e
CHECK-NEXT: ]

CHECK: .apple_types contents:
CHECK: String: 0x00000042 "int"
CHECK-NEXT: Data 0 [
CHECK-NEXT:   Atom[0]: 0x00000030
CHECK-NEXT:   Atom[1]: 0x0024
CHECK-NEXT:   Atom[2]: 0x00
CHECK-NEXT:   Atom[3]: 0x0c3a28a4
CHECK-NEXT: ]

CHECK: /Contents/Resources/DWARF/fat-test.arm.dylib(arm64):	file format Mach-O arm64

CHECK: .debug_info contents:
CHECK:  Compile Unit: length = 0x00000038, format = DWARF32, version = 0x0002, abbr_offset = 0x0000, addr_size = 0x08 (next unit at 0x0000003c)
CHECK:  DW_TAG_compile_unit [1] *
CHECK:    DW_AT_producer [DW_FORM_strp]	( .debug_str[0x00000001] = "clang version 3.8.0 (trunk 243776)")
CHECK:    DW_AT_language [DW_FORM_data2]	(DW_LANG_C99)
CHECK:    DW_AT_name [DW_FORM_strp]	( .debug_str[0x00000024] = "fat-test.c")
CHECK:    DW_AT_stmt_list [DW_FORM_data4]	(0x00000000)
CHECK:    DW_AT_comp_dir [DW_FORM_strp]	( .debug_str[0x0000002f] = "/Inputs")
CHECK:    DW_TAG_variable [2]
CHECK:      DW_AT_name [DW_FORM_strp]	( .debug_str[0x00000037] = "arm64_var")
CHECK:      DW_AT_type [DW_FORM_ref4]	(cu + 0x0034 => {0x00000034}
CHECK:      DW_AT_external [DW_FORM_flag]	(0x01)
CHECK:      DW_AT_decl_file [DW_FORM_data1]	("/Inputs/fat-test.c")
CHECK:      DW_AT_decl_line [DW_FORM_data1]	(25)
CHECK:      DW_AT_location [DW_FORM_block1]	(DW_OP_addr 0x4000)
CHECK:    DW_TAG_base_type [3]
CHECK:      DW_AT_name [DW_FORM_strp]	( .debug_str[0x00000041] = "int")
CHECK:      DW_AT_encoding [DW_FORM_data1]	(DW_ATE_signed)
CHECK:      DW_AT_byte_size [DW_FORM_data1]	(0x04)
CHECK:    NULL

CHECK: .debug_line contents:
CHECK: Line table prologue:
CHECK:     total_length: 0x0000002a
CHECK:          version: 2
CHECK:  prologue_length: 0x00000021
CHECK:  min_inst_length: 1
CHECK:  default_is_stmt: 1
CHECK:        line_base: -5
CHECK:       line_range: 14
CHECK:      opcode_base: 13

CHECK: .apple_names contents:
CHECK: String: 0x00000037 "arm64_var"
CHECK-NEXT: Data 0 [
CHECK-NEXT:   Atom[0]: 0x0000001e
CHECK-NEXT: ]

CHECK: .apple_types contents:
CHECK: String: 0x00000041 "int"
CHECK-NEXT: Data 0 [
CHECK-NEXT:   Atom[0]: 0x00000034
CHECK-NEXT:   Atom[1]: 0x0024
CHECK-NEXT:   Atom[2]: 0x00
CHECK-NEXT:   Atom[3]: 0x0c3a28a4
CHECK-NEXT: ]