From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6128 invoked by alias); 21 Aug 2011 02:11:13 -0000 Received: (qmail 6117 invoked by uid 22791); 21 Aug 2011 02:11:12 -0000 X-SWARE-Spam-Status: No, hits=-0.4 required=5.0 tests=AWL,BAYES_50,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD,TW_BJ X-Spam-Check-By: sourceware.org Received: from mail02.syd.optusnet.com.au (HELO mail02.syd.optusnet.com.au) (211.29.132.183) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 21 Aug 2011 02:10:56 +0000 Received: from desktop2 ([203.202.164.190]) (authenticated sender sisyphus1) by mail02.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id p7L2Afbs005080; Sun, 21 Aug 2011 12:10:50 +1000 Message-ID: <40061A22EBC6455991351C55D9C2FD26@desktop2> From: "Sisyphus" To: , References: <1313874009.16574.15.camel@asus> In-Reply-To: <1313874009.16574.15.camel@asus> Subject: Re: x86_64-w64-ming32-g++ file not recognized by objdump Date: Sun, 21 Aug 2011 02:11:00 -0000 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="UTF-8"; reply-type=original Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com X-SW-Source: 2011-08/txt/msg00396.txt.bz2 ----- Original Message ----- From: "Thomas D. Dean" > #include > #include > using namespace std; > int main() { > vector vs; > vs.push_back("asdf"); > } > > If I compile with g++, I get an executable that works, i.e. runs without > error. This file is recognized by objdump and cygcheck. > > If I compile with x86_64-w64-ming32-g++ -m64 t.cc -o t I presume the 'ming32' is a typo. Is the '-m64' necessary ? What happens if you remove it from the command ? I can't reproduce the error you get (either with or without '-m64'), though I'm just running mingw in the cmd.exe shell - not under Cygwin. > the resulting executable produces an error message >> ./t.exe > t.exe: error while loading shared libraries: ?: cannot open shared > object file: no such file or directory. >> objdump -p ./t.exe > objdump: ./t.exe: File format not recognized I think that's to be expected - objdump expects to look at a 32-bit executable. I get the same error when I run objdump on a 64-bit executable. Try: x86_64-w64-mingw32-objdump -p ./t.exe Cheers, Rob -- 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