httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dean Gaudet <>
Subject Re: [PATCH] using freed memory, and a memory debugger
Date Sun, 12 Oct 1997 22:25:26 GMT

On Sun, 12 Oct 1997, Martin Kraemer wrote:

> On Sat, Oct 11, 1997 at 01:56:34AM -0700, Dean Gaudet wrote:
> > Yeah ... magic numbers would be really cool for this.  (Ben don't
> > mention C++!)  We could mostly automate it somewhat like this: 
> When I said "magic numbers" I really meant a unique "type tag"
> describing each apache structure type; like in

That's exactly what my macros did -- but the tag numbers were actually the
address of an otherwise unused variable.  i.e. the linker gets to generate
the tag numbers just by placing those variables somewhere in the BSS. 

> Too bad you could make a more positive experience with Checker; its
> announcement did sound interesting. But if it doesn't even work on (all)
> Linuxes, the portability cannot be very high!?!?

Well there's two versions of it at the moment -- one which works with an
old version of libc 5.0.x, and one which works with glibc 2.0.x.  The
former is hopeless because I can't downgrade my system to such an old
libc, and I can't use prepackaged stuff because I've got a 2.1.29 kernel
(which is what most of the boxes at transmeta are running).  The latter is
good, but to get it to work I think I'd have to upgrade my system to glibc
2.0.x as the primary C library ... which also wouldn't do because it'd be
the only glibc system at transmeta (and it's part of a batch cluster in
it's "spare" time).  At some point I'll be able to build a complete glibc
system, probably on one of my personal boxes ... and then I'll try again.

It's definately not portable though -- it has to know a lot about the C
library to do the proper colouring of memory locations that are used in
library routines.  The Purify solution works much nicer... but is
patented.  Checker could be ported to other x86 and sparc unixes, it just
needs a bunch of C library wrappers. 


View raw message