Name magling issue with JavaXPCOM / XULRunner MOZILLA_1_8_BRANCH
Hristo Stefanov <[email protected]>
| Newsgroups | gmane.comp.mozilla.devel.java |
|---|---|
| Message-ID | <bNydnd8jPOCUPUjYnZ2dnUVZ_tGsnZ2d__2502.32739276743$1171628139$gmane$org@mozilla.org> |
Hello, Recently I encountered a class loading issue with JavaXPCOM/XULRunner 1.8.0.4. I debugged the native code and located the problem - the same was logged as: https://bugzilla.mozilla.org/show_bug.cgi?id=353693 (nsJavaXPTCStub should use Java class' loader for loading Mozilla classes). I saw it was fixed and checked in to MOZILLA_1_8_BRANCH, so I checked out XulRunner MOZILLA_1_8_BRANCH and made a debug build. Trying to utilize that build, I found that java code fails in Mozilla.initialize(). I debugged the native code and I found the issue: The nsJavaXPCOMGlue.cpp refers to a function in xul.dll with this mangled name "_Java_org_mozilla_xpcom_internal_JavaXPCOMMethods_wrapXPCOMObject@16", but the actual name in xul.dll is "_Java_org_mozilla_xpcom_internal_JavaXPCOMMethods_wrapXPCOMObject@20". I've checked that the prototype of the function and the mangled name are the same in the trunk branch, so I suppose I do something wrong. My question is how to resolve the mangled name issue, or how to obtain a XULRunner debug build that has BUG ID 353693 fixed. Thanks in advance. Hristo Stefanov http://www.HristoStefanov.com