github.com/goproxy0/go@v0.0.0-20171111080102-49cc0c489d2c/src/runtime/tls_arm64.h (about) 1 // Copyright 2015 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 #ifdef GOOS_android 6 #define TLS_linux 7 #define TLSG_IS_VARIABLE 8 #endif 9 #ifdef GOOS_linux 10 #define TLS_linux 11 #endif 12 #ifdef TLS_linux 13 #define TPIDR TPIDR_EL0 14 #define MRS_TPIDR_R0 WORD $0xd53bd040 // MRS TPIDR_EL0, R0 15 #endif 16 17 #ifdef GOOS_darwin 18 #define TPIDR TPIDRRO_EL0 19 #define TLSG_IS_VARIABLE 20 #define MRS_TPIDR_R0 WORD $0xd53bd060 // MRS TPIDRRO_EL0, R0 21 #endif 22 23 // Define something that will break the build if 24 // the GOOS is unknown. 25 #ifndef TPIDR 26 #define MRS_TPIDR_R0 TPIDR_UNKNOWN 27 #endif