X-Recipient: archive-cygwin@delorie.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DA142388F04D
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
	s=default; t=1589749420;
	bh=Mzc74RM8o6os+ghjF6lWnuzOJstAiA8Uz3HGPz4to4A=;
	h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post:
	 List-Help:List-Subscribe:From:Reply-To:From;
	b=IieKJFTEDIkHRxBzEXXvo2eOmNxt5wivVDU4t7Ck0RQAMf1pCtOPQKqmjhozRdRRZ
	 yUjqEgzvFnVLt56+ZzWePtQxQHM3yXD+sIrtN8zVpxN0MqW8r+I7qCDxAgIxcMfnmX
	 KVI/++8FUCg2nLDferiD0PoG03yB4AZ0xRsPdRDY=
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 3E1C0388E82B
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nsjVtmqH/aCR4BwJH6JxVCtvfXKuTQujTec4hmrFgxzecXans0snlzFtl5L//jGhHC3bedvq0+FML30yk/R6dVx7vpZExrpgsFQsxEF4Yv6WSsItYq5O/CKCSaWWpwCsR+X2nVdmtBi42rURdezHJOBuhRuZOu305S2PVltcBp+KcxY+4ZU2CJWMILTz/4w/vXgq3gztx+sJiJdEbH3WTkTaaO9Ab7n7rd58+LG6Kmk8VMi2Xay/9m0NS4sdnKzSMp1GgeAyxOPw9JJOeCypx+/srW0ec6jGDpwqlv/NTUzU/AVMRdrMcyoKMduUdPe3pCiqbxpziq9uVoVyiNBGuQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/eBIOr4nxHxlNOWWNPv/9oGIxyStqC+WIYY8YRCxXEk=;
 b=K4vojy1+m00+HDoq0UNbHCrbowAvRXN3nXBs8GRZQxaq0cY3627D5LsrYq1QyyWYUgDYCCFP9R1TK/Ew4HpXYaxSYp7KRX6zrvFBRvjJsjg2SMdNp7Ugb34Igc8VN97k1AyuihSgrTm5VN2obZ/rdMcMPBDy1UHPcxusebDsbEIRlFHB288qq+wQlsQUTOG/9HdPzfAXjOEj34UrHsJeu+g3A3AhPyNEblNsFlkzCmZx1aU4B6TZn0ZVx74OoTYuyHrxfss4zHGUxzx1/dAZz5JIKy/OG8DhYrf+J8R2vwWZ8tNXkHj1E5TnKqZI6M9jr5EmoprM5TpwhEvv5Kf5WQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
To: "cygwin@cygwin.com" <cygwin@cygwin.com>
Subject: Cannot use Cygwin64 with MSVC 64-bit DLL
Thread-Topic: Cannot use Cygwin64 with MSVC 64-bit DLL
Thread-Index: AQHWLIqBN69KMyjp3EuHLACkoKLaxA==
Date: Sun, 17 May 2020 21:03:33 +0000
Message-ID: <SYBPR01MB36418FFAC8D8A0AF8EBE6E8BCCBB0@SYBPR01MB3641.ausprd01.prod.outlook.com>
Accept-Language: en-NZ, en-US
Content-Language: en-NZ
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-incomingtopheadermarker: OriginalChecksum:A65D69D5E9162090A0564A70E5DEE5E3ADB8E48FC27D87707E41728ECB173F78;
 UpperCasedChecksum:4579BC7BF4B6402F1A5C9A19D55FC49E79C8048E9A77EB495304A83AD9EBDD92;
 SizeAsReceived:6892; Count:43
x-ms-exchange-messagesentrepresentingtype: 1
x-tmn: [zaLWXzDRhhFdb3wFq1SqdUKvcdgViG0sKhj/Juxykdr6KB8y2vn1jPTRgvNvqruQ]
x-ms-publictraffictype: Email
x-incomingheadercount: 43
x-eopattributedmessage: 0
x-ms-office365-filtering-correlation-id: 54162beb-21d3-4e5d-eb4f-08d7faa5c246
x-ms-traffictypediagnostic: PU1APC01HT164:
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: EAtMzG5ZTy4OMRrIwADtxLm29qouPYe6kc8iSgv3kUKubEkDzFptiJl8UlyRTAsTTJxY8jOJetm1f+FRMuVFaJPRro4HUmLwLyeXQ2RCXxgr9mYB52aJjp/pGJQ1wyhIwhUj0qyiGIxn9w20ZPWxSEZWLEvUR6epF2oi8tT2g5ZNeESrYUvs1zXTRvDf25BGEL8pXkzLyZMAC+dA3sVj9sWpAKHWZf56pgfPdYilxmtsYudNrpQhpu59N7MOx+No
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:0; SRV:;
 IPV:NLI; SFV:NSPM; H:SYBPR01MB3641.ausprd01.prod.outlook.com; PTR:; CAT:NONE;
 SFTY:; SFS:; DIR:OUT; SFP:1901; 
x-ms-exchange-antispam-messagedata: b1fHNSC6tNk8Jxg92N4q5eOnN+rsaRzvtC/QOupKJvowM/s+CVCelAwoKNynOz++Fb/l4sSk/huFL43RnWqIJjuJ8cmfz2GfcW0GqKYSgUU8Na1CgxttRNxgbMCTSAfZet08cvnH4pbk3RzeN+B4TWmXRiMv1Na5V5aMB0hkH7acQy42Tc1h666OTzDAPQs3d7y7/k3URVjDLJwMBUTyqA==
x-ms-exchange-transport-forked: True
MIME-Version: 1.0
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: 54162beb-21d3-4e5d-eb4f-08d7faa5c246
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 May 2020 21:03:33.1290 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Internet
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PU1APC01HT164
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS,
 RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS,
 SPF_PASS autolearn=ham autolearn_force=no version=3.4.2
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
 server2.sourceware.org
X-BeenThere: cygwin@cygwin.com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-request@cygwin.com?subject=help>
List-Subscribe: <http://cygwin.com/mailman/listinfo/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=subscribe>
From: Old Wolf via Cygwin <cygwin@cygwin.com>
Reply-To: Old Wolf <ow2@outlook.co.nz>
Content-Type: text/plain; charset="utf-8"
Sender: "Cygwin" <cygwin-bounces@cygwin.com>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 04HL48O1012278

Hi all

I am ultimately trying to use Cygwin 64-bit to port a Solaris server application which uses the Informix Client SDK.  However, the Win64 version of that product comes as a binary-only distribution of DLLs built by MSVC .

I have managed to reproduce the problem in a simple test case.  I made a full writeup here: https://stackoverflow.com/questions/61812131/

In brief, linking a 64-bit DLL created by MSVC with early binding to any program built with /usr/bin/gcc  (or /usr/bin/g++) produces a runtime error "The procedure entry point __cxa_atexit could not be located in the dynamic link library F:\temp\mre.exe"​ .  (Also, if the executable is launched from the Cygwin shell no output appears; I see this error popup by launching from command prompt).

However the testcase does work correctly if I use late binding (i.e. LoadLibrary and GetProcAddress).  But this is a considerable nuisance in comparison to early binding (i.e. linking against the DLL's import library).  It also works correctly under MSYS2 , and native-target mingw-w64.  Only Cygwin64 early-binding exhibits the problem.

I don't have the option of trying to rebuild the import library as suggested in comments to my SO question, as the Informix DLL is stripped .  I would like to use Cygwin as opposed to MSYS2 because the application uses SYSV IPC which is supported by Cygwin. So I need to either resolve this problem, create my own "import library" with late binding thunks for every function, or rewrite the SYSV IPC stuff to WinAPI stuff and use MSYS2 instead. Hoping the first of those three options turns out to be possible!

Regards,
M.M.
--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

