github.com/gagliardetto/golang-go@v0.0.0-20201020153340-53909ea70814/cmd/internal/obj/textflag.go (about) 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 package obj 10 11 const ( 12 // Don't profile the marked routine. 13 // 14 // Deprecated: Not implemented, do not use. 15 NOPROF = 1 16 17 // It is ok for the linker to get multiple of these symbols. It will 18 // pick one of the duplicates to use. 19 DUPOK = 2 20 21 // Don't insert stack check preamble. 22 NOSPLIT = 4 23 24 // Put this data in a read-only section. 25 RODATA = 8 26 27 // This data contains no pointers. 28 NOPTR = 16 29 30 // This is a wrapper function and should not count as disabling 'recover'. 31 WRAPPER = 32 32 33 // This function uses its incoming context register. 34 NEEDCTXT = 64 35 36 // When passed to ggloblsym, causes Local to be set to true on the LSym it creates. 37 LOCAL = 128 38 39 // Allocate a word of thread local storage and store the offset from the 40 // thread local base to the thread local storage in this variable. 41 TLSBSS = 256 42 43 // Do not insert instructions to allocate a stack frame for this function. 44 // Only valid on functions that declare a frame size of 0. 45 // TODO(mwhudson): only implemented for ppc64x at present. 46 NOFRAME = 512 47 48 // Function can call reflect.Type.Method or reflect.Type.MethodByName. 49 REFLECTMETHOD = 1024 50 51 // Function is the top of the call stack. Call stack unwinders should stop 52 // at this function. 53 TOPFRAME = 2048 54 )