On 08/16/13 09: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.

Thanks,
/Staffan


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


makefiles/CompileNativeLibraries.gmk

No comments


src/windows/native/sun/tools/attach/WindowsVirtualMachine.c

Are these method names part of any public API? If not, never mind. If so, changing names like thread_func to jvm_attach_thread_func could surprise some users and require a CCC request...



makefiles/mapfiles/libattach/reorder-windows-x86

line 1: jvm_attach_thread_func@4

Is that @4 correct? I do not see it in the _64 version of the file - just wondering...


makefiles/mapfiles/libattach/reorder-windows-x86_64

No comments

Tim


Reply via email to