Re: [RFC] Gdb line table implementation tweak

Mark Kettenis
2002-02-23T21:37:09Z

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?

--- 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