Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(163)

Side by Side Diff: tests_lit/asan_tests/globalredzones.ll

Issue 2108083002: Implemented aligning and poisoning global redzones (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Removed casts Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests_lit/asan_tests/errors.ll ('k') | tests_lit/asan_tests/startinitcall.ll » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ; Test of global redzone layout 1 ; Test of global redzone layout
2 2
3 ; REQUIRES: allow_dump 3 ; REQUIRES: allow_dump
4 4
5 ; RUN: %p2i -i %s --args -threads=0 -fsanitize-address \ 5 ; RUN: %p2i -i %s --args -threads=0 -fsanitize-address \
6 ; RUN: | FileCheck %s 6 ; RUN: | FileCheck %s
7 ; RUN: %p2i -i %s --args -verbose=global_init,inst -threads=0 \ 7 ; RUN: %p2i -i %s --args -verbose=global_init,inst -threads=0 \
8 ; RUN: -fsanitize-address | FileCheck --check-prefix=DUMP %s 8 ; RUN: -fsanitize-address | FileCheck --check-prefix=DUMP %s
9 9
10 ; The array of redzones 10 ; The array of redzones
11 11
12 ; DUMP-LABEL: ========= Instrumented Globals ========= 12 ; DUMP-LABEL: ========= Instrumented Globals =========
13 ; DUMP: @__$rz0 = internal constant <{ i32, i32, i32, i32, i32, i32 }> 13 ; DUMP: @__$rz_array = internal constant <{ i32, i32, i32, i32, i32, i32 }>
14 ; DUMP: <{ i32 ptrtoint ([32 x i8]* @__$rz2 to i32), i32 ptrtoint ([32 x i8]* @__$rz3 to i32), 14 ; DUMP: <{ i32 ptrtoint ([32 x i8]* @__$rz0 to i32), i32 ptrtoint ([32 x i8]* @__$rz1 to i32),
15 ; DUMP: i32 ptrtoint ([32 x i8]* @__$rz4 to i32), i32 ptrtoint ([32 x i8 ]* @__$rz5 to i32), 15 ; DUMP: i32 ptrtoint ([32 x i8]* @__$rz2 to i32), i32 ptrtoint ([32 x i8 ]* @__$rz3 to i32),
16 ; DUMP: i32 ptrtoint ([32 x i8]* @__$rz6 to i32), i32 ptrtoint ([32 x i8 ]* @__$rz7 to i32) }> 16 ; DUMP: i32 ptrtoint ([32 x i8]* @__$rz4 to i32), i32 ptrtoint ([32 x i8 ]* @__$rz5 to i32) }>
17 ; DUMP-NEXT: @__$rz1 = internal constant [4 x i8] c"\06\00\00\00"
18 17
19 ; CHECK-LABEL: .type __$rz0,%object 18 ; (SPACE is 32 ascii)
19 ; DUMP-NEXT: @__$rz_sizes = internal constant <{ [4 x i8], [4 x i8], [4 x i8], [ 4 x i8], [4 x i8],
20 ; DUMP-SAME: [4 x i8] }> <{ [4 x i8] c" \00\00\00", [4 x i8] c" \00\00\00", [4 x i8] c" \00\00\00",
21 ; DUMP-SAME: [4 x i8] c" \00\00\00", [4 x i8] c" \00\00\00", [4 x i8] c" \00\00\ 00" }>
22
23 ; CHECK-LABEL: .type __$rz_array,%object
20 ; CHECK-NEXT: .section .rodata 24 ; CHECK-NEXT: .section .rodata
21 ; CHECK-NEXT: __$rz0: 25 ; CHECK-NEXT: __$rz_array:
26 ; CHECK-NEXT: .long __$rz0
27 ; CHECK-NEXT: .long __$rz1
22 ; CHECK-NEXT: .long __$rz2 28 ; CHECK-NEXT: .long __$rz2
23 ; CHECK-NEXT: .long __$rz3 29 ; CHECK-NEXT: .long __$rz3
24 ; CHECK-NEXT: .long __$rz4 30 ; CHECK-NEXT: .long __$rz4
25 ; CHECK-NEXT: .long __$rz5 31 ; CHECK-NEXT: .long __$rz5
26 ; CHECK-NEXT: .long __$rz6 32 ; CHECK-LABEL: .type __$rz_sizes,%object
27 ; CHECK-NEXT: .long __$rz7
28 ; CHECK-LABEL: .type __$rz1,%object
29 ; CHECK-NEXT: .section .rodata 33 ; CHECK-NEXT: .section .rodata
30 ; CHECK-NEXT: __$rz1: 34 ; CHECK-NEXT: __$rz_sizes:
31 ; CHECK-NEXT: .byte 6 35 ; CHECK-NEXT: .byte 32
32 ; CHECK-NEXT: .byte 0 36 ; CHECK-NEXT: .byte 0
33 ; CHECK-NEXT: .byte 0 37 ; CHECK-NEXT: .byte 0
34 ; CHECK-NEXT: .byte 0 38 ; CHECK-NEXT: .byte 0
39 ; CHECK-NEXT: .byte 32
40 ; CHECK-NEXT: .byte 0
41 ; CHECK-NEXT: .byte 0
42 ; CHECK-NEXT: .byte 0
43 ; CHECK-NEXT: .byte 32
44 ; CHECK-NEXT: .byte 0
45 ; CHECK-NEXT: .byte 0
46 ; CHECK-NEXT: .byte 0
47 ; CHECK-NEXT: .byte 32
48 ; CHECK-NEXT: .byte 0
49 ; CHECK-NEXT: .byte 0
50 ; CHECK-NEXT: .byte 0
51 ; CHECK-NEXT: .byte 32
52 ; CHECK-NEXT: .byte 0
53 ; CHECK-NEXT: .byte 0
54 ; CHECK-NEXT: .byte 0
55 ; CHECK-NEXT: .byte 32
56 ; CHECK-NEXT: .byte 0
57 ; CHECK-NEXT: .byte 0
58 ; CHECK-NEXT: .byte 0
35 59
36 ; A zero-initialized global 60 ; A zero-initialized global
37 @zeroInitGlobal = internal global [32 x i8] zeroinitializer 61 @zeroInitGlobal = internal global [32 x i8] zeroinitializer
38 62
39 ; DUMP-NEXT: @__$rz2 = internal global [32 x i8] zeroinitializer 63 ; DUMP-NEXT: @__$rz0 = internal global [32 x i8] zeroinitializer
40 ; DUMP-NEXT: @zeroInitGlobal = internal global [32 x i8] zeroinitializer 64 ; DUMP-NEXT: @zeroInitGlobal = internal global [32 x i8] zeroinitializer
41 ; DUMP-NEXT: @__$rz3 = internal global [32 x i8] zeroinitializer 65 ; DUMP-NEXT: @__$rz1 = internal global [32 x i8] zeroinitializer
42 66
43 ; CHECK-LABEL: .type __$rz2,%object 67 ; CHECK-LABEL: .type __$rz0,%object
44 ; CHECK-NEXT: .section .bss 68 ; CHECK-NEXT: .section .bss
45 ; CHECK-NEXT: __$rz2: 69 ; CHECK-NEXT: .p2align 5
70 ; CHECK-NEXT: __$rz0:
46 ; CHECK-LABEL: .type zeroInitGlobal,%object 71 ; CHECK-LABEL: .type zeroInitGlobal,%object
47 ; CHECK-NEXT: .section .bss 72 ; CHECK-NEXT: .section .bss
73 ; CHECK-NEXT: .p2align 5
48 ; CHECK-NEXT: zeroInitGlobal: 74 ; CHECK-NEXT: zeroInitGlobal:
49 ; CHECK-LABEL: .type __$rz3,%object 75 ; CHECK-LABEL: .type __$rz1,%object
50 ; CHECK-NEXT: .section .bss 76 ; CHECK-NEXT: .section .bss
51 ; CHECK-NEXT: __$rz3: 77 ; CHECK-NEXT: __$rz1:
52 78
53 ; A constant-initialized global 79 ; A constant-initialized global
54 @constInitGlobal = internal constant [32 x i8] c"ABCDEFGHIJKLMNOPQRSTUVWXYZ01234 5" 80 @constInitGlobal = internal constant [32 x i8] c"ABCDEFGHIJKLMNOPQRSTUVWXYZ01234 5"
55 81
56 ; CHECK-LABEL: .type __$rz4,%object 82 ; CHECK-LABEL: .type __$rz2,%object
57 ; CHECK-NEXT: .section .rodata 83 ; CHECK-NEXT: .section .rodata
58 ; CHECK-NEXT: __$rz4: 84 ; CHECK-NEXT: .p2align 5
85 ; CHECK-NEXT: __$rz2:
59 ; CHECK-LABEL: .type constInitGlobal,%object 86 ; CHECK-LABEL: .type constInitGlobal,%object
60 ; CHECK-NEXT: .section .rodata 87 ; CHECK-NEXT: .section .rodata
88 ; CHECK-NEXT: .p2align 5
61 ; CHECK-NEXT: constInitGlobal: 89 ; CHECK-NEXT: constInitGlobal:
62 ; CHECK-LABEL: .type __$rz5,%object 90 ; CHECK-LABEL: .type __$rz3,%object
63 ; CHECK-NEXT: .section .rodata 91 ; CHECK-NEXT: .section .rodata
64 ; CHECK-NEXT: __$rz5: 92 ; CHECK-NEXT: __$rz3:
65 93
66 ; DUMP-NEXT: @__$rz4 = internal constant [32 x i8] c"RRRRRRRRRRRRRRRRRRRRRRRRRRR RRRRR" 94 ; DUMP-NEXT: @__$rz2 = internal constant [32 x i8] c"RRRRRRRRRRRRRRRRRRRRRRRRRRR RRRRR"
67 ; DUMP-NEXT: @constInitGlobal = internal constant [32 x i8] c"ABCDEFGHIJKLMNOPQR STUVWXYZ012345" 95 ; DUMP-NEXT: @constInitGlobal = internal constant [32 x i8] c"ABCDEFGHIJKLMNOPQR STUVWXYZ012345"
68 ; DUMP-NEXT: @__$rz5 = internal constant [32 x i8] c"RRRRRRRRRRRRRRRRRRRRRRRRRRR RRRRR" 96 ; DUMP-NEXT: @__$rz3 = internal constant [32 x i8] c"RRRRRRRRRRRRRRRRRRRRRRRRRRR RRRRR"
69 97
70 ; A regular global 98 ; A regular global
71 @regInitGlobal = internal global [32 x i8] c"ABCDEFGHIJKLMNOPQRSTUVWXYZ012345" 99 @regInitGlobal = internal global [32 x i8] c"ABCDEFGHIJKLMNOPQRSTUVWXYZ012345"
72 100
73 ; DUMP-NEXT: @__$rz6 = internal global [32 x i8] c"RRRRRRRRRRRRRRRRRRRRRRRRRRRRR RRR" 101 ; DUMP-NEXT: @__$rz4 = internal global [32 x i8] c"RRRRRRRRRRRRRRRRRRRRRRRRRRRRR RRR"
74 ; DUMP-NEXT: @regInitGlobal = internal global [32 x i8] c"ABCDEFGHIJKLMNOPQRSTUV WXYZ012345" 102 ; DUMP-NEXT: @regInitGlobal = internal global [32 x i8] c"ABCDEFGHIJKLMNOPQRSTUV WXYZ012345"
75 ; DUMP-NEXT: @__$rz7 = internal global [32 x i8] c"RRRRRRRRRRRRRRRRRRRRRRRRRRRRR RRR" 103 ; DUMP-NEXT: @__$rz5 = internal global [32 x i8] c"RRRRRRRRRRRRRRRRRRRRRRRRRRRRR RRR"
76 104
77 ; CHECK-LABEL: .type __$rz6,%object 105 ; CHECK-LABEL: .type __$rz4,%object
78 ; CHECK-NEXT: .section .data 106 ; CHECK-NEXT: .section .data
79 ; CHECK-NEXT: __$rz6: 107 ; CHECK-NEXT: .p2align 5
108 ; CHECK-NEXT: __$rz4:
80 ; CHECK-LABEL: .type regInitGlobal,%object 109 ; CHECK-LABEL: .type regInitGlobal,%object
81 ; CHECK-NEXT: .section .data 110 ; CHECK-NEXT: .section .data
111 ; CHECK-NEXT: .p2align 5
82 ; CHECK-NEXT: regInitGlobal: 112 ; CHECK-NEXT: regInitGlobal:
83 ; CHECK-LABEL: .type __$rz7,%object 113 ; CHECK-LABEL: .type __$rz5,%object
84 ; CHECK-NEXT: .section .data 114 ; CHECK-NEXT: .section .data
85 ; CHECK-NEXT: __$rz7: 115 ; CHECK-NEXT: __$rz5:
86 116
87 define internal void @func() { 117 define internal void @func() {
88 ret void 118 ret void
89 } 119 }
90 120
91 ; DUMP-LABEL: define internal void @func() { 121 ; DUMP-LABEL: define internal void @func() {
92 ; CHECK-LABEL: func: 122 ; CHECK-LABEL: func:
OLDNEW
« no previous file with comments | « tests_lit/asan_tests/errors.ll ('k') | tests_lit/asan_tests/startinitcall.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698