From mboxrd@z Thu Jan 1 00:00:00 1970 From: hjl@lucon.org (H.J. Lu) To: egcs@cygnus.com Subject: More exception bug Date: Fri, 03 Oct 1997 14:42:00 -0000 Message-id: X-SW-Source: 1997-10/msg00175.html Hi, I was told g++.mike/eh35.C failed because nested exception hanlding didn't work. I used a different malloc. This time I got (gdb) r Starting program: /home/work/gnu/src/egcs/gcc/testsuite/g++.old-deja/a.out Breakpoint 1, 0x804b0a9 in __libc_malloc (size=24) at malloc.c:160 160 { (gdb) bt #0 0x804b0a9 in __libc_malloc (size=24) at malloc.c:160 #1 0x8049991 in __register_frame (begin=0x1) #2 0x8048085 in _init () (gdb) c Continuing. Breakpoint 1, 0x804b0a9 in __libc_malloc (size=4096) at malloc.c:160 160 { (gdb) bt #0 0x804b0a9 in __libc_malloc (size=4096) at malloc.c:160 #1 0x804b192 in __libc_malloc (size=24) at malloc.c:220 #2 0x8049991 in __register_frame (begin=0x1) #3 0x8048085 in _init () (gdb) c Continuing. Breakpoint 1, 0x804b0a9 in __libc_malloc (size=1) at malloc.c:160 160 { (gdb) bt #0 0x804b0a9 in __libc_malloc (size=1) at malloc.c:160 #1 0x8048c2c in ___builtin_new (sz=3221224644) #2 0x80480ee in ___crt_dummy__ () (gdb) c Continuing. Breakpoint 1, 0x804b0a9 in __libc_malloc (size=4096) at malloc.c:160 160 { (gdb) bt #0 0x804b0a9 in __libc_malloc (size=4096) at malloc.c:160 #1 0x804b192 in __libc_malloc (size=1) at malloc.c:220 #2 0x8048c2c in ___builtin_new (sz=3221224644) #3 0x80480ee in ___crt_dummy__ () (gdb) c Continuing. Breakpoint 1, 0x804b0a9 in __libc_malloc (size=428) at malloc.c:160 160 { (gdb) bt #0 0x804b0a9 in __libc_malloc (size=428) at malloc.c:160 #1 0x804908c in frame_init (ob=Cannot access memory at address 0xb7. ) Cannot access memory at address 0x6b. (gdb) c Continuing. Breakpoint 1, 0x804b0a9 in __libc_malloc (size=4096) at malloc.c:160 160 { (gdb) bt #0 0x804b0a9 in __libc_malloc (size=4096) at malloc.c:160 #1 0x804b192 in __libc_malloc (size=428) at malloc.c:220 #2 0x804908c in frame_init (ob=Cannot access memory at address 0xb7. ) Cannot access memory at address 0x6b. (gdb) c Continuing. Breakpoint 1, 0x804b0a9 in __libc_malloc (size=1) at malloc.c:160 160 { (gdb) bt #0 0x804b0a9 in __libc_malloc (size=1) at malloc.c:160 #1 0x8048c2c in ___builtin_new (sz=3221224644) #2 0x80480ee in ___crt_dummy__ () (gdb) c Continuing. Breakpoint 2, 0x804b82f in __libc_free (ptr=0x8055ff8) at free.c:204 204 { #0 0x804b82f in __libc_free (ptr=0x8055ff8) at free.c:204 #1 0x8048bef in ___builtin_delete (ptr=0x8050ab4) #2 0x8048275 in main () at g++.mike/eh35.C:13 #3 0x80480ee in ___crt_dummy__ () Breakpoint 2, 0x804b82f in __libc_free (ptr=0x8055ff8) at free.c:204 204 { #0 0x804b82f in __libc_free (ptr=0x8055ff8) at free.c:204 #1 0x8048bef in ___builtin_delete (ptr=0x8050ab4) #2 0x804828d in main () at g++.mike/eh35.C:13 #3 0x80480ee in ___crt_dummy__ () Breakpoint 2, 0x804b82f in __libc_free (ptr=0x8056000) at free.c:204 204 { #0 0x804b82f in __libc_free (ptr=0x8056000) at free.c:204 #1 0x8049a52 in __deregister_frame (begin=0x0) #2 0x804d8c5 in _fini () #3 0x80480f4 in ___crt_dummy__ () ---Type to continue, or q to quit--- Breakpoint 2, 0x804b82f in __libc_free (ptr=0x8054000) at free.c:204 204 { #0 0x804b82f in __libc_free (ptr=0x8054000) at free.c:204 #1 0x8049a5b in __deregister_frame (begin=0x0) #2 0x804d8c5 in _fini () #3 0x80480f4 in ___crt_dummy__ () Program exited normally. This time the binary returns 0. BTW, I am using DWARF unwind on x86. Hope it helps. Thanks. -- H.J. Lu (hjl@gnu.ai.mit.edu)