Oracle® Solaris 11.2 链接程序和库指南

退出打印视图

更新时间: 2014 年 7 月
 
 

STACK 指令

STACK 指令指定进程栈的属性。

        STACK {
                FLAGS  = segment_flags....;
                FLAGS += segment_flags....;
                FLAGS -= segment_flags....;
        };

FLAGS 属性指定段权限的空格分隔列表,其中包含Table 8–3 中所描述的任意值。

该属性允许采用三种形式。简单的 "=" 赋值运算符将当前标志替换为新集合,"+=" 形式将新标志添加到现有集合中,而 "-=" 形式将指定标志从现有集合中删除。

缺省栈权限由平台 ABI 定义,并随平台的不同而变化。目标平台的值使用段标志名称 STACK 指定。

在某些平台上,ABI 要求的缺省权限包括 EXECUTE。一般很少需要 EXECUTE,并且它通常被视为一个潜在的安全风险。建议从栈中删除 EXECUTE 权限。

        STACK {
                FLAGS -= EXECUTE;
        };

STACK 指令在输出 ELF 目标文件中反映为一个 PT_SUNWSTACK 程序头项。