53 lines · plain
1RUN: echo 0x401380 > %t.input2RUN: echo 0x401390 >> %t.input3RUN: echo 0x4013A0 >> %t.input4RUN: echo 0x4013C0 >> %t.input5RUN: echo 0x4013D0 >> %t.input6RUN: echo 0x4013E0 >> %t.input7RUN: echo 0x4013F0 >> %t.input8RUN: echo 0x401420 >> %t.input9RUN: llvm-symbolizer --obj="%p/Inputs/test.exe" < %t.input \10RUN: | FileCheck %s11RUN: llvm-symbolizer --obj="%p/Inputs/test.exe" --no-demangle < %t.input \12RUN: | FileCheck %s --check-prefix=CHECK-NO-DEMANGLE13 14; Check that -dia works15RUN: llvm-symbolizer --dia --obj="%p/Inputs/test.exe" < %t.input \16RUN: | FileCheck %s17RUN: llvm-symbolizer --dia --obj="%p/Inputs/test.exe" --no-demangle < %t.input \18RUN: | FileCheck %s --check-prefix=CHECK-NO-DEMANGLE19 20 21Subtract ImageBase from all the offsets and run the test again with22--relative-address.23 24RUN: %python -c 'import sys;print("\n".join([hex(int(x, 16) - 0x400000) for x in sys.stdin]))' < %t.input \25RUN: | llvm-symbolizer --obj="%p/Inputs/test.exe" --no-demangle --relative-address \26RUN: | FileCheck %s --check-prefix=CHECK-NO-DEMANGLE27 28CHECK: foo(void)29CHECK-NEXT: test.cpp:1030CHECK: {{^private_symbol$}}31CHECK-NEXT: test.cpp:13:032CHECK: {{^main}}33CHECK-NEXT: test.cpp:16:034CHECK: {{^foo_cdecl$}}35CHECK: {{^foo_stdcall$}}36CHECK: {{^foo_fastcall$}}37CHECK: {{^foo_vectorcall$}}38CHECK: NS::Foo::bar(void)39CHECK-NEXT: test.cpp:6:040 41CHECK-NO-DEMANGLE: ?foo@@YAXXZ42CHECK-NO-DEMANGLE-NEXT: test.cpp:1043CHECK-NO-DEMANGLE: private_symbol44CHECK-NO-DEMANGLE-NEXT: test.cpp:1345CHECK-NO-DEMANGLE: _main46CHECK-NO-DEMANGLE-NEXT: test.cpp:1647CHECK-NO-DEMANGLE: _foo_cdecl48CHECK-NO-DEMANGLE: _foo_stdcall@049CHECK-NO-DEMANGLE: @foo_fastcall@050CHECK-NO-DEMANGLE: foo_vectorcall@@051CHECK-NO-DEMANGLE: ?bar@Foo@NS@@QAEXXZ52CHECK-NO-DEMANGLE-NEXT: test.cpp:653