-// RUN: dsymutil -f -oso-prepend-path=%p/../../dsymutil/ %p/../../dsymutil/Inputs/basic.macho.x86_64 -o %t1.dSYM
-// RUN: llvm-objdump -d -g --dsym=%t1.dSYM %p/../../dsymutil/Inputs/basic.macho.x86_64 >%t0
-// RUN: llvm-objdump -dg --dsym=%t1.dSYM %p/../../dsymutil/Inputs/basic.macho.x86_64 >%t1
-// RUN: cmp %t0 %t1
-// RUN: FileCheck --input-file %t0 %s
+# RUN: dsymutil -f -oso-prepend-path=%p/../../dsymutil/ %p/../../dsymutil/Inputs/basic.macho.x86_64 -o %t1.dSYM
+# RUN: llvm-objdump -d -g --dsym=%t1.dSYM %p/../../dsymutil/Inputs/basic.macho.x86_64 >%t0
+# RUN: llvm-objdump -dg --dsym=%t1.dSYM %p/../../dsymutil/Inputs/basic.macho.x86_64 >%t1
+# RUN: cmp %t0 %t1
+# RUN: FileCheck --input-file %t0 %s
-CHECK: Disassembly of section __TEXT,__text:
+# CHECK: Disassembly of section __TEXT,__text:
-// RUN: llvm-objdump --macho -d -g --dsym %p/Inputs/hello-macho-fat.dwarf %p/Inputs/hello-macho-fat | FileCheck --check-prefix MACHO_DSYM %s
-// RUN: llvm-objdump --macho -d -g --dsym %p/Inputs/hello-macho-fat.dwarf %p/Inputs/hello-macho-thin | FileCheck --check-prefix MACHO_DSYM %s
-// RUN: llvm-objdump --macho -d -g --dsym %p/Inputs/hello-macho-thin.dwarf %p/Inputs/hello-macho-thin | FileCheck --check-prefix MACHO_DSYM %s
+# RUN: llvm-objdump --macho -d -g --dsym %p/Inputs/hello-macho-fat.dwarf %p/Inputs/hello-macho-fat | FileCheck --check-prefix MACHO_DSYM %s
+# RUN: llvm-objdump --macho -d -g --dsym %p/Inputs/hello-macho-fat.dwarf %p/Inputs/hello-macho-thin | FileCheck --check-prefix MACHO_DSYM %s
+# RUN: llvm-objdump --macho -d -g --dsym %p/Inputs/hello-macho-thin.dwarf %p/Inputs/hello-macho-thin | FileCheck --check-prefix MACHO_DSYM %s
-MACHO_DSYM: (__TEXT,__text) section
+# MACHO_DSYM: (__TEXT,__text) section
-// RUN: llvm-objdump --macho -d -g --dsym %p/../Inputs/libbogus11.a %p/../../dsymutil/Inputs/basic.macho.x86_64 2>&1 | FileCheck --check-prefix BAD_INPUT %s
+## Check that we report an error when .dSYM file is a valid object, which is
+## neither a Mach-O object nor Universal binary.
-BAD_INPUT: is not a Mach-O or Universal file type.
+# RUN: yaml2obj --docnum=1 %s -o %t.a
+# RUN: llvm-objdump --macho -d -g --dsym %t.a %p/../../dsymutil/Inputs/basic.macho.x86_64 2>&1 | \
+# RUN: FileCheck -DDSYMFILE=%t.a --check-prefix=BAD_INPUT_AR %s
+
+# RUN: yaml2obj --docnum=2 %s -o %t.elf
+# RUN: llvm-objdump --macho -d -g --dsym %t.elf %p/../../dsymutil/Inputs/basic.macho.x86_64 2>&1 | \
+# RUN: FileCheck -DDSYMFILE=%t.elf --check-prefix=BAD_INPUT_OBJ %s
+
+# BAD_INPUT_AR: error: [[DSYMFILE]] is not a Mach-O or Universal file type.
+# BAD_INPUT_OBJ: error: [[DSYMFILE]] is not a Mach-O file type.
+
+--- !Arch
+Members: []
+
+--- !ELF
+FileHeader:
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_REL