mirror of
https://github.com/golang/go
synced 2024-10-05 14:01:21 -06:00
45c06b27a4
Replace the confusing game where a frame size of $-8 would suppress the implicit setting up of a stack frame with a nice explicit flag. The code to set up the function prologue is still a little confusing but better than it was. Change-Id: I1d49278ff42c6bc734ebfb079998b32bc53f8d9a Reviewed-on: https://go-review.googlesource.com/15670 Reviewed-by: Minux Ma <minux@golang.org>
31 lines
1.2 KiB
C
31 lines
1.2 KiB
C
// Copyright 2013 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// This file defines flags attached to various functions
|
|
// and data objects. The compilers, assemblers, and linker must
|
|
// all agree on these values.
|
|
|
|
// Don't profile the marked routine. This flag is deprecated.
|
|
#define NOPROF 1
|
|
// It is ok for the linker to get multiple of these symbols. It will
|
|
// pick one of the duplicates to use.
|
|
#define DUPOK 2
|
|
// Don't insert stack check preamble.
|
|
#define NOSPLIT 4
|
|
// Put this data in a read-only section.
|
|
#define RODATA 8
|
|
// This data contains no pointers.
|
|
#define NOPTR 16
|
|
// This is a wrapper function and should not count as disabling 'recover'.
|
|
#define WRAPPER 32
|
|
// This function uses its incoming context register.
|
|
#define NEEDCTXT 64
|
|
// Allocate a word of thread local storage and store the offset from the
|
|
// thread local base to the thread local storage in this variable.
|
|
#define TLSBSS 256
|
|
// Do not insert instructions to allocate a stack frame for this function.
|
|
// Only valid on functions that declare a frame size of 0.
|
|
// TODO(mwhudson): only implemented for ppc64x at present.
|
|
#define NOFRAME 512
|