diff --git a/pkg/goid/BUILD b/pkg/goid/BUILD index 3b961018a..741cd1ae5 100644 --- a/pkg/goid/BUILD +++ b/pkg/goid/BUILD @@ -9,8 +9,10 @@ go_library( name = "goid", srcs = [ "goid.go", - "goid_amd64.s", - "goid_arm64.s", + "goid_122_amd64.s", + "goid_122_arm64.s", + "goid_123_amd64.s", + "goid_123_arm64.s", ], stateify = False, visibility = ["//visibility:public"], diff --git a/pkg/goid/goid_amd64.s b/pkg/goid/goid_122_amd64.s similarity index 97% rename from pkg/goid/goid_amd64.s rename to pkg/goid/goid_122_amd64.s index 8d0e9b318..5039f73f2 100644 --- a/pkg/goid/goid_amd64.s +++ b/pkg/goid/goid_122_amd64.s @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +//go:build !go1.23 + #include "textflag.h" #define GOID_OFFSET 152 // +checkoffset runtime g.goid diff --git a/pkg/goid/goid_arm64.s b/pkg/goid/goid_122_arm64.s similarity index 97% rename from pkg/goid/goid_arm64.s rename to pkg/goid/goid_122_arm64.s index 07b04a244..ec59b4beb 100644 --- a/pkg/goid/goid_arm64.s +++ b/pkg/goid/goid_122_arm64.s @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +//go:build !go1.23 + #include "textflag.h" #define GOID_OFFSET 152 // +checkoffset runtime g.goid diff --git a/pkg/goid/goid_123_amd64.s b/pkg/goid/goid_123_amd64.s new file mode 100644 index 000000000..9f53a4e97 --- /dev/null +++ b/pkg/goid/goid_123_amd64.s @@ -0,0 +1,26 @@ +// Copyright 2020 The gVisor Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//go:build go1.23 + +#include "textflag.h" + +#define GOID_OFFSET 160 // +checkoffset runtime g.goid + +// func goid() int64 +TEXT ·goid(SB),NOSPLIT|NOFRAME,$0-8 + MOVQ (TLS), R14 + MOVQ GOID_OFFSET(R14), R14 + MOVQ R14, ret+0(FP) + RET diff --git a/pkg/goid/goid_123_arm64.s b/pkg/goid/goid_123_arm64.s new file mode 100644 index 000000000..08d70578b --- /dev/null +++ b/pkg/goid/goid_123_arm64.s @@ -0,0 +1,26 @@ +// Copyright 2020 The gVisor Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//go:build go1.23 + +#include "textflag.h" + +#define GOID_OFFSET 160 // +checkoffset runtime g.goid + +// func goid() int64 +TEXT ·goid(SB),NOSPLIT,$0-8 + MOVD g, R0 // g + MOVD GOID_OFFSET(R0), R0 + MOVD R0, ret+0(FP) + RET