|
From: Jeremy F. <je...@go...> - 2004-01-23 00:31:57
|
On Thu, 2004-01-22 at 16:20, Art Haas wrote:
> 'b' just gets bigger, but elfbrk and 'delta' stay the same. Anything else
> I can try?
Well, delta is just 32M, so I wouldn't expect it to change until the
very end. b will keep growing until it hits endbrk (it'll take a while
in 32M steps).
Ah! And that printf itself will cause the failure, because it maps some
memory. So, comment out the printf. If that doesn't work, try this as
well:
*** ume.c 6 Jan 2004 16:02:29 -0000 1.7
--- ume.c 23 Jan 2004 00:29:03 -0000
*************** ESZ(Addr) mapelf(struct elfinfo *e, ESZ(
*** 352,357 ****
--- 352,358 ----
"perhaps we hit the datasize ulimit?\n");
return 0;
}
+ munmap((char *)PGROUNDUP(b), delta);
b += delta;
}
munmap(initb, (char *)PGROUNDDN(elfbrk)-initb);
But basically I consider this whole mucking about with brk a bug anyway,
so I intend changing the way all this works.
J
|