This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFC] XFAIL bigcore.exp on some GNU/Linux targets
- From: Daniel Jacobowitz <drow at false dot org>
- To: Andrew Cagney <cagney at gnu dot org>
- Cc: gdb-patches at sources dot redhat dot com
- Date: Wed, 21 Apr 2004 10:59:51 -0400
- Subject: Re: [RFC] XFAIL bigcore.exp on some GNU/Linux targets
- References: <20040417214254.GA14000@nevyn.them.org> <40855D55.7000708@gnu.org>
On Tue, Apr 20, 2004 at 01:26:45PM -0400, Andrew Cagney wrote:
> Why not ask the program the heap size? it's in total_allocated, just
> make that a static.
Duh. I'll update the patch to do that before I check it in.
>
> >+# Traverse part of bigcore's linked list of memory chunks, finding the
> >total
> >+# size. Note that we use GDB to do the math; TCL is not reliable with
> >+# extremely large integers.
> >+
> >+proc heap_size { } {
> >+ global gdb_prompt
> >+ global expect_out
> >+ set test "find heap size"
> >+ set lim 0
> >+ gdb_test "set \$size = 0" ""
> >+ gdb_test_multiple "print heap.next" "$test" {
> >+ -re " = \\(struct list \\*\\) 0x0.*$gdb_prompt $" {
> >+ pass "$test"
> >+ }
> >+ -re " = \\(struct list \\*\\) (0x\[0-9a-f\]*).*$gdb_prompt $" {
> >+ if { $lim >= 50 } {
> >+ pass "$test (stop at $lim)"
> >+ } else {
> >+ incr lim
> >+ gdb_test "set \$size = \$size + \$.size" ""
> >+ send_gdb "print \$.next\n"
> >+ exp_continue
> >+ }
> >+ }
> >+ -re ".*$gdb_prompt $" {
> >+ fail "$test (entry $lim)"
> >+ }
> >+ timeout {
> >+ fail "$test (timeout)"
> >+ }
> >+ }
> >+ gdb_test_multiple "print \$size" "print \$size" {
> >+ -re " = (\[0-9\]*)\r\n$gdb_prompt $" {
> >+ set size $expect_out(1,string)
> >+ pass "print \$size"
> >+ }
> >+ }
> >+ return $size;
> >+}
> >+
>
>
> Andrew
>
>
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer