OLD | NEW |
1 ; Test for a call to __asan_init in _start | 1 ; Test for a call to __asan_init in _start |
2 | 2 |
3 ; REQUIRES: allow_dump | 3 ; REQUIRES: allow_dump |
4 | 4 |
5 ; RUN: %p2i -i %s --args -verbose=inst -threads=0 -fsanitize-address \ | 5 ; RUN: %p2i -i %s --args -verbose=inst -threads=0 -fsanitize-address \ |
6 ; RUN: | FileCheck --check-prefix=DUMP %s | 6 ; RUN: | FileCheck --check-prefix=DUMP %s |
7 | 7 |
8 ; notStart() should not be instrumented | 8 ; notStart() should not be instrumented |
9 define internal void @notStart() { | 9 define internal void @notStart() { |
10 ret void | 10 ret void |
11 } | 11 } |
12 | 12 |
13 ; DUMP-LABEL: define internal void @notStart() { # notStart(i=1:b=1) | 13 ; DUMP-LABEL: ================ Instrumented CFG ================ |
| 14 ; DUMP-NEXT: define internal void @notStart() { |
14 ; DUMP-NEXT: __0: | 15 ; DUMP-NEXT: __0: |
15 ; DUMP-NOT: __asan_init() | 16 ; DUMP-NOT: __asan_init() |
16 ; DUMP: ret void | 17 ; DUMP: ret void |
17 ; DUMP-NEXT: } | 18 ; DUMP-NEXT: } |
18 | 19 |
19 ; _start() should be instrumented | 20 ; _start() should be instrumented |
20 define void @_start() { | 21 define void @_start() { |
21 ret void | 22 ret void |
22 } | 23 } |
23 | 24 |
24 ; DUMP-LABEL: define void @_start() { # _start(i=2:b=1) | 25 ; DUMP-LABEL: ================ Instrumented CFG ================ |
| 26 ; DUMP-NEXT: define void @_start() { |
25 ; DUMP-NEXT: __0: | 27 ; DUMP-NEXT: __0: |
26 ; DUMP-NEXT: call void @__asan_init() | 28 ; DUMP-NEXT: call void @__asan_init() |
27 ; DUMP-NEXT: ret void | 29 ; DUMP-NEXT: ret void |
28 ; DUMP-NEXT: } | 30 ; DUMP-NEXT: } |
OLD | NEW |