mssanitizer工具使用 "--cce-enable-sanitizer -g" 编译算子时出现 "InputSection too large" 错误

现象描述

报错ld.lld: error: InputSection too large for range extension thunk。

解决措施

通过增加编译选项,启用编译器扩大跳转范围的特性来解决。在算子代码编译选项 "--cce-enable-sanitizer -g" 后增加 "-Xaicore-start -mcmodel=large -mllvm -cce-aicore-relax -Xaicore-end"。

1
2
3
4
5
6
7
target_compile_options(${smoke_testcase}_npu PRIVATE
                     -O2
                     -std=c++17
                     --cce-enable-sanitizer
                     -g 
                     -Xaicore-start -mcmodel=large -mllvm -cce-aicore-relax -Xaicore-end
)