From: Jim Blandy <jimb@redhat.com>
To: Mark Kettenis <kettenis@kettenis.dyndns.org>
Cc: fnf@redhat.com, gdb-patches@sources.redhat.com
Subject: Re: [RFC] Gdb line table implementation tweak
Date: Wed, 27 Feb 2002 13:43:00 -0000 [thread overview]
Message-ID: <np664ilhxg.fsf@zwingli.cygnus.com> (raw)
In-Reply-To: <86y9hjnamk.fsf@elgar.kettenis.dyndns.org>
Mark Kettenis <kettenis@kettenis.dyndns.org> writes:
> Unfortunately, this patch turns quite a few PASSes into FAILS on
> i386-unknown-freebsd4.4. Here's a diff of the test summary before and
> after applying the patch. Are we sure this patch is an improvement?
This patch addresses a lot of long-standing problems in GDB's handling
of C++ link-once sections; I'm pretty sure it's a step forward,
overall. I think we should put a good effort into fixing up the patch
before we consider backing it out.
Fred, could you look into these failures?
>
> --- gdb.sum.orig Sat Feb 23 22:21:50 2002
> +++ gdb.sum Sat Feb 23 22:35:10 2002
> @@ -1,4 +1,4 @@
> -Test Run By kettenis on Sat Feb 23 22:14:32 2002
> +Test Run By kettenis on Sat Feb 23 22:27:38 2002
> Native configuration is i386-unknown-freebsd4.4
>
> === gdb tests ===
> @@ -358,21 +358,21 @@
> PASS: gdb.base/call-ar-st.exp: continuing to breakpoint 1220, pattern 8
> PASS: gdb.base/call-ar-st.exp: continuing to breakpoint 1220, pattern 9
> PASS: gdb.base/call-ar-st.exp: continuing to breakpoint 1220, pattern 10 + sentinel
> -PASS: gdb.base/call-ar-st.exp: step inside print_all_arrays
> -PASS: gdb.base/call-ar-st.exp: next over print_int_array in print-all_arrays
> -PASS: gdb.base/call-ar-st.exp: print print_double_array(array_d), pattern 1
> -PASS: gdb.base/call-ar-st.exp: print print_double_array(array_d), pattern 2
> -PASS: gdb.base/call-ar-st.exp: print print_double_array(array_d), pattern 3
> -PASS: gdb.base/call-ar-st.exp: print print_double_array(array_d), pattern 4
> -PASS: gdb.base/call-ar-st.exp: print print_double_array(array_d), pattern 5 + sentinel
> +FAIL: gdb.base/call-ar-st.exp: step inside print_all_arrays
> +FAIL: gdb.base/call-ar-st.exp: next over print_int_array in print-all_arrays
> +FAIL: gdb.base/call-ar-st.exp: print print_double_array(array_d), pattern 1
> +UNRESOLVED: gdb.base/call-ar-st.exp: print print_double_array(array_d), pattern 2
> +UNRESOLVED: gdb.base/call-ar-st.exp: print print_double_array(array_d), pattern 3
> +UNRESOLVED: gdb.base/call-ar-st.exp: print print_double_array(array_d), pattern 4
> +UNRESOLVED: gdb.base/call-ar-st.exp: print print_double_array(array_d), pattern 5 + sentinel
> PASS: gdb.base/call-ar-st.exp: tbreakpoint line 1236
> -PASS: gdb.base/call-ar-st.exp: continuing to 1236, pattern 1
> -PASS: gdb.base/call-ar-st.exp: continuing to 1236, pattern 2
> -PASS: gdb.base/call-ar-st.exp: continuing to 1236, pattern 3
> -PASS: gdb.base/call-ar-st.exp: continuing to 1236, pattern 4
> -PASS: gdb.base/call-ar-st.exp: continuing to 1236, pattern 5
> -PASS: gdb.base/call-ar-st.exp: continuing to 1236, pattern 6
> -PASS: gdb.base/call-ar-st.exp: continuing to 1236, pattern 7 + sentinel
> +FAIL: gdb.base/call-ar-st.exp: continuing to 1236, pattern 1
> +UNRESOLVED: gdb.base/call-ar-st.exp: continuing to 1236, pattern 2
> +UNRESOLVED: gdb.base/call-ar-st.exp: continuing to 1236, pattern 3
> +UNRESOLVED: gdb.base/call-ar-st.exp: continuing to 1236, pattern 4
> +UNRESOLVED: gdb.base/call-ar-st.exp: continuing to 1236, pattern 5
> +UNRESOLVED: gdb.base/call-ar-st.exp: continuing to 1236, pattern 6
> +UNRESOLVED: gdb.base/call-ar-st.exp: continuing to 1236, pattern 7 + sentinel
> PASS: gdb.base/call-ar-st.exp: print sum_array_print(10, *list1, *list2, *list3, *list4)
> PASS: gdb.base/call-ar-st.exp: next to 1237
> PASS: gdb.base/call-ar-st.exp: print print_array_rep(*list1, *list2, *list3)
> @@ -461,7 +461,7 @@
> PASS: gdb.base/call-ar-st.exp: tbreakpoint line 1300
> PASS: gdb.base/call-ar-st.exp: continue to 1300
> FAIL: gdb.base/call-ar-st.exp: step into init_bit_flags_combo
> -PASS: gdb.base/call-ar-st.exp: print print_bit_flags_combo from init_bit_flags_combo
> +FAIL: gdb.base/call-ar-st.exp: print print_bit_flags_combo from init_bit_flags_combo
> PASS: gdb.base/call-ar-st.exp: tbreakpoint line 1305
> PASS: gdb.base/call-ar-st.exp: continue to 1305
> PASS: gdb.base/call-ar-st.exp: print print_long_arg_list, pattern 1
> @@ -1385,18 +1385,18 @@
> PASS: gdb.base/display.exp: disab 3
> PASS: gdb.base/display.exp: watch off
> PASS: gdb.base/display.exp: finish
> -PASS: gdb.base/display.exp: step
> +FAIL: gdb.base/display.exp: step
> PASS: gdb.base/display.exp: tbreak 37
> -PASS: gdb.base/display.exp: cont
> +FAIL: gdb.base/display.exp: cont: the program exited
> PASS: gdb.base/display.exp: printf
> PASS: gdb.base/display.exp: printf %d
> PASS: gdb.base/display.exp: printf "%d
> -PASS: gdb.base/display.exp: printf "%d%d",i
> +FAIL: gdb.base/display.exp: printf "%d%d",i
> PASS: gdb.base/display.exp: printf "\\!\a\f\r\t\v\b\n"
> PASS: gdb.base/display.exp: re-set term
> PASS: gdb.base/display.exp: printf "\w"
> PASS: gdb.base/display.exp: printf "%d" j
> -PASS: gdb.base/display.exp: print/r j
> +FAIL: gdb.base/display.exp: print/r j
> PASS: gdb.base/display.exp: debug test output
> PASS: gdb.base/display.exp: x/0 j
> PASS: gdb.base/display.exp: print/0 j
> @@ -1404,7 +1404,7 @@
> PASS: gdb.base/display.exp: no i
> PASS: gdb.base/display.exp: print/a &sum
> PASS: gdb.base/display.exp: print/a main+4
> -PASS: gdb.base/display.exp: print/a $pc
> +FAIL: gdb.base/display.exp: print/a $pc
> PASS: gdb.base/display.exp: print/a &&j
> Running ../../../../src/src/gdb/testsuite/gdb.base/echo.exp ...
> PASS: gdb.base/echo.exp: Echo test
> @@ -2107,9 +2107,9 @@
> PASS: gdb.base/funcargs.exp: finish from indirectly called function
> FAIL: gdb.base/funcargs.exp: stepping into indirectly called function
> PASS: gdb.base/funcargs.exp: finish from marker_call_with_trampolines
> -PASS: gdb.base/funcargs.exp: stepping into function called with trampolines
> -PASS: gdb.base/funcargs.exp: backtrace through call with trampolines
> -PASS: gdb.base/funcargs.exp: stepping back to main from function called with trampolines
> +FAIL: gdb.base/funcargs.exp: stepping into function called with trampolines
> +FAIL: gdb.base/funcargs.exp: backtrace through call with trampolines
> +FAIL: gdb.base/funcargs.exp: stepping back to main from function called with trampolines
> Running ../../../../src/src/gdb/testsuite/gdb.base/gcore.exp ...
> PASS: gdb.base/gcore.exp: help gcore
> PASS: gdb.base/gcore.exp: set breakpoint at terminal_func
> @@ -2507,14 +2507,15 @@
> FAIL: gdb.base/list.exp: list list0.c:main
> FAIL: gdb.base/list.exp: list list0.c:unused
> FAIL: gdb.base/list.exp: list list0.h:foo
> -PASS: gdb.base/list.exp: list filename:function (2 tests)
> +FAIL: gdb.base/list.exp: list list1.c:unused
> +PASS: gdb.base/list.exp: list filename:function (1 tests)
> XFAIL: gdb.base/list.exp: list filename:function; wrong filename rejected
> PASS: gdb.base/list.exp: list filename:function; nonexistant file
> PASS: gdb.base/list.exp: list filename:function; nonexistant function
> PASS: gdb.base/list.exp: set listsize 4
> FAIL: gdb.base/list.exp: list long_line
> PASS: gdb.base/list.exp: search 4321
> -PASS: gdb.base/list.exp: search 6789
> +FAIL: gdb.base/list.exp: search 6789
> PASS: gdb.base/list.exp: search extremely long line (> 5000 chars)
> Running ../../../../src/src/gdb/testsuite/gdb.base/logical.exp ...
> PASS: gdb.base/logical.exp: set variable x=0
> @@ -3472,7 +3473,8 @@
> PASS: gdb.base/ptype.exp: ptype named enumeration
> PASS: gdb.base/ptype.exp: ptype unnamed typedef'd enumeration
> PASS: gdb.base/ptype.exp: list main
> -PASS: gdb.base/ptype.exp: whatis unnamed typedef'd enum (compiler bug in IBM's xlc)
> +ERROR: get_debug_format used when no current source file
> +UNRESOLVED: gdb.base/ptype.exp: whatis unnamed typedef'd enum (compiler bug in IBM's xlc)
> PASS: gdb.base/ptype.exp: printing typedef'd struct
> PASS: gdb.base/ptype.exp: printing typedef'd union
> PASS: gdb.base/ptype.exp: ptype named typedef'd enumf'd enum
> @@ -3490,14 +3492,15 @@
> PASS: gdb.base/ptype.exp: ptype nested structure #2
> PASS: gdb.base/ptype.exp: ptype inner int
> PASS: gdb.base/ptype.exp: ptype nested union
> -XFAIL: gdb.base/ptype.exp: ptype func_type (compiler doesn't emit prototyped types)
> +ERROR: get_debug_format used when no current source file
> +UNRESOLVED: gdb.base/ptype.exp: ptype func_type (compiler doesn't emit prototyped types)
> PASS: gdb.base/ptype.exp: ptype old_fptr
> -XFAIL: gdb.base/ptype.exp: ptype new_fptr (compiler doesn't emit prototyped types)
> -XFAIL: gdb.base/ptype.exp: ptype fptr (compiler doesn't emit prototyped types)
> -XFAIL: gdb.base/ptype.exp: ptype fptr2 (compiler doesn't emit prototyped types)
> -XFAIL: gdb.base/ptype.exp: ptype xptr (compiler doesn't emit prototyped types)
> -XFAIL: gdb.base/ptype.exp: ptype ffptr (compiler doesn't emit prototyped types)
> -XFAIL: gdb.base/ptype.exp: ptype fffptr (compiler doesn't emit prototyped types)
> +FAIL: gdb.base/ptype.exp: ptype new_fptr (compiler doesn't emit prototyped types)
> +FAIL: gdb.base/ptype.exp: ptype fptr (compiler doesn't emit prototyped types)
> +FAIL: gdb.base/ptype.exp: ptype fptr2 (compiler doesn't emit prototyped types)
> +FAIL: gdb.base/ptype.exp: ptype xptr (compiler doesn't emit prototyped types)
> +FAIL: gdb.base/ptype.exp: ptype ffptr (compiler doesn't emit prototyped types)
> +FAIL: gdb.base/ptype.exp: ptype fffptr (compiler doesn't emit prototyped types)
> PASS: gdb.base/ptype.exp: ptype "abc"
> PASS: gdb.base/ptype.exp: ptype {'a','b','c'}
> PASS: gdb.base/ptype.exp: ptype {0,1,2}
> @@ -4190,7 +4193,7 @@
> PASS: gdb.base/shlib-call.exp: step inside shr2 (shlib func)
> PASS: gdb.base/shlib-call.exp: step out of shr2 to main
> PASS: gdb.base/shlib-call.exp: print mainshr1(1)
> -PASS: gdb.base/shlib-call.exp: step into mainshr1
> +FAIL: gdb.base/shlib-call.exp: step into mainshr1
> PASS: gdb.base/shlib-call.exp: set bp in shared library
> PASS: gdb.base/shlib-call.exp: run to bp in shared library
> PASS: gdb.base/shlib-call.exp: cont
> @@ -4696,17 +4699,17 @@
> PASS: gdb.base/step-line.exp: next over dummy 1
> PASS: gdb.base/step-line.exp: next to dummy 2
> PASS: gdb.base/step-line.exp: next over dummy 2
> -PASS: gdb.base/step-line.exp: step into f2
> -PASS: gdb.base/step-line.exp: next over dummy 4
> -PASS: gdb.base/step-line.exp: next to dummy 5
> -PASS: gdb.base/step-line.exp: next to dummy 6
> -PASS: gdb.base/step-line.exp: next over dummy 6
> -PASS: gdb.base/step-line.exp: next to dummy 7
> -PASS: gdb.base/step-line.exp: next to dummy 8
> -PASS: gdb.base/step-line.exp: next over dummy 8
> -PASS: gdb.base/step-line.exp: next to dummy 9
> -PASS: gdb.base/step-line.exp: next to dummy 10
> -PASS: gdb.base/step-line.exp: next over dummy 10
> +FAIL: gdb.base/step-line.exp: step into f2
> +FAIL: gdb.base/step-line.exp: next over dummy 4
> +FAIL: gdb.base/step-line.exp: next to dummy 5
> +FAIL: gdb.base/step-line.exp: next to dummy 6
> +FAIL: gdb.base/step-line.exp: next over dummy 6
> +FAIL: gdb.base/step-line.exp: next to dummy 7
> +FAIL: gdb.base/step-line.exp: next to dummy 8
> +FAIL: gdb.base/step-line.exp: next over dummy 8
> +FAIL: gdb.base/step-line.exp: next to dummy 9
> +FAIL: gdb.base/step-line.exp: next to dummy 10
> +FAIL: gdb.base/step-line.exp: next over dummy 10
> Running ../../../../src/src/gdb/testsuite/gdb.base/step-test.exp ...
> PASS: gdb.base/step-test.exp: next 1
> PASS: gdb.base/step-test.exp: step 1
> @@ -4723,7 +4726,7 @@
> PASS: gdb.base/step-test.exp: nexti over function
> PASS: gdb.base/step-test.exp: set breakpoint at call to large_struct_by_value
> PASS: gdb.base/step-test.exp: run to pass large struct
> -PASS: gdb.base/step-test.exp: large struct by value
> +FAIL: gdb.base/step-test.exp: large struct by value
> PASS: gdb.base/step-test.exp: continue until exit at step-test.exp
> Running ../../../../src/src/gdb/testsuite/gdb.base/structs.exp ...
> PASS: gdb.base/structs.exp: set print sevenbit-strings
> @@ -6354,9 +6357,9 @@
> PASS: gdb.c++/overload.exp: print call overloaded func float arg
> PASS: gdb.c++/overload.exp: print call overloaded func double arg
> FAIL: gdb.c++/overload.exp: list overloaded function with no args
> -PASS: gdb.c++/overload.exp: list overloaded function with int arg
> -PASS: gdb.c++/overload.exp: list overloaded function with function ptr args
> -PASS: gdb.c++/overload.exp: list overloaded function with function ptr args - quotes around argument
> +FAIL: gdb.c++/overload.exp: list overloaded function with int arg
> +FAIL: gdb.c++/overload.exp: list overloaded function with function ptr args
> +FAIL: gdb.c++/overload.exp: list overloaded function with function ptr args - quotes around argument
> Running ../../../../src/src/gdb/testsuite/gdb.c++/ovldbreak.exp ...
> PASS: gdb.c++/ovldbreak.exp: bp menu for foo::overload1arg choice 12
> PASS: gdb.c++/ovldbreak.exp: set bp 2 on foo::overload1arg 12 line 111
> @@ -7108,9 +7111,9 @@
> PASS: gdb.mi/mi-simplerun.exp: list of breakpoints, 16 disabled
> PASS: gdb.mi/mi-simplerun.exp: run to main
> PASS: gdb.mi/mi-simplerun.exp: next at main
> -PASS: gdb.mi/mi-simplerun.exp: step at main
> -PASS: gdb.mi/mi-simplerun.exp: step to callee4
> -PASS: gdb.mi/mi-simplerun.exp: exec-finish
> +FAIL: gdb.mi/mi-simplerun.exp: step at main (unknown output after running)
> +FAIL: gdb.mi/mi-simplerun.exp: step to callee4 (unknown output after running)
> +FAIL: gdb.mi/mi-simplerun.exp: exec-finish (unknown output after running)
> PASS: gdb.mi/mi-simplerun.exp: continue to end
> Running ../../../../src/src/gdb/testsuite/gdb.mi/mi-stack.exp ...
> PASS: gdb.mi/mi-stack.exp: break-insert operation
> @@ -7638,9 +7641,9 @@
> PASS: gdb.mi/mi0-simplerun.exp: list of breakpoints, 16 disabled
> PASS: gdb.mi/mi0-simplerun.exp: run to main
> PASS: gdb.mi/mi0-simplerun.exp: next at main
> -PASS: gdb.mi/mi0-simplerun.exp: step at main
> -PASS: gdb.mi/mi0-simplerun.exp: step to callee4
> -PASS: gdb.mi/mi0-simplerun.exp: exec-finish
> +FAIL: gdb.mi/mi0-simplerun.exp: step at main (unknown output after running)
> +FAIL: gdb.mi/mi0-simplerun.exp: step to callee4 (unknown output after running)
> +FAIL: gdb.mi/mi0-simplerun.exp: exec-finish (unknown output after running)
> PASS: gdb.mi/mi0-simplerun.exp: continue to end
> Running ../../../../src/src/gdb/testsuite/gdb.mi/mi0-stack.exp ...
> PASS: gdb.mi/mi0-stack.exp: break-insert operation
> @@ -8239,11 +8242,11 @@
>
> === gdb Summary ===
>
> -# of expected passes 7561
> -# of unexpected failures 152
> +# of expected passes 7514
> +# of unexpected failures 195
> # of unexpected successes 12
> -# of expected failures 156
> -# of unresolved testcases 100
> +# of expected failures 149
> +# of unresolved testcases 112
> # of untested testcases 1
> # of unsupported tests 3
> /usr/home/kettenis/obj/gdb/gdb/testsuite/../../gdb/gdb version 2002-02-23-cvs -nx
next prev parent reply other threads:[~2002-02-27 21:43 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-02-12 16:28 Fred Fish
2002-02-13 7:10 ` Daniel Jacobowitz
2002-02-21 12:50 ` Jim Blandy
2002-02-23 13:37 ` Mark Kettenis
2002-02-27 13:43 ` Jim Blandy [this message]
2002-02-27 15:24 ` Fred Fish
2002-03-16 22:51 ` [RFA/stabs] Fix for line table problems (was: Re: [RFC] Gdb line table implementation tweak) Daniel Jacobowitz
2002-03-18 13:44 ` Daniel Jacobowitz
2002-03-20 12:30 ` Andrew Cagney
2002-03-21 10:00 ` Jim Blandy
2002-03-21 11:03 ` Jim Blandy
2002-03-21 12:56 ` Andrew Cagney
2002-03-25 14:37 ` Jim Blandy
2002-03-21 12:57 ` Daniel Jacobowitz
2002-03-21 15:28 ` Andrew Cagney
2002-02-23 13:52 [RFC] Gdb line table implementation tweak Michael Elizabeth Chastain
2002-02-27 16:45 Michael Elizabeth Chastain
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=np664ilhxg.fsf@zwingli.cygnus.com \
--to=jimb@redhat.com \
--cc=fnf@redhat.com \
--cc=gdb-patches@sources.redhat.com \
--cc=kettenis@kettenis.dyndns.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox