Memory leak in 2.12.1

Nick Clifton nickc@redhat.com
Wed Jul 14 08:42:00 GMT 2004


Hi Jeff,

> If it helps refresh anyones memory, it was fixed somewhere between 
> 2.13.2 and 2.14.

Sorry it does not ring any bells. :-(


>> We build one set of binutils (minus ld and gas, which do not show this 
>> problem) that target x86, but also have powerpc, mips, arm and sh 
>> enabled.  If you attempt to use any of the secondary targetting (arm, 
>> sh, ppc, mips) utils on a static library it will very quickly exhaust 
>> your system memory.  It doesn't matter in which order you specify the 
>> targets.  If you configure with '--target=powerpc-nto-qnx 
>> --enable-targets="mips-nto-qnx sh-nto-qnx i386-nto-qnx arm-nto-qnx"', 
>> then powerpc is fine and the rest show this behaviour.


My best suggestion would be to use a binary-chop method to locate the 
patch that fixed the bug.  It is quite an involved process but I have 
used it successfully before.  The steps are as follows:

   0.  Create a local copy of the CVS repository.  (The sourceware 
repository supports rsync).

   1.  Create a script to do this following:

      A.  Pick a start date, eg the 2.13.2 release date, and check out a 
copy of the sources using your local archive.  It also helps if you can 
do this on a ramdisk to speed things up.

      B.  Test this checked out copy for the bug.  Since you are 
concerned with running out of memory you will probably want to use 
something like ulimit to make sure that the build process does not bring 
your machine to a halt.

   2.  The first time through the test should fail.  Now pick a known 
good date, eg the 2.14 release, and repeat step 1.  The test should 
pass.  Now you have two dates and you can the binary chop algorithm to 
narrow down to the exact day when a patch was checked in to fix the problem.

Cheers
   Nick




More information about the Binutils mailing list