Home | History | Annotate | Download | only in runtime
      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