This is an old revision of the document!
Table of Contents
textflag
A flag for the “ld” linker, with special link-time information about a function.
textflag 7
Extracted from a comment in pkg/runtime/proc.c
:
* Newproc and deferproc need to be textflag 7
* (no possible stack split when nearing overflow)
See split stacks.
Usage
In “cc” C, add a pragma
directive before the function definition – example:
#pragma textflag 7
void
somefunction(int x, int y)
{
…
}
In “asm” assembly, put the number
7 in function's entry point definition line – example:
TEXT runtime·tstart(SB),7,$0
Note: These C and assembly syntaxes are supported only by the C compilers and assemblers shipped with Go (i.e. the modified Plan 9 ones). Stock
Gcc does not have the ability to set these flags (but maybe a
Gcc with
gccgo'' integrated in it can?)