器件型号: J721S2XSOMXEVM
您好:
tiarmclang 链接器似乎正在丢弃包含静态未引用符号的文件。 这就是我在项目中的场景:
[file.c]<-编译到存档库 (somelib.a)
静态 DrvOps driverOps __attribute__(已使用,section(“.my_drivers")“))={
...
};
linker_script.inc]
-retain=“*(.my_drivers*)"</s>“
.my_drivers :{*(.my_drivers*)} align(4) >__core_DDR_space
RUN_START (__my_drivers_start__)
RUN_END (__my_drivers_end__)
大小 (__my_drivers_size__)
我已经尝试过:
-用“retain"属性“属性替换“used"。“。 (此错误报告的建议:sir.ext.ti.com/.../EXT_EP-10812)
-将--retain=“*(.my_drivers*)"作为“作为参数直接传递给链接器。
但以上都不起作用。 目前的唯一权变措施是在文件中创建一个虚拟变量、然后将“-Xlinker --undef_sym=dummyVar“传递给链接器。 但这种解决办法不是我们希望的方向。
请注意、GCC 链接器也不会发生同样的情况、当使用__attribute__(used、section(“.my_drivers")“))+链接器 keep () 选项时会保留文件。
有没有其他选择、或者我在这里做了什么错误?