This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: gdb-7.3 blocker(s) - breakpoint/linespec
- From: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- To: gdb at sourceware dot org
- Cc: Keith Seitz <keiths at redhat dot com>, Joel Brobecker <brobecker at adacore dot com>
- Date: Sat, 2 Jul 2011 22:50:35 +0200
- Subject: Re: gdb-7.3 blocker(s) - breakpoint/linespec
- References: <20110608181219.GA23350@host1.jankratochvil.net>
On Wed, 08 Jun 2011 20:12:20 +0200, Jan Kratochvil wrote:
> I was asked to restate the pending patches which IMO block the gdb-7.3
> release:
> http://sourceware.org/gdb/wiki/GDB_7.3_Release
>
> Particularly the part:
> DWARF2/physname regression PR c++/12506:
[...]
> Mandatory patches to fix physname regressions (=against FSF gdb-7.1). They
> are in no particular order but with one-line fix ups they are all applicable:
>
> [patch] Remove DMGL_VERBOSE
> http://sourceware.org/ml/gdb-patches/2011-06/msg00036.html
> - Unreplied, I find it mostly [obv]ious.
>
> Re: [patch] Follow DW_AT_linkage_name for methods #2
> http://sourceware.org/ml/gdb-patches/2011-06/msg00040.html
> - Already approved but it waits on GCC approval of its libiberty/ part:
> [gcc patch 0/3] libiberty: New DMGL_RET_DROP
> http://gcc.gnu.org/ml/gcc-patches/2011-06/msg00150.html
>
> [patch 1/2] physname reg.: linespec minsym fallback
> http://sourceware.org/ml/gdb-patches/2011-06/msg00079.html
> - In fact unreplied.
>
> [patch 2/2] physname reg.: linespec eager keep_name_info
> http://sourceware.org/ml/gdb-patches/2011-06/msg00080.html
> - Unreplied.
>
> Re: [patch] physname regression: Non-matching type false breakpoint
> http://sourceware.org/ml/gdb-patches/2011-06/msg00089.html
> - Replied (possibly approved) by Pedro.
>
> The patches above give me zero gdb-breakpoint*.pl regressions as stated in
> that mail referenced above:
> Re: [RFA] 12266 (typedef'd parameters) revisited again
> http://sourceware.org/ml/gdb-patches/2011-06/msg00067.html
Checked in HEAD and in 7.3.
The 7.3 backport was larger as there were some prerequisite patches, not
posting each commit to gdb-patches, only my working notes below for the
backported list. There were about two very minor backports.
Thanks,
Jan
commit c0cfd78e8522c5ef61f77d5c613a0a0d7d6635fd
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Sat Jul 2 15:13:12 2011 +0000
- merge with below
gdb/testsuite/
* gdb.cp/m-static.exp: Call get_compiler_info.
(static const int initialized nowhere): Call setup_xfail for gcc <= 4.4.
* gdb.cp/pr9167.exp (p b): Likewise.
* gdb.cp/temargs.exp: Do not set have_pr_45024_fixed for gcc 4.6.
(test value of P in inner_m, test type of Z in inner_m): Call
setup_xfail for gcc <= 4.5.
Conflicts:
gdb/testsuite/gdb.cp/temargs.exp
commit 4dc5b0e7836af7594fdb47061122a5655e5d4a82
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Sat Jul 2 12:08:44 2011 +0000
- merge with above
gdb/testsuite/
* gdb.cp/m-static.exp: Call get_compiler_info.
(static const int initialized nowhere): Call setup_xfail for gcc<=4.4.
commit c92bdb809c286916b2ee6c267dad6a58a5706a62
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Fri Jul 1 20:27:58 2011 +0000
gdb/
* linespec.c (find_method): Accept the function type automatically only
if it was specified with parameter types.
gdb/testsuite/
* gdb.cp/paren-type.cc: New files.
* gdb.cp/paren-type.exp: New files.
commit 67e102403d7a0b16395389587713e703b0267ab3
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Fri Jul 1 20:18:59 2011 +0000
gdb/
Stop on first linespec terminator instead of eating what we can.
* linespec.c (is_linespec_boundary): New function.
(name_end): Remove function.
(keep_name_info): New parameter on_boundary, replace the body.
(decode_line_1): Provide the parameter to keep_name_info.
(decode_compound): Likewise. Drop the trailing java return type
handling. Twice.
gdb/testsuite/
Stop on first linespec terminator instead of eating what we can.
* gdb.cp/minsym-fallback-main.cc (main): Call also C::operator ().
* gdb.cp/minsym-fallback.cc (C::operator ()): Define.
* gdb.cp/minsym-fallback.exp (break 'C::f()'): Change to ...
(break C::f()): ... this one.
(break C::operator()()): New test.
* gdb.cp/minsym-fallback.h (C::operator ()): Declare.
* gdb.java/jmisc.exp (break jmisc.main(java.lang.String[])int): New
test.
commit 2daaa790297294478cb724dbec677879580bb2cf
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Fri Jul 1 20:16:38 2011 +0000
gdb/
Fall back linespec to minimal symbols.
* linespec.c (decode_line_1): New variable ex, saved_argptr. Protect
decode_compound by TRY_CATCH, fall back on minsyms if it failed.
(find_method, symbol_found): Change error to cplusplus_error.
gdb/testsuite/
Fall back linespec to minimal symbols.
* gdb.base/psymtab.exp (Don't search past end of psymtab.): Update the
error message.
* gdb.cp/cplusfuncs.exp (list foo::operator int*): Likewise.
* gdb.cp/minsym-fallback-main.cc: New file.
* gdb.cp/minsym-fallback.cc: New file.
* gdb.cp/minsym-fallback.exp: New file.
* gdb.cp/minsym-fallback.h: New file.
commit ff0f68a9f81b51cdfa2110af91cdcaa27d3dc746
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Fri Jul 1 19:19:13 2011 +0000
- merge with below
gdb/Changelog fix:
* symtab.c (symbol_find_demangled_name): Remove DMGL_VERBOSE.
commit 21c4d3196c52ae3cf2c65d1eb42b9b70fc9da374
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Fri Jul 1 19:18:35 2011 +0000
- merge with above
gdb/
* symtab.c (symbol_find_demangled_name): Likewise.
gdb/testsuite/
* gdb.cp/no-dmgl-verbose.cc: New file.
* gdb.cp/no-dmgl-verbose.exp: New file.
Conflicts:
gdb/testsuite/ChangeLog
commit 9e7800188627afaf57ab34bc74615c36baaf68d2
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Fri Jul 1 19:12:09 2011 +0000
gdb/
* dwarf2read.c (check_physname): New variable.
(dwarf2_physname): Prefer DW_AT_linkage_name over dwarf2_compute_name.
(show_check_physname): New function.
(_initialize_dwarf2_read): Add `check-physname' for check_physname.
gdb/doc/
* gdb.texinfo (Debugging Output): Document set debug
check-physname.
gdb/testsuite/
* gdb.base/break-interp.exp (reach_1, test_ld): Allow also the prefix
__GI_.
* gdb.cp/psymtab-parameter.cc (func): Make it a template function.
(f): New function.
* gdb.cp/psymtab-parameter.exp (complete break 'func(): Rename to ...
(complete p 'func<short>(): ... here.
* gdb.dwarf2/dw2-linkage-name-trust-main.cc: New file.
* gdb.dwarf2/dw2-linkage-name-trust.S: New file.
* gdb.dwarf2/dw2-linkage-name-trust.exp: New file.
* gdb.cp/temargs.exp (test type of F in k3_m, test value of F in k3_m):
Make them KFAIL gcc/49546.
Conflicts:
gdb/ChangeLog
gdb/doc/ChangeLog
gdb/testsuite/ChangeLog
commit 3c8211c0eb27b1490ebef317c8bedd2eff783c7d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Fri Jul 1 18:32:06 2011 +0000
-+gdb_test "break $srcfile:$line" "Breakpoint 7.*" \
++gdb_test "break $srcfile:$line" "Breakpoint 6.*" \
gdb/testsuite/
Test GCC PR debug/49546.
* gdb.cp/temargs.exp (set sixth breakpoint for temargs)
(test type of F in k3_m, test value of F in k3_m): New.
* gdb.cp/temargs.cc (struct S3, struct K3): New.
(main): New variable k3. Call k3.k3_m.
Conflicts:
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.cp/temargs.cc
gdb/testsuite/gdb.cp/temargs.exp
commit f0c376c93cceeffce3e7b879c20a1ab9787e102d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Fri Jul 1 17:30:47 2011 +0000
merge from gcc
libiberty/
PR debug/49408
* cp-demangle.c (d_print_comp): Suppress argument list for function
references by the '&' unary operator. Keep also already processed
variant without the argument list. Suppress argument list types for
function call used in an expression.
* testsuite/demangle-expected: Fix excessive argument list types in
`test for typed function in decltype'. New testcase for no argument
list types printed. 3 new testcases for function references by the
'&' unary operator..
Conflicts:
libiberty/ChangeLog
commit d5b397191d6242fa1b0941cdb328c421bf2b09a0
Author: DJ Delorie <dj@delorie.com>
Date: Mon Jun 13 23:01:42 2011 +0000
merge from gcc
Conflicts:
include/ChangeLog
libiberty/ChangeLog
commit e19080df1d502deede4535c302971847b699da2c
Author: Keith Seitz <keiths@redhat.com>
Date: Thu Jun 2 18:43:59 2011 +0000
* objc-lang.c (find_methods): Increment objfile_csym earlier.
Conflicts:
gdb/ChangeLog
commit 835cf7647bf08d33e2c7286b45658cc58704b363
Author: Keith Seitz <keiths@redhat.com>
Date: Tue May 31 22:13:51 2011 +0000
PR c++/12750
* linespec.c (get_search_block): New function.
(find_methods): Add FILE_SYMTATB parameter and use it and
get_search_block to pass an appropriate block to
lookup_symbol_in_namespace.
(decode_line_1): Record if *ARGPTR is single-quote enclosed.
Check if *ARGPTR starts with a filename first.
If it does, call locate_first_half again to locate the next
"first half" of the linespec.
Pass FILE_SYMTATB to decode_objc and decode_compound.
Swallow the trailing single-quote if IS_SQUOTE_ENCLOSED.
(locate_first_half): Stop on the first colon seen.
(decode_compound): Add FILE_SYMTAB parameter.
Pass FILE_SYMTAB to lookup_prefix_sym and find_method.
(lookup_prefix_sym): Add FILE_SYMTAB parameter and use
get_search_block with lookup_symbol.
(find_method): Add FILE_SYMTAB parameter and pass it to
find_methods.
(decode_objc): Use get_search_block.
commit f658463559c9f03672b0fd226e4941f159e65bc0
Author: Keith Seitz <keiths@redhat.com>
Date: Tue May 31 21:54:06 2011 +0000
PR symtab/12704
* cp-namespace.c (ANONYMOUS_NAMESPACE_LEN): Remove.
(cp_scan_for_anonymous_namespaces): Use CP_ANONYMOUS_NAMESPACE_STR
and CP_ANONYMOUS_NAMESPACE_LEN.
(cp_is_anonymous): Likewise.
* cp-support.h (CP_ANONYMOUS_NAMESPACE_STR): Define.
(CP_ANONYMOUS_NAMESPACE_LEN): Define.
* dwarf2read.c (namespace_name): Likewise.
(fixup_partial_die): Likewise.
* linespec.c (decode_compound): If CP_ANONYMOUS_NAMESPACE_STR is
seen in the input, keep it.
Conflicts:
gdb/ChangeLog
commit 2bdc820adfead6aa7fdb16242280473af1040d4e
Author: Keith Seitz <keiths@redhat.com>
Date: Tue May 24 21:00:04 2011 +0000
PR breakpoint/12803
* linespec.c (keep_name_info): Add handling for "volatile" keyword.
(decode_compound): Unconditionally call keep_name_info.
Conflicts:
gdb/ChangeLog
commit 7f71565092a430e0a7509868b7279497db6f7cbe
Author: Tom Tromey <tromey@redhat.com>
Date: Mon Apr 4 17:41:05 2011 +0000
+@@ -6071,7 +6071,6 @@ struct captured_parse_breakpoint_args
+ char **arg_p;
+ struct symtabs_and_lines *sals_p;
+ struct linespec_result *canonical_p;
+- int *not_found_ptr;
+ };
+
+ struct lang_and_radix
* tracepoint.c (scope_info): Update.
* symtab.c (decode_line_spec): Update.
* python/python.c (gdbpy_decode_line): Update.
* linespec.h (decode_line_1): Update.
* linespec.c (decode_line_1): Remove 'not_found_ptr' argument.
(decode_compound, find_method, symtab_from_filename)
(decode_variable): Likewise.
* cli/cli-cmds.c (edit_command): Update.
(list_command): Update.
* breakpoint.c (parse_breakpoint_sals): Remove 'not_found_ptr'
argument.
(create_breakpoint): Update.
(until_break_command): Update.
(addr_string_to_sals): Update.
(decode_line_spec_1): Update.
Conflicts:
gdb/ChangeLog
gdb/breakpoint.c