Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
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


  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