> -----Original Message-----
> From: Jon [mailto:[email protected]] On Behalf Of JonY
> Sent: Thursday, January 27, 2011 5:50 PM
> To: Dock, Dion
> Cc: [email protected]
> Subject: Re: [Mingw-w64-public] undefined reference to __GSHandlerCheck
> 
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On 1/28/2011 09:29, Dock, Dion wrote:
> > I've searched and searched for an answer but maybe my Google-fu is
> weak.
> >
> > We produce a library with VS 2005.  When I try to link it into a test
> > program using g++, I get lots of messages like
> >
> >     ...
> >
> C:\Views\dockd_headers\lip__mgls_nt\mgls_nt\src\release\mgls64.lib(./x6
> 4/release/lpclsdll.obj):(.text[?messageBox@@YAXPEAD@Z]+0xcb):
> undefined reference to `__security_check_cookie'
> >
> C:\Views\dockd_headers\lip__mgls_nt\mgls_nt\src\release\mgls64.lib(./x6
> 4/release/lpclsdll.obj):(.xdata[$unwind$?messageBox@@YAXPEAD@Z]+0xc)
> : undefined reference to `__GSHandlerCheck'
> >     ...
> >
> > If I recompile our library without the "Buffer Security Check" option 
> > (/GS-),
> then ld.exe crashes after the compile:
> >
> >     C:\Temp>C:\mingw_64\bin\x86_64-w64-mingw32-g++.exe checkout.cpp
> C:\Views\dockd_headers\lip__mgls_nt\mgls_nt\src\release\mgls64.lib -I
> C:\Views\dockd_headers\lip__mgls_nt\mgls_nt\src\include
> >     checkout.cpp: In function 'int main()':
> >     checkout.cpp:12:47: warning: deprecated conversion from string
> constant to 'char *'
> >     collect2: ld returned 5 exit status
> >
> > Any thoughts on where `__GSHandlerCheck' and
> `__security_check_cookie' are defined?  There has to be a way to link with a
> Visual Studio created lib.
> >
> > thanks,
> > -Dion
> 
> Hi,
> 
> you should never link C++ libraries from different compilers together as they
> have different ABIs underneath, though C is usually fine. I'm surprised that 
> it
> even worked.
> 
> I don't know what __GSHandlerCheck and __security_check_cookie are,
> possibly found only in MSVC libraries.

I tried recompiling the source as C code (not C++) with Visual Studio and these
problems still occurred.  They go away if I compile the source with gcc.

I thought C compilers produced interchangeable code?

-Dion

------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in 
Real-Time with Splunk. Collect, index and harness all the fast moving IT data 
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business 
insights. http://p.sf.net/sfu/splunk-dev2dev 
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to