1 // Copyright 2013 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 // This file defines flags attached to various functions 6 // and data objects. The compilers, assemblers, and linker must 7 // all agree on these values. 8 // 9 // Keep in sync with src/cmd/internal/obj/textflag.go. 10 11 // Don't profile the marked routine. This flag is deprecated. 12 #define NOPROF 1 13 // It is ok for the linker to get multiple of these symbols. It will 14 // pick one of the duplicates to use. 15 #define DUPOK 2 16 // Don't insert stack check preamble. 17 #define NOSPLIT 4 18 // Put this data in a read-only section. 19 #define RODATA 8 20 // This data contains no pointers. 21 #define NOPTR 16 22 // This is a wrapper function and should not count as disabling 'recover'. 23 #define WRAPPER 32 24 // This function uses its incoming context register. 25 #define NEEDCTXT 64 26 // Allocate a word of thread local storage and store the offset from the 27 // thread local base to the thread local storage in this variable. 28 #define TLSBSS 256 29 // Do not insert instructions to allocate a stack frame for this function. 30 // Only valid on functions that declare a frame size of 0. 31 // TODO(mwhudson): only implemented for ppc64x at present. 32 #define NOFRAME 512 33 // Function can call reflect.Type.Method or reflect.Type.MethodByName. 34 #define REFLECTMETHOD = 1024 35