public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Jim Kleckner <jek-cygwin1@kleckner.net>
To: cygwin@cygwin.com
Cc: Bill Priest <priestwilliaml@yahoo.com>
Subject: gcc bounds checking, valgrind, purify
Date: Fri, 17 Dec 2004 20:45:00 -0000	[thread overview]
Message-ID: <41C3453D.90408@kleckner.net> (raw)
In-Reply-To: <20041213011810.91265.qmail@web20824.mail.yahoo.com>


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/

      reply	other threads:[~2004-12-17 20:45 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-13  1:18 jek-cygwin1@kleckner.net (bounds checking) Bill Priest
2004-12-17 20:45 ` Jim Kleckner [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=41C3453D.90408@kleckner.net \
    --to=jek-cygwin1@kleckner.net \
    --cc=cygwin@cygwin.com \
    --cc=priestwilliaml@yahoo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).