Stan Shebs [Mon, 29 Mar 2010 23:45:06 +0000 (23:45 +0000)]
2010-03-29 Stan Shebs <stan@codesourcery.com>
* tracepoint.h (struct uploaded_string): New struct.
(struct uploaded_tp): New fields for source strings.
* breakpoint.c (this_utp, next_cmd): New globals.
(read_uploaded_action): New function.
(create_tracepoint_from_upload): Fill in more parts
of a tracepoint.
* tracepoint.c (encode_source_string): New function.
(trace_save): Write out source strings, fix error checks.
(parse_tracepoint_definition): Add source string parsing.
* remote.c (PACKET_TracepointSource): New packet type.
(remote_download_command_source): New function.
(remote_download_tracepoint): Download source pieces also.
(_initialize_remote): Add packet config command.
* gdb.texinfo (Tracepoint Packets): Describe QTDPsrc.
(General Query Packets): Describe TracepointSource.
Alan Modra [Mon, 29 Mar 2010 23:00:04 +0000 (23:00 +0000)]
daily update
Daniel Jacobowitz [Mon, 29 Mar 2010 20:42:55 +0000 (20:42 +0000)]
bfd/
* elf32-arm.c (using_thumb_only): Handle v6-M.
ld/testsuite/
* ld-arm/arm-elf.exp (armeabitests): Add v6-M farcall test.
Sami Wagiaalla [Mon, 29 Mar 2010 20:35:19 +0000 (20:35 +0000)]
2010-03-29 Sami Wagiaalla <swagiaal@redhat.com>
* gdb.cp/nsusing.exp: Marked imported declaration test as xfail with
gcc < 4.4.
* gdb.cp/shadow.exp: Ditto.
Stan Shebs [Mon, 29 Mar 2010 17:58:17 +0000 (17:58 +0000)]
2010-03-29 Stan Shebs <stan@codesourcery.com>
* tracepoint.c (collect_symbol): Send LOC_UNRESOLVED symbols to
expression handler.
Stan Shebs [Mon, 29 Mar 2010 17:41:38 +0000 (17:41 +0000)]
2010-03-29 Stan Shebs <stan@codesourcery.com>
* tracepoint.c (start_tracing): Check tracepoints before sending
commands to target, don't start if all tracepoints disabled.
Pedro Alves [Mon, 29 Mar 2010 00:46:54 +0000 (00:46 +0000)]
* gdb.trace/collection.exp (run_trace_experiment): Make sure
"tstart" is silent.
gdbadmin [Mon, 29 Mar 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Pedro Alves [Sun, 28 Mar 2010 23:17:57 +0000 (23:17 +0000)]
* gdb.trace/collection.exp (executable): New.
(binfile): Use it.
(fpreg, spreg, pcreg): New.
(test_register): Use gdb_test_multiple. Pass /x to print.
(prepare_for_trace_test): New.
(run_trace_experiment): Use "continue", not gdb_run_cmd.
(gdb_collect_args_test, gdb_collect_argstruct_test)
(gdb_collect_argarray_test, gdb_collect_locals_test): Use
prepare_for_trace_test.
(gdb_collect_registers_test): Use prepare_for_trace_test. Use
fpreg, spreg and pcreg.
(gdb_collect_expression_test, gdb_collect_globals_test): Use
prepare_for_trace_test.
(gdb_trace_collection_test): Use fpreg, spreg and pcreg. Don't
try to detect tracing support here. Don't set breakpoints at
`begin' or `end' here.
<global scope>: Use clean_restart. Run to main before checking
for tracing support. Check for for tracing support here.
Alan Modra [Sun, 28 Mar 2010 23:00:04 +0000 (23:00 +0000)]
daily update
Jan Kratochvil [Sun, 28 Mar 2010 19:08:24 +0000 (19:08 +0000)]
gdb/testsuite/
* gdb.base/break-interp.exp (test_core, test_attach, test_ld): Add
" as $displacement" to "seen displacement message".
Pedro Alves [Sun, 28 Mar 2010 18:11:20 +0000 (18:11 +0000)]
Whoops. Use tab, not spaces.
Pedro Alves [Sun, 28 Mar 2010 18:00:57 +0000 (18:00 +0000)]
gdb/
* cli/cli-script.c (process_next_line): Handle 'stepping'.
gdb/testsuite/
* gdb.trace/while-dyn.exp (executable): New variable.
(binfile): Use it.
(test_while_stepping): New function. Move most tests here. Call
it once for each of the while-stepping, stepping and ws aliases.
gdbadmin [Sun, 28 Mar 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 27 Mar 2010 23:00:06 +0000 (23:00 +0000)]
daily update
Eli Zaretskii [Sat, 27 Mar 2010 09:01:26 +0000 (09:01 +0000)]
* gdb.texinfo (ARM): Document arguments to "target sim".
(Set Catchpoints): Use @dots{} instead of @r{...}.
Stan Shebs [Sat, 27 Mar 2010 00:12:34 +0000 (00:12 +0000)]
2010-03-26 Stan Shebs <stan@codesourcery.com>
* tracepoint.c (disconnect_or_stop_tracing): Get out of tfind mode.
gdbadmin [Sat, 27 Mar 2010 00:00:34 +0000 (00:00 +0000)]
*** empty log message ***
Stan Shebs [Fri, 26 Mar 2010 23:49:31 +0000 (23:49 +0000)]
2010-03-26 Tom Tromey <tromey@redhat.com>
* breakpoint.c (commands_command_1): Duplicate 'arg'.
Alan Modra [Fri, 26 Mar 2010 23:00:07 +0000 (23:00 +0000)]
daily update
Ulrich Weigand [Fri, 26 Mar 2010 19:41:50 +0000 (19:41 +0000)]
* breakpoint.c (expand_line_sal_maybe): Always call skip_prologue_sal.
(skip_prologue_sal): Remove local definition.
(resolve_sal_pc): Remove now unnecessary code.
* linespec.c (minsym_found): Call skip_prologue_sal.
* symtab.c (find_function_start_pc): Remove.
(find_function_start_sal): Extract prologue skipping into ...
(skip_prologue_sal): ... this new function. Handle code both
with and without debug info. Respect SAL's explicit_pc and
explicit_line flags. Inline old find_function_start_pc.
* symtab.h (find_function_start_pc): Remove.
(skip_prologue_sal): Add prototype.
Ulrich Weigand [Fri, 26 Mar 2010 18:55:30 +0000 (18:55 +0000)]
* dwarf2read.c (read_func_scope): Also scan specification DIEs
for DW_TAG_imported_module children.
Ulrich Weigand [Fri, 26 Mar 2010 18:05:46 +0000 (18:05 +0000)]
ChangeLog:
* dwarf2read.c (dwarf2_name): Work around GCC bugzilla debug/41828 by
ignoring spurious DW_AT_name attributes for unnamed structs or unions.
* completer.c (add_struct_fields): Fix inverted logic.
testsuite/ChangeLog:
* gdb.cp/inherit.exp (test_ptype_si): XFAIL test for GCC versions
that do not provide the tagless_struct type name at all.
(test_print_anon_union): Do not check value of uninitialized
union member. Do not use cp_test_ptype_class, so we can accept
"long" as well as "long int".
Ulrich Weigand [Fri, 26 Mar 2010 16:41:54 +0000 (16:41 +0000)]
* breakpoint.c (bpstat_clear_actions): Reset bs->commands_left.
Pedro Alves [Fri, 26 Mar 2010 15:26:29 +0000 (15:26 +0000)]
* tracepoint.c (current_trace_status): Don't make sure error_desc
is non-NULL here.
(parse_trace_status): Release a previous error_desc string, and
set it to NULL by default. If stop reason is tracepoint_error,
make sure error_desc is not left NULL.
Pedro Alves [Fri, 26 Mar 2010 14:31:48 +0000 (14:31 +0000)]
gdb/
* tracepoint.c (trace_save): Remove X from tracepoint error
description.
gdb/testsuite/
* gdb.trace/tfile.c (tohex, bin2hex): New.
(write_error_trace_file): Hexify error description.
Pedro Alves [Fri, 26 Mar 2010 13:35:06 +0000 (13:35 +0000)]
gdb/
* tracepoint.c (parse_trace_status): Don't allow plain strings in
the terror description. Don't expect an X prefix.
gdb/doc/
* gdb.texinfo (Tracepoint Packets): Remove mention that
terror:string may be plain text, and drop mention of X prefix.
Alan Modra [Fri, 26 Mar 2010 08:34:24 +0000 (08:34 +0000)]
* elf32-ppc.c (ppc_elf_howto_raw <R_PPC_EMB_RELSDA>): Not pc-relative.
* bfd-in.h (elf_discarded_section): Clarify comment.
* reloc.c (struct reloc_howto_struct <pc_relative>): Likewise.
* bfd-in2.h: Regenerate.
Vladimir Prus [Fri, 26 Mar 2010 08:08:07 +0000 (08:08 +0000)]
* gdb.texinfo (GDB/MI Tracepoint Commands): Add comma after @xref.
Doug Kwan [Fri, 26 Mar 2010 04:53:34 +0000 (04:53 +0000)]
2010-03-25 Doug Kwan <dougkwan@google.com>
* gold/arm.cc (Arm_exidx_fixup::update_offset_map): Rearrange code
to avoid a conversion warning on a 32-bit host.
Stan Shebs [Fri, 26 Mar 2010 01:46:29 +0000 (01:46 +0000)]
2010-03-25 Stan Shebs <stan@codesourcery.com>
* tracepoint.h (trace_stop_reason): Add tracepoint_error.
(struct trace_status): New field error_desc.
* tracepoint.c (stop_reason_names): Add terror.
(current_trace_status): Ensure non-NULL error description.
(trace_status_command): Add error report.
(trace_status_mi): Ditto.
(trace_save): Add special case for error description.
(parse_trace_status): Add case for errors.
* gdb.texinfo (Tracepoint Packets): Document trace error status.
* gdb.trace/tfile.c: Generate an additional trace file, improve
portability.
* gdb.trace/tfile.exp: Test trace file with an error stop, delete
files in a better way.
Alan Modra [Fri, 26 Mar 2010 01:42:36 +0000 (01:42 +0000)]
* binutils-all/ar.exp (unique_symbol): New test.
Alan Modra [Fri, 26 Mar 2010 01:40:40 +0000 (01:40 +0000)]
* archive.c (_bfd_compute_and_write_armap): Allow symbols flagged
as unique in the armap.
Alan Modra [Fri, 26 Mar 2010 00:35:57 +0000 (00:35 +0000)]
PR ld/11375
* elf64-ppc.c (ppc64_elf_relocate_section): Always look up a
possible stub on branches.
Alan Modra [Fri, 26 Mar 2010 00:19:29 +0000 (00:19 +0000)]
add pr ref
gdbadmin [Fri, 26 Mar 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 25 Mar 2010 23:00:05 +0000 (23:00 +0000)]
daily update
Alan Modra [Thu, 25 Mar 2010 22:49:44 +0000 (22:49 +0000)]
PR ld/11426
* configure.host (many linux targets <HOSTING_CRT0>): Remove edits.
(m68*-motorola-sysv <HOSTING_LIBS>): Use here doc, not echo.
Keith Seitz [Thu, 25 Mar 2010 22:13:15 +0000 (22:13 +0000)]
* dwarf2read.c (read_subroutine_type): If the compilation unit
language is Java, mark any formal parameter named "this" as
artificial (GCC/43521).
(dwarf2_name): Add special handling for Java constructors.
Keith Seitz [Thu, 25 Mar 2010 22:12:07 +0000 (22:12 +0000)]
* gdb.java/jprint.exp: XFAIL printing of static class members
because of GCC debuginfo problem.
Joseph Myers [Thu, 25 Mar 2010 21:12:36 +0000 (21:12 +0000)]
bfd:
* Makefile.am (ALL_MACHINES): Add cpu-tic6x.lo.
(ALL_MACHINES_CFILES): Add cpu-tic6x.c.
(BFD32_BACKENDS): Add elf32-tic6x.lo.
(BFD32_BACKENDS_CFILES): Add elf32-tic6x.c.
* Makefile.in: Regenerate.
* archures.c (bfd_arch_tic6x, bfd_tic6x_arch): New.
(bfd_archures_list): Update.
* config.bfd (tic6x-*-elf): New.
* configure.in (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec):
New.
* configure: Regenerate.
* cpu-tic6x.c, elf32-tic6x.c: New.
* reloc.c (BFD_RELOC_C6000_PCR_S21, BFD_RELOC_C6000_PCR_S12,
BFD_RELOC_C6000_PCR_S10, BFD_RELOC_C6000_PCR_S7,
BFD_RELOC_C6000_ABS_S16, BFD_RELOC_C6000_ABS_L16,
BFD_RELOC_C6000_ABS_H16, BFD_RELOC_C6000_SBR_U15_B,
BFD_RELOC_C6000_SBR_U15_H, BFD_RELOC_C6000_SBR_U15_W,
BFD_RELOC_C6000_SBR_S16, BFD_RELOC_C6000_SBR_L16_B,
BFD_RELOC_C6000_SBR_L16_H, BFD_RELOC_C6000_SBR_L16_W,
BFD_RELOC_C6000_SBR_H16_B, BFD_RELOC_C6000_SBR_H16_H,
BFD_RELOC_C6000_SBR_H16_W, BFD_RELOC_C6000_SBR_GOT_U15_W,
BFD_RELOC_C6000_SBR_GOT_L16_W, BFD_RELOC_C6000_SBR_GOT_H16_W,
BFD_RELOC_C6000_DSBT_INDEX, BFD_RELOC_C6000_PREL31,
BFD_RELOC_C6000_COPY, BFD_RELOC_C6000_ALIGN,
BFD_RELOC_C6000_FPHEAD, BFD_RELOC_C6000_NOCMP): New.
* targets.c (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec): New.
(_bfd_target_vector): Update.
* bfd-in2.h, libbfd.h: Regenerate.
binutils:
* MAINTAINERS: Add self as TI C6X maintainer.
* NEWS: Add news entry for TI C6X support.
* readelf.c: Include elf/tic6x.h.
(guess_is_rela): Handle EM_TI_C6000.
(dump_relocations): Likewise.
(get_tic6x_dynamic_type): New.
(get_dynamic_type): Call it.
(get_machine_flags): Handle EF_C6000_REL.
(get_osabi_name): Handle machine-specific values only for relevant
machines. Handle C6X values.
(get_tic6x_segment_type): New.
(get_segment_type): Call it.
(get_tic6x_section_type_name): New.
(get_section_type_name): Call it.
(is_32bit_abs_reloc, is_16bit_abs_reloc, is_none_reloc): Handle
EM_TI_C6000.
gas:
* Makefile.am (TARGET_CPU_CFILES): Add config/tc-tic6x.c.
(TARGET_CPU_HFILES): Add config/tc-tic6x.h.
* Makefile.in: Regenerate.
* NEWS: Add news entry for TI C6X support.
* app.c (do_scrub_chars): Handle "||^" for TI C6X. Handle
TC_PREDICATE_START_CHAR and TC_PREDICATE_END_CHAR. Keep spaces in
operands if TC_KEEP_OPERAND_SPACES.
* configure.tgt (tic6x-*-*): New.
* config/tc-ia64.h (TC_PREDICATE_START_CHAR,
TC_PREDICATE_END_CHAR): Define.
* config/tc-tic6x.c, config/tc-tic6x.h: New.
* doc/Makefile.am (CPU_DOCS): Add c-tic6x.texi.
* doc/Makefile.in: Regenerate.
* doc/all.texi (TIC6X): Define.
* doc/as.texinfo: Add TI C6X documentation. Include c-tic6x.texi.
* doc/c-tic6x.texi: New.
gas/testsuite:
* gas/tic6x: New directory and testcases.
include:
* dis-asm.h (print_insn_tic6x): Declare.
include/elf:
* common.h (ELFOSABI_C6000_ELFABI, ELFOSABI_C6000_LINUX): Define.
* tic6x.h: New.
include/opcode:
* tic6x-control-registers.h, tic6x-insn-formats.h,
tic6x-opcode-table.h, tic6x.h: New.
ld:
* Makefile.am (ALL_EMULATIONS): Add eelf32_tic6x_be.o and
eelf32_tic6x_le.o.
(eelf32_tic6x_be.c, eelf32_tic6x_le.c): New.
* NEWS: Add news entry for TI C6X support.
* configure.tgt (tic6x-*-*): New.
* emulparams/elf32_tic6x_be.sh, emulparams/elf32_tic6x_le.sh: New.
ld/testsuite:
* ld-elf/flags1.d, ld-elf/merge.d: XFAIL for tic6x-*-*.
* ld-elf/sec-to-seg.exp: Set B_test_same_seg to 0 for tic6x-*-*.
* ld-tic6x: New directory and testcases.
opcodes:
* Makefile.am (TARGET_LIBOPCODES_CFILES): Add tic6x-dis.c.
* Makefile.in: Regenerate.
* configure.in (bfd_tic6x_arch): New.
* configure: Regenerate.
* disassemble.c (ARCH_tic6x): Define if ARCH_all.
(disassembler): Handle TI C6X.
* tic6x-dis.c: New.
Tom Tromey [Thu, 25 Mar 2010 20:48:53 +0000 (20:48 +0000)]
PR gdb/11327, PR gdb/11328, PR breakpoints/11368:
* infrun.c (handle_inferior_event): Change initialization of
stop_stack_dummy.
(handle_inferior_event): Change assignment to stop_stack_dummy.
(normal_stop): Update use of stop_stack_dummy.
(struct inferior_status) <stop_stack_dummy>: Change type.
* inferior.h (stop_stack_dummy): Update.
* infcmd.c (stop_stack_dummy): Change type.
* infcall.c (cleanup_delete_std_terminate_breakpoint): New
function.
(call_function_by_hand): Call set_std_terminate_breakpoint.
Rewrite std::terminate handling.
* breakpoint.h (enum bptype) <bp_std_terminate,
bp_std_terminate_master>: New.
(enum stop_stack_kind): New.
(struct bpstat_what) <call_dummy>: Change type.
(set_std_terminate_breakpoint, delete_std_terminate_breakpoint):
Declare.
* breakpoint.c (create_std_terminate_master_breakpoint): New
function.
(update_breakpoints_after_exec): Handle bp_std_terminate_master.
Call create_std_terminate_master_breakpoint.
(print_it_typical): Handle new breakpoint kinds.
(bpstat_stop_status): Handle bp_std_terminate_master.
(bpstat_what): Correctly set call_dummy field. Handle
bp_std_terminate_master and bp_std_terminate.
(print_one_breakpoint_location): Update.
(allocate_bp_location): Update.
(set_std_terminate_breakpoint): New function.
(delete_std_terminate_breakpoint): Likewise.
(create_thread_event_breakpoint): Update.
(delete_command): Update.
(breakpoint_re_set_one): Update.
(breakpoint_re_set): Call create_std_terminate_master_breakpoint.
Jan Kratochvil [Thu, 25 Mar 2010 20:29:30 +0000 (20:29 +0000)]
gdb/
* symfile.c (build_section_addr_info_from_bfd): New.
(build_section_addr_info_from_objfile): Base it on
build_section_addr_info_from_bfd.
(addrs_section_compar, addrs_section_sort): New.
(addr_info_make_relative): New variables my_cleanup, abfd_addrs,
addrs_sorted, abfd_addrs_sorted and addrs_to_abfd_addrs. Build
addrs_to_abfd_addrs. Use it for recalculating ADDRS.
gdb/testsuite/
* gdb.base/dup-sect.exp, gdb.base/dup-sect.S: New.
Thomas Schwinge [Thu, 25 Mar 2010 08:03:56 +0000 (08:03 +0000)]
2010-03-25 Thomas Schwinge <thomas@codesourcery.com>
* doc/binutils.texi (readelf) <unwind information>: Mention support for
ARM unwind tables.
gdbadmin [Thu, 25 Mar 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Wed, 24 Mar 2010 23:00:05 +0000 (23:00 +0000)]
daily update
Michael Snyder [Wed, 24 Mar 2010 21:58:31 +0000 (21:58 +0000)]
2010-03-24 Michael Snyder <msnyder@localhost.localdomain>
* elfread.c (find_separate_debug_file_by_buildid):
Remove unused local variable.
Daniel Jacobowitz [Wed, 24 Mar 2010 21:28:14 +0000 (21:28 +0000)]
* gdb.base/completion.exp: Allow long instead of long int.
* gdb.base/ending-run.exp: Match _rt_entry.* for RealView.
* gdb.base/gdbvars.c (main): Remove unused usestubs code. Reference
variable p.
* gdb.base/maint.exp: Allow ER_RO and ER_RW instead of .text and .data.
* gdb.base/pointers.exp: Allow long instead of long int.
* gdb.base/printcmds.exp: XFAIL for RealView on ARM EABI.
* gdb.base/step-line.exp: Allow a directory before the source file name.
Tom Tromey [Wed, 24 Mar 2010 21:24:09 +0000 (21:24 +0000)]
gdb
PR breakpoints/9352:
* NEWS: Mention changes to `commands' and `rbreak'.
* symtab.c (do_end_rbreak_breakpoints): New function.
(rbreak_command): Call start_rbreak_breakpoints; arrange to call
end_rbreak_breakpoints.
* breakpoint.c (breakpoint_count, tracepoint_count): Now static.
(set_breakpoint_count): Likewise. Clear last_was_multi.
(multi_start, multi_end, last_was_multi): New globals.
(start_rbreak_breakpoints, end_rbreak_breakpoints): New
functions.
(struct commands_info): New
(do_map_commands_command): New function.
(commands_command_1): New function.
(commands_command): Use it.
(commands_from_control_command): Likewise.
(do_delete_breakpoint): New function.
(delete_command): Use it.
(map_breakpoint_numbers): Add 'data' argument. Pass to callback.
(do_map_disable_breakpoint): New function.
(disable_command): Use it.
(do_map_enable_breakpoint): New function.
(enable_command): Use it.
(enable_once_breakpoint): Add argument.
(enable_once_command): Update.
(enable_delete_breakpoint): Add argument.
(enable_delete_command): Update.
(break_command_really): Set last_was_multi when needed.
(check_tracepoint_command): Fix formatting.
(validate_commands_for_breakpoint): New function.
(breakpoint_set_commands): Use it.
(tracepoint_save_command): Update.
* breakpoint.h (start_rbreak_breakpoints, end_rbreak_breakpoints):
Declare.
gdb/doc
PR breakpoints/9352:
* gdb.texinfo (Break Commands): Update.
gdb/testsuite
PR breakpoints/9352:
* gdb.base/default.exp: Update.
* gdb.base/commands.exp: Update.
* gdb.cp/extern-c.exp: Test setting commands on multiple
breakpoints at once.
Daniel Jacobowitz [Wed, 24 Mar 2010 21:20:39 +0000 (21:20 +0000)]
* gdb.base/call-signal-resume.exp, gdb.base/unwindonsignal.exp: Skip
if gdb,nosignals.
* gdb.base/watchpoints.c: Do not include unnecessary headers.
* lib/gdb.exp (gdb_test_multiple): Relax pattern for "the program
exited".
Pedro Alves [Wed, 24 Mar 2010 21:12:45 +0000 (21:12 +0000)]
* linux-low.c (status_pending_p_callback): Fix comment.
(linux_wait_for_event_1): Move most of the internal breakpoint
handling from here...
(linux_wait_1): ... to here.
(count_events_callback): New.
(select_singlestep_lwp_callback): New.
(select_event_lwp_callback): New.
(cancel_breakpoints_callback): New.
(select_event_lwp): New.
(linux_wait_1): Simplify internal breakpoint handling. Give equal
priority to all LWPs that have had events that should be reported
to the client. Cancel breakpoints when about to reporting the
event to the client, not while stopping lwps. No longer cancel
finished single-steps here.
(cancel_finished_single_step): Delete.
(cancel_finished_single_steps): Delete.
Tom Tromey [Wed, 24 Mar 2010 21:12:18 +0000 (21:12 +0000)]
* breakpoint.h (struct counted_command_line): New struct.
(struct breakpoint) <commands>: Change type.
(struct bpstats) <commands>: Change type.
<commands_left>: New field.
* breakpoint.c (alloc_counted_command_line): New function.
(incref_counted_command_line): Likewise.
(decref_counted_command_line): Likewise.
(do_cleanup_counted_command_line): Likewise.
(make_cleanup_decref_counted_command_line): Likewise.
(breakpoint_set_commands): Use decref_counted_command_line and
alloc_counted_command_line.
(commands_command): Don't error if breakpoint commands are
executing.
(commands_from_control_command): Likewise.
(bpstat_free): Update.
(bpstat_copy): Likewise.
(bpstat_clear_actions): Likewise.
(bpstat_do_actions_1): Likewise.
(bpstat_stop_status): Likewise.
(print_one_breakpoint_location): Likewise.
(delete_breakpoint): Likewise.
(bpstat_alloc): Initialize new field.
(tracepoint_save_command): Update.
* tracepoint.c (encode_actions): Update.
(trace_dump_command): Update.
Pedro Alves [Wed, 24 Mar 2010 21:11:25 +0000 (21:11 +0000)]
* mem-break.c (enum bkpt_type): New.
(struct breakpoint): New field `type'.
(set_breakpoint_at): Change return type to struct breakpoint
pointer. Set type to `other_breakpoint' by default.
(delete_breakpoint): Rewrite, supporting more than one breakpoint
in the breakpoint list.
(delete_reinsert_breakpoints): Only delete reinsert breakpoints.
(reinsert_breakpoint): Rename to ...
(reinsert_raw_breakpoint): ... this.
(reinsert_breakpoints_at): Adjust.
* mem-break.h (struct breakpoint): Declare.
(set_breakpoint_at): Change return type to struct breakpoint
pointer.
Stan Shebs [Wed, 24 Mar 2010 21:11:06 +0000 (21:11 +0000)]
2010-03-24 Stan Shebs <stan@codesourcery.com>
* gdb.trace/tfile.exp: Expect "trace frame", with a space.
Daniel Jacobowitz [Wed, 24 Mar 2010 21:06:33 +0000 (21:06 +0000)]
* dwarf2-frame.c (dwarf2_frame_find_quirks): Use producer_is_realview.
* dwarf2read.c (load_full_comp_unit): Read DW_AT_producer.
(read_structure_type): For RealView, set TYPE_STUB on structures with
no byte size and no children.
(read_subroutine_type): Mark functions as prototyped by default.
* symtab.c (producer_is_realview): New function.
* symtab.h (expand_line_sal): Fix declaration formatting.
(producer_is_realview): Declare.
testsuite/
* gdb.base/callfuncs.exp (do_function_calls): Add XFAILs for RealView.
* gdb.base/ptype.exp (ptype_maybe_prototyped): Add overprototyped
argument. Handle "short" and "long".
(Top level): Pass overprototyped output for old_fptr and xptr.
Daniel Jacobowitz [Wed, 24 Mar 2010 20:23:13 +0000 (20:23 +0000)]
* arm-tdep.c (skip_prologue_function): New function.
(submask, bit, bits, sbits, BranchDest): Move higher in the file.
(thumb_analyze_prologue): Document return value. Recognize more
Thumb instructions, skippable calls, and some Thumb-2 instructions.
Add debug output.
(arm_skip_prologue): Remove call dummy check. Check the prologue
for non-GNU compilers.
(arm_instruction_changes_pc): New function.
(arm_analyze_prologue): New function, broken out from
arm_scan_prologue. Recognize more ARM instructions and skippable
calls. Update comments. Handle NULL cache. Return the address
of the first unrecognized instruction. Do not skip past other
instructions which change control flow. Add debug output.
(arm_scan_prologue): Use arm_analyze_prologue.
(ARM_PC_32): Delete.
(shifted_reg_val): Simplify ARM_PC_32 check.
Vladimir Prus [Wed, 24 Mar 2010 19:37:06 +0000 (19:37 +0000)]
* tracepoint.c (tvariables_info_1): Actually compute
the number of rows in the result.
Ian Lance Taylor [Wed, 24 Mar 2010 18:12:48 +0000 (18:12 +0000)]
* testsuite/script_test_3.t: Add a TLS segment.
* testsuite/Makefile.am (check_PROGRAMS): Add
tls_phdrs_script_test.
(tls_phdrs_script_test_SOURCES): Define.
(tls_phdrs_script_test_DEPENDENCIES): Define.
(tls_phdrs_script_test_LDFLAGS): Define.
(tls_phdrs_script_test_LDADD): Define.
* testsuite/Makefile.in: Rebuild.
H.J. Lu [Wed, 24 Mar 2010 15:41:59 +0000 (15:41 +0000)]
Update copyright year.
2010-03-24 H.J. Lu <hongjiu.lu@intel.com>
* aout-target.h: Update copyright year.
* aout-tic30.c: Likewise.
* coff-alpha.c: Likewise.
* coff-rs6000.c: Likewise.
* coff64-rs6000.c: Likewise.
* elf64-mips.c: Likewise.
* ieee.c: Likewise.
* libecoff.h: Likewise.
* mach-o-target.c: Likewise.
* mach-o.c: Likewise.
* oasys.c: Likewise.
* targets.c: Likewise.
H.J. Lu [Wed, 24 Mar 2010 15:04:29 +0000 (15:04 +0000)]
Update copyright year on libbfd-in.h.
2010-03-24 H.J. Lu <hongjiu.lu@intel.com>
* libbfd-in.h: Update copyright year.
Mike Frysinger [Wed, 24 Mar 2010 05:16:29 +0000 (05:16 +0000)]
Blackfin disassmbler: fix typo where M2.H was decoded as L2.H
Cary Coutant [Wed, 24 Mar 2010 01:27:57 +0000 (01:27 +0000)]
* fileread.cc (find_or_make_view): Fix comment.
Pedro Alves [Wed, 24 Mar 2010 01:12:13 +0000 (01:12 +0000)]
gdb/
* remote.c (crc32): Constify `buf' parameter.
(remote_verify_memory): New, abstracted out from...
(compare_sections_command): ... this. Remove hardcoded target
checks.
(init_remote_ops): Install remote_verify_memory.
* target.c (target_verify_memory): New.
* target.h (struct target_ops) <to_verify_memory>: New field.
(target_verify_memory): Declare.
Pedro Alves [Wed, 24 Mar 2010 00:14:54 +0000 (00:14 +0000)]
* server.c (handle_query): Assign, not compare.
Pedro Alves [Wed, 24 Mar 2010 00:05:03 +0000 (00:05 +0000)]
Teach linux gdbserver to step-over-breakpoints.
* linux-low.c (can_hardware_single_step): New.
(supports_breakpoints): New.
(handle_extended_wait): If stopping threads, read the stop pc of
the new cloned LWP.
(get_pc): New.
(get_stop_pc): Add `lwp' parameter. Handle it. Bail out if the
low target doesn't support retrieving the PC.
(add_lwp): Set last_resume_kind to resume_continue.
(linux_attach_lwp_1): Adjust comments. Always set stop_expected.
(linux_attach): Don't clear stop_expected. Set the lwp's
last_resume_kind to resume_stop.
(linux_detach_one_lwp): Don't check for removed breakpoints.
(check_removed_breakpoint): Delete.
(status_pending_p): Rename to ...
(status_pending_p_callback): ... this. Don't check for removed
breakpoints. Don't consider threads that are stopped from GDB's
perspective.
(linux_wait_for_lwp): Always read the stop_pc here.
(cancel_breakpoint): New.
(step_over_bkpt): New global.
(linux_wait_for_event_1): Implement stepping over breakpoints.
(gdb_wants_lwp_stopped): New.
(gdb_wants_all_stopped): New.
(linux_wait_1): Tag threads as gdb-wants-stopped. Cancel finished
single-step traps here. Store the thread's last reported target
wait status.
(send_sigstop): Don't clear stop_expected. Always set it,
instead.
(mark_lwp_dead): Remove reference to pending_is_breakpoint.
(cancel_finished_single_step): New.
(cancel_finished_single_steps): New.
(wait_for_sigstop): Don't cancel finished single-step traps here.
(linux_resume_one_lwp): Don't check for removed breakpoints.
Don't set `step' on non-hardware step archs.
(linux_set_resume_request): Ignore resume_stop requests if already
stopping or stopped. Set the lwp's last_resume_kind.
(resume_status_pending_p): Don't check for removed breakpoints.
(need_step_over_p): New.
(start_step_over): New.
(finish_step_over): New.
(linux_resume_one_thread): Always queue a sigstop for resume_stop
requests. Clear the thread's last reported target waitstatus.
Don't use the `suspended' flag. Don't consider pending breakpoints.
(linux_resume): Start a step-over if necessary.
(proceed_one_lwp): New.
(proceed_all_lwps): New.
(unstop_all_lwps): New.
* linux-low.h (struct lwp_info): Rewrite comment for the
`suspended' flag. Add the `stop_pc' field. Delete the
`pending_stop_pc' field. Tweak the `stepping' flag's comment.
Add `'last_resume_kind' and `need_step_over' fields.
* inferiors.c (struct thread_info): Delete, moved elsewhere.
* mem-break.c (struct breakpoint): Delete `reinserting' flag.
Delete `breakpoint_to_reinsert' field. New flag `inserted'.
(set_raw_breakpoint_at): New.
(set_breakpoint_at): Rewrite to use it.
(reinsert_breakpoint_handler): Delete.
(set_reinsert_breakpoint): New.
(reinsert_breakpoint_by_bp): Delete.
(delete_reinsert_breakpoints): New.
(uninsert_breakpoint): Rewrite.
(uninsert_breakpoints_at): New.
(reinsert_breakpoint): Rewrite.
(reinsert_breakpoints_at): New.
(check_breakpoints): Rewrite.
(breakpoint_here): New.
(breakpoint_inserted_here): New.
(check_mem_read): Adjust.
* mem-break.h (breakpoints_supported, breakpoint_here)
(breakpoint_inserted_here, set_reinsert_breakpoint): Declare.
(reinsert_breakpoint_by_bp): Delete declaration.
(delete_reinsert_breakpoints): Declare.
(reinsert_breakpoint): Delete declaration.
(reinsert_breakpoints_at): Declare.
(uninsert_breakpoint): Delete declaration.
(uninsert_breakpoints_at): Declare.
(check_breakpoints): Adjust prototype.
* server.h: Adjust include order.
(struct thread_info): Declare here. Add a `last_status' field.
gdbadmin [Wed, 24 Mar 2010 00:00:04 +0000 (00:00 +0000)]
*** empty log message ***
Pedro Alves [Tue, 23 Mar 2010 23:50:22 +0000 (23:50 +0000)]
* gdb.threads/pthreads.c (thread1, thread2, main): Fix printf
format strings and add casts to avoid compiler warnings.
Alan Modra [Tue, 23 Mar 2010 23:01:48 +0000 (23:01 +0000)]
daily update
Michael Snyder [Tue, 23 Mar 2010 22:43:50 +0000 (22:43 +0000)]
2010-03-23 Michael Snyder <msnyder@vmware.com>
* server.c (crc32): New function.
(handle_query): Add handling for 'qCRC:' request.
Vladimir Prus [Tue, 23 Mar 2010 22:10:08 +0000 (22:10 +0000)]
* gdb.texinfo (GDB/MI Tracepoint Commands): Document MI tracepoint
commands.
Vladimir Prus [Tue, 23 Mar 2010 22:05:46 +0000 (22:05 +0000)]
Implement -trace-save.
* mi-cmds.h (mi_cmds_trace_save): Declare.
* mi-cmds.c (mi_cmds): Register -trace-save.
* mi/mi-main.c (mi_cmd_trace_save): New.
* remote.c (remote_save_trace_data): Take const parameter.
* target.h (struct target_ops::to_save_trace_data): Take
const parameter.
* target.c (update_current_target): Adjust to the above.
* tracepoint.c (trave_save): New, extracted from
(trace_save_command): ...this.
(tfile_trace_find): Remove message that is unnecessary now
that 'tfind' reports found frame.
* tracepoint.h (trace_save): Declare.
Vladimir Prus [Tue, 23 Mar 2010 22:01:47 +0000 (22:01 +0000)]
Implement -trace-find.
* mi/mi-cmds.c (mi_cmds): Register -trace-find.
* mi/mi-cmds.h (mi_cmd_trace_find): Declare.
* mi/mi-main.c (mi_cmd_trace_find): New.
* target.h (struct target_ops): Document to_trace_find.
* tracepoint.h (tfind_1): Declare.
* tracepoint.c (finish_tfind_command): Rename to...
(tfind_1): ...this.
* remote.c (remote_trace_find): Return -1 if target say
there's no frame. Improve error diagnostics.
Vladimir Prus [Tue, 23 Mar 2010 21:50:11 +0000 (21:50 +0000)]
-trace-define-variable and -trace-list-variables.
* tracepoint.c (create_trace_state_variable): Make
private copy of name, as opposed to assuming the
pointer lives forever.
(tvariables_info_1): New.
(tvariables_info): Use the above.
* tracepoint.h (create_trace_state_variable, tvariables_info_1):
Declare.
* mi/mi-cmds.c (mi_cmds): Register -trace-define-variable
and -trace-list-variables.
* mi/mi-cmds.h (mi_cmd_trace_define_variable)
(mi_cmd_trace_list_variables): New.
* mi/mi-main.c (mi_cmd_trace_define_variable)
(mi_cmd_trace_list_variables): New.
Vladimir Prus [Tue, 23 Mar 2010 21:48:14 +0000 (21:48 +0000)]
Implement -break-passcount.
* mi/mi-cmd-break.c (mi_cmd_break_passcount): New.
* mi/mi-cmds.c (mi_cmds): Register -break-passcount.
* mi/mi-cmds.h (mi_cmd_break_passcount): Declare.
Vladimir Prus [Tue, 23 Mar 2010 21:46:33 +0000 (21:46 +0000)]
-trace-start/-trace-end/-trace-status.
* mi/mi-cmds.c (mi_cmds): Register -trace-start, -trace-status
and -trace-stop.
* mi/mi-cmds.h (mi_cmd_trace_start, mi_cmd_trace_status)
(mi_cmd_trace_stop): Declare.
* mi/mi-main.c (mi_cmd_trace_start, mi_cmd_trace_status)
(mi_cmd_trace_stop): New.
* tracepoint.c (start_tracing): New, extracted from...
(trace_start_command): ...this.
(trace_status_mi): New.
* tracepoint.h (struct trace_status): Document
stopping_tracepoint.
(start_tracing, stop_tracing, trace_status_mi): Declare.
Vladimir Prus [Tue, 23 Mar 2010 21:41:55 +0000 (21:41 +0000)]
Implement creating tracepoints with -break-insert.
* mi/mi-cmd-break.c (mi_cmd_break_insert): Handle -a
to mean that tracepoint should be created.
Vladimir Prus [Tue, 23 Mar 2010 21:36:05 +0000 (21:36 +0000)]
* breakpoint.c (check_no_tracepoint_commands): Use
current spelling of 'teval'.
Vladimir Prus [Tue, 23 Mar 2010 21:34:30 +0000 (21:34 +0000)]
Remove conflict marker.
Vladimir Prus [Tue, 23 Mar 2010 21:32:28 +0000 (21:32 +0000)]
Unify actions and commands
* defs.h (read_command_lines, read_command_lines_1): New
parameters validator and closure.
* tracepoint.h (struct action_line): Remove.
* breakpoint.h (struct breakpoint): Remove the 'actions'
field.
* defs.h (enum command_control_type): New value
while_stepping_control.
(struct command_line): Add comments.
* breakpoint.c (breakoint_is_tracepoint): New.
(breakpoint_set_commands): For tracepoints,
verify the commands are permissible.
(check_tracepoint_commands): New.
(commands_command): Require that each new line is validated using
check_tracepoint_command, if we set commands for a tracepoint.
(create_tracepoint_from_upload): Likewise.
(print_one_breakpoint_location): Remove the code to print
actions specifically.
(tracepoint_save_command): Relay to print_command_lines.
* cli/cli-script.c (process_next_line): New parameters validator
and closure. Handle 'while-stepping'. Call validator if not null.
(read_command_lines, read_command_lines1): Likewise.
(recurse_read_control_structure): New parameters validator and
closure. Handle while_stepping_control.
(print_command_lines): Handle while-stepping.
(get_command_line, define_command, document_command): Adjust.
* remote.c (remote_download_tracepoint): Adjust.
* tracepoint.c (make_cleanup_free_actions, read_actions)
(free_actions, do_free_actions_cleanup): Remove.
(trace_actions_command): Use read_command_lines.
(validate_actionline): Use error in one place.
(encode_actions_1): New, extracted from...
(encode_actions): ...this. Also use cleanups for exception
safety.
(trace_dump_command): Adjust.
* mi/mi-cmd-break (mi_cmd_break_commands): Validate commands if
it's tracepoint.
Mike Frysinger [Tue, 23 Mar 2010 21:31:29 +0000 (21:31 +0000)]
gdb: fix building with system readline
Building gdb with --enable-targets=all and --with-system-readline hits a
failure in a few targets all related to the inclusion of some opcodes
headers. The usage of the bundled readline results in an -I to the top
srcdir, but if that isn't used, then there is no such -I path. A few gdb
targets use this implicitly to include opcodes/ source header files. So
make sure there is always an explicit -I path to the opcodes/ directory.
Ian Lance Taylor [Tue, 23 Mar 2010 21:06:10 +0000 (21:06 +0000)]
* script-sections.cc (class Orphan_section_placement): Define
PLACE_TLS and PLACE_TLS_BSS.
(Orphan_section_placement::Orphan_section_placement): Initialize
new places.
(Orphan_section_placement::find_place): Handle SHF_TLS sections.
* testsuite/Makefile.am (check_PROGRAMS): Add tls_script_test.
(tls_script_test_SOURCES): Define.
(tls_script_test_DEPENDENCIES): Define.
(tls_script_test_LDFLAGS): Define.
(tls_script_test_LDADD): Define.
* testsuite/Makefile.in: Rebuild.
Pedro Alves [Tue, 23 Mar 2010 18:00:57 +0000 (18:00 +0000)]
* linux-x86-low.c (x86_linux_prepare_to_resume): Clear DR6 if the
lwp had been stopped by a watchpoint.
Joseph Myers [Tue, 23 Mar 2010 16:05:34 +0000 (16:05 +0000)]
* configure.ac (tic6x-*-*): New case.
* configure: Regenerate.
Joseph Myers [Tue, 23 Mar 2010 16:02:02 +0000 (16:02 +0000)]
* scripttempl/elf.sc (RODATA_NAME, SDATA_NAME, SBSS_NAME,
BSS_NAME): Define if not already defined. Use in place of some
hardcoded section names.
Joseph Myers [Tue, 23 Mar 2010 16:00:54 +0000 (16:00 +0000)]
* gas/macros/dot.s: Remove space in .byte operands.
Joseph Myers [Tue, 23 Mar 2010 15:59:45 +0000 (15:59 +0000)]
* dis-buf.c (buffer_read_memory): Give error for reading just
before the start of memory.
Joseph Myers [Tue, 23 Mar 2010 15:58:51 +0000 (15:58 +0000)]
* symcat.h (CONCAT5, CONCAT6, XCONCAT5, XCONCAT6): Define.
Joseph Myers [Tue, 23 Mar 2010 14:30:59 +0000 (14:30 +0000)]
Merge from gcc:
2010-03-19 Jack Howarth <howarth@bromo.med.uc.edu>
PR ada/42554
* configure.ac: Only pass -c to ranlib for darwin9 and earlier.
* configure: Regenerate.
Joseph Myers [Tue, 23 Mar 2010 14:27:19 +0000 (14:27 +0000)]
* config.sub: Update to version 2010-03-22.
* config.guess: Update to version 2009-12-30.
Sebastian Pop [Tue, 23 Mar 2010 02:56:24 +0000 (02:56 +0000)]
2010-03-22 Sebastian Pop <sebastian.pop@amd.com>
Quentin Neill <quentin.neill@amd.com>
opcodes/
* i386-dis.c (OP_LWP_I): Removed.
(reg_table): Do not use OP_LWP_I, use Iq.
(OP_LWPCB_E): Remove use of names16.
(OP_LWP_E): Same.
* i386-opc.tbl: Removed 16bit LWP insns. 32bit LWP insns
should not set the Vex.length bit.
* i386-tbl.h: Regenerated.
gas/
* testsuite/gas/i386/x86-64-lwp.s: Remove use of 16bit LWP insns.
* testsuite/gas/i386/lwp.s: Same.
* testsuite/gas/i386/x86-64-lwp.d: Updated.
* testsuite/gas/i386/lwp.d: Updated.
gdbadmin [Tue, 23 Mar 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Mike Frysinger [Mon, 22 Mar 2010 23:10:39 +0000 (23:10 +0000)]
sim: always enable support for the --endian option
The gdb code always passes down -E <little|big> to the sim core when using
the sim target. But the sim core only recognizes this option when the sim
supports big endian systems. So for little endian simulators, any attempt
to use the sim target fails with:
(gdb) target sim
gdbsim: invalid option -- 'E'
unable to create simulator instance
Since always respecting the option doesn't cause any problems, do just
that. If someone tries to use an invalid endian, they'll get an error
anyways.
Alan Modra [Mon, 22 Mar 2010 23:01:42 +0000 (23:01 +0000)]
daily update
Doug Kwan [Mon, 22 Mar 2010 22:48:05 +0000 (22:48 +0000)]
2010-03-22 Doug Kwan <dougkwan@google.com>
* arm.cc (Arm_relocate_functions::abs8,
Arm_relocate_functions::abs16): Use correct check for overflow
specified in the ARM ELF specs.
(Arm_relocate_functions): thumb_branch_common. Handle bit 1 of branch
target of a BLX instruction specially.
(Reloc_stub::stub_type_for_reloc): Ditto.
(Relocate::relocate): Use symbolic names instead of numeric relocation
codes to report error.
(Target_arm::do_relox): Reduce default stub-group size for Cortex-A8
workaround.
* testsuite/Makefile.am (check_DATA): add thumb_blx_in_range.stdout,
thumb_blx_out_of_range.stdout, thumb2_blx_in_range.stdout and
thumb2_blx_out_of_range.stdout
(thumb_bl_out_of_range, thumb_bl_out_of_range.o,
thumb2_bl_out_of_range, thumb2_bl_out_of_range.o): Fix dependenices.
(thumb_blx_in_range.stdout, thumb_blx_in_range, thumb_blx_in_range.o,
thumb_blx_out_of_range.stdout, thumb_blx_out_of_range,
thumb_blx_out_of_range.o, thumb2_blx_in_range.stdout,
thumb2_blx_in_range, thumb2_blx_in_range.o,
thumb2_blx_out_of_range.stdout, thumb2_blx_out_of_range,
thumb2_blx_out_of_range.o): New rules.
(MOSTLYCLEANFILES): Add thumb_blx_in_range, thumb_blx_out_of_range,
thumb2_blx_in_range and thumb2_blx_out_of_range.
* testsuite/Makefile.in: Regenerate.
* arm_branch_in_range.sh: Add tests for THUMB BLX.
* testsuite/thumb_blx_in_range.s: New file.
* testsuite/thumb_blx_out_of_range.s: New file.
DJ Delorie [Mon, 22 Mar 2010 21:39:44 +0000 (21:39 +0000)]
merge from gcc
Jan Kratochvil [Mon, 22 Mar 2010 20:38:58 +0000 (20:38 +0000)]
gdb/testsuite/
* dg-extract-results.sh: Sync with GCC HEAD (import r155655, r157175
and r157645).
Stan Shebs [Mon, 22 Mar 2010 18:47:00 +0000 (18:47 +0000)]
2010-03-22 Stan Shebs <stan@codesourcery.com>
* value.c (value_static_field): Be lazy about the field's value.
Tom Tromey [Mon, 22 Mar 2010 17:36:28 +0000 (17:36 +0000)]
2010-03-22 Reid Kleckner <reid@kleckner.net>
PR gdb/11094
* breakpoint.c (disable_breakpoints_in_unloaded_shlib): Add
bp_jit_event.
(disable_breakpoints_in_shlibs): Likewise.
Jan Kratochvil [Mon, 22 Mar 2010 16:53:21 +0000 (16:53 +0000)]
gdb/testsuite/
* gdb.dwarf2/dw2-empty-namespace.exp, gdb.dwarf2/dw2-empty-namespace.S:
New.
Daniel Jacobowitz [Mon, 22 Mar 2010 15:32:26 +0000 (15:32 +0000)]
* gdb.python/Makefile.in (EXECUTABLES): Add py-mi.
* gdb.python/py-mi.exp (binfile): Rename to py-mi.