On Thu, Jun 17, 2010 at 10:15 AM, Stefan Reinauer stepan@coresystems.de wrote:
On 6/17/10 5:12 PM, Myles Watson wrote:
It looks like Patrick found this before: http://www.coreboot.org/pipermail/coreboot/2009-November/054387.html
If I take out the free it works fine. It seems like there must be a better fix.
Agreed.
I took a look at this a little bit with Stefan and he helped me track where the double free is.
The routine doing the freeing badly needs to be rewritten to use simpler logic as the recursive logic it is using now just doesn't work, and it winds up to be a bit of a crap shoot if your compile gets killed by this or not.
What if we just agree that host machines have a lot of RAM, romcc is not a long-running program, and life will be easier if nothing gets freed.
Then we should also switch to Visual C++ in order to stay compliant. ;-)
Point taken :)
Myles