Text file
src/runtime/textflag.h
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 #define NOFRAME 512
32 // Function can call reflect.Type.Method or reflect.Type.MethodByName.
33 #define REFLECTMETHOD 1024
34 // Function is the outermost frame of the call stack. Call stack unwinders
35 // should stop at this function.
36 #define TOPFRAME 2048
37 // Function is an ABI wrapper.
38 #define ABIWRAPPER 4096
39
View as plain text