Imported Upstream version 5.18.0.205

Former-commit-id: 7f59f7e792705db773f1caecdaa823092f4e2927
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2018-11-16 08:20:38 +00:00
parent 5cd5df71cc
commit 8e12397d70
28486 changed files with 3867013 additions and 66 deletions

View File

@ -0,0 +1,29 @@
// To generate the corresponding EXE/PDB, run:
// cl /Zi test.cpp
namespace NS {
struct Foo {
void bar() {}
};
}
void foo() {
}
static void private_symbol() {
}
int main() {
foo();
NS::Foo f;
f.bar();
private_symbol();
}
extern "C" {
void __cdecl foo_cdecl() {}
void __stdcall foo_stdcall() {}
void __fastcall foo_fastcall() {}
void __vectorcall foo_vectorcall() {}
}

View File

@ -0,0 +1 @@
9d9086874e5f94e9b0202df916e044a1665c0a0a

View File

@ -0,0 +1 @@
config.unsupported = not config.have_dia_sdk

View File

@ -0,0 +1,17 @@
RUN: grep '^ADDR:' %s | sed -s 's/ADDR: //' \
RUN: | llvm-symbolizer -obj="%p/Inputs/missing_pdb.exe" 2>%t.err \
RUN: | FileCheck %s
RUN: FileCheck --check-prefix=ERROR %s < %t.err
ADDR: 0x401000
ADDR: 0x401001
llvm-symbolizer should print one error and two unknown line info records.
ERROR: LLVMSymbolizer: error reading file: PDB Error: Unable to load PDB. Make sure the file exists and is readable.
ERROR-NOT: error reading file
CHECK: ??
CHECK: ??:0:0
CHECK: ??
CHECK: ??:0:0

View File

@ -0,0 +1,49 @@
RUN: grep '^ADDR:' %s | sed -s 's/ADDR: //' \
RUN: | llvm-symbolizer -obj="%p/Inputs/test.exe" \
RUN: | FileCheck %s
RUN: grep '^ADDR:' %s | sed -s 's/ADDR: //' \
RUN: | llvm-symbolizer -obj="%p/Inputs/test.exe" -demangle=false \
RUN: | FileCheck %s --check-prefix=CHECK-NO-DEMANGLE
Subtract ImageBase from all the offsets and run the test again with
--relative-address.
RUN: grep '^ADDR:' %s | sed -s 's/ADDR: //' \
RUN: | %python -c 'import sys;print("\n".join([hex(int(x, 16) - 0x400000) for x in sys.stdin]))' \
RUN: | llvm-symbolizer -obj="%p/Inputs/test.exe" -demangle=false --relative-address \
RUN: | FileCheck %s --check-prefix=CHECK-NO-DEMANGLE
ADDR: 0x401380
ADDR: 0x401390
ADDR: 0x4013A0
ADDR: 0x4013C0
ADDR: 0x4013D0
ADDR: 0x4013E0
ADDR: 0x4013F0
ADDR: 0x401420
CHECK: foo(void)
CHECK-NEXT: test.cpp:10
CHECK: {{^private_symbol$}}
CHECK-NEXT: test.cpp:13:0
CHECK: {{^main}}
CHECK-NEXT: test.cpp:16:0
CHECK: {{^foo_cdecl$}}
CHECK: {{^foo_stdcall$}}
CHECK: {{^foo_fastcall$}}
CHECK: {{^foo_vectorcall$}}
CHECK: NS::Foo::bar(void)
CHECK-NEXT: test.cpp:6:0
CHECK-NO-DEMANGLE: ?foo@@YAXXZ
CHECK-NO-DEMANGLE-NEXT: test.cpp:10
CHECK-NO-DEMANGLE: private_symbol
CHECK-NO-DEMANGLE-NEXT: test.cpp:13
CHECK-NO-DEMANGLE: _main
CHECK-NO-DEMANGLE-NEXT: test.cpp:16
CHECK-NO-DEMANGLE: _foo_cdecl
CHECK-NO-DEMANGLE: _foo_stdcall@0
CHECK-NO-DEMANGLE: @foo_fastcall@0
CHECK-NO-DEMANGLE: foo_vectorcall@@0
CHECK-NO-DEMANGLE: ?bar@Foo@NS@@QAEXXZ
CHECK-NO-DEMANGLE-NEXT: test.cpp:6