SYM_INNER_LABEL(ftrace_caller_direct_late, SYM_L_LOCAL)
时间: 2023-09-15 14:17:03 浏览: 180
这段代码看起来是基于Linux内核源码中的宏定义。它定义了一个名为"ftrace_caller_direct_late"的内部符号(inner symbol),并将其标记为本地符号(local symbol)。
在Linux内核源码中,SYM_INNER_LABEL是一个宏,用于定义内部符号。内部符号是指只在当前源文件中可见的符号,对其他源文件不可见。而SYM_L_LOCAL则是一个枚举常量,表示将符号标记为本地符号,即只在当前链接单元中可见的符号。
因此,这段代码定义了一个只在当前源文件中可见的名为"ftrace_caller_direct_late"的符号,该符号的具体实现可以由其他代码块进行定义。
相关问题
SYM_FUNC_START_ALIAS和SYM_FUNC_START_WEAK_PI区别
SYM_FUNC_START_ALIAS和SYM_FUNC_START_WEAK_PI都是符号定义宏,主要用于定义函数符号。它们的区别在于:
1. SYM_FUNC_START_ALIAS宏定义的符号是强符号,即在链接过程中如果出现相同名称的符号,则会出现链接错误。这种符号通常用于定义全局函数或变量。
2. SYM_FUNC_START_WEAK_PI宏定义的符号是弱符号,即在链接过程中如果出现相同名称的符号,则会忽略掉该符号,而使用其他同名符号。这种符号通常用于定义可选的函数或变量,如果已经有同名符号,则使用已有符号,否则使用该符号。
因此,如果您需要定义一个必须存在且不能重复定义的符号,可以使用SYM_FUNC_START_ALIAS宏。如果您需要定义一个可选的符号,如果已经存在同名符号则使用已有符号,否则使用该符号,则可以使用SYM_FUNC_START_WEAK_PI宏。
SUBSTR(WK_OFF->ATTR,7,1) = '1'B ; DCL 1 SYM_TAB BASED(SYM_PTR), 2 ATTR BIT(18),
这是一段IBM AS/400的RPG IV程序语言的代码。它的功能是判断从SYMBOL TABLE中读取的WK_OFF变量的第7个字符是否为'1',如果是,则将SYMBOL TABLE中的ATTR变量的第18位设置为1。其中,DCL关键字用于声明变量,1表示变量的层级,SYM_TAB是变量名,BASED关键字指定了变量的基地址,ATTR是一个18位的二进制数,BIT(18)表示这是一个18位的二进制位字段。
阅读全文