[Bug 50993] App compiled with address sanitizer don't work in Wine
WineHQ Bugzilla
wine-bugs at winehq.org
Thu May 6 10:26:02 CDT 2021
https://bugs.winehq.org/show_bug.cgi?id=50993
--- Comment #3 from Roman Pišl <rpisl at seznam.cz> ---
Created attachment 69964
--> https://bugs.winehq.org/attachment.cgi?id=69964
Fix for clang address sanitizer
Hi, I tried this some time ago and the problem was that AddressSanitizer could
not intercept some functions (see
compiler-rt/lib/interception/interception_win.cpp).
Since LLVM/Clang can be now compiled under Wine (version 6.7) just by
installing LLVM12, CMake + MSVC libs, I gave it another chance
(wine-6.7-274-ge2aa30f21de, llvm trunk) and discovered that just a small fix
can make it work - see attached patch. With this fix, following code:
#include <malloc.h>
int main()
{
char* buf = (char*) malloc(10);
free(buf);
return buf[1];
}
is properly detected while running in Wine as:
==428==ERROR: AddressSanitizer: heap-use-after-free on address 0x7eafe3e001b1
at pc 0x000140001056 bp 0x00000011fd60 sp 0x00000011fda8
READ of size 1 at 0x7eafe3e001b1 thread T0
#0 0x140001055 in main Z:\mnt\data\src\llvm\llvm-test\main.cpp:8
...
So I think that this is not a Wine bug and it should be reported/fixed it in
upstream LLVM.
I also think that bug 49828 is a duplicate.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list