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