This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Memory leak in 2.12.1
- From: Jeff Baker <jbaker at qnx dot com>
- To: Nick Clifton <nickc at redhat dot com>
- Cc: binutils at sources dot redhat dot com
- Date: Wed, 14 Jul 2004 11:12:30 -0400
- Subject: Re: Memory leak in 2.12.1
- Organization: QNX Software Systems Ltd.
- References: <40F4F409.6070000@redhat.com>
- Reply-to: jbaker at qnx dot com
Thanks.
That was the plan if no-one happened to remember.
Nick Clifton wrote:
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