## This test checks that debug info contained in the source file is properly ## verified by --verify after copying. If --no-garbage-collection is ## specified then the verification should fail, otherwise the verification ## should succeed. # RUN: yaml2obj %s -o %t.o ## Verify resulting debug info after --garbage-collection optimisation. # RUN: llvm-dwarfutil %t.o %t1 --verify ## Verify separate debug file after --garbage-collection optimisation. # RUN: llvm-dwarfutil %t.o --separate-debug-file %t1 --verify ## Verify not optimised resulting debug info. # RUN: not llvm-dwarfutil --no-garbage-collection %t.o %t1 --verify 2>&1 | FileCheck %s -DFILE=%t1 ## Verify not optimised resulting separate debug file. # RUN: not llvm-dwarfutil --no-garbage-collection %t.o --separate-debug-file %t1 --verify 2>&1 | FileCheck %s -DFILE=%t1.debug ## Check that verification is disabled when destination is stdout. # RUN: llvm-dwarfutil %t.o - --verify 2>&1 | FileCheck %s --check-prefix=CHECK-STDOUT # CHECK: error: '[[FILE]]': output verification failed # CHECK-STDOUT: warning: verification skipped because writing to stdout --- !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB Type: ET_REL Machine: EM_X86_64 DWARF: debug_abbrev: - Table: - Tag: DW_TAG_compile_unit Children: DW_CHILDREN_yes Attributes: - Attribute: DW_AT_producer Form: DW_FORM_string - Attribute: DW_AT_language Form: DW_FORM_data2 - Attribute: DW_AT_name Form: DW_FORM_string - Attribute: DW_AT_low_pc Form: DW_FORM_addr - Attribute: DW_AT_high_pc Form: DW_FORM_data8 - Tag: DW_TAG_subprogram Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_name Form: DW_FORM_string - Attribute: DW_AT_low_pc Form: DW_FORM_addr - Attribute: DW_AT_high_pc Form: DW_FORM_data8 - Attribute: DW_AT_type Form: DW_FORM_ref4 - Tag: DW_TAG_class_type Children: DW_CHILDREN_yes Attributes: - Attribute: DW_AT_name Form: DW_FORM_string - Tag: DW_TAG_member Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_type Form: DW_FORM_ref4 - Attribute: DW_AT_name Form: DW_FORM_string - Tag: DW_TAG_class_type Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_name Form: DW_FORM_string - Attribute: DW_AT_declaration Form: DW_FORM_flag_present - Tag: DW_TAG_class_type Children: DW_CHILDREN_yes Attributes: - Attribute: DW_AT_name Form: DW_FORM_string - Attribute: DW_AT_declaration Form: DW_FORM_flag_present - Tag: DW_TAG_template_type_parameter Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_type Form: DW_FORM_ref4 - Tag: DW_TAG_base_type Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_name Form: DW_FORM_string debug_info: - Version: 4 Entries: - AbbrCode: 1 Values: - CStr: by_hand - Value: 0x04 - CStr: CU1 - Value: 0x1000 - Value: 0x100 - AbbrCode: 3 Values: - CStr: class1 - AbbrCode: 4 Values: - Value: 0x0000006c - CStr: member1 - AbbrCode: 0 - AbbrCode: 3 Values: - CStr: class2 - AbbrCode: 4 Values: - Value: 0x0000006c - CStr: member1 - AbbrCode: 0 - AbbrCode: 3 Values: - CStr: class3 - AbbrCode: 4 Values: - Value: 0x0000006c - CStr: member1 - AbbrCode: 0 - AbbrCode: 8 Values: - CStr: int - AbbrCode: 2 Values: - CStr: foo1 - Value: 0x1000 - Value: 0x10 - Value: 0x0000002a - AbbrCode: 2 Values: - CStr: foo2 - Value: 0x0 - Value: 0x100 - Value: 0x00000040 - AbbrCode: 2 Values: - CStr: foo3 - Value: 0x0 - Value: 0x100 - Value: 0x00000040 - AbbrCode: 0 ...