Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm 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 Message-ID: <41BA0803.10103@kleckner.net> Date: Fri, 10 Dec 2004 12:33:07 -0800 From: Jim Kleckner User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040616 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: cygwin-gcc-fopen bug? (Purify) References: In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Dave Korn wrote: >>-----Original Message----- >>From: cygwin-owner On Behalf Of Jim Kleckner >>Sent: 10 December 2004 19:01 > > >>We used to use Purify to find these sorts of problems >>often just by running the program once. Unfortunately >>for us using cygwin, Purify appears to have moved toward >>a firm dependence on VC. Also, it is quite expensive. ... > AAArrgh! It's a Rational tool! Oh no, run away! I feel your angst! Though Purify was orignally created by Pure Software as an awesome and unique tool (and they got a patent for the object code insertion technique). Pure was bought by Rational which was bought by IBM... >>Has anyone out there gotten either Purify >>or BoundsChecker to work with Cygwin? >>I'll wager that if you could, Purify would >>pinpoint a lot of tricky issues extremely >>quickly. Maybe a tool to munge the symbol >>table into VC-compatible form? > > Maybe we should try and port the free open-source equivalent valgrind > (http://valgrind.kde.org/) instead? I haven't ever looked at this, but it ought > to be possible. I note that you can use (a special variant version of) valgrind > to verify win32 apps running on WINE. So I guess there's a long-way-round to do > that already.... Interesting tool and it looks promising. In the original implementation, Purify didn't even need a symbol table to instrument code let alone be compiled or linked with the program, though meaningful messages depended on it. The tool understood the machine architecture and modified the code in-place (thus object code insertion). You could do checking on static or dynamic libraries from vendors with or without their cooperation along with your own code. Very very nice and comprehensive. Without careful feature comparison, I can't be sure, but I'll bet there are significant checks that Purify does (if OCI is enabled) that Valgrind does not do. Jim -- 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/