gcc -fsanitize 的实现

1,从一个现象开始

一个项目自定义的部分有两模块:

(1)一个动态连结库:libxx.so;

(2)一个app:hello.out,其中app依赖上述动态链接库;

编译 libxx.so时,开启 gcc -fsanitize=thread

编译hello.out时,不开启 gcc -fsanitize=thread

这时会出现如下链接错误:

`__tsan_read8'
`__tsan_write16'
`__tsan_init'
`__tsan_read4'
`__tsan_write2'
`__tsan_read16'
`__tsan_read2'
`__tsan_func_exit'
`__tsan_read1'
`__tsan_write4'
`__tsan_write1'
`__tsan_func_entry'
`__tsan_vptr_update'
`__tsan_write8'

可以想象如上这些函数或变量,是由 -fsanitize=thread 引入的调用

2,引入的方式

3,

4,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值