X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=0.6 required=5.0 tests=BAYES_00,FH_DATE_PAST_20XX,SPF_PASS X-Spam-Check-By: sourceware.org Message-ID: <4B3DF988.1040401@users.sourceforge.net> Date: Fri, 01 Jan 2010 21:32:56 +0800 From: JonY User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080213 Thunderbird/2.0.0.12 Mnenhy/0.7.5.0 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: Appropriate expectation on the degree of cygwin and MS interoperability References: <004c01ca8ada$ecdb5060$c691f120$@calgacus.com> <4B3DEC83 DOT 2070508 AT users DOT sourceforge DOT net> In-Reply-To: <4B3DEC83.2070508@users.sourceforge.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On 1/1/2010 20:37, JonY wrote: > On 1/1/2010 20:06, Neil DOT Mowbray AT calgacus DOT com wrote: >> Folks, >> >> A bit of a vague question but any greater clarity concerning the >> appropriate >> level of interoperability between Cygwin and MS would be appreciated. >> >> I have my Windows 6 and 7 platforms configured to build software using >> different toolchains, the most common being (1) Visual Studio 10 and (2) >> Cygwin with gcc-4. >> >> When using the Visual Studio toolchain I will prefer a cygwin tool over a >> MS tool, so for example, I always use bash and gnu make and never use the >> cmd shell/power shell or nmake. Taking this further, I will try to use >> nm over dumpbin and ar over lib. >> >> For the most part the cygwin tools interoperate with MS artifacts but >> it does break down, especially, with 64bit artifacts. For example, nm >> can work with 32bit object files created by MS cl.exe but it cannot >> work with 64bit MS object files (unrecognised file format). >> >> The question is: how far should I expect the interoperability to go? >> For example, is the fact that nm cannot handle 64bit MS object files >> a (1) defeat in cygwin/nm or (2) I should be grateful that it works >> with 32bit files and otherwise lower my expectation? >> >> I suppose at its core the question is about the intent of cygwin. Is >> it (1) to provide unix like capabilities to a MS platform (in which case >> one would expect/demand a high degree of interoperability), or >> (2) to provide a unix like island inside a MS platform? >> >> The problem with (2) is one cannot really stay isolated from the >> host MS environment. >> >> My previous question of how/if one can use cyginw *.h *.dll *.a >> artifacts in a MS compiled program is essentaily the same theme >> although I have lower expectations that it is possible. >> >> Any pointers? > > Hi, > > for nm to recognize 64bit objects, you need to rebuild binutils to > recognize 64bit objects. Use > --enable-target=i686-pc-cygwin,x86_64-w64-mingw32 with binutils > configure. Beware that MSVC now uses the "short" library format instead > of the older "long" library format used by the GNU toolchain. > Correction: I mean ".obj" object file format, not the ".lib" library format. The latter stays mostly the same. -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple