| // Copyright 2013 The Go Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style | |
| // license that can be found in the LICENSE file. | |
| // This file defines flags attached to various functions | |
| // and data objects. The compilers, assemblers, and linker must | |
| // all agree on these values. | |
| // | |
| // Keep in sync with src/cmd/internal/obj/textflag.go. | |
| // Don't profile the marked routine. This flag is deprecated. | |
| #define NOPROF 1 | |
| // It is ok for the linker to get multiple of these symbols. It will | |
| // pick one of the duplicates to use. | |
| #define DUPOK 2 | |
| // Don't insert stack check preamble. | |
| #define NOSPLIT 4 | |
| // Put this data in a read-only section. | |
| #define RODATA 8 | |
| // This data contains no pointers. | |
| #define NOPTR 16 | |
| // This is a wrapper function and should not count as disabling 'recover'. | |
| #define WRAPPER 32 | |
| // This function uses its incoming context register. | |
| #define NEEDCTXT 64 | |
| // Allocate a word of thread local storage and store the offset from the | |
| // thread local base to the thread local storage in this variable. | |
| #define TLSBSS 256 | |
| // Do not insert instructions to allocate a stack frame for this function. | |
| // Only valid on functions that declare a frame size of 0. | |
| // TODO(mwhudson): only implemented for ppc64x at present. | |
| #define NOFRAME 512 | |
| // Function can call reflect.Type.Method or reflect.Type.MethodByName. | |
| #define REFLECTMETHOD 1024 | |
| // Function is the top of the call stack. Call stack unwinders should stop | |
| // at this function. | |
| #define TOPFRAME 2048 | |
| // Function is an ABI wrapper. | |
| #define ABIWRAPPER 4096 |