1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 20:51:52 +01:00

[dsymutil] Rename llvm-dsymutil -> dsymutil

Now that almost all functionality of Apple's dsymutil has been
upstreamed, the open source variant can be used as a drop in
replacement. Hence we feel it's no longer necessary to have the llvm
prefix.

Differential revision: https://reviews.llvm.org/D44527

llvm-svn: 327790
This commit is contained in:
Jonas Devlieghere 2018-03-18 11:38:41 +00:00
parent 476b586d94
commit a595d2986a
66 changed files with 131 additions and 132 deletions

View File

@ -214,7 +214,7 @@ const DataLayout &AsmPrinter::getDataLayout() const {
} }
// Do not use the cached DataLayout because some client use it without a Module // Do not use the cached DataLayout because some client use it without a Module
// (llvm-dsymutil, llvm-dwarfdump). // (dsymutil, llvm-dwarfdump).
unsigned AsmPrinter::getPointerSize() const { unsigned AsmPrinter::getPointerSize() const {
return TM.getPointerSize(0); // FIXME: Default address space return TM.getPointerSize(0); // FIXME: Default address space
} }

View File

@ -56,7 +56,7 @@ set(LLVM_TEST_DEPENDS
llvm-diff llvm-diff
llvm-dis llvm-dis
llvm-dlltool llvm-dlltool
llvm-dsymutil dsymutil
llvm-dwarfdump llvm-dwarfdump
llvm-dwp llvm-dwp
llvm-extract llvm-extract

View File

@ -1,4 +1,4 @@
Reuse a test input from llvm-dsymutil, it's perfect for what we want to exercise Reuse a test input from dsymutil, it's perfect for what we want to exercise
RUN: llvm-dwarfdump -v %S/Inputs/fat-test.o --debug-info | FileCheck %s RUN: llvm-dwarfdump -v %S/Inputs/fat-test.o --debug-info | FileCheck %s
CHECK: fat-test.o(x86_64): file format Mach-O 64-bit x86-64 CHECK: fat-test.o(x86_64): file format Mach-O 64-bit x86-64

View File

@ -138,8 +138,8 @@ tools = [
# FIXME: Why do we have both `lli` and `%lli` that do slightly different things? # FIXME: Why do we have both `lli` and `%lli` that do slightly different things?
tools.extend([ tools.extend([
'lli', 'lli-child-target', 'llvm-ar', 'llvm-as', 'llvm-bcanalyzer', 'llvm-config', 'llvm-cov', 'dsymutil', 'lli', 'lli-child-target', 'llvm-ar', 'llvm-as', 'llvm-bcanalyzer',
'llvm-cxxdump', 'llvm-cvtres', 'llvm-diff', 'llvm-dis', 'llvm-dsymutil', 'llvm-config', 'llvm-cov', 'llvm-cxxdump', 'llvm-cvtres', 'llvm-diff', 'llvm-dis',
'llvm-dwarfdump', 'llvm-extract', 'llvm-isel-fuzzer', 'llvm-opt-fuzzer', 'llvm-lib', 'llvm-dwarfdump', 'llvm-extract', 'llvm-isel-fuzzer', 'llvm-opt-fuzzer', 'llvm-lib',
'llvm-link', 'llvm-lto', 'llvm-lto2', 'llvm-mc', 'llvm-mca','llvm-mcmarkup', 'llvm-link', 'llvm-lto', 'llvm-lto2', 'llvm-mc', 'llvm-mca','llvm-mcmarkup',
'llvm-modextract', 'llvm-nm', 'llvm-objcopy', 'llvm-objdump', 'llvm-modextract', 'llvm-nm', 'llvm-objcopy', 'llvm-objdump',

View File

@ -1,5 +1,5 @@
# REQUIRES: object-emission # REQUIRES: object-emission
# RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs -y %s -o - 2>&1 | FileCheck %s # RUN: dsymutil -f -oso-prepend-path=%p/../Inputs -y %s -o - 2>&1 | FileCheck %s
--- ---
triple: 'thumbv7-apple-darwin' triple: 'thumbv7-apple-darwin'

View File

@ -1,5 +1,5 @@
# REQUIRES: object-emission # REQUIRES: object-emission
# RUN: llvm-dsymutil -no-output %p/../Inputs/fat-test.arm.dylib -o %t.dSYM -verbose 2>&1 | FileCheck %s # RUN: dsymutil -no-output %p/../Inputs/fat-test.arm.dylib -o %t.dSYM -verbose 2>&1 | FileCheck %s
# We detect thumb triples from the binaries, because those are the only ones # We detect thumb triples from the binaries, because those are the only ones
# that are guaranteed to be able to generate a Target instance (for example # that are guaranteed to be able to generate a Target instance (for example

View File

@ -1,5 +1,5 @@
# REQUIRES: object-emission # REQUIRES: object-emission
# RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs -y %s -o - 2>&1 | FileCheck %s # RUN: dsymutil -f -oso-prepend-path=%p/../Inputs -y %s -o - 2>&1 | FileCheck %s
--- ---
triple: 'armv7-apple-darwin' triple: 'armv7-apple-darwin'

View File

@ -1,4 +1,4 @@
# REQUIRES: object-emission # REQUIRES: object-emission
# By default, dsymutil spawns one thread per architecture and this test just # By default, dsymutil spawns one thread per architecture and this test just
# ensures that things don't break when processing multiple archs. # ensures that things don't break when processing multiple archs.
# RUN: llvm-dsymutil -no-output %p/../Inputs/fat-test.arm.dylib -o %t.brief.dSYM 2>&1 # RUN: dsymutil -no-output %p/../Inputs/fat-test.arm.dylib -o %t.brief.dSYM 2>&1

View File

@ -3,7 +3,7 @@
static int foo(int i) { return 42 + i; } static int foo(int i) { return 42 + i; }
int bar(int a) { return foo(a); } int bar(int a) { return foo(a); }
// RUN: llvm-dsymutil -f -y %p/dummy-debug-map-amr64.map -oso-prepend-path %p/../Inputs/inlined-low_pc -o - | llvm-dwarfdump - | FileCheck %s // RUN: dsymutil -f -y %p/dummy-debug-map-amr64.map -oso-prepend-path %p/../Inputs/inlined-low_pc -o - | llvm-dwarfdump - | FileCheck %s
// CHECK: DW_TAG_subprogram // CHECK: DW_TAG_subprogram
// CHECK: DW_AT_low_pc{{.*}}0x0000000000010000 // CHECK: DW_AT_low_pc{{.*}}0x0000000000010000

View File

@ -1,4 +1,4 @@
RUN: llvm-dsymutil -y %p/dummy-debug-map.map -oso-prepend-path %p/../Inputs/scattered-reloc/ -f -o - | llvm-dwarfdump -debug-info - | FileCheck %s RUN: dsymutil -y %p/dummy-debug-map.map -oso-prepend-path %p/../Inputs/scattered-reloc/ -f -o - | llvm-dwarfdump -debug-info - | FileCheck %s
// See Inputs/scattered-reloc/scattered.s to see how this test // See Inputs/scattered-reloc/scattered.s to see how this test
// actually works. // actually works.

View File

@ -1,5 +1,5 @@
// RUN: llvm-dsymutil -f -oso-prepend-path=%p/.. %p/../Inputs/thumb.armv7m -o - | llvm-dwarfdump - | FileCheck %s // RUN: dsymutil -f -oso-prepend-path=%p/.. %p/../Inputs/thumb.armv7m -o - | llvm-dwarfdump - | FileCheck %s
// RUN: llvm-dsymutil -arch armv7m -f -oso-prepend-path=%p/.. %p/../Inputs/thumb.armv7m -o - | llvm-dwarfdump - | FileCheck %s // RUN: dsymutil -arch armv7m -f -oso-prepend-path=%p/.. %p/../Inputs/thumb.armv7m -o - | llvm-dwarfdump - | FileCheck %s
/* Compile with: /* Compile with:
clang -c thumb.c -arch armv7m -g clang -c thumb.c -arch armv7m -g

View File

@ -14,7 +14,7 @@
# Compiled with Apple-GCC 4.0.1 (build 5370): # Compiled with Apple-GCC 4.0.1 (build 5370):
# g++ -g -c sibling.cpp -o sibling.o # g++ -g -c sibling.cpp -o sibling.o
# RUN: llvm-dsymutil -arch ppc -f -oso-prepend-path=%p/../Inputs/ -y %s -o - | llvm-dwarfdump -debug-info - | FileCheck %s # RUN: dsymutil -arch ppc -f -oso-prepend-path=%p/../Inputs/ -y %s -o - | llvm-dwarfdump -debug-info - | FileCheck %s
# CHECK: DW_TAG_structure_type # CHECK: DW_TAG_structure_type
# CHECK-NEXT: DW_AT_name ("A") # CHECK-NEXT: DW_AT_name ("A")

View File

@ -1,4 +1,4 @@
# RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs/alias \ # RUN: dsymutil -f -oso-prepend-path=%p/../Inputs/alias \
# RUN: %p/../Inputs/alias/foobar -o - | llvm-dwarfdump - 2>&1 | FileCheck %s # RUN: %p/../Inputs/alias/foobar -o - | llvm-dwarfdump - 2>&1 | FileCheck %s
# CHECK-NOT: could not find object file symbol for symbol # CHECK-NOT: could not find object file symbol for symbol
# CHECK: DW_AT_name ("foo.c") # CHECK: DW_AT_name ("foo.c")

View File

@ -2,7 +2,7 @@ RUN: rm -rf %t
RUN: mkdir -p %t/dsymdest RUN: mkdir -p %t/dsymdest
RUN: cat %p/../Inputs/basic.macho.x86_64 > %t/basic.macho.x86_64 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 RUN: dsymutil -oso-prepend-path=%p/.. %t/basic.macho.x86_64
Check that the object file in the bundle exists and is sane: Check that the object file in the bundle exists and is sane:
RUN: llvm-dwarfdump -a %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
@ -12,7 +12,7 @@ RUN: llvm-dwarfdump -a %t/basic.macho.x86_64.dSYM | FileCheck %S/basic-linking-x
RUN: FileCheck %s --input-file %t/basic.macho.x86_64.dSYM/Contents/Info.plist 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: dsymutil -oso-prepend-path=%p/.. %t/basic.macho.x86_64 -o %t/dsymdest/basic.macho.x86_64.dSYM
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: 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 RUN: FileCheck %s --input-file %t/dsymdest/basic.macho.x86_64.dSYM/Contents/Info.plist

View File

@ -1,12 +1,12 @@
RUN: cat %p/../Inputs/basic.macho.x86_64 > %t1 RUN: cat %p/../Inputs/basic.macho.x86_64 > %t1
RUN: llvm-dsymutil -f -oso-prepend-path=%p/.. %t1 RUN: dsymutil -f -oso-prepend-path=%p/.. %t1
RUN: llvm-dwarfdump -a %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: dsymutil -f -o %t2 -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64
RUN: llvm-dwarfdump -a %t2 | FileCheck %s 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: 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: 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: dsymutil -dump-debug-map -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 | 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 RUN: dsymutil -dump-debug-map -oso-prepend-path=%p/.. %p/../Inputs/basic-archive.macho.x86_64 | dsymutil -f -o - -y - | llvm-dwarfdump -a - | FileCheck %s --check-prefix=CHECK --check-prefix=ARCHIVE
CHECK: file format Mach-O 64-bit x86-64 CHECK: file format Mach-O 64-bit x86-64

View File

@ -1,4 +1,4 @@
RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic-lto-dw4.macho.x86_64 | llvm-dwarfdump -a - | FileCheck %s RUN: 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: file format Mach-O 64-bit x86-64

View File

@ -1,5 +1,5 @@
RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic-lto.macho.x86_64 | llvm-dwarfdump -a - | FileCheck %s RUN: 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 RUN: dsymutil -oso-prepend-path=%p/.. -dump-debug-map %p/../Inputs/basic-lto.macho.x86_64 | dsymutil -f -o - -y - | llvm-dwarfdump -a - | FileCheck %s
CHECK: file format Mach-O 64-bit x86-64 CHECK: file format Mach-O 64-bit x86-64

View File

@ -1,4 +1,4 @@
RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic-with-libfat-test.macho.x86_64 | llvm-dwarfdump - | FileCheck %s RUN: dsymutil -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic-with-libfat-test.macho.x86_64 | llvm-dwarfdump - | FileCheck %s
The test binary was created by force-linking the libfat-test.a fat archive The test binary was created by force-linking the libfat-test.a fat archive
with the basic linking test archive, like so: with the basic linking test archive, like so:

View File

@ -1,4 +1,4 @@
RUN: llvm-dsymutil -oso-prepend-path %p/.. %p/../Inputs/common.macho.x86_64 -f -o - | llvm-dwarfdump -v -debug-info - | FileCheck %s RUN: dsymutil -oso-prepend-path %p/.. %p/../Inputs/common.macho.x86_64 -f -o - | llvm-dwarfdump -v -debug-info - | FileCheck %s
The test was compiled from a single source: The test was compiled from a single source:
$ cat common.c $ cat common.c

View File

@ -1,4 +1,4 @@
# RUN: llvm-dsymutil -oso-prepend-path %p/../Inputs -y %s -f -o - | llvm-dwarfdump - --debug-line | FileCheck %s # RUN: dsymutil -oso-prepend-path %p/../Inputs -y %s -f -o - | llvm-dwarfdump - --debug-line | FileCheck %s
# This test runs dsymutil on an object file with non-standard (as far # This test runs dsymutil on an object file with non-standard (as far
# as llvm is concerned) line table settings. # as llvm is concerned) line table settings.

View File

@ -5,10 +5,10 @@ RUN: mkdir -p %t/dsymdest
RUN: cat %p/../Inputs/basic.macho.x86_64 > %t/basic.macho.x86_64 RUN: cat %p/../Inputs/basic.macho.x86_64 > %t/basic.macho.x86_64
RUN: cat %p/../Inputs/Info.plist > %t/Info.plist RUN: cat %p/../Inputs/Info.plist > %t/Info.plist
RUN: llvm-dsymutil -oso-prepend-path=%p/.. %t/basic.macho.x86_64 -o %t/dsymdest/basic.macho.x86_64.dSYM RUN: dsymutil -oso-prepend-path=%p/.. %t/basic.macho.x86_64 -o %t/dsymdest/basic.macho.x86_64.dSYM
RUN: FileCheck %s --input-file %t/dsymdest/basic.macho.x86_64.dSYM/Contents/Info.plist RUN: FileCheck %s --input-file %t/dsymdest/basic.macho.x86_64.dSYM/Contents/Info.plist
RUN: llvm-dsymutil -oso-prepend-path=%p/.. %t/basic.macho.x86_64 -toolchain "toolchain" -o %t/dsymdest/basic.macho.x86_64.dSYM RUN: dsymutil -oso-prepend-path=%p/.. %t/basic.macho.x86_64 -toolchain "toolchain" -o %t/dsymdest/basic.macho.x86_64.dSYM
RUN: FileCheck %s --input-file %t/dsymdest/basic.macho.x86_64.dSYM/Contents/Info.plist --check-prefix=CHECK --check-prefix=TOOLCHAIN RUN: FileCheck %s --input-file %t/dsymdest/basic.macho.x86_64.dSYM/Contents/Info.plist --check-prefix=CHECK --check-prefix=TOOLCHAIN
CHECK: <?xml version="1.0" encoding="UTF-8"?> CHECK: <?xml version="1.0" encoding="UTF-8"?>

View File

@ -1,4 +1,4 @@
// RUN: llvm-dsymutil -f -y %p/dummy-debug-map.map -oso-prepend-path %p/../Inputs/dead-stripped -o - | llvm-dwarfdump - --debug-info | FileCheck %s // RUN: dsymutil -f -y %p/dummy-debug-map.map -oso-prepend-path %p/../Inputs/dead-stripped -o - | llvm-dwarfdump - --debug-info | FileCheck %s
// The test was compiled with: // The test was compiled with:
// clang++ -O2 -g -c dead-strip.cpp -o 1.o // clang++ -O2 -g -c dead-strip.cpp -o 1.o

View File

@ -1,11 +1,11 @@
RUN: llvm-dsymutil -o - %p/../Inputs/basic.macho.i386 -f | llvm-readobj -file-headers -program-headers -sections -symbols - | FileCheck %s -check-prefix=CHECK -check-prefix=CHECK32 RUN: dsymutil -o - %p/../Inputs/basic.macho.i386 -f | llvm-readobj -file-headers -program-headers -sections -symbols - | FileCheck %s -check-prefix=CHECK -check-prefix=CHECK32
RUN: llvm-dsymutil -o - -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 -f | llvm-readobj -file-headers -program-headers -sections -symbols - | FileCheck %s -check-prefix=CHECK -check-prefix=CHECK64 RUN: dsymutil -o - -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 -f | llvm-readobj -file-headers -program-headers -sections -symbols - | FileCheck %s -check-prefix=CHECK -check-prefix=CHECK64
This test checks that the dSYM companion binaries generated in 32 and 64 bits This test checks that the dSYM companion binaries generated in 32 and 64 bits
are correct. The check are pretty strict (we check even the offsets and sizes are correct. The check are pretty strict (we check even the offsets and sizes
of the sections) in order to test the VM address layout algorithm. As the of the sections) in order to test the VM address layout algorithm. As the
debug sections are generated, this is a bit risky, but I don't expect debug sections are generated, this is a bit risky, but I don't expect
llvm-dsymutil's output to change much for these tiny C programs so this should dsymutil's output to change much for these tiny C programs so this should
be OK. be OK.
The 32bits version doesn't have object files, thus it has basically no debug The 32bits version doesn't have object files, thus it has basically no debug
sections. sections.

View File

@ -1,4 +1,4 @@
# RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs/ -y %s -o - | llvm-dwarfdump -debug-line - | FileCheck %s # RUN: dsymutil -f -oso-prepend-path=%p/../Inputs/ -y %s -o - | llvm-dwarfdump -debug-line - | FileCheck %s
# Source: # Source:
# int main() { # int main() {

View File

@ -1,4 +1,4 @@
# RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs/ -y %s -o - | llvm-dwarfdump -debug-line - | FileCheck %s # RUN: dsymutil -f -oso-prepend-path=%p/../Inputs/ -y %s -o - | llvm-dwarfdump -debug-line - | FileCheck %s
# Source: # Source:
# int main() { # int main() {

View File

@ -1,10 +1,10 @@
# This test verifies that an empty range list in the .debug_ranges section # This test verifies that an empty range list in the .debug_ranges section
# doesn't crash llvm-dsymutil. As clang does not produce this kind of debug # doesn't crash dsymutil. As clang does not produce this kind of debug
# info anymore, we used this hand-crafted assembly file to produce a testcase # info anymore, we used this hand-crafted assembly file to produce a testcase
# Compile with: # Compile with:
# llvm-mc -triple x86_64-apple-darwin -filetype=obj -o 1.o empty_range.o # llvm-mc -triple x86_64-apple-darwin -filetype=obj -o 1.o empty_range.o
# RUN: llvm-dsymutil -f -y %p/dummy-debug-map.map -oso-prepend-path %p/../Inputs/empty_range -o - | llvm-dwarfdump -debug-info - | FileCheck %s # RUN: dsymutil -f -y %p/dummy-debug-map.map -oso-prepend-path %p/../Inputs/empty_range -o - | llvm-dwarfdump -debug-info - | FileCheck %s
.section __TEXT,__text,regular,pure_instructions .section __TEXT,__text,regular,pure_instructions
.macosx_version_min 10, 11 .macosx_version_min 10, 11

View File

@ -1,5 +1,5 @@
# REQUIRES: object-emission # REQUIRES: object-emission
# RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs -y %s -o - | llvm-dwarfdump -debug-info - | FileCheck %s # RUN: dsymutil -f -oso-prepend-path=%p/../Inputs -y %s -o - | llvm-dwarfdump -debug-info - | FileCheck %s
--- ---
triple: 'i386-apple-darwin' triple: 'i386-apple-darwin'

View File

@ -1,5 +1,5 @@
# REQUIRES: object-emission # REQUIRES: object-emission
# RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs -y %s -o - | llvm-dwarfdump -debug-info - | FileCheck %s # RUN: dsymutil -f -oso-prepend-path=%p/../Inputs -y %s -o - | llvm-dwarfdump -debug-info - | FileCheck %s
--- ---
triple: 'x86_64-apple-darwin' triple: 'x86_64-apple-darwin'

View File

@ -1,5 +1,5 @@
# REQUIRES: object-emission # REQUIRES: object-emission
# RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs -y %s -o - | llvm-dwarfdump -debug-info - | FileCheck %s # RUN: dsymutil -f -oso-prepend-path=%p/../Inputs -y %s -o - | llvm-dwarfdump -debug-info - | FileCheck %s
--- ---
triple: 'x86_64h-apple-darwin' triple: 'x86_64h-apple-darwin'

View File

@ -2,7 +2,7 @@
# RUN: rm -rf %t # RUN: rm -rf %t
# RUN: mkdir -p %t # RUN: mkdir -p %t
# RUN: llc -filetype=obj %p/../Inputs/frame-dw2.ll -o %t/frame-dw2.o # RUN: llc -filetype=obj %p/../Inputs/frame-dw2.ll -o %t/frame-dw2.o
# RUN: llvm-dsymutil -f -oso-prepend-path=%t -y %s -o - | llvm-dwarfdump -debug-frame - | FileCheck %s # RUN: dsymutil -f -oso-prepend-path=%t -y %s -o - | llvm-dwarfdump -debug-frame - | FileCheck %s
# This test is meant to verify that identical CIEs will get reused # This test is meant to verify that identical CIEs will get reused
# in the same file but also inbetween files. For this to happen, we # in the same file but also inbetween files. For this to happen, we

View File

@ -3,7 +3,7 @@
# RUN: mkdir -p %t # RUN: mkdir -p %t
# RUN: llc -filetype=obj %p/../Inputs/frame-dw2.ll -o %t/frame-dw2.o # RUN: llc -filetype=obj %p/../Inputs/frame-dw2.ll -o %t/frame-dw2.o
# RUN: llc -filetype=obj %p/../Inputs/frame-dw4.ll -o %t/frame-dw4.o # RUN: llc -filetype=obj %p/../Inputs/frame-dw4.ll -o %t/frame-dw4.o
# RUN: llvm-dsymutil -f -oso-prepend-path=%t -y %s -o - | llvm-dwarfdump -debug-frame - | FileCheck %s # RUN: dsymutil -f -oso-prepend-path=%t -y %s -o - | llvm-dwarfdump -debug-frame - | FileCheck %s
# Check the handling of multiple different CIEs. To have CIEs that # Check the handling of multiple different CIEs. To have CIEs that
# appear to be different, use a dwarf2 version of the file along with # appear to be different, use a dwarf2 version of the file along with

View File

@ -1,4 +1,4 @@
# RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. -y %s | llvm-dwarfdump -v - | FileCheck %s # RUN: dsymutil -f -o - -oso-prepend-path=%p/.. -y %s | llvm-dwarfdump -v - | FileCheck %s
# This test on links the Dwarf for an LTO binary and on purpose doesn't retain # This test on links the Dwarf for an LTO binary and on purpose doesn't retain
# any symbol in the second CU out of 3. This is the only case where dsymutil # any symbol in the second CU out of 3. This is the only case where dsymutil

View File

@ -1,4 +1,4 @@
# RUN: llvm-dsymutil -oso-prepend-path %p/../Inputs -y %s -f -o - | llvm-dwarfdump - --debug-info | FileCheck %s # RUN: dsymutil -oso-prepend-path %p/../Inputs -y %s -f -o - | llvm-dwarfdump - --debug-info | FileCheck %s
# Compile with: # Compile with:
# echo -e ".global _foo;\nfoo:\nnop" | clang -x assembler -g - -c -o /tmp/label.o # echo -e ".global _foo;\nfoo:\nnop" | clang -x assembler -g - -c -o /tmp/label.o

View File

@ -1,6 +1,6 @@
RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 | llvm-readobj -sections - | FileCheck %s --check-prefix=FULL RUN: dsymutil -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 | llvm-readobj -sections - | FileCheck %s --check-prefix=FULL
RUN: llvm-dsymutil --minimize -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 | llvm-readobj -sections - | FileCheck %s RUN: dsymutil --minimize -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 | llvm-readobj -sections - | FileCheck %s
RUN: llvm-dsymutil -z -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 | llvm-readobj -sections - | FileCheck %s RUN: dsymutil -z -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 | llvm-readobj -sections - | FileCheck %s
FULL: Name: __debug_pubnames FULL: Name: __debug_pubnames
FULL: Name: __debug_pubtypes FULL: Name: __debug_pubtypes

View File

@ -17,7 +17,7 @@
// RUN: rm -rf %t.dir && mkdir %t.dir // RUN: rm -rf %t.dir && mkdir %t.dir
// RUN: cp %p/../Inputs/mismatch/1.o %p/../Inputs/mismatch/mismatch.pcm %t.dir // RUN: cp %p/../Inputs/mismatch/1.o %p/../Inputs/mismatch/mismatch.pcm %t.dir
// RUN: cp %p/../Inputs/mismatch/1.o %t.dir/2.o // RUN: cp %p/../Inputs/mismatch/1.o %t.dir/2.o
// RUN: llvm-dsymutil --verbose -f -oso-prepend-path=%t.dir \ // RUN: dsymutil --verbose -f -oso-prepend-path=%t.dir \
// RUN: -y %p/dummy-debug-map.map -o %t.bin 2>&1 | FileCheck %s // RUN: -y %p/dummy-debug-map.map -o %t.bin 2>&1 | FileCheck %s
@import mismatch; @import mismatch;

View File

@ -23,7 +23,7 @@
# RUN: cp %p/../Inputs/module-warnings/1.o %t.dir # RUN: cp %p/../Inputs/module-warnings/1.o %t.dir
# RUN: cp %p/../Inputs/module-warnings/Foo.pcm %t.dir/ModuleCache # RUN: cp %p/../Inputs/module-warnings/Foo.pcm %t.dir/ModuleCache
# #
# RUN: llvm-dsymutil -f -oso-prepend-path=%t.dir -y \ # RUN: dsymutil -f -oso-prepend-path=%t.dir -y \
# RUN: %p/dummy-debug-map.map -o %t 2>&1 | FileCheck %s # RUN: %p/dummy-debug-map.map -o %t 2>&1 | FileCheck %s
# #
# Module-not-found should be reported only once. # Module-not-found should be reported only once.
@ -32,12 +32,12 @@
# CHECK-NOT: warning: {{.*}}Bar.pcm: # CHECK-NOT: warning: {{.*}}Bar.pcm:
# #
# RUN: cp %p/../Inputs/module-warnings/libstatic.a %t.dir # RUN: cp %p/../Inputs/module-warnings/libstatic.a %t.dir
# RUN: llvm-dsymutil -f -oso-prepend-path=%t.dir -y %s -o %t 2>&1 | FileCheck %s # RUN: dsymutil -f -oso-prepend-path=%t.dir -y %s -o %t 2>&1 | FileCheck %s
# CHECK: rebuild the module cache # CHECK: rebuild the module cache
# CHECK-NOT: static libraries # CHECK-NOT: static libraries
# #
# RUN: rm -rf %t.dir/ModuleCache # RUN: rm -rf %t.dir/ModuleCache
# RUN: llvm-dsymutil -f -oso-prepend-path=%t.dir -y %s -o %t 2>&1 \ # RUN: dsymutil -f -oso-prepend-path=%t.dir -y %s -o %t 2>&1 \
# RUN: | FileCheck %s --check-prefix=STATIC # RUN: | FileCheck %s --check-prefix=STATIC
# STATIC: warning: {{.*}}Bar.pcm: # STATIC: warning: {{.*}}Bar.pcm:
# STATIC: note: Linking a static library # STATIC: note: Linking a static library

View File

@ -8,7 +8,7 @@
// RUN: mkdir %t.dir // RUN: mkdir %t.dir
// RUN: cp %p/../Inputs/modules/Bar.pcm %t.dir // RUN: cp %p/../Inputs/modules/Bar.pcm %t.dir
// RUN: cp %p/../Inputs/modules-dwarf-version/1.o %t.dir // RUN: cp %p/../Inputs/modules-dwarf-version/1.o %t.dir
// RUN: llvm-dsymutil -f -oso-prepend-path=%t.dir \ // RUN: dsymutil -f -oso-prepend-path=%t.dir \
// RUN: -y %p/dummy-debug-map.map -o - \ // RUN: -y %p/dummy-debug-map.map -o - \
// RUN: | llvm-dwarfdump --debug-info - | FileCheck %s // RUN: | llvm-dwarfdump --debug-info - | FileCheck %s

View File

@ -13,7 +13,7 @@ EOF
// RUN: rm -rf %t.dir // RUN: rm -rf %t.dir
// RUN: mkdir %t.dir // RUN: mkdir %t.dir
// RUN: cp %p/../Inputs/modules-empty/1.o %p/../Inputs/modules-empty/Empty.pcm %t.dir // RUN: cp %p/../Inputs/modules-empty/1.o %p/../Inputs/modules-empty/Empty.pcm %t.dir
// RUN: llvm-dsymutil -f -oso-prepend-path=%t.dir \ // RUN: dsymutil -f -oso-prepend-path=%t.dir \
// RUN: -y %p/dummy-debug-map.map -o - \ // RUN: -y %p/dummy-debug-map.map -o - \
// RUN: | llvm-dwarfdump --debug-info - | FileCheck %s // RUN: | llvm-dwarfdump --debug-info - | FileCheck %s

View File

@ -18,11 +18,11 @@ EOF
clang -c -g odr_violation.c -o 2.o clang -c -g odr_violation.c -o 2.o
*/ */
// RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs/modules \ // RUN: dsymutil -f -oso-prepend-path=%p/../Inputs/modules \
// RUN: -y %p/dummy-debug-map.map -o - \ // RUN: -y %p/dummy-debug-map.map -o - \
// RUN: | llvm-dwarfdump -v --debug-info - | FileCheck %s // RUN: | llvm-dwarfdump -v --debug-info - | FileCheck %s
// RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs/modules -y \ // RUN: dsymutil -f -oso-prepend-path=%p/../Inputs/modules -y \
// RUN: %p/dummy-debug-map.map -o %t 2>&1 | FileCheck --check-prefix=WARN %s // RUN: %p/dummy-debug-map.map -o %t 2>&1 | FileCheck --check-prefix=WARN %s
// WARN-NOT: warning: hash mismatch // WARN-NOT: warning: hash mismatch

View File

@ -7,7 +7,7 @@ RUN: cat %p/../Inputs/basic-lto.macho.x86_64 > %t/basic-lto.macho.x86_64
RUN: cat %p/../Inputs/basic-lto-dw4.macho.x86_64 > %t/basic-lto-dw4.macho.x86_64 RUN: cat %p/../Inputs/basic-lto-dw4.macho.x86_64 > %t/basic-lto-dw4.macho.x86_64
# Multiple inputs in flat mode # 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: 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 -a %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: | FileCheck %S/basic-linking-x86.test --check-prefix=CHECK --check-prefix=BASIC
RUN: llvm-dwarfdump -a %t/basic-archive.macho.x86_64.dwarf \ RUN: llvm-dwarfdump -a %t/basic-archive.macho.x86_64.dwarf \
@ -16,7 +16,7 @@ RUN: llvm-dwarfdump -a %t/basic-lto.macho.x86_64.dwarf | FileCheck %S/basic-lto-
RUN: llvm-dwarfdump -a %t/basic-lto-dw4.macho.x86_64.dwarf | FileCheck %S/basic-lto-dw4-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 # 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: 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 -a %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: | FileCheck %S/basic-linking-x86.test --check-prefix=CHECK --check-prefix=BASIC
RUN: llvm-dwarfdump -a %t.dSYM/Contents/Resources/DWARF/basic-archive.macho.x86_64 \ RUN: llvm-dwarfdump -a %t.dSYM/Contents/Resources/DWARF/basic-archive.macho.x86_64 \
@ -25,7 +25,7 @@ RUN: llvm-dwarfdump -a %t.dSYM/Contents/Resources/DWARF/basic-lto.macho.x86_64 |
RUN: llvm-dwarfdump -a %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-dw4.macho.x86_64 | FileCheck %S/basic-lto-dw4-linking-x86.test
# Multiple inputs in a named bundle in flat mode... impossible. # 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 RUN: not 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
CHECK: error: cannot use -o with multiple inputs in flat mode CHECK: error: cannot use -o with multiple inputs in flat mode

View File

@ -1,4 +1,4 @@
RUN: llvm-dsymutil -f -oso-prepend-path=%p/.. %p/../Inputs/objc.macho.x86_64 -o - \ RUN: dsymutil -f -oso-prepend-path=%p/.. %p/../Inputs/objc.macho.x86_64 -o - \
RUN: | llvm-dwarfdump -apple-types -apple-objc - | FileCheck %s RUN: | llvm-dwarfdump -apple-types -apple-objc - | FileCheck %s
CHECK: .apple_types contents: CHECK: .apple_types contents:

View File

@ -4,10 +4,10 @@
done done
*/ */
// RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs/odr-anon-namespace -y %p/dummy-debug-map.map -o - | llvm-dwarfdump -debug-info - | FileCheck %s // RUN: dsymutil -f -oso-prepend-path=%p/../Inputs/odr-anon-namespace -y %p/dummy-debug-map.map -o - | llvm-dwarfdump -debug-info - | FileCheck %s
#ifdef FILE1 #ifdef FILE1
// Currently llvm-dsymutil will unique the contents of anonymous // Currently dsymutil will unique the contents of anonymous
// namespaces if they are from the same file/line. Force this // namespaces if they are from the same file/line. Force this
// namespace to appear different eventhough it's the same (this // namespace to appear different eventhough it's the same (this
// uniquing is actually a bug kept for backward compatibility, see the // uniquing is actually a bug kept for backward compatibility, see the

View File

@ -4,7 +4,7 @@
done done
*/ */
// RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs/odr-fwd-declaration -y %p/dummy-debug-map.map -o - | llvm-dwarfdump -v -debug-info - | FileCheck %s // RUN: dsymutil -f -oso-prepend-path=%p/../Inputs/odr-fwd-declaration -y %p/dummy-debug-map.map -o - | llvm-dwarfdump -v -debug-info - | FileCheck %s
#ifdef FILE1 #ifdef FILE1
# 1 "Header.h" 1 # 1 "Header.h" 1

View File

@ -4,7 +4,7 @@
done done
*/ */
// RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs/odr-fwd-declaration2 -y %p/dummy-debug-map.map -o - | llvm-dwarfdump -v -debug-info - | FileCheck %s // RUN: dsymutil -f -oso-prepend-path=%p/../Inputs/odr-fwd-declaration2 -y %p/dummy-debug-map.map -o - | llvm-dwarfdump -v -debug-info - | FileCheck %s
#ifdef FILE1 #ifdef FILE1
# 1 "Header.h" 1 # 1 "Header.h" 1

View File

@ -4,7 +4,7 @@
done done
*/ */
// RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs/odr-member-functions -y %p/dummy-debug-map.map -o - | llvm-dwarfdump -debug-info - | FileCheck %s // RUN: dsymutil -f -oso-prepend-path=%p/../Inputs/odr-member-functions -y %p/dummy-debug-map.map -o - | llvm-dwarfdump -debug-info - | FileCheck %s
struct S { struct S {
__attribute__((always_inline)) void foo() { bar(); } __attribute__((always_inline)) void foo() { bar(); }

View File

@ -11,8 +11,8 @@
- without ODR uniquing: all types are re-emited in the second CU - without ODR uniquing: all types are re-emited in the second CU
*/ */
// RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs/odr-uniquing -y %p/dummy-debug-map.map -o - | llvm-dwarfdump -v -debug-info - | FileCheck -check-prefix=ODR -check-prefix=CHECK %s // RUN: dsymutil -f -oso-prepend-path=%p/../Inputs/odr-uniquing -y %p/dummy-debug-map.map -o - | llvm-dwarfdump -v -debug-info - | FileCheck -check-prefix=ODR -check-prefix=CHECK %s
// RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs/odr-uniquing -y %p/dummy-debug-map.map -no-odr -o - | llvm-dwarfdump -v -debug-info - | FileCheck -check-prefix=NOODR -check-prefix=CHECK %s // RUN: dsymutil -f -oso-prepend-path=%p/../Inputs/odr-uniquing -y %p/dummy-debug-map.map -no-odr -o - | llvm-dwarfdump -v -debug-info - | FileCheck -check-prefix=NOODR -check-prefix=CHECK %s
// The first compile unit contains all the types: // The first compile unit contains all the types:
// CHECK: TAG_compile_unit // CHECK: TAG_compile_unit

View File

@ -16,7 +16,7 @@ EOF
-fdisable-module-hash submodules.m -o 1.o -fdisable-module-hash submodules.m -o 1.o
*/ */
// RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs/submodules \ // RUN: dsymutil -f -oso-prepend-path=%p/../Inputs/submodules \
// RUN: -y %p/dummy-debug-map.map -o - \ // RUN: -y %p/dummy-debug-map.map -o - \
// RUN: | llvm-dwarfdump -v --debug-info - | FileCheck %s // RUN: | llvm-dwarfdump -v --debug-info - | FileCheck %s

View File

@ -1,4 +1,4 @@
RUN: llvm-dsymutil -oso-prepend-path %p/.. %p/../Inputs/swift-ast.macho.x86_64 -o %T/swift-ast.dSYM -verbose -no-swiftmodule-timestamp | FileCheck %s --check-prefix=DSYMUTIL RUN: dsymutil -oso-prepend-path %p/.. %p/../Inputs/swift-ast.macho.x86_64 -o %T/swift-ast.dSYM -verbose -no-swiftmodule-timestamp | FileCheck %s --check-prefix=DSYMUTIL
RUN: llvm-readobj -sections -section-data %T/swift-ast.dSYM/Contents/Resources/DWARF/swift-ast.macho.x86_64 | FileCheck %s --check-prefix=READOBJ RUN: llvm-readobj -sections -section-data %T/swift-ast.dSYM/Contents/Resources/DWARF/swift-ast.macho.x86_64 | FileCheck %s --check-prefix=READOBJ
The tested object file has been created by the dummy Swift code: The tested object file has been created by the dummy Swift code:
@ -15,5 +15,5 @@ READOBJ: Name:{{.*}}__swift_ast
READOBJ: |SWIFTMODULE DATA| READOBJ: |SWIFTMODULE DATA|
READOBJ-NEXT: |.| READOBJ-NEXT: |.|
RUN: llvm-dsymutil -oso-prepend-path %p/.. %p/../Inputs/swift-ast.macho.x86_64 -no-output -verbose 2>&1 | FileCheck %s --check-prefix=TIMESTAMP RUN: dsymutil -oso-prepend-path %p/.. %p/../Inputs/swift-ast.macho.x86_64 -no-output -verbose 2>&1 | FileCheck %s --check-prefix=TIMESTAMP
TIMESTAMP: warning: Timestamp mismatch TIMESTAMP: warning: Timestamp mismatch

View File

@ -1,4 +1,4 @@
RUN: llvm-dsymutil -oso-prepend-path %p/../Inputs %p/../Inputs/swift-dwarf-loc.macho.x86_64 -no-output -verbose | FileCheck %s RUN: dsymutil -oso-prepend-path %p/../Inputs %p/../Inputs/swift-dwarf-loc.macho.x86_64 -no-output -verbose | FileCheck %s
This test checks that dsymutil generates a valid dwarf location for a symbol with no flags set. This test checks that dsymutil generates a valid dwarf location for a symbol with no flags set.

View File

@ -1,8 +1,8 @@
UNSUPPORTED: system-windows UNSUPPORTED: system-windows
Remove UNSUPPORTED once we figure out why this fails on Windows. Remove UNSUPPORTED once we figure out why this fails on Windows.
RUN: llvm-dsymutil -oso-prepend-path=%p/.. %p/../Inputs/objc.macho.x86_64 -o %t.dSYM RUN: dsymutil -oso-prepend-path=%p/.. %p/../Inputs/objc.macho.x86_64 -o %t.dSYM
RUN: llvm-dsymutil -update %t.dSYM RUN: dsymutil -update %t.dSYM
RUN: llvm-dwarfdump -apple-types -apple-objc %t.dSYM | FileCheck %s RUN: llvm-dwarfdump -apple-types -apple-objc %t.dSYM | FileCheck %s
CHECK: .apple_types contents: CHECK: .apple_types contents:

View File

@ -4,15 +4,15 @@ Remove UNSUPPORTED once we figure out why this fails on Windows.
RUN: rm -rf %t.dir RUN: rm -rf %t.dir
RUN: mkdir -p %t.dir RUN: mkdir -p %t.dir
RUN: cat %p/../Inputs/basic.macho.x86_64 > %t.dir/basic RUN: cat %p/../Inputs/basic.macho.x86_64 > %t.dir/basic
RUN: llvm-dsymutil -oso-prepend-path=%p/.. %t.dir/basic RUN: dsymutil -oso-prepend-path=%p/.. %t.dir/basic
RUN: llvm-dwarfdump -a %t.dir/basic.dSYM | FileCheck %S/basic-linking-x86.test RUN: llvm-dwarfdump -a %t.dir/basic.dSYM | FileCheck %S/basic-linking-x86.test
RUN: llvm-dsymutil --update %t.dir/basic.dSYM RUN: dsymutil --update %t.dir/basic.dSYM
RUN: llvm-dwarfdump -a %t.dir/basic.dSYM | FileCheck %S/basic-linking-x86.test RUN: llvm-dwarfdump -a %t.dir/basic.dSYM | FileCheck %S/basic-linking-x86.test
RUN: llvm-dsymutil -u %t.dir/basic.dSYM RUN: dsymutil -u %t.dir/basic.dSYM
RUN: llvm-dwarfdump -a %t.dir/basic.dSYM | FileCheck %S/basic-linking-x86.test RUN: llvm-dwarfdump -a %t.dir/basic.dSYM | FileCheck %S/basic-linking-x86.test
RUN: llvm-dsymutil --update %t.dir/basic.dSYM -o %t.dir/updated.dSYM RUN: dsymutil --update %t.dir/basic.dSYM -o %t.dir/updated.dSYM
RUN: llvm-dwarfdump -a %t.dir/updated.dSYM | FileCheck %S/basic-linking-x86.test RUN: llvm-dwarfdump -a %t.dir/updated.dSYM | FileCheck %S/basic-linking-x86.test
RUN: llvm-dsymutil -f -o %t2 -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 RUN: dsymutil -f -o %t2 -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64
RUN: llvm-dsymutil -f -u %t2 -o %t3 RUN: dsymutil -f -u %t2 -o %t3
RUN: llvm-dwarfdump -a %t3 | FileCheck %S/basic-linking-x86.test RUN: llvm-dwarfdump -a %t3 | FileCheck %S/basic-linking-x86.test

View File

@ -1,14 +1,14 @@
# Positive tests in regular and verbose mode. # Positive tests in regular and verbose mode.
# RUN: llvm-dsymutil -verify -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 %p/../Inputs/basic-archive.macho.x86_64 %p/../Inputs/basic-lto.macho.x86_64 %p/../Inputs/basic-lto-dw4.macho.x86_64 -o %t 2>&1 | FileCheck %s --allow-empty --check-prefix=QUIET-SUCCESS # RUN: dsymutil -verify -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 %p/../Inputs/basic-archive.macho.x86_64 %p/../Inputs/basic-lto.macho.x86_64 %p/../Inputs/basic-lto-dw4.macho.x86_64 -o %t 2>&1 | FileCheck %s --allow-empty --check-prefix=QUIET-SUCCESS
# RUN: llvm-dsymutil -verify -verbose -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 %p/../Inputs/basic-archive.macho.x86_64 %p/../Inputs/basic-lto.macho.x86_64 %p/../Inputs/basic-lto-dw4.macho.x86_64 -o %t 2>&1 | FileCheck %s --check-prefix=QUIET-SUCCESS --check-prefix=VERBOSE # RUN: dsymutil -verify -verbose -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 %p/../Inputs/basic-archive.macho.x86_64 %p/../Inputs/basic-lto.macho.x86_64 %p/../Inputs/basic-lto-dw4.macho.x86_64 -o %t 2>&1 | FileCheck %s --check-prefix=QUIET-SUCCESS --check-prefix=VERBOSE
# VERBOSE: Verifying DWARF for architecture: x86_64 # VERBOSE: Verifying DWARF for architecture: x86_64
# QUIET-SUCCESS-NOT: error: verification failed # QUIET-SUCCESS-NOT: error: verification failed
# Negative tests in regular and verbose mode. # Negative tests in regular and verbose mode.
# (Invalid object generated from ../Inputs/invalid.s by modified the low PC.) # (Invalid object generated from ../Inputs/invalid.s by modified the low PC.)
# RUN: not llvm-dsymutil -verify -oso-prepend-path=%p/../Inputs -y %s -o %t 2>&1 | FileCheck %s --check-prefix=QUIET-FAIL # RUN: not dsymutil -verify -oso-prepend-path=%p/../Inputs -y %s -o %t 2>&1 | FileCheck %s --check-prefix=QUIET-FAIL
# RUN: not llvm-dsymutil -verify -verbose -oso-prepend-path=%p/../Inputs -y %s -o %t 2>&1 | FileCheck %s --check-prefix=QUIET-FAIL --check-prefix=VERBOSE # RUN: not dsymutil -verify -verbose -oso-prepend-path=%p/../Inputs -y %s -o %t 2>&1 | FileCheck %s --check-prefix=QUIET-FAIL --check-prefix=VERBOSE
# QUIET-FAIL: error: verification failed # QUIET-FAIL: error: verification failed

View File

@ -1,4 +1,4 @@
RUN: llvm-dsymutil -dump-debug-map -oso-prepend-path %p %p/Inputs/absolute_sym.macho.i386 | FileCheck %s RUN: dsymutil -dump-debug-map -oso-prepend-path %p %p/Inputs/absolute_sym.macho.i386 | FileCheck %s
The tested object file has been created by the dummy Objective-C code: The tested object file has been created by the dummy Objective-C code:
@interface Foo @interface Foo

View File

@ -1,15 +1,15 @@
Processing of the -arch option happens at debug map parsing time, thus just Processing of the -arch option happens at debug map parsing time, thus just
looking at the dumped debug maps is enough to validate their effects. looking at the dumped debug maps is enough to validate their effects.
RUN: llvm-dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib | FileCheck %s -check-prefix=ARM64 -check-prefix=ARMV7S -check-prefix=ARMV7 -check-prefix=CHECK RUN: dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib | FileCheck %s -check-prefix=ARM64 -check-prefix=ARMV7S -check-prefix=ARMV7 -check-prefix=CHECK
RUN: llvm-dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch all | FileCheck %s -check-prefix=ARM64 -check-prefix=ARMV7S -check-prefix=ARMV7 -check-prefix=CHECK RUN: dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch all | FileCheck %s -check-prefix=ARM64 -check-prefix=ARMV7S -check-prefix=ARMV7 -check-prefix=CHECK
RUN: llvm-dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch='*' | FileCheck %s -check-prefix=ARM64 -check-prefix=ARMV7S -check-prefix=ARMV7 -check-prefix=CHECK RUN: dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch='*' | FileCheck %s -check-prefix=ARM64 -check-prefix=ARMV7S -check-prefix=ARMV7 -check-prefix=CHECK
RUN: llvm-dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch arm64 | FileCheck %s -check-prefix=ARM64 -check-prefix=CHECK RUN: dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch arm64 | FileCheck %s -check-prefix=ARM64 -check-prefix=CHECK
RUN: llvm-dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch arm | FileCheck %s -check-prefix=ARMV7S -check-prefix=ARMV7 -check-prefix=CHECK RUN: dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch arm | FileCheck %s -check-prefix=ARMV7S -check-prefix=ARMV7 -check-prefix=CHECK
RUN: llvm-dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch armv7 | FileCheck %s -check-prefix=ARMV7 -check-prefix=CHECK RUN: dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch armv7 | FileCheck %s -check-prefix=ARMV7 -check-prefix=CHECK
RUN: llvm-dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch arm64 -arch armv7s | FileCheck %s -check-prefix=ARM64 -check-prefix=ARMV7S -check-prefix=CHECK RUN: dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch arm64 -arch armv7s | FileCheck %s -check-prefix=ARM64 -check-prefix=ARMV7S -check-prefix=CHECK
RUN: not llvm-dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch arm42 2>&1 | FileCheck %s -check-prefix=BADARCH RUN: not dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch arm42 2>&1 | FileCheck %s -check-prefix=BADARCH
RUN: not llvm-dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch i386 2>&1 | FileCheck %s -check-prefix=EMPTY RUN: not dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch i386 2>&1 | FileCheck %s -check-prefix=EMPTY
ARMV7: --- ARMV7: ---

View File

@ -1,4 +1,4 @@
# RUN: llvm-dsymutil -no-output -oso-prepend-path=%p -y %s 2>&1 | FileCheck %s # RUN: dsymutil -no-output -oso-prepend-path=%p -y %s 2>&1 | FileCheck %s
# This is the archive member part of basic-archive.macho.x86_64 debug map with corrupted timestamps. # This is the archive member part of basic-archive.macho.x86_64 debug map with corrupted timestamps.

View File

@ -1,7 +1,7 @@
RUN: llvm-dsymutil -no-output -verbose -oso-prepend-path=%p %p/Inputs/basic.macho.x86_64 | FileCheck %s RUN: dsymutil -no-output -verbose -oso-prepend-path=%p %p/Inputs/basic.macho.x86_64 | FileCheck %s
RUN: llvm-dsymutil -no-output -verbose -oso-prepend-path=%p %p/Inputs/basic-lto.macho.x86_64 | FileCheck %s --check-prefix=CHECK-LTO RUN: dsymutil -no-output -verbose -oso-prepend-path=%p %p/Inputs/basic-lto.macho.x86_64 | FileCheck %s --check-prefix=CHECK-LTO
RUN: llvm-dsymutil -no-output -verbose -oso-prepend-path=%p %p/Inputs/basic-archive.macho.x86_64 | FileCheck %s --check-prefix=CHECK-ARCHIVE RUN: dsymutil -no-output -verbose -oso-prepend-path=%p %p/Inputs/basic-archive.macho.x86_64 | FileCheck %s --check-prefix=CHECK-ARCHIVE
RUN: llvm-dsymutil -no-output -verbose -oso-prepend-path=%p %p/Inputs/basic.macho.x86_64 %p/Inputs/basic-lto.macho.x86_64 %p/Inputs/basic-archive.macho.x86_64 | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-LTO --check-prefix=CHECK-ARCHIVE RUN: dsymutil -no-output -verbose -oso-prepend-path=%p %p/Inputs/basic.macho.x86_64 %p/Inputs/basic-lto.macho.x86_64 %p/Inputs/basic-archive.macho.x86_64 | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-LTO --check-prefix=CHECK-ARCHIVE
This test check the basic Dwarf linking process through the debug dumps. This test check the basic Dwarf linking process through the debug dumps.

View File

@ -1,6 +1,6 @@
RUN: llvm-dsymutil -help 2>&1 | FileCheck --check-prefix=HELP %s RUN: dsymutil -help 2>&1 | FileCheck --check-prefix=HELP %s
HELP: OVERVIEW: manipulate archived DWARF debug symbol files. HELP: OVERVIEW: manipulate archived DWARF debug symbol files.
HELP: USAGE: llvm-dsymutil{{[^ ]*}} [options] <input files> HELP: USAGE: dsymutil{{[^ ]*}} [options] <input files>
HELP-NOT: -reverse-iterate HELP-NOT: -reverse-iterate
HELP: Specific Options: HELP: Specific Options:
HELP: -arch=<arch> HELP: -arch=<arch>
@ -21,5 +21,5 @@ HELP: -verify
HELP: -y HELP: -y
HELP-NOT: -reverse-iterate HELP-NOT: -reverse-iterate
RUN: llvm-dsymutil --version 2>&1 | FileCheck --check-prefix=VERSION %s RUN: dsymutil --version 2>&1 | FileCheck --check-prefix=VERSION %s
VERSION: {{ version }} VERSION: {{ version }}

View File

@ -1,8 +1,8 @@
RUN: llvm-dsymutil -dump-debug-map -oso-prepend-path=%p %p/Inputs/basic.macho.x86_64 | FileCheck %s RUN: dsymutil -dump-debug-map -oso-prepend-path=%p %p/Inputs/basic.macho.x86_64 | FileCheck %s
RUN: llvm-dsymutil -dump-debug-map -oso-prepend-path=%p %p/Inputs/basic-lto.macho.x86_64 | FileCheck %s --check-prefix=CHECK-LTO RUN: dsymutil -dump-debug-map -oso-prepend-path=%p %p/Inputs/basic-lto.macho.x86_64 | FileCheck %s --check-prefix=CHECK-LTO
RUN: llvm-dsymutil -verbose -dump-debug-map -oso-prepend-path=%p %p/Inputs/basic-archive.macho.x86_64 | FileCheck %s --check-prefix=CHECK-ARCHIVE RUN: dsymutil -verbose -dump-debug-map -oso-prepend-path=%p %p/Inputs/basic-archive.macho.x86_64 | FileCheck %s --check-prefix=CHECK-ARCHIVE
RUN: llvm-dsymutil -dump-debug-map %p/Inputs/basic.macho.x86_64 2>&1 | FileCheck %s --check-prefix=NOT-FOUND RUN: dsymutil -dump-debug-map %p/Inputs/basic.macho.x86_64 2>&1 | FileCheck %s --check-prefix=NOT-FOUND
RUN: not llvm-dsymutil -dump-debug-map %p/Inputs/inexistant 2>&1 | FileCheck %s --check-prefix=NO-EXECUTABLE RUN: not dsymutil -dump-debug-map %p/Inputs/inexistant 2>&1 | FileCheck %s --check-prefix=NO-EXECUTABLE
Check that We can parse the debug map of the basic executable. Check that We can parse the debug map of the basic executable.

View File

@ -1,5 +1,5 @@
RUN: llvm-dsymutil -s %p/Inputs/fat-test.dylib | FileCheck -check-prefix=ALL -check-prefix=I386 %s RUN: dsymutil -s %p/Inputs/fat-test.dylib | FileCheck -check-prefix=ALL -check-prefix=I386 %s
RUN: llvm-dsymutil -arch i386 -s %p/Inputs/fat-test.dylib | FileCheck -check-prefix=I386 -check-prefix=ONE %s RUN: dsymutil -arch i386 -s %p/Inputs/fat-test.dylib | FileCheck -check-prefix=I386 -check-prefix=ONE %s
ALL: ---------------------------------------------------------------------- ALL: ----------------------------------------------------------------------

View File

@ -1,4 +1,4 @@
RUN: llvm-dsymutil -f -verbose -no-output %p/Inputs/fat-test.dylib -oso-prepend-path %p | FileCheck %s RUN: dsymutil -f -verbose -no-output %p/Inputs/fat-test.dylib -oso-prepend-path %p | FileCheck %s
This test doesn't produce any filesytstem output, we just look at the verbose This test doesn't produce any filesytstem output, we just look at the verbose
log output. log output.

View File

@ -1,4 +1,4 @@
#RUN: llvm-dsymutil -f -oso-prepend-path=%p/Inputs/ -y %s -no-output 2>&1 \ #RUN: dsymutil -f -oso-prepend-path=%p/Inputs/ -y %s -no-output 2>&1 \
#RUN: | FileCheck %s #RUN: | FileCheck %s
# CHECK: warning: could not find referenced DIE # CHECK: warning: could not find referenced DIE
@ -26,7 +26,7 @@
# To generate the debug map: # To generate the debug map:
# #
# $ ld -arch x86_64 -macosx_version_min 10.13.0 -lSystem null_die.o -o null_die # $ ld -arch x86_64 -macosx_version_min 10.13.0 -lSystem null_die.o -o null_die
# $ llvm-dsymutil -dump-debug-map null_die # $ dsymutil -dump-debug-map null_die
--- ---
triple: 'x86_64-apple-darwin' triple: 'x86_64-apple-darwin'

View File

@ -1,4 +1,4 @@
# RUN: llvm-dsymutil -dump-debug-map -oso-prepend-path=%p -y %s | FileCheck %s # RUN: dsymutil -dump-debug-map -oso-prepend-path=%p -y %s | FileCheck %s
# #
# The YAML debug map bellow is the one from basic-archive.macho.x86_64 with # The YAML debug map bellow is the one from basic-archive.macho.x86_64 with
# the object addresses set to zero. Check that the YAML import is able to # the object addresses set to zero. Check that the YAML import is able to

View File

@ -8,7 +8,7 @@ set(LLVM_LINK_COMPONENTS
Target Target
) )
add_llvm_tool(llvm-dsymutil add_llvm_tool(dsymutil
dsymutil.cpp dsymutil.cpp
BinaryHolder.cpp BinaryHolder.cpp
CFBundle.cpp CFBundle.cpp
@ -23,10 +23,10 @@ add_llvm_tool(llvm-dsymutil
) )
if(APPLE) if(APPLE)
target_link_libraries(llvm-dsymutil PRIVATE "-framework CoreFoundation") target_link_libraries(dsymutil PRIVATE "-framework CoreFoundation")
endif(APPLE) endif(APPLE)
if(LLVM_INSTALL_CCTOOLS_SYMLINKS) if(LLVM_INSTALL_CCTOOLS_SYMLINKS)
add_llvm_tool_symlink(dsymutil llvm-dsymutil) add_llvm_tool_symlink(dsymutil dsymutil)
endif() endif()

View File

@ -244,11 +244,10 @@ MappingTraits<dsymutil::DebugMapObject>::YamlDMO::denormalize(IO &IO) {
if (auto EC = ErrOrObjectFiles.getError()) { if (auto EC = ErrOrObjectFiles.getError()) {
warn_ostream() << "Unable to open " << Path << " " << EC.message() << '\n'; warn_ostream() << "Unable to open " << Path << " " << EC.message() << '\n';
} else if (auto ErrOrObjectFile = BinHolder.Get(Ctxt.BinaryTriple)) { } else if (auto ErrOrObjectFile = BinHolder.Get(Ctxt.BinaryTriple)) {
// Rewrite the object file symbol addresses in the debug map. The // Rewrite the object file symbol addresses in the debug map. The YAML
// YAML input is mainly used to test llvm-dsymutil without // input is mainly used to test dsymutil without requiring binaries
// requiring binaries checked-in. If we generate the object files // checked-in. If we generate the object files during the test, we can't
// during the test, we can't hard-code the symbols addresses, so // hard-code the symbols addresses, so look them up here and rewrite them.
// look them up here and rewrite them.
for (const auto &Sym : ErrOrObjectFile->symbols()) { for (const auto &Sym : ErrOrObjectFile->symbols()) {
uint64_t Address = Sym.getValue(); uint64_t Address = Sym.getValue();
Expected<StringRef> Name = Sym.getName(); Expected<StringRef> Name = Sym.getName();

View File

@ -17,6 +17,6 @@
[component_0] [component_0]
type = Tool type = Tool
name = llvm-dsymutil name = dsymutil
parent = Tools parent = Tools
required_libraries = AsmPrinter DebugInfoDWARF MC Object Support all-targets required_libraries = AsmPrinter DebugInfoDWARF MC Object Support all-targets