Previous: Tail Calls, Up: Stack and Calling
该钩子返回一个外部变量的DECL节点,用作栈保护者。 该变量在运行时被初始化为某个随即值, 并用于初始化放在局部栈帧顶端的警卫值。 该变量的类型必须为ptr_type_node。 该钩子的缺省版本创建一个叫做‘__stack_chk_guard’的变量, 其通常在libgcc2.c中被定义。
该钩子返回一个外部变量的DECL节点,用作栈保护者。 该变量在运行时被初始化为某个随即值, 并用于初始化放在局部栈帧顶端的警卫值。 该变量的类型必须为ptr_type_node。
DECL
ptr_type_node
该钩子的缺省版本创建一个叫做‘__stack_chk_guard’的变量, 其通常在libgcc2.c中被定义。
该钩子返回一个tree表达式,用以警告运行时,栈保护者变量被修改了。 该表达式应该包括一个对无返回的(noreturn)函数的调用。 该钩子的缺省版本调用一个叫做‘__stack_chk_fail’的函数, 不接受任何参数。该函数通常在libgcc2.c中被定义。
该钩子返回一个tree表达式,用以警告运行时,栈保护者变量被修改了。 该表达式应该包括一个对无返回的(noreturn)函数的调用。
noreturn
该钩子的缺省版本调用一个叫做‘__stack_chk_fail’的函数, 不接受任何参数。该函数通常在libgcc2.c中被定义。