This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Statically identified memory leaks in ld


On Mon, Mar 24, 2003 at 07:09:54PM -0500, Hans-Peter Nilsson wrote:
> On Mon, 24 Mar 2003, David Heine wrote:
> > Using a static analysis tool "Clouseau" built as part of
> > my research, I have identified a number of potential memory leaks
> > in ld and the libraries it uses.  The tool assumes a linear model of
> > memory to automatically identifies potential leaks, but the
> > process of fixing them is manual.  I have put together and
> > enclosed a patch against bfd/libiberty/ld checked out yesterday
> > from the CVS repository that fixes most of the leaks identified
> > while building "ld" on a redhat linux machine.  There are others
> > in other binutils tools, but I have not yet created a patch to fix them.
> 
> (Since nobody else said so -- at least not explicitly:)
> Thank you for your work!
> 
> Now, some pointer to this "Clouseau" tool would be in order
> (What kind of bug? ... An explosive one!), provided it's free
> software.  Google just finds me the infamous "Pink Panther"
> references and some Belgian band on the first pages.
> 
> brgds, H-P
> PS.  Yeah, I know -- valgrind would probably find these bugs too.

It's still in the research prototype stage. The actual tool is
written in the SUIF compiler infrastructure which it freely available.
However, the frontend is licensed by EDG but generally available for
academic use.

There is a short blurb on
http://suif.stanford.edu/research/analysis.html#clouseau
and there will also be a PLDI paper presented in June on the techniques.
It has been recently enhanced for verifying generic container
usage (generic lists, trees, etc)
Because it is static analysis, it can catch some code errors that
dynamic tools like valgrind or purify will only catch when they occur on an
instrumented run.

-David


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]