Last Comment Bug 694008 - xptcinvoke_gcc_x86_unix.cpp fails to compile on mingw
: xptcinvoke_gcc_x86_unix.cpp fails to compile on mingw
Status: RESOLVED FIXED
[inbound]
:
Product: Core
Classification: Components
Component: XPCOM (show other bugs)
: Trunk
: x86_64 Linux
: -- normal (vote)
: mozilla10
Assigned To: Jacek Caban
:
Mentors:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-10-12 07:36 PDT by Jacek Caban
Modified: 2011-10-14 03:55 PDT (History)
2 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
fix v1.0 (2.05 KB, patch)
2011-10-12 07:36 PDT, Jacek Caban
benjamin: review+
Details | Diff | Splinter Review

Description Jacek Caban 2011-10-12 07:36:52 PDT
Created attachment 566527 [details] [diff] [review]
fix v1.0

It got broken by a commit from bug 684659. Before the breakage, there was a hack to set dllexport attribute for NS_InvokeByIndex_P by having C++ wrapper around an assembly function. For that to work, the assembly version had to be called _NS_InvokeByIndex_P. After the change, the assembly function's name is NS_InvokeByIndex_P on mingw, so there is a linker collision.

My proposed fix adds dllexport equivalent directly in assembly (by adding .drectve section). This way we may get rid of the C++ wrapper.
Comment 2 Ed Morley [:emorley] 2011-10-14 03:55:11 PDT
https://hg.mozilla.org/mozilla-central/rev/0bf983d260c6

Note You need to log in before you can comment on or make changes to this bug.