Hi Everyone,

I have a cross platform project that uses a fair amount on inline
assembly. The project is clean under Valgrind, Undefined Behavior
sanitizer, Address sanitizer and even Microsoft's Enterprise Analysis
and Coverity. However...

A few Linux and Apple users report unexpected results and I am having
trouble reproducing the issue. I have not been able to duplicate it,
even, say on Debian Sid (unstable) with the bleeding edge GCC. Its
been tough to narrow down, but it appears to be related to the latest
GCC and possibly Clang compilers. I also suspect it might be related
to the use of PIC.

When PIC is in effect, the Global Offset Table (GOT) is utilized.
Under the Linux ABI, that means EBX/RBX must be preserved because it
holds the pointer to the GOT.

Is it possible to use Valgrind to detect unexpected changes to the GOT
pointer when PIC is in effect? Or put another way, is it possible to
detect unexpected changes to EBX/RBX?

(I know its not an easy request. My apologies for asking).

Thanks in Advance.

------------------------------------------------------------------------------
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to