Imported Upstream version 6.10.0.49

Former-commit-id: 1d6753294b2993e1fbf92de9366bb9544db4189b
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2020-01-16 16:38:04 +00:00
parent d94e79959b
commit 468663ddbb
48518 changed files with 2789335 additions and 61176 deletions

View File

@ -0,0 +1,15 @@
# This is a dummy debug map used for some tests where the contents of the
# map are just an implementation detail. The tests wanting to use that file
# should put all there object files in an explicitely named sub-directory
# of Inputs, and they should be named 1.o, 2.o, ...
# As not finding an object file or symbols isn't a fatal error for dsymutil,
# you can extend this file with as much object files and symbols as needed.
---
triple: 'arm64-apple-darwin'
objects:
- filename: 1.o
symbols:
- { sym: _bar, objAddr: 0x0, binAddr: 0x10000, size: 0x10 }
...

View File

@ -0,0 +1,15 @@
# This is a dummy debug map used for some tests where the contents of the
# map are just an implementation detail. The tests wanting to use that file
# should put all there object files in an explicitely named sub-directory
# of Inputs, and they should be named 1.o, 2.o, ...
# As not finding an object file or symbols isn't a fatal error for dsymutil,
# you can extend this file with as much object files and symbols as needed.
---
triple: 'armv7-apple-darwin'
objects:
- filename: 1.o
symbols:
- { sym: _bar, objAddr: 0x0, binAddr: 0x10000, size: 0x10 }
...

View File

@ -0,0 +1,8 @@
# REQUIRES: object-emission
# RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs -y %s -o - 2>&1 | FileCheck %s
---
triple: 'thumbv7-apple-darwin'
...
# CHECK: warning: no debug symbols in executable (-arch armv7)

View File

@ -0,0 +1,21 @@
# REQUIRES: object-emission
# RUN: llvm-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
# that are guaranteed to be able to generate a Target instance (for example
# we would detect armv7m-apple-darwin as non-thumb triple, but you can't
# instantiate a Target from that). In the user-visible architecture names, and
# in the lipo invocation, we need to rewrite the thumb arch names to the arm
# ones.
# CHECK: warning: no debug symbols in executable (-arch armv7)
# CHECK: warning: no debug symbols in executable (-arch armv7s)
# CHECK: warning: no debug symbols in executable (-arch arm64)
# CHECK: Running lipo
# CHECK-NEXT: lipo -create
# CHECK-SAME: -segalign armv7
# CHECK-SAME: -segalign armv7s
# CHECK-SAME: -segalign arm64

View File

@ -0,0 +1,13 @@
# REQUIRES: object-emission
# RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs -y %s -o - 2>&1 | FileCheck %s
---
triple: 'armv7-apple-darwin'
objects:
- filename: libfat-test.a(fat-test.o)
symbols:
- { sym: _armv7_var, objAddr: 0x0, binAddr: 0x1000, size: 0x4 }
...
# CHECK: libfat-test.a(fat-test.o): No object file for requested architecture

View File

@ -0,0 +1,4 @@
# REQUIRES: object-emission
# By default, dsymutil spawns one thread per architecture and this test just
# 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

View File

@ -0,0 +1,15 @@
/* Compiled with: clang -arch=arm64 -O2 -g -c inlined_low_pc.c */
static int foo(int i) { return 42 + i; }
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
// CHECK: DW_TAG_subprogram
// CHECK: DW_AT_low_pc{{.*}}0x0000000000010000
// CHECK: DW_AT_name{{.*}}"bar"
// CHECK-NOT: NULL
// CHECK: DW_TAG_inlined_subroutine
// CHECK-NEXT: DW_AT_abstract_origin{{.*}}"foo"
// CHECK-NEXT: DW_AT_low_pc{{.*}}0x0000000000010000

View File

@ -0,0 +1,7 @@
if not 'ARM' in config.root.targets:
config.unsupported = True
if not 'AArch64' in config.root.targets:
config.unsupported = True
config.suffixes = ['.test', '.cpp', '.c']

View File

@ -0,0 +1,11 @@
RUN: llvm-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
// actually works.
int bar = 42;
CHECK: DW_TAG_variable
CHECK-NOT: DW_TAG
CHECK: DW_AT_name{{.*}}
"bar" CHECK - NOT : DW_TAG
CHECK : DW_AT_location{{.*}}(DW_OP_addr 0x10010)

View File

@ -0,0 +1,13 @@
// RUN: llvm-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
/* Compile with:
clang -c thumb.c -arch armv7m -g
clang thumb.o -o thumb.armv7m -arch armv7m -nostdlib -static -Wl,-e,_start
*/
void start() {
}
CHECK: DW_AT_name{{.*}}"thumb.c"
CHECK: DW_AT_name{{.*}}"start"

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleIdentifier</key>
<string>custom</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>dSYM</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleShortVersionString</key>
<string>2.0</string>
<key>CFBundleVersion</key>
<string>2</string>
</dict>
</plist>

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,28 @@
/* This is the main file used to produce the basic* objects that are
used for the dsymutil tests.
These are compiled in a couple of different ways (always on a
Darwin system):
Basic compilation:
for FILE in basic1.c basic2.c basic3.c; do
clang -g -c $FILE -o ${FILE%.c}.macho.x86_64.o
done
clang basic1.macho.x86_64.o basic2.macho.x86_64.o basic3.macho.x86_64.o -o basic.macho.x86_64 -Wl,-dead_strip
LTO compilation:
for FILE in basic1.c basic2.c basic3.c; do
clang -g -c -flto $FILE -o ${FILE%.c}-lto.o
done
clang basic1-lto.o basic2-lto.o basic3-lto.o -o basic-lto.macho.x86_64 -Wl,-object_path_lto,$PWD/basic-lto.macho.x86_64.o -Wl,-dead_strip
rm basic1-lto.o basic2-lto.o basic3-lto.o
Archive compilation (after basic compilation):
ar -q libbasic.a basic2.macho.x86_64.o basic3.macho.x86_64.o
clang basic1.macho.x86_64.o -lbasic -o basic-archive.macho.x86_64 -Wl,-dead_strip -L.
*/
int foo(int);
int main(int argc, const char *argv[]) {
return foo(argc);
}

Some files were not shown because too many files have changed in this diff Show More