X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Message-ID: <4734DDC8.15DFC644@dessent.net> Date: Fri, 09 Nov 2007 14:23:04 -0800 From: Brian Dessent X-Mailer: Mozilla 4.79 [en] (Windows NT 5.0; U) MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: Version mismatch - gcov and -mno-cygwin References: <49f7c7f10711091405p8593142q6daa35fd9340c0af AT mail DOT gmail DOT com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Reply-To: cygwin AT cygwin DOT com 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 Jevin Sweval wrote: > When adding instrumenting to -mno-cygwin compiled programs (using > -ftest-coverage -fprofile-arcs and linking against -lgcov), I get and > error complaining about "version mismatch between version 304c and > 304m". Using `strings`, I believe that the gcc versions (for the > cygwin and mingw cc1) are 304c and that libgcov is version 304m. Is > there any chance that the package could be fixed? If not, any advice > on what to do to fix the problem? Thanks! The problem is that -mno-cygwin does not switch to a different cc1, there is only one that is shared between both targets, by just setting diffferent options in the specs file. If you look at "ls -l /usr/lib/gcc/i686-pc-mingw32/3.4.4/cc1.exe" it is a symlink to the Cygwin one. But the target libraries are obviously not the same. So there is no way for -mno-cygwin to switch interfaces, we'd need to rebuild the MinGW libgcov to use 304c. But then you lose compatibility with real MinGW compiled objects/libs that are using 304m so that is just as broken, since the whole point of -mno-cygwin is to be MinGW. I'd say this is just a limitation of what -mno-cygwin is able to do; if you want a workaround use the real MinGW gcc instead of -mno-cygwin. If you need a MinGW compiler that supports POSIX paths then you can build it as a cross compiler (and in fact this is the way we intend to do things in the future, deprecating -mno-cygwin.) Brian -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/