## This test checks the --[no-]separate-debug-file option. # RUN: yaml2obj %p/Inputs/common.yaml -o %t.o ## Check --garbage-collection --no-separate-debug-file. # RUN: llvm-dwarfutil --garbage-collection --no-separate-debug-file %t.o %t2 # RUN: llvm-dwarfdump -a %t2 | FileCheck --check-prefix=CHECK-DEBUG %s ## Check --garbage-collection --separate-debug-file. # RUN: llvm-dwarfutil --garbage-collection --separate-debug-file %t.o %t2 # RUN: llvm-objdump --headers %t2 | FileCheck --check-prefix=CHECK-NON-DEBUG %s # RUN: llvm-dwarfdump -a %t2.debug | FileCheck --check-prefix=CHECK-DEBUG %s ## Check --no-garbage-collection --no-separate-debug-file. # RUN: llvm-dwarfutil --no-garbage-collection --no-separate-debug-file %t.o %t1 # RUN: llvm-dwarfdump -a %t1 | FileCheck --check-prefix=CHECK-DEBUG %s ## Check --no-garbage-collection --separate-debug-file. # RUN: llvm-dwarfutil --no-garbage-collection %t.o --separate-debug-file %t3 # RUN: llvm-objdump --headers %t3 | FileCheck --check-prefix=CHECK-NON-DEBUG %s # RUN: llvm-dwarfdump -a %t3.debug | FileCheck --check-prefix=CHECK-DEBUG %s ## Copy result to compare it later. # RUN: cp %t3 %t4 # RUN: cp %t3.debug %t4.debug ## Check that --separate-debug-file wins if last. # RUN: llvm-dwarfutil --no-garbage-collection --no-separate-debug-file --separate-debug-file %t.o %t3 # RUN: cmp %t4 %t3 # RUN: cmp %t4.debug %t3.debug ## Check that --no-separate-debug-file wins if last. # RUN: llvm-dwarfutil --no-garbage-collection --separate-debug-file --no-separate-debug-file %t.o %t5 # RUN: cmp %t1 %t5 # CHECK-NON-DEBUG-NOT: .debug_abbrev # CHECK-NON-DEBUG-NOT: .debug_info # CHECK-NON-DEBUG: .gnu_debuglink # CHECK-NON-DEBUG-NOT: .debug_abbrev # CHECK-NON-DEBUG-NOT: .debug_info # CHECK-DEBUG: .debug_abbrev # CHECK-DEBUG: DW_TAG_compile_unit # CHECK-DEBUG: .debug_info # CHECK-DEBUG: DW_TAG_compile_unit # CHECK-DEBUG: DW_AT_producer{{.*}}"by_hand" # CHECK-DEBUG: DW_AT_language{{.*}}DW_LANG_C_plus_plus # CHECK-DEBUG: DW_AT_name{{.*}}"CU1" # CHECK-DEBUG: DW_TAG_class_type # CHECK-DEBUG: DW_AT_name{{.*}}"class1" # CHECK-DEBUG: DW_TAG_base_type # CHECK-DEBUG: DW_AT_name{{.*}}"int" # CHECK-DEBUG: DW_AT_name{{.*}}"char" # CHECK-DEBUG: DW_AT_name{{.*}}"float" # CHECK-DEBUG: DW_TAG_pointer_type # CHECK-DEBUG: DW_TAG_variable # CHECK-DEBUG: DW_AT_name{{.*}}"var1"