diff options
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/tools/llvm-symbolizer/Inputs/coff-dwarf.cpp | 2 | ||||
-rw-r--r-- | llvm/test/tools/llvm-symbolizer/Inputs/coff-exports.cpp | 20 | ||||
-rw-r--r-- | llvm/test/tools/llvm-symbolizer/Inputs/coff-exports.exe | bin | 0 -> 8192 bytes | |||
-rw-r--r-- | llvm/test/tools/llvm-symbolizer/coff-exports.test | 17 |
4 files changed, 38 insertions, 1 deletions
diff --git a/llvm/test/tools/llvm-symbolizer/Inputs/coff-dwarf.cpp b/llvm/test/tools/llvm-symbolizer/Inputs/coff-dwarf.cpp index 9741439cdcf..3a832a9fcff 100644 --- a/llvm/test/tools/llvm-symbolizer/Inputs/coff-dwarf.cpp +++ b/llvm/test/tools/llvm-symbolizer/Inputs/coff-dwarf.cpp @@ -1,5 +1,5 @@ // To generate the corresponding EXE, run: -// clang-cl -O2 -gdwarf -c coff-dwarf.cpp && lld-link -debug coff-dwarf.obj +// clang-cl -MD -O2 -gdwarf -c coff-dwarf.cpp && lld-link -debug coff-dwarf.obj extern "C" int puts(const char *str); diff --git a/llvm/test/tools/llvm-symbolizer/Inputs/coff-exports.cpp b/llvm/test/tools/llvm-symbolizer/Inputs/coff-exports.cpp new file mode 100644 index 00000000000..23b44b32902 --- /dev/null +++ b/llvm/test/tools/llvm-symbolizer/Inputs/coff-exports.cpp @@ -0,0 +1,20 @@ +// To generate the corresponding EXE, run: +// clang-cl -MD -c coff-exports.cpp && lld-link /MANIFEST:NO coff-exports.obj + +#define EXPORT __declspec(dllexport) + +extern "C" int puts(const char *str); + +EXPORT void __declspec(noinline) foo() { + puts("foo1"); + puts("foo2"); +} + +void bar() { + foo(); +} + +EXPORT int main() { + bar(); + return 0; +} diff --git a/llvm/test/tools/llvm-symbolizer/Inputs/coff-exports.exe b/llvm/test/tools/llvm-symbolizer/Inputs/coff-exports.exe Binary files differnew file mode 100644 index 00000000000..939205e3f82 --- /dev/null +++ b/llvm/test/tools/llvm-symbolizer/Inputs/coff-exports.exe diff --git a/llvm/test/tools/llvm-symbolizer/coff-exports.test b/llvm/test/tools/llvm-symbolizer/coff-exports.test new file mode 100644 index 00000000000..7283acda2fc --- /dev/null +++ b/llvm/test/tools/llvm-symbolizer/coff-exports.test @@ -0,0 +1,17 @@ +RUN: grep '^ADDR:' %s | sed -s 's/ADDR: //' \ +RUN: | llvm-symbolizer --inlining --relative-address -obj="%p/Inputs/coff-exports.exe" \ +RUN: | FileCheck %s + +ADDR: 0x500A +ADDR: 0x5038 +ADDR: 0x504B + +We get the expected stack trace, except 'foo' appears for the 'bar' frame +because 'bar' isn't in the export table. + +CHECK: foo(void) +CHECK: ??:0:0 +CHECK: foo(void) +CHECK: ??:0:0 +CHECK: main +CHECK: ??:0:0 |