On 17/08/2013 2:51 AM, Staffan Larsen wrote:
This failure happens when compiling with the VS 2012 compiler. The attach code 
relies on the order of two methods in the compiled binary and VS 2012 changed 
that order. The solution used is the linker flag /ORDER [1] which allows us to 
specify the order in which methods are laid out in the binary image. Since the 
flag only operates on non-static methods, the methods have been made non-static 
and also changed name so that they will not clash with other methods.

webrev: http://cr.openjdk.java.net/~sla/8022071/webrev.01/

The change has been tested with both VS 2010 and VS 2012.

I wonder if simply changing from static to non-static would have been sufficient? Of course still no guarantee that future versions of the compiler would preserve the same order in that case; but then what guarantees do we have that the weird @4 name mangling will remain the same?

Thanks,
David

Thanks,
/Staffan


[1] http://msdn.microsoft.com/en-us/library/vstudio/00kh39zz.aspx

Reply via email to