delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2010/01/01/07:53:06

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,FH_DATE_PAST_20XX,SPF_PASS
X-Spam-Check-By: sourceware.org
Message-ID: <4B3DEC83.2070508@users.sourceforge.net>
Date: Fri, 01 Jan 2010 20:37:23 +0800
From: JonY <jon_y AT users DOT sourceforge DOT net>
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>
In-Reply-To: <004c01ca8ada$ecdb5060$c691f120$@calgacus.com>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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: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.

See <http://mingw-w64.sourceforge.net/> for toolchains targeting win64.

IMHO Cygwin is more of an island, you're supposed to use Cygwin tools 
only under Cygwin. Others might have different opinions.

--
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019