| REQUIRES: x86-registered-target | |
| RUN: sancov -print-coverage-pcs %p/Inputs/test-linux_x86_64 | FileCheck %s --check-prefix=LINUX | |
| RUN: llvm-objdump -d %p/Inputs/test-windows_x86_64 | FileCheck %s --check-prefix=DISAS_WIN | |
| RUN: sancov -print-coverage-pcs %p/Inputs/test-windows_x86_64 | FileCheck %s --check-prefix=WINDOWS | |
| RUN: sancov -print-coverage-pcs %p/Inputs/test-darwin_x86_64 | FileCheck %s --check-prefix=DARWIN | |
| LINUX: 0x4e132b | |
| LINUX: 0x4e1472 | |
| LINUX: 0x4e14c2 | |
| LINUX: 0x4e1520 | |
| LINUX: 0x4e1553 | |
| LINUX: 0x4e1586 | |
| LINUX: 0x4e1635 | |
| LINUX: 0x4e1690 | |
| LINUX: 0x4e178c | |
| The coverage PCs should be equal to the return address of the call minus one. A | |
| direct call is five bytes, so the coverage PCs should be call PC plus four. | |
| DISAS_WIN: 14000103f: {{.*}} callq {{.*}} <__sanitizer_cov> | |
| WINDOWS: 0x140001043 | |
| DISAS_WIN: 140001074: {{.*}} callq {{.*}} <__sanitizer_cov> | |
| WINDOWS: 0x140001078 | |
| DISAS_WIN: 1400011df: {{.*}} callq {{.*}} <__sanitizer_cov> | |
| WINDOWS: 0x1400011e3 | |
| DISAS_WIN: 140001227: {{.*}} callq {{.*}} <__sanitizer_cov> | |
| WINDOWS: 0x14000122b | |
| DISAS_WIN: 14000147e: {{.*}} callq {{.*}} <__sanitizer_cov> | |
| WINDOWS: 0x140001482 | |
| DISAS_WIN: 1400015b6: {{.*}} callq {{.*}} <__sanitizer_cov> | |
| WINDOWS: 0x1400015ba | |
| DISAS_WIN: 140001629: {{.*}} callq {{.*}} <__sanitizer_cov> | |
| WINDOWS: 0x14000162d | |
| DISAS_WIN: 140001664: {{.*}} callq {{.*}} <__sanitizer_cov> | |
| WINDOWS: 0x140001668 | |
| DISAS_WIN: 1400016f2: {{.*}} callq {{.*}} <__sanitizer_cov> | |
| WINDOWS: 0x1400016f6 | |
| CHECK: 0x4e132b | |
| CHECK: 0x4e1472 | |
| CHECK: 0x4e14c2 | |
| CHECK: 0x4e1520 | |
| CHECK: 0x4e1553 | |
| CHECK: 0x4e1586 | |
| CHECK: 0x4e1635 | |
| CHECK: 0x4e1690 | |
| CHECK: 0x4e178c | |
| DARWIN: 0x100001527 | |
| DARWIN: 0x100001668 | |
| DARWIN: 0x1000016b7 | |
| DARWIN: 0x1000016dd | |
| DARWIN: 0x10000179d | |
| DARWIN: 0x1000017cc | |
| DARWIN: 0x10000189d | |
| DARWIN: 0x1000018e0 | |
| DARWIN: 0x100001906 | |
| DARWIN: 0x1000019dc | |
| DARWIN: 0x100001a28 | |