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 | 0d202ff | 2016-02-27 02:21:44 +0000 | [diff] [blame] | 5 | |
Reid Kleckner | 0881472 | 2016-08-10 20:08:19 +0000 | [diff] [blame] | 6 | LINUX: 0x4e132b |
| 7 | LINUX: 0x4e1472 |
| 8 | LINUX: 0x4e14c2 |
| 9 | LINUX: 0x4e1520 |
| 10 | LINUX: 0x4e1553 |
| 11 | LINUX: 0x4e1586 |
| 12 | LINUX: 0x4e1635 |
| 13 | LINUX: 0x4e1690 |
| 14 | LINUX: 0x4e178c |
Mike Aizatsky | 0d202ff | 2016-02-27 02:21:44 +0000 | [diff] [blame] | 15 | |
Reid Kleckner | 0881472 | 2016-08-10 20:08:19 +0000 | [diff] [blame] | 16 | The coverage PCs should be equal to the return address of the call minus one. A |
| 17 | direct call is five bytes, so the coverage PCs should be call PC plus four. |
| 18 | |
| 19 | DISAS_WIN: 14000103f: {{.*}} callq {{.*}} <__sanitizer_cov> |
| 20 | WINDOWS: 0x140001043 |
| 21 | DISAS_WIN: 140001074: {{.*}} callq {{.*}} <__sanitizer_cov> |
| 22 | WINDOWS: 0x140001078 |
| 23 | DISAS_WIN: 1400011df: {{.*}} callq {{.*}} <__sanitizer_cov> |
| 24 | WINDOWS: 0x1400011e3 |
| 25 | DISAS_WIN: 140001227: {{.*}} callq {{.*}} <__sanitizer_cov> |
| 26 | WINDOWS: 0x14000122b |
| 27 | DISAS_WIN: 14000147e: {{.*}} callq {{.*}} <__sanitizer_cov> |
| 28 | WINDOWS: 0x140001482 |
| 29 | DISAS_WIN: 1400015b6: {{.*}} callq {{.*}} <__sanitizer_cov> |
| 30 | WINDOWS: 0x1400015ba |
| 31 | DISAS_WIN: 140001629: {{.*}} callq {{.*}} <__sanitizer_cov> |
| 32 | WINDOWS: 0x14000162d |
| 33 | DISAS_WIN: 140001664: {{.*}} callq {{.*}} <__sanitizer_cov> |
| 34 | WINDOWS: 0x140001668 |
| 35 | DISAS_WIN: 1400016f2: {{.*}} callq {{.*}} <__sanitizer_cov> |
| 36 | WINDOWS: 0x1400016f6 |