@@ -12,7 +12,7 @@ target triple = "x86_64-unknown-linux-gnu"
12
12
@blocked_global = global i32 0 , align 4
13
13
@_ZZ4funcvE10static_var = internal global i32 0 , align 4
14
14
@.str = private unnamed_addr constant [14 x i8 ] c "Hello, world!\00 " , align 1
15
- @llvm.global_ctors = appending global [1 x { i32 , void ()*, i8* }] [{ i32 , void ()*, i8* } { i32 65535 , void ()* @_GLOBAL__sub_I_asan_globals.cpp , i8* null }]
15
+ @llvm.global_ctors = appending global [1 x { i32 , ptr , ptr }] [{ i32 , ptr , ptr } { i32 65535 , ptr @_GLOBAL__sub_I_asan_globals.cpp , ptr null }]
16
16
17
17
; Check that globals were instrumented:
18
18
@@ -21,31 +21,31 @@ target triple = "x86_64-unknown-linux-gnu"
21
21
22
22
; Check emitted location descriptions:
23
23
; CHECK: [[VARNAME:@___asan_gen_.[0-9]+]] = private unnamed_addr constant [7 x i8] c"global\00", align 1
24
- ; NOALIAS: @__asan_global_global = {{.*}}i64 ptrtoint ({ i32, [28 x i8] }* @global to i64){{.*}} section "asan_globals"{{.*}}, !associated
25
- ; NOALIAS: @__asan_global_.str = {{.*}}i64 ptrtoint ({ [14 x i8], [18 x i8] }* @{{.str|1}} to i64){{.*}} section "asan_globals"{{.*}}, !associated
26
- ; ALIAS: @__asan_global_global = {{.*}}i64 ptrtoint ({ i32, [28 x i8] }* @0 to i64){{.*}} section "asan_globals"{{.*}}, !associated
27
- ; ALIAS: @__asan_global_.str = {{.*}}i64 ptrtoint ({ [14 x i8], [18 x i8] }* @4 to i64){{.*}} section "asan_globals"{{.*}}, !associated
24
+ ; NOALIAS: @__asan_global_global = {{.*}}i64 ptrtoint (ptr @global to i64){{.*}} section "asan_globals"{{.*}}, !associated
25
+ ; NOALIAS: @__asan_global_.str = {{.*}}i64 ptrtoint (ptr @{{.str|1}} to i64){{.*}} section "asan_globals"{{.*}}, !associated
26
+ ; ALIAS: @__asan_global_global = {{.*}}i64 ptrtoint (ptr @0 to i64){{.*}} section "asan_globals"{{.*}}, !associated
27
+ ; ALIAS: @__asan_global_.str = {{.*}}i64 ptrtoint (ptr @4 to i64){{.*}} section "asan_globals"{{.*}}, !associated
28
28
29
29
; The metadata has to be inserted to llvm.compiler.used to avoid being stripped
30
30
; during LTO.
31
- ; CHECK: @llvm.compiler.used {{.*}} @__asan_global_global {{.*}} section "llvm.metadata"
31
+ ; CHECK: @llvm.compiler.used = appending global [10 x ptr] [ptr @global, ptr @dyn_init_global, ptr @blocked_global, ptr @_ZZ4funcvE10static_var, ptr @.str, ptr @__asan_global_global, ptr @__asan_global_dyn_init_global, ptr @__asan_global_blocked_global, ptr @__asan_global__ZZ4funcvE10static_var, ptr @__asan_global_.str], section "llvm.metadata"
32
32
33
33
; Check that location descriptors and global names were passed into __asan_register_globals:
34
- ; CHECK: call void @__asan_register_elf_globals(i64 ptrtoint (i64* @___asan_globals_registered to i64), i64 ptrtoint (i64* @__start_asan_globals to i64), i64 ptrtoint (i64* @__stop_asan_globals to i64))
34
+ ; CHECK: call void @__asan_register_elf_globals(i64 ptrtoint (ptr @___asan_globals_registered to i64), i64 ptrtoint (ptr @__start_asan_globals to i64), i64 ptrtoint (ptr @__stop_asan_globals to i64))
35
35
36
36
; Function Attrs: nounwind sanitize_address
37
37
define internal void @__cxx_global_var_init () #0 section ".text.startup" {
38
38
entry:
39
- %0 = load i32 , i32* @global , align 4
40
- store i32 %0 , i32* @dyn_init_global , align 4
39
+ %0 = load i32 , ptr @global , align 4
40
+ store i32 %0 , ptr @dyn_init_global , align 4
41
41
ret void
42
42
}
43
43
44
44
; Function Attrs: nounwind sanitize_address
45
45
define void @_Z4funcv () #1 {
46
46
entry:
47
- %literal = alloca i8* , align 8
48
- store i8* getelementptr inbounds ([ 14 x i8 ], [ 14 x i8 ]* @.str , i32 0 , i32 0 ), i8** %literal , align 8
47
+ %literal = alloca ptr , align 8
48
+ store ptr @.str , ptr %literal , align 8
49
49
ret void
50
50
}
51
51
0 commit comments