This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
store.exp failures
- From: David Carlton <carlton at math dot stanford dot edu>
- To: gdb <gdb at sources dot redhat dot com>
- Cc: Andrew Cagney <ac131313 at redhat dot com>
- Date: 05 Dec 2002 13:30:54 -0800
- Subject: store.exp failures
When I run gdb.base/store.exp, (GCC 3.1, i686 Linux) I get tons and
tons of failures. Looking into the log file, I see the following:
(gdb) break main
Breakpoint 1 at 0x80488f0: file gdb.base/store.c, line 233.
(gdb) run
Starting program: /extra/gdb/mirror/src/gdb/testsuite/gdb.base/store
Breakpoint 1, main () at gdb.base/store.c:233
233 wack_struct_1 ();
(gdb) tbreak wack_char
Breakpoint 2 at 0x804849e: file gdb.base/store.c, line 46.
(gdb) PASS: gdb.base/store.exp: tbreak wack_char
continue
Continuing.
Program exited normally.
So, basically, it looks like some of the calls to the wack_XXX
functions are getting optimized out by the compiler, even though no
optimization flags are being passed. Digging into the assembly
confirms this; the code for main starts off as follows:
main:
.LFB25:
# store.c:215
.loc 1 215 0
# basic block 0
pushl %ebp
.LCFI67:
movl %esp, %ebp
.LCFI68:
subl $120, %esp
.LCFI69:
andl $-16, %esp
movl $0, %eax
subl %eax, %esp
# store.c:233
.loc 1 233 0
leal -10(%ebp), %eax
movl %eax, (%esp)
call wack_struct_1
I have no idea what to do about this. The same thing happens with GCC
3.2.
For what it's worth, if I run it with GCC 2.95.3, I get FAILs on "new
up struct 1" and "new up struct 2", but everything else works.
(Incidentally, is 'wack' a typo for 'whack', or something else?)
David Carlton
carlton@math.stanford.edu