使用 __ attribute__((section(“ DANGER,\” \“,@ note#”)))= {0} 在elf中创建自己的节,命名为note类型时为危险。在gcc中它工作正常,但在clang注释中也被用作节标题名称。我将做什么?(如何在clang中创建类型为SHT_NOTE的节)。 程序如下
#include <stdio.h>
#include <string.h>
struct test_attribute
{
int count;
};
struct test_attribute a __attribute__ ((section ("DANGER,\"\",@note#"))) = { 0 };
int main(){
a.count = 1;
}
下面是日志,
gcc
gcc test_arr.c readelf -s a.out的片段
[28]危险说明0000000000000000 00001064 0000000000000004 0000000000000000 0 0 4
铛
clang test_arr.c
readelf -s a.out中的片段
[26]危险,“”,@ note#PROGBITS 0000000000601030 00001030 0000000000000004 0000000000000000 WA 0 0 4
注释:在lang节标题中将DANGER替换为DANGER,“”,@ note#,并将其类型作为PROGBITS替换为note。