-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MSan segfaults under fat LTO #68367
Labels
A-linkage
Area: linking into static, shared libraries and binaries
A-sanitizers
Area: Sanitizers for correctness and code quality
C-bug
Category: This is a bug.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
Comments
jonas-schievink
added
A-linkage
Area: linking into static, shared libraries and binaries
C-bug
Category: This is a bug.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
A-sanitizers
Area: Sanitizers for correctness and code quality
labels
Jan 19, 2020
tmandry
added a commit
to tmandry/rust
that referenced
this issue
Jan 22, 2020
Export weak symbols used by MemorySanitizer Export weak symbols defined by MemorySanitizer instrumentation, which are used to implement `-Zsanitizer-memory-track-origins` and `-Zsanitizer-recover=memory`. Previously, when using fat LTO, they would internalized and eliminated. Fixes rust-lang#68367.
tmandry
added a commit
to tmandry/rust
that referenced
this issue
Jan 22, 2020
Export weak symbols used by MemorySanitizer Export weak symbols defined by MemorySanitizer instrumentation, which are used to implement `-Zsanitizer-memory-track-origins` and `-Zsanitizer-recover=memory`. Previously, when using fat LTO, they would internalized and eliminated. Fixes rust-lang#68367.
tmandry
added a commit
to tmandry/rust
that referenced
this issue
Jan 22, 2020
Export weak symbols used by MemorySanitizer Export weak symbols defined by MemorySanitizer instrumentation, which are used to implement `-Zsanitizer-memory-track-origins` and `-Zsanitizer-recover=memory`. Previously, when using fat LTO, they would internalized and eliminated. Fixes rust-lang#68367.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
A-linkage
Area: linking into static, shared libraries and binaries
A-sanitizers
Area: Sanitizers for correctness and code quality
C-bug
Category: This is a bug.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
Running https://github.com/rust-lang/rust/blob/master/src/test/ui/sanitizer-memory.rs under
-C lto=fat
, the test segfaults with:I ran into this in #67759, because as of LLVM 10 the same happens with ThinLTO as well.
This issue is that
__msan
symbols gets internalized and DCEd, as they are not part of the exported symbol list.The text was updated successfully, but these errors were encountered: