github.com/bir3/gocompiler@v0.9.2202/src/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
    31  	// disabling 'recover' or appear in tracebacks by default.
    32  	WRAPPER = 32
    33  
    34  	// This function uses its incoming context register.
    35  	NEEDCTXT = 64
    36  
    37  	// When passed to objw.Global, causes Local to be set to true on the LSym it creates.
    38  	LOCAL = 128
    39  
    40  	// Allocate a word of thread local storage and store the offset from the
    41  	// thread local base to the thread local storage in this variable.
    42  	TLSBSS = 256
    43  
    44  	// Do not insert instructions to allocate a stack frame for this function.
    45  	// Only valid on functions that declare a frame size of 0.
    46  	// TODO(mwhudson): only implemented for ppc64x at present.
    47  	NOFRAME = 512
    48  
    49  	// Function can call reflect.Type.Method or reflect.Type.MethodByName.
    50  	REFLECTMETHOD = 1024
    51  
    52  	// Function is the outermost frame of the call stack. Call stack unwinders
    53  	// should stop at this function.
    54  	TOPFRAME = 2048
    55  
    56  	// Function is an ABI wrapper.
    57  	ABIWRAPPER = 4096
    58  
    59  	// Function is a compiler-generated package init function.
    60  	PKGINIT = 8192
    61  )