blob: 3e3358cb0746fcac804991a52bc04d5973f785e0 [file] [log] [blame]
Reid Kleckner260ac882016-08-10 19:03:18 +00001REQUIRES: x86-registered-target
Reid Kleckner08814722016-08-10 20:08:19 +00002RUN: sancov -print-coverage-pcs %p/Inputs/test-linux_x86_64 | FileCheck %s --check-prefix=LINUX
3RUN: llvm-objdump -d %p/Inputs/test-windows_x86_64 | FileCheck %s --check-prefix=DISAS_WIN
4RUN: sancov -print-coverage-pcs %p/Inputs/test-windows_x86_64 | FileCheck %s --check-prefix=WINDOWS
Mike Aizatsky3c4d60a2016-08-12 19:25:59 +00005RUN: sancov -print-coverage-pcs %p/Inputs/test-darwin_x86_64 | FileCheck %s --check-prefix=DARWIN
Mike Aizatskyf4fdb5d2016-08-12 20:28:05 +00006RUN: not sancov -print-coverage-pcs %p/Inputs/test-linux_android_aarch64 2>&1 | FileCheck %s --check-prefix=AARCH64
Mike Aizatsky0d202ff2016-02-27 02:21:44 +00007
Reid Kleckner08814722016-08-10 20:08:19 +00008LINUX: 0x4e132b
9LINUX: 0x4e1472
10LINUX: 0x4e14c2
11LINUX: 0x4e1520
12LINUX: 0x4e1553
13LINUX: 0x4e1586
14LINUX: 0x4e1635
15LINUX: 0x4e1690
16LINUX: 0x4e178c
Mike Aizatsky0d202ff2016-02-27 02:21:44 +000017
Reid Kleckner08814722016-08-10 20:08:19 +000018The coverage PCs should be equal to the return address of the call minus one. A
19direct call is five bytes, so the coverage PCs should be call PC plus four.
20
21DISAS_WIN: 14000103f: {{.*}} callq {{.*}} <__sanitizer_cov>
22WINDOWS: 0x140001043
23DISAS_WIN: 140001074: {{.*}} callq {{.*}} <__sanitizer_cov>
24WINDOWS: 0x140001078
25DISAS_WIN: 1400011df: {{.*}} callq {{.*}} <__sanitizer_cov>
26WINDOWS: 0x1400011e3
27DISAS_WIN: 140001227: {{.*}} callq {{.*}} <__sanitizer_cov>
28WINDOWS: 0x14000122b
29DISAS_WIN: 14000147e: {{.*}} callq {{.*}} <__sanitizer_cov>
30WINDOWS: 0x140001482
31DISAS_WIN: 1400015b6: {{.*}} callq {{.*}} <__sanitizer_cov>
32WINDOWS: 0x1400015ba
33DISAS_WIN: 140001629: {{.*}} callq {{.*}} <__sanitizer_cov>
34WINDOWS: 0x14000162d
35DISAS_WIN: 140001664: {{.*}} callq {{.*}} <__sanitizer_cov>
36WINDOWS: 0x140001668
37DISAS_WIN: 1400016f2: {{.*}} callq {{.*}} <__sanitizer_cov>
38WINDOWS: 0x1400016f6
Mike Aizatsky3c4d60a2016-08-12 19:25:59 +000039
40CHECK: 0x4e132b
41CHECK: 0x4e1472
42CHECK: 0x4e14c2
43CHECK: 0x4e1520
44CHECK: 0x4e1553
45CHECK: 0x4e1586
46CHECK: 0x4e1635
47CHECK: 0x4e1690
48CHECK: 0x4e178c
49
50DARWIN: 0x100001527
51DARWIN: 0x100001668
52DARWIN: 0x1000016b7
53DARWIN: 0x1000016dd
54DARWIN: 0x10000179d
55DARWIN: 0x1000017cc
56DARWIN: 0x10000189d
57DARWIN: 0x1000018e0
58DARWIN: 0x100001906
59DARWIN: 0x1000019dc
60DARWIN: 0x100001a28
Mike Aizatskyf4fdb5d2016-08-12 20:28:05 +000061
62AARCH64: Error: __sanitizer_cov* functions not found
63