http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52221
--- Comment #5 from gee <jojelino at gmail dot com> 2012-02-13 18:35:18 UTC --- Created attachment 26653 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26653 proposed patch sorry for pr51500 attachment 26584, it was very bad idea. thiscall trampoline uses call insn so it needed to create related stub function. i was releutant to create stub function in win32.S and it resulted in disaster. in this patch these problem is considered. and thiscall trampoline subs esp and then call fun, this is bad idea. it works only when #of argument is 1.(passed only this) already i encountered the problem that are described above. `/tmp/gcc/i686-pc-mingw32/libjava/.libs/libgcj-13.dll' has changed; re-reading symbols. Starting program: /tmp/gcc/i686-pc-mingw32/libjava/testsuite/ExtraClassLoader [New Thread 5276.0x19bc] Breakpoint 5, java::lang::Class::newInstance (this=0xe20e40) at ../.././libjava/java/lang/natClass.cc:667 667 ((void (__thiscall *) (jobject)) meth->ncode) (r); (gdb) Continuing. Program received signal SIGSEGV, Segmentation fault. _Jv_GetStringUTFLength (string=0x69e61688) at ../.././libjava/java/lang/natString.cc:324 324 jchar ch = *ptr++; in this case string parameter is wrong.