如果将 ASAN 运行时加载为第二个库可以吗?
Is it okay if ASAN runtime loaded as second library?
我想将 ASAN 用于系统上的进程。系统需要先加载另一个库 libfoo。 libfoo 不拦截任何分配。
ldd asan_instrumented_proc
1. linux-vdso.so.1
2. libfoo
3. libclang_rt.asan-x86_64.so
我对 ASAN 进行了更改以忽略对 ASAN 是否是第一个链接库的检查。
如果 libfoo 不干扰 asan 的功能,您是否发现这种用法有任何问题?
是的,只要 libfoo
不拦截任何已被 Asan 拦截的函数(您可以从 readelf -sW --dyn-syms $(gcc -print-file-name=libasan.so)
获取完整列表),这将有效。为了安全起见,Asan 会在这种情况下发出警告,您可以通过 ASAN_OPTIONS=verify_asan_link_order=0
.
抑制该警告
我想将 ASAN 用于系统上的进程。系统需要先加载另一个库 libfoo。 libfoo 不拦截任何分配。
ldd asan_instrumented_proc
1. linux-vdso.so.1
2. libfoo
3. libclang_rt.asan-x86_64.so
我对 ASAN 进行了更改以忽略对 ASAN 是否是第一个链接库的检查。
如果 libfoo 不干扰 asan 的功能,您是否发现这种用法有任何问题?
是的,只要 libfoo
不拦截任何已被 Asan 拦截的函数(您可以从 readelf -sW --dyn-syms $(gcc -print-file-name=libasan.so)
获取完整列表),这将有效。为了安全起见,Asan 会在这种情况下发出警告,您可以通过 ASAN_OPTIONS=verify_asan_link_order=0
.