...

Source file src/pkg/cmd/internal/obj/textflag.go

     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	)
    55	

View as plain text