]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile/internal/pkginit: use typecheck.LookupRuntime for asan
authorMatthew Dempsky <mdempsky@google.com>
Thu, 17 Aug 2023 08:53:16 +0000 (01:53 -0700)
committerGopher Robot <gobot@golang.org>
Thu, 17 Aug 2023 19:37:37 +0000 (19:37 +0000)
Change-Id: Ie9c90aa4560c982902738659737ae125cfcb6ba9
Reviewed-on: https://go-review.googlesource.com/c/go/+/520397
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Auto-Submit: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
src/cmd/compile/internal/pkginit/init.go
src/cmd/compile/internal/typecheck/_builtin/runtime.go
src/cmd/compile/internal/typecheck/builtin.go

index 4636c740e2e9bc4c677d498be3a61b70a37cceea..7d2e4ce07637a1104bbc71b738df72c1317dfb05 100644 (file)
@@ -123,14 +123,7 @@ func MakeTask() {
 
                        // Call runtime.asanregisterglobals function to poison redzones.
                        // runtime.asanregisterglobals(unsafe.Pointer(&globals[0]), ni)
-                       //
-                       // TODO(mdempsky): Move into typecheck builtins.
-                       asanf := ir.NewFunc(src.NoXPos, src.NoXPos, ir.Pkgs.Runtime.Lookup("asanregisterglobals"),
-                               types.NewSignature(nil, []*types.Field{
-                                       types.NewField(base.Pos, nil, types.Types[types.TUNSAFEPTR]),
-                                       types.NewField(base.Pos, nil, types.Types[types.TUINTPTR]),
-                               }, nil))
-                       asancall := ir.NewCallExpr(base.Pos, ir.OCALL, asanf.Nname, nil)
+                       asancall := ir.NewCallExpr(base.Pos, ir.OCALL, typecheck.LookupRuntime("asanregisterglobals"), nil)
                        asancall.Args.Append(typecheck.ConvNop(typecheck.NodAddr(
                                ir.NewIndexExpr(base.Pos, globals, ir.NewInt(base.Pos, 0))), types.Types[types.TUNSAFEPTR]))
                        asancall.Args.Append(typecheck.DefaultLit(ir.NewInt(base.Pos, int64(ni)), types.Types[types.TUINTPTR]))
index 2e1e94bbd7981be3b369cf64c51301bfa3ed1cbe..850873dfa788c67eef45f5027689b75731a9a950 100644 (file)
@@ -280,3 +280,5 @@ var x86HasSSE41 bool
 var x86HasFMA bool
 var armHasVFPv4 bool
 var arm64HasATOMICS bool
+
+func asanregisterglobals(unsafe.Pointer, uintptr)
index bf87b4dec519757b749f65c11fbe5730d2b60e37..48c27566e5eee055b99e9951dc18a586491e2604 100644 (file)
@@ -231,6 +231,7 @@ var runtimeDecls = [...]struct {
        {"x86HasFMA", varTag, 6},
        {"armHasVFPv4", varTag, 6},
        {"arm64HasATOMICS", varTag, 6},
+       {"asanregisterglobals", funcTag, 122},
 }
 
 func runtimeTypes() []*types.Type {