Tag: binutils

有选择地抑制glibc链接警告?

glibc使用以下“技术”来生成链接警告…… #define link_warning(symbol, msg) \ __make_section_unallocated (“.gnu.warning.” #symbol) \ static const char __evoke_link_warning_##symbol[] \ __attribute__ ((used, section (“.gnu.warning.” #symbol __sec_comment))) \ = msg; 对于由此生成的特定链接警告,是否有任何命令行开关可以传递给ld或gcc以抑制它? (对于编译时警告,你可以使用`#pragma diagnostic foo ignore来抑制)

为已弃用的函数生成链接时错误

有没有办法使用gcc和GNU binutils来标记某些函数,以便它们在链接时会产生错误(如果使用的话)? 我的情况是我有一些库函数,我不是为了与现有的二进制文件兼容而删除,但我想确保没有新编译的二进制文件尝试使用这些函数。 我不能只使用编译时gcc属性,因为违规代码忽略了我的标题,并使用configure脚本检测函数的存在并自行对其进行原型设计。 我的目标是为错误的configure脚本生成链接时错误,以便它们停止检测函数的存在。 编辑:一个想法..将使用程序集指定入口点的错误.type与动态链接器兼容但在尝试链接新程序时生成链接错误?