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
Asan finding in VMAC on i686 in inline asm #860
Labels
Comments
noloader
added a commit
that referenced
this issue
Jul 5, 2019
This one has been nagging us for a while. Tested OK under i686 and x86_64.
noloader
added a commit
that referenced
this issue
Jul 5, 2019
Second try. The first try cleared the Asan finding but broke at -O3. Eventually we will skin this cat.
We had to revert the previous check-in because it failed under testing at Cleared at Commit ad99fc5b05e1. Leaving this report open until we can test the change back to GCC 3 and Fedora 1. |
Tested OK on early Ubuntu and Fedora. Closing issue. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This issue has been nagging us for about 4 years, since we started testing with Asan. Also see Issue 304.
Originally we thought (hoped?) it may be a false positive since the finding pointed to an address in our stack frame. We also were not able to duplicate with Valgrind, so it became a low priority item. However, the finding has not cleared itself in several versions of Asan.
Here is what it looks like on a 32-bit Intel machine with ASM enabled:
Stepping it under GDB:
The
mov -0x40(%ebx),%ebx
is due tomov %0, %%ebx
invmac.cpp
. Obviously, that won't work.ebx
was blown away since it was used inVHASH_Update_SSE2
, so we can't use something relative toebx
to restoreebx
. We need to find a better pattern than below due to code generation:The text was updated successfully, but these errors were encountered: