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: <41C3453D.90408@kleckner.net> Date: Fri, 17 Dec 2004 12:44:45 -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 CC: Bill Priest Subject: gcc bounds checking, valgrind, purify References: <20041213011810 DOT 91265 DOT qmail AT web20824 DOT mail DOT yahoo DOT com> In-Reply-To: <20041213011810.91265.qmail@web20824.mail.yahoo.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Note-from-DJ: This may be spam Bill Priest wrote: >Jim & All, > I've successfully built and used cygwin 3.3.1 with >Herman Ten Brugge's bounds checking patches. I've >submitted the trivial changes required for cygwin back >to Herman. > You can google for Herman Ten Brugge and find a >reference to the changes I made to get them to work >w/ cygwin. > Of course it only works w/ 'C'; but I used it to >track down array indexing problems and pointer >problems. > > Very interesting. Checking out those links, it appears that these patches are very much like a static version of Valgrind. Valgrind works dynamically with an x86 code rewriter that appears to be language independent and seems to implement a lot of the difficult functionality that the original Purify implemented. Valgrind ought to work with C++ where gcc-bounds-checking as you say is only 'C' (though there are some traces in These patches have been around for 10 years (!). This kind of test is so valuable, I'm surprised that they have never been integrated into gcc. It seems like it isn't such a big risk to include them and config them to be off by default. This would hugely improve the maintainability and availability of the patches. Did your cygwin patches get into bounds checking patch for the 3.4.2-100 version of 7-Sep-2004 ? It does look so from the source. Would it be reasonable integrate this patch into the cygwin GCC? I expect back the answer no, because GCC needs to be synced with the upstream. But this stuff would be so much more valuable if (in order of accessibility): - It was just part of GCC as an option - It could be selectively installed as a package alternative - The patches were integrated so that one could download and recompile. There was a discussion here: http://www.cygwin.com/ml/cygwin/2003-11/msg00320.html about the value of recompiling sort of a "super debug" version of the cygwin dll and libraries with gcc-bounds-checking that ran slowly but did a lot of checking. That would indeed be valuable. Jim PS: Please don't put my email address in the subject line. Spam harvesters, you know. PPS: Convenience links for fellow travelers: Good article giving the context and pointers: http://www.network-theory.co.uk/articles/boundschecking.html GCC extensions page: http://gcc.gnu.org/extensions.html Herman Ten Brugge pages with source: http://web.inter.nl.net/hcc/Haj.Ten.Brugge/ Alternate (main?) source of the patches: http://sourceforge.net/projects/boundschecking/ Valgrind home page: http://valgrind.kde.org/ -- 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/