当前位置: 首页 > article >正文

Gnu: binutils: ld: .gnu.warning.链接时的主动警告 glibc

这个是一个gnu的extension,glibc会使用这个功能,标记即将被淘汰的符号,产生链接时的警告,比如:

/* When a reference to SYMBOL is encountered, the linker will emit a
   warning message MSG.  */
/* We want the .gnu.warning.SYMBOL section to be unallocated.  */
#define __make_section_unallocated(section_string)	\
  asm (".section " section_string "\n\t.previous");
  
#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;
    
link_warning (pthread_attr_setstackaddr,
              "the use of `pthread_attr_setstackaddr' is deprecated, use `pthread_attr_setstack'")

效果

/tmp/ccVxpFwZ.o: In function `main':
warning1.c:(.text+0xe): warning: the use of `pthread_attr_setstackaddr' is deprecated, use `pthread_attr_setstack'

需要注意,如果函数和main函数是再一个编译单元,不会trigger这个warning。需要变成成单独的o/so文件,在链接时才会报错。


http://www.kler.cn/a/289801.html

相关文章:

  • 【专题】计算机网络之网络层
  • 蓝桥杯每日真题 - 第7天
  • 时间管理的三个痛点
  • ODOO学习笔记(8):模块化架构的优势
  • 字节、快手、Vidu“打野”升级,AI视频小步快跑
  • MySQ怎么使用语法介绍(详细)
  • IP地址与物理地址:‌区别解析及在网络通信中的作用
  • 开始使用 ROS 工具箱
  • 3144. 分割字符频率相等的最少子字符串
  • C#Is和As的区别:
  • 工业图像输出卡设计原理图:FMC214-基于FMC兼容1.8V IO的Full Camera Link 输出子卡
  • 排查 Kafka 生产者服务问题的实战经验总结(dubbo的Serializable 问题)
  • ISO 26262中的失效率计算:SN 29500-11 Expected values for contactors
  • Spark MLlib模型训练—回归算法 Isotonic Regression
  • 浅谈常见的分布式ID生成方案
  • python图像灰度直方图对比分析
  • ECMAScript 与 JavaScript:主要区别与实例说明
  • Flutter 小技巧之 Row/Column 即将支持 Flex.spacing
  • Tiktok测评防关联秘籍:矩阵自养号策略全面解析
  • R语言 | 文件读取
  • 如何构建Java SpringBoot在线培训平台?集成Vue,实现课程管理,打造互动学习环境
  • 【nnUNet】环境安装
  • Ubuntu22.04服务器重启后没网络IP丢失
  • 24最新『ComfyUI』入门到入坟全套教程!!看到就是赚到!赶紧收藏!
  • 基于树莓派的儿童音频播发器—Yoto
  • [嵌入式] 设备没有联网的情况下如何安装库