* lib/gdb.exp (gdb_breakpoint): Add pending breakpoint
support.
* gdb.base/langs.exp: Fix test which attempts to create
breakpoint on non-existent function to handle new pending
support.
* gdb.base/shlib-call.exp: Use gdb_breakpoint to set
a breakpoint.
* gdb.base/pending.exp: New test.
* gdb.base/pending.c: New file.
* gdb.base/pendshr.c: Ditto.
* breakpoint.h (struct breakpoint): Add new flag, from_tty,
and pending fields for pending breakpoint support.
* breakpoint.c (breakpoint_enabled): Add check for not pending.
(condition_command): Only parse condition if not a pending
breakpoint.
(print_one_breakpoint): Add support for pending breakpoints.
(describe_other_breakpoints): Add checks to verify we are not
dealing with pending breakpoints.
(check_duplicates): Don't check pending breakpoints.
(set_raw_breakpoint): Initialize pending flag.
(do_restore_lang_radix_cleanup): New cleanup routine.
(resolve_pending_breakpoint): New function.
(re_enable_breakpoints_in_shlibs): Try and resolve any
pending breakpoints via resolve_pending_breakpoint.
(mention): Add pending breakpoint support.
(parse_breakpoint_sals): Add new parameter to pass to
decode_line_1 to indicate silent errors when files or functions
are not found. Change all callers.
(do_captured_parse_breakpoint): New function.
(break_command_1): Change prototype to return an rc value and to
take an optional pending breakpoint pointer. Support creating
a pending breakpoint if a "not found" form of error occurs when
parsing the breakpoint. Also support resolving an existing pending
breakpoint and be silent if the resolution fails.
(create_breakpoints): Change prototype to take pending breakpoint
pointer. When resolving a pending breakpoint, use the new pointer
to provide a conditional or commands added by the end-user.
(delete_breakpoint): Add appropriate check for pending.
(breakpoint_re_set_one): Ditto.
(do_enable_breakpoint): Ditto.
* valops.c (enum oload_classification): New.
(find_overload_match): Break implementation into separate
functions; delete #if 0'd code; look for symbols within
namespaces.
(find_oload_champ_namespace,find_oload_champ_namespace_loop)
(find_oload_champ,oload_method_static,classify_oload_match): New.
* cp-support.h: Add declaration for cp_func_name; update
declaration for make_symbol_overload_list.
* cp-support.c (cp_func_name): New.
(overload_list_add_symbol): Fix comment, use
SYMBOL_LINKAGE_NAME and SYMBOL_NATURAL_NAME.
(make_symbol_overload_list): Take a function name and a namespace
instead of a symbol; change implementation.
(make_symbol_overload_list_using): New.
(make_symbol_overload_list_qualified, read_in_psymtabs): New.
2004-02-02 Fred Fish <[email protected]>
* main.c (gdb_stdtarg): Move definition to group with other
gdb_stdtarg definitions.
* remote-sim.c (gdb_os_write_stderr): Write output to
gdb_stdtargerr stream instead of gdb_stdtarg stream.
(gdb_os_flush_stderr): Flush gdb_stdtargerr steam instead of
gdb_stderr stream.
gas/
* config/tc-mips.c (add_got_offset_hilo): New function.
(macro): Use load_register() and add_got_offset_hilo() to load
constants instead of hardcoding code sequences throughout.
* procfs.c (procfs_make_note_section): If we can read
TARGET_OBJECT_AUXV data, add an NT_AUXV note containing it.
* linux-proc.c (linux_make_note_section): Likewise.
* procfs.c (procfs_xfer_partial): New function.
(init_procfs_ops): Use that for procfs_ops.to_xfer_partial.
* Makefile.in (procfs.o): Add $(auxv_h) dep.
* procfs.c (procfs_make_note_section): If we can read
TARGET_OBJECT_AUXV data, add an NT_AUXV note containing it.
* linux-proc.c (linux_make_note_section): Likewise.
* procfs.c (procfs_xfer_partial): New function.
(init_procfs_ops): Use that for procfs_ops.to_xfer_partial.
* Makefile.in (procfs.o): Add $(auxv_h) dep.
* auxv.h: New file.
* auxv.c: New file.
* Makefile.in (auxv_h): New variable.
(COMMON_OBS): Add auxv.o here.
(auxv.o): New target.
* breakpoint.c (bpstat_stop_status): Take a ptid_t argument,
and check the specified thread for each breakpoint.
* breakpoint.h (bpstat_stop_status): Update prototype.
* infrun.c (handle_inferior_event): Update calls to
bpstat_stop_status.
* gdb.threads/thread-specific.c: New file.
* gdb.threads/threads-specific.exp: New test script.
* lib/gdb.exp (gdb_test_multiple): Allow user patterns access
to expect_out.
Mark Kettenis [Sun, 1 Feb 2004 10:17:36 +0000 (10:17 +0000)]
* gdb.base/call-ar-st.exp: Call get_debug_format. Remove xfail on
sparc*-*-solaris* into a kfail PR gdb/1539 on sparc-*-* for stabs
only on the "print_small_structs from print_long_arg_list" test.
* linux-low.c: Update copyright year.
(check_removed_breakpoint): Clear pending_is_breakpoint.
(linux_set_resume_request, linux_queue_one_thread)
(resume_status_pending_p): New functions.
(linux_continue_one_thread): Use process->resume.
(linux_resume): Only resume threads if there are no pending events.
* linux-low.h (struct process_info): Add resume request
pointer.
* breakpoint.c (bpstat_stop_status): Remove not_a_sw_breakpoint
argument, and change first argument to a CORE_ADDR.
* breakpoint.h (bpstat_stop_status): Update prototype.
* infrun.c (adjust_pc_after_break): Add a new comment.
(handle_inferior_event): Update calls to bpstat_stop_status.
Mark Kettenis [Fri, 30 Jan 2004 21:23:46 +0000 (21:23 +0000)]
* gdb.asm/asm-source.exp: Strip -Wl, from link-flags. Don't
append -static to link-flags for *-*-freebsd*, *-*netbsd* and
*-*solaris2*. Remove commented out default settings for
asm-flags. Replace gdb_compile with target_link.
New test to check that GDB does not crash due to memory corruption
when a reload caused by a change in an executable invalidates
a breakpoint condition.
Jim Blandy [Wed, 28 Jan 2004 04:02:52 +0000 (04:02 +0000)]
Clean up misapplied patch:
* dwarf2read.c (determine_prefix): Change one of the two forward
declarations for 'determine_prefix_aux' to a declaration for this.
(read_func_scope): Use cu->language, not cu_language. Pass 'cu'
argument to 'die_specification'.
* breakpoint.c (breakpoint_re_set_one): Set b->cond, b->val, and
b->exp to NULL after freeing so that error during re-parsing or
evaluation of expressions associated with breakpoint don't
eventually lead to re-freeing of storage.
Committed by Andrew Cagney.
Merge in official patches to readline-4.3 from
ftp://ftp.cwru.edu/pub/bash/readline-4.3-patches:
NOTE: Patch-ID readline-43-004 was already applied (see below).
* bind.c (rl_generic_bind): Pressing certain key sequences
causes an infinite loop in _rl_dispatch_subseq with the `key' argument
set to 256. This eventually causes bash to exceed the stack size
limit and crash with a segmentation violation.
Patch-ID: readline43-001.
* readline.c (_rl_dispatch_subseq): Repeating an edit in
vi-mode with `.' does not work.
Patch-ID: readline43-002.
* mbutil.c (_rl_get_char_len, _rl_compare_chars,
_rl_adjust_point): When in a locale with multibyte characters, the
readline display updater will occasionally cause a
segmentation fault when attempting to compute the length of the first
multibyte character on the line.
Patch-ID: readline43-003.
* vi_mode.c (_rl_vi_change_mbchar_case): Using the vi editing
mode's case-changing commands in a locale with multibyte characters
will cause garbage characters to be inserted into the editing buffer.
Patch-ID: readline43-005.
(dwarf_attr): Renamed to dwarf2_attr. Add CU argument.
(set_cu_language, die_is_declaration, die_specification)
(determine_prefix, determin_prefix_aux, class_name, namespace_name)
(dwarf2_linkage_name, dwarf2_name, dwarf2_extension)
(dwarf2_get_ref_die_offset, dwarf2_fundamental_type)
(initialize_cu_func_list, add_to_cu_func_list): Add CU argument.
(dwarf2_build_psymtabs_hard): Add local baseaddr. Initialize
cu.list_in_scope. Don't initialize cu_header_offset.
(add_partial_symbol): Add local baseaddr.
(psymtab_to_symtab_1): Add local baseaddr. Use
objfile->section_offsets for consistency. Don't initialize
cu_header_offset; do initialize cu.header.offset and
cu.list_in_scope.
(read_file_scope, read_func_scope, read_lexical_block_scope)
(dwarf_decode_lines, new_symbol): Add local baseaddr.
-#if 0
-/* These aren't used; I don't konw what they were for. */
-/* Set a breakpoint at the catch clause for NAME. */
-static int
-catch_breakpoint (char *name)
-{
-}
-
-static int
-disable_catch_breakpoint (void)
-{
-}
-
-static int
-delete_catch_breakpoint (void)
-{
-}
-
-static int
-enable_catch_breakpoint (void)
-{
-}
-#endif /* 0 */
-
static void
ep_skip_leading_whitespace (char **s)
{
@@ -6482,30 +6455,6 @@
b->thread = -1;
return b;
}
-
-#if 0
-/* These aren't used; I don't know what they were for. */
-/* Disable breakpoints on all catch clauses described in ARGS. */
-static void
-disable_catch (char *args)
-{
- /* Map the disable command to catch clauses described in ARGS. */
-}
-
-/* Enable breakpoints on all catch clauses described in ARGS. */
-static void
-enable_catch (char *args)
-{
- /* Map the disable command to catch clauses described in ARGS. */
-}
-
-/* Delete breakpoints on all catch clauses in the active scope. */
-static void
-delete_catch (char *args)
-{
- /* Map the delete command to catch clauses described in ARGS. */
-}
-#endif /* 0 */
static void
catch_command (char *arg, int from_tty)
Nick Clifton [Mon, 26 Jan 2004 18:09:30 +0000 (18:09 +0000)]
(EXTERN_FORCE_RELOC): Handle m68k-uclinux specially, like m68k-elf.
(RELAXABLE_SYMBOL): Use EXTERN_FORCE_RELOC instead of hard-coded test for
TARGET_OS=elf.