bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: GNU make 3.81rc1 released -- please test.


From: Paul D. Smith
Subject: RE: GNU make 3.81rc1 released -- please test.
Date: Mon, 20 Feb 2006 10:29:59 -0500

%% "Norman Wilson" <address@hidden> writes:

  nw> It was in beta4 on Solaris but didn't show up on Linux. There is
  nw> another SEGV on Linux in the same bit of code, but it only happens
  nw> when using -W flags. I've been catching up with some other stuff
  nw> (ie my proper work) so I haven't had time to really get into
  nw> this. It's not a show stopper for me since it doesn't always
  nw> happen at the same point in the build, therefore I can make
  nw> progress - if make falls over I just start it again and it does a
  nw> bit more. As I get more info I'll post it.

If you run your build in Linux with valgrind (if you don't already have
it you can almost certainly get it packaged for your distro; if not see
valgrind.org to download the source) it will catch memory problems even
if they don't normally cause a crash there.  Unfortunately valgrind only
runs on Linux/Intel (and there is a beta port for Linux/PPC) so you
can't use it on Solaris.  If you have a copy of Purify or similar that
might help.  Or of course there are various malloc-replacement libraries
etc.  Here's a little thread I found on ways to debug heap issues on
Solaris:

  http://forum.sun.com/thread.jspa?threadID=26871&messageID=96925


To me it seems highly unlikely that the error condition only appears on
Solaris; it's more likely that it just doesn't cause the same behavior
on Solaris as it does on Linux.  That's quite common with heap errors.
So, valgrind on Linux might find it even though it doesn't appear to
break there.

If you go with valgrind, once you get it installed then just run it and
pass make + your options as an argument; e.g. instead of:

  make -k -j 4 variants=dyn_dbg --warn-undefined-variables everything

you should run something like:

  valgrind --log-file=valgrind.out --tool=memcheck --leak-check=full \
    make -k -j 4 variants=dyn_dbg --warn-undefined-variables everything


It will be slow: twice as slow or more.  But, it's a great tool.

Thanks.

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <address@hidden>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.paulandlesley.org
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist




reply via email to

[Prev in Thread] Current Thread [Next in Thread]