【发布时间】:2020-05-26 20:20:51
【问题描述】:
我正在使用 ASAN 构建 glib 库,gcc 版本是 6.3。
我能够使用 ASAN 编译和构建 glib 库。我的配置命令是:-
../configure CC='/local/test/v6.3.0/bin/gcc' CXX='/local/test/v6.3.0/bin/g++' CFLAGS='-fPIC -O2 -fsanitize=address' CXXFLAGS='-fPIC -fsanitize=address' LDFLAGS='-L/local/test/v6.3.0/lib64 -lasan' LD_LIBRARY_PATH='/local/test/v6.3.0/lib64' --enable-static=yes --prefix=/home/testing/debug_glib/glib-2.56.1/testing_glb --enable-libmount=no PYTHON=/local/test/pkgs/python/v2.7.6/bin/python --with-pcre=/home/testing/pcre_lib/pcre-8.20/pcre_library
当我尝试使用新创建的 glib 库时,我遇到了对符号问题的未定义引用:
$ /local/test/client_new/test_build/kkl/tools/kenzip -c dcltotb.tcl
/home/testing/lib/libglib-2.0.so: undefined symbol: __asan_option_detect_stack_use_after_return
我正在链接其中定义了上述符号的 ASAN 库 (-lasan)。这里有什么遗漏吗?请帮忙! 提前致谢。
【问题讨论】:
-
“我遇到了对符号问题的未定义引用”——当你链接你的可执行文件或运行它时你会点击它吗?
-
当我尝试在我的应用程序中使用新的 glib(通过运行上面的配置命令使用 ASAN 构建)时。我正在解决这个问题。
-
那么这个错误是在你链接或者运行你的程序时发生的吗?请提供触发错误的确切命令。
-
这里是命令:/local/test/client_new/test_build/kkl/tools/kenzip -c dcltotb.tcl 错误:/local/test/client_new/lop/lib/libglib-2.0.so :未定义符号:__asan_option_detect_stack_use_after_return
-
kenzip 是在没有 asan 的情况下创建的可执行文件。
标签: linker glibc glib address-sanitizer