| Issue |
180911
|
| Summary |
When building with asan, ODR violation for DisableABIBreakingChecks
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
peledins-zimperium
|
```
FAILED: tools/mlir/test/lib/Dialect/Test/TestOps.19.cpp /opt/llvm-project/ubuntu-llvm21-+llvm+mlir-z3_Release~asan/llvm-project/build/Release/tools/mlir/test/lib/Dialect/Test/TestOps.19.cpp
cd "/opt/llvm-project/ubuntu-llvm21-+llvm+mlir-z3_Release~asan/llvm-project/build/Release/tools/mlir/test/lib/Dialect/Test" && "/opt/llvm-project/ubuntu-llvm21-+llvm+mlir-z3_Release~asan/llvm-project/build/Release/bin/mlir-src-sharder" -op-shard-index=19 -I/opt/llvm-project/ubuntu-llvm21-+llvm+mlir-z3_Release~asan/llvm-project/mlir/test/lib/Dialect/Test -I/opt/llvm-project/ubuntu-llvm21-+llvm+mlir-z3_Release~asan/llvm-project/build/Release/tools/mlir/include -I/opt/llvm-project/ubuntu-llvm21-+llvm+mlir-z3_Release~asan/llvm-project/mlir/include -I/opt/llvm-project/ubuntu-llvm21-+llvm+mlir-z3_Release~asan/llvm-project/build/Release/include -I/opt/llvm-project/ubuntu-llvm21-+llvm+mlir-z3_Release~asan/llvm-project/llvm/include /opt/llvm-project/ubuntu-llvm21-+llvm+mlir-z3_Release~asan/llvm-project/mlir/test/lib/Dialect/Test/TestOps.cpp --write-if-changed -o TestOps.19.cpp -d TestOps.19.cpp.d && /usr/bin/cmake -E cmake_transform_depfile Ninja gccdepfile /opt/llvm-project/ubuntu-llvm21-+llvm+mlir-z3_Release~asan/llvm-project/llvm /opt/llvm-project/ubuntu-llvm21-+llvm+mlir-z3_Release~asan/llvm-project/mlir/test/lib/Dialect/Test /opt/llvm-project/ubuntu-llvm21-+llvm+mlir-z3_Release~asan/llvm-project/build/Release /opt/llvm-project/ubuntu-llvm21-+llvm+mlir-z3_Release~asan/llvm-project/build/Release/tools/mlir/test/lib/Dialect/Test /opt/llvm-project/ubuntu-llvm21-+llvm+mlir-z3_Release~asan/llvm-project/build/Release/tools/mlir/test/lib/Dialect/Test/TestOps.19.cpp.d /opt/llvm-project/ubuntu-llvm21-+llvm+mlir-z3_Release~asan/llvm-project/build/Release/CMakeFiles/d/45b216db3670f9c1b9b10b993f395190a29b4e9a5f86bcfe4edff91bdd44ab27.d
=================================================================
==24023==ERROR: AddressSanitizer: odr-violation (0x55bf685f7b40):
[1] size=4 'DisableABIBreakingChecks' /opt/llvm-project/ubuntu-llvm21-+llvm+mlir-z3_Release~asan/llvm-project/llvm/lib/Support/ABIBreak.cpp:20:5 in /opt/llvm-project/ubuntu-llvm21-+llvm+mlir-z3_Release~asan/llvm-project/build/Release/bin/mlir-src-sharder
[2] size=4 'DisableABIBreakingChecks' /opt/llvm-project/ubuntu-llvm21-+llvm+mlir-z3_Release~asan/llvm-project/llvm/lib/Support/ABIBreak.cpp:20:5 in /opt/llvm-project/ubuntu-llvm21-+llvm+mlir-z3_Release~asan/llvm-project/build/Release/bin/../lib/libLLVM.so.22.1-rc3
These globals were registered at these points:
[1]:
#0 0x7fc30eb7c06f in __asan_register_globals ../../../../src/libsanitizer/asan/asan_globals.cpp:350
#1 0x7fc2f60b1303 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a303) (BuildId: 274eec488d230825a136fa9c4d85370fed7a0a5e)
#2 0x55bf68178164 in _start (/opt/llvm-project/ubuntu-llvm21-+llvm+mlir-z3_Release~asan/llvm-project/build/Release/bin/mlir-src-sharder+0x60164) (BuildId: bb7725110c3ad66cd58a86355ab9a03f1e313090)
[2]:
#0 0x7fc30eb7c06f in __asan_register_globals ../../../../src/libsanitizer/asan/asan_globals.cpp:350
#1 0x7fc30f20771e (/lib64/ld-linux-x86-64.so.2+0x571e) (BuildId: 520e05878220fb2fc6d28ff46b63b3fd5d48e763)
#2 0x7fc30f207823 (/lib64/ld-linux-x86-64.so.2+0x5823) (BuildId: 520e05878220fb2fc6d28ff46b63b3fd5d48e763)
#3 0x7fc30f22159f (/lib64/ld-linux-x86-64.so.2+0x1f59f) (BuildId: 520e05878220fb2fc6d28ff46b63b3fd5d48e763)
==24023==HINT: if you don't care about these errors you may set ASAN_OPTIONS=detect_odr_violation=0
SUMMARY: AddressSanitizer: odr-violation: global 'DisableABIBreakingChecks' at /opt/llvm-project/ubuntu-llvm21-+llvm+mlir-z3_Release~asan/llvm-project/llvm/lib/Support/ABIBreak.cpp:20:5 in /opt/llvm-project/ubuntu-llvm21-+llvm+mlir-z3_Release~asan/llvm-project/build/Release/bin/mlir-src-sharder
```
Our cmake command command:
```
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_USE_SANITIZER=Address -DLLVM_ABI_BREAKING_CHECKS=FORCE_OFF -DLLVM_BUILD_LLVM_DYLIB=ON '-DLLVM_ENABLE_PROJECTS=clang;clang-tools-extra;mlir' -DLLVM_LINK_LLVM_DYLIB=ON -DLLVM_INSTALL_UTILS=ON -DLLVM_PARALLEL_COMPILE_JOBS=32 -DLLVM_PARALLEL_LINK_JOBS=1 '-DLLVM_TARGETS_TO_BUILD=host;AArch64' -DLLVM_ENABLE_Z3_SOLVER=OFF -B build/Release llvm
```
IIUC then mlir-src-sharder and libLLVM.so.22.1-rc3 both define the variable? Is it supposed to cross binary boundaries?
This is on `22.1-rc3`, but I can repro this before as well.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs