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.
Rafael Ávila de Espíndola [Mon, 22 Mar 2010 14:18:24 +0000 (14:18 +0000)]
2010-03-22 Rafael Espindola <espindola@google.com>
* archive.cc (Should_include): Move to archive.h.
(should_include_member): Make it a member of Archive.
(Lib_group): New.
(Add_lib_group_symbols): New.
* archive.h: Include options.h.
(Archive_member): Moved from Archive.
(Should_include): Moved from archive.cc.
(Lib_group): New.
(Add_lib_group_symbols): New.
* dynobj.cc (do_should_include_member): New.
* dynobj.h (do_should_include_member): New.
* gold.cc (queue_initial_tasks): Update call to queue.
* main.cc (main): Print lib group stats.
* object.cc (do_should_include_member): New.
* object.h: Include archive.h.
(Object::should_include_member): New.
(Object::do_should_include_member): New.
(Sized_relobj::do_should_include_member): New.
* options.cc (General_options::parse_start_lib): New.
(General_options::parse_end_lib): New.
(Input_arguments::add_file): Handle lib groups.
(Input_arguments::start_group): Check we are not in a lib.
(Input_arguments::start_lib): New.
(Input_arguments::end_lib): New.
* options.h (General_options): Add start_lib and end_lib.
(Input_argument::lib_): New.
(Input_argument::lib): New.
(Input_argument::is_lib): New.
(Input_file_lib): New.
(Input_arguments::in_lib_): New.
(Input_arguments::in_lib): New.
(Input_arguments::start_lib): New.
(Input_arguments::end_lib_): New.
* plugin.cc (Pluginobj::get_symbol_resolution_info): Mark symbols
in unused members as preempted.
(Sized_pluginobj::do_should_include_member): New.
* plugin.h (Sized_pluginobj::do_should_include_member): New.
* readsyms.cc (Read_symbols::locks): If we are just reading a member,
return the blocker.
(Read_symbols::do_whole_lib_group): New.
(Read_symbols::do_lib_group): New.
(Read_symbols::do_read_symbols): Handle lib groups.
(Read_symbols::get_name): Handle lib groups.
* readsyms.h (Read_symbols): Add an archive member pointer.
(Read_symbols::do_whole_lib_group): New.
(Read_symbols::do_lib_group): New.
(Read_symbols::member_): New.
* script.cc (read_input_script): Update call to queue_soon.
H.J. Lu [Mon, 22 Mar 2010 13:49:50 +0000 (13:49 +0000)]
Use STRING_COMMA_LEN to avoid strlen.
2010-03-22 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (lex_got): Use STRING_COMMA_LEN on gotrel.
Ulrich Weigand [Mon, 22 Mar 2010 13:21:39 +0000 (13:21 +0000)]
* dwarf2read.c (partial_die_parent_scope): Work around buggy
GCC 4.1 debug info generation (GCC PR c++/28460).
(determine_prefix): Likewise.
H.J. Lu [Mon, 22 Mar 2010 03:29:47 +0000 (03:29 +0000)]
Replace oprand_size_mismatch with operand_size_mismatch.
2010-03-21 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (i386_error): Replace oprand_size_mismatch
with operand_size_mismatch.
(operand_size_match): Updated.
(match_template): Likewise.
H.J. Lu [Mon, 22 Mar 2010 02:20:58 +0000 (02:20 +0000)]
Set error instead of err_msg on failure.
2010-03-21 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (i386_error): New.
(_i386_insn): Replace err_msg with error.
(operand_size_match): Set error instead of err_msg on failure.
(operand_type_match): Likewise.
(operand_type_register_match): Likewise.
(VEX_check_operands): Likewise.
(match_template): Likewise. Use error instead of err_msg with
as_bad.
gdbadmin [Mon, 22 Mar 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
H.J. Lu [Sun, 21 Mar 2010 23:26:33 +0000 (23:26 +0000)]
Check !executable instead of shared for PIE.
2010-03-21 H.J. Lu <hongjiu.lu@intel.com>
PR ld/11413
* elflink.c (_bfd_elf_add_default_symbol): Check !executable
instead of shared.
Alan Modra [Sun, 21 Mar 2010 23:01:36 +0000 (23:01 +0000)]
daily update
gdbadmin [Sun, 21 Mar 2010 00:00:09 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 20 Mar 2010 23:01:30 +0000 (23:01 +0000)]
daily update
Daniel Jacobowitz [Sat, 20 Mar 2010 05:17:10 +0000 (05:17 +0000)]
* tui/tui-disasm.c (tui_get_begin_asm_address): Default to
get_current_arch.
* tui/tui-layout.c (extract_display_start_addr): Likewise.
gdbadmin [Sat, 20 Mar 2010 00:00:04 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Fri, 19 Mar 2010 23:01:24 +0000 (23:01 +0000)]
daily update
Stan Shebs [Fri, 19 Mar 2010 22:00:17 +0000 (22:00 +0000)]
2010-03-19 Stan Shebs <stan@codesourcery.com>
* ax-gdb.c (gen_fetch): Handle bool.
(gen_usual_unary): Ditto.
(gen_cast): Ditto.
(gen_equal): New function.
(gen_less): New function.
(gen_expr_binop_rest): Call them, also return integer type from
logical operations.
(gen_expr): Ditto.
* gdb.trace/ax.exp: New file.
Doug Kwan [Fri, 19 Mar 2010 19:11:21 +0000 (19:11 +0000)]
2010-03-19 Doug Kwan <dougkwan@google.com>
* arm.cc (Stub_table::Stub_table): Initialize new data members
Stub_table::reloc_stubs_size_ and Stub_table::reloc_stubs_addralign_.
(Stub_table::add_reloc_stub): Assign stub offset and update
Stub_table::reloc_stubs_size_ and Stub_table::reloc_stubs_addralign_.
(Stub_table::reloc_stubs_size_, Stub_table::reloc_stubs_addralign_):
New data members.
(Stub_table::update_data_size_and_addralign): Use
Stub_table::reloc_stubs_size_ and Stub_table::reloc_stubs_addralign_
instead of going over all reloc stubs.
(Stub_table::finalize_stubs): Do not assign reloc stub offsets.
* stringpool.cc (Stringpool_template::Stringpool_template): Initialize
Stringpool_template::offset_ to size of Stringpool_char.
(Stringpool_template::new_key_offset): Remove code to initialize
Stringpool_template::offset_.
* stringpool.h (Stringpool_template::set_no_zero_null): Set
Stringpool_template::offset_ to zero.
Tom Tromey [Fri, 19 Mar 2010 19:08:41 +0000 (19:08 +0000)]
* jv-lang.c (jv_dynamics_objfile_data_key)
(jv_type_objfile_data_key): New globals.
(class_symtab): Move earlier.
(jv_per_objfile_free): New function.
(get_dynamics_objfile): Call set_objfile_data. Add 'gdbarch'
parameter.
Remove ancient #if 1.
(add_class_symbol): Remove redundant declaration.
(java_lookup_class): Use alloc_type, not alloc_type_arch.
(java_link_class_type): Mark as static. Update.
(jv_clear_object_type): New function.
(set_java_object_type): Likewise.
(get_java_object_type): Use set_java_object_type.
(is_object_type): Likewise.
(_initialize_java_language): Register new objfile keys.
(get_java_class_symtab): Add 'gdbarch' parameter.
(add_class_symtab_symbol): Update.
(type_from_class): Update.
Stan Shebs [Fri, 19 Mar 2010 18:21:03 +0000 (18:21 +0000)]
2010-03-19 Stan Shebs <stan@codesourcery.com>
* ax-general.c (ax_const_l): Fix a sizing bug.
Doug Evans [Fri, 19 Mar 2010 17:59:37 +0000 (17:59 +0000)]
* lib/gdb.exp (gdb_compile_test): Watch for "compiler not installed"
output from gcc.
Doug Evans [Fri, 19 Mar 2010 17:57:17 +0000 (17:57 +0000)]
* gdb.base/break-interp.exp (prelinkNO): Handle prelink binaries
named /usr/sbin/prelink<foo>.
Jie Zhang [Fri, 19 Mar 2010 17:04:17 +0000 (17:04 +0000)]
* elf32-arm.c (struct section_list): Remove.
(section_list): Remove typedef.
(record_section_with_arm_elf_section_data): Remove.
(find_arm_elf_section_entry): Remove.
(get_arm_elf_section_data): Use is_arm_elf.
(unrecord_section_with_arm_elf_section_data): Remove.
(elf32_arm_new_section_hook): Don't call
record_section_with_arm_elf_section_data.
(elf32_arm_write_section): Set mapcount to -1 when
the map has been used. Don't call
unrecord_section_with_arm_elf_section_data.
(unrecord_section_via_map_over_sections): Remove.
(elf32_arm_close_and_cleanup): Remove.
(elf32_arm_bfd_free_cached_info): Remove.
(bfd_elf32_close_and_cleanup): Don't define.
(bfd_elf32_bfd_free_cached_info): Don't define.
Jie Zhang [Fri, 19 Mar 2010 14:49:46 +0000 (14:49 +0000)]
PR ld/11304
* ld-elf/pr11304.d: New test.
* ld-elf/pr11304a.s: New test.
* ld-elf/pr11304b.s: New test.
* lib/ld-lib.exp (regexp_diff): Add support for #failif.
Jie Zhang [Fri, 19 Mar 2010 14:43:09 +0000 (14:43 +0000)]
* config/tc-arm.c (make_mapping_symbol): Hanle the case
that two mapping symbols have the same value.
testsuite/
* gas/arm/mapmisc.s: Add the test case for two mapping
symbols having the same value.
* gas/arm/mapmisc.d: Likewise.
gdbadmin [Fri, 19 Mar 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 18 Mar 2010 23:01:18 +0000 (23:01 +0000)]
daily update
gdbadmin [Thu, 18 Mar 2010 22:25:24 +0000 (22:25 +0000)]
GDB 7.1 released.
Stan Shebs [Thu, 18 Mar 2010 21:23:35 +0000 (21:23 +0000)]
2010-03-18 Stan Shebs <stan@codesourcery.com>
Pedro Alves <pedro@codesourcery.com>
* target.h (struct target_ops): New method
to_set_circular_trace_buffer.
(target_set_circular_trace_buffer): New macro.
* target.c (update_current_target): Add
to_set_circular_trace_buffer, fix to_set_disconnected_tracing
default behavior.
* remote.c (remote_set_circular_trace_buffer): New function.
(init_remote_ops): Add it to vector.
* tracepoint.h (struct trace_status): New field traceframes_created,
change buffer_size and buffer_free to int.
* tracepoint.c (circular_trace_buffer): New global.
(start_tracing): Send values of disconnected tracing and circular
trace buffer settings.
(set_circular_trace_buffer): New function.
(parse_trace_state): Handle total space and frames created.
(trace_status_command): Display total space and total frames
created.
(trace_save): Write out new status values.
(parse_trace_status): Set traceframe_count, traceframes_created,
buffer_free and buffer_size to -1 by default.
(_initialize_tracepoint): New setshow for circular-trace-buffer.
* NEWS: Mention the circular trace buffer option.
* gdb.texinfo (Starting and Stopping Trace Experiments): Describe
circular-trace-buffer.
(Tracepoint Packets): Describe QTBuffer, and details of the
qTStatus reply.
* gdb.trace/circ.exp: Test circular-trace-buffer.
* gdb.trace/tfile.exp: Update tstatus test.
H.J. Lu [Thu, 18 Mar 2010 18:40:29 +0000 (18:40 +0000)]
Re-indent INIT_ARRAY.
2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
* scripttempl/elf.sc (INIT_ARRAY): Re-indent.
Joel Brobecker [Thu, 18 Mar 2010 18:35:55 +0000 (18:35 +0000)]
[dwarf] Anonymous nested function causes SEGV during psymbol read
According to the DWARF3 standard, a function always has a name attribute
(Section 3.3 - Subroutine and Entry Point Entries). The only exception
is when a DW_AT_abstract_origin attribute is provided, in which case
the name may be inherited from the referenced DIE.
The problem occured because our compiler generated a subprogram DIE
for a nested function where the name attribute was missing (and no
abstract-origin either). Our code in add_partial_symbol is not
prepared to deal with the situation, and happily just tries to compute
the length of the (NULL) function name.
This normally cannot happen, because there is already a guard in
scan_partial_symbols, where we (silently!) ignore anonymous dies,
including anonymous subprograms. Unfortunately, there is a flaw that
affects Ada and other languages that allow nested subprograms. For
nested subprograms, we do not go through scan_partial_symbols and
thus we are missing the name check.
This patch adds the name check in the nested subprogram case. It also
adds a complaint which is emitted during the psymtab->symtab conversion
phase.
gdb/ChangeLog:
* dwarf2read.c (add_partial_subprogram): Make sure the subprogram
DIE has a name before creating the associated partial symbol.
(read_func_scope): Emit a complaint if the subprogram does not
have a name or when we can't extract the subprogram PC bounds.
gdb/testsuite/ChangeLog:
* gdb.dwarf2/dw2-anonymous-func.S: New file.
* gdb.dwarf2/dw2-anonymous-func.exp: New testcase.
Tested on x86_64-linux, no regression. Note that the testcase also
verifies that the psymtab->symtab conversion does not crash (this is
the purpose of the "list file1.txt:1" test.
H.J. Lu [Thu, 18 Mar 2010 18:16:41 +0000 (18:16 +0000)]
Reformat.
Tom Tromey [Thu, 18 Mar 2010 18:02:00 +0000 (18:02 +0000)]
* infcmd.c (finish_command_continuation): Wrap print_return_value
in TRY_CATCH.
H.J. Lu [Thu, 18 Mar 2010 17:46:19 +0000 (17:46 +0000)]
Avoid buffer overflow.
2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
* readelf.c (decode_arm_unwind): Increase buf size to 9 byte.
Stan Shebs [Thu, 18 Mar 2010 16:01:29 +0000 (16:01 +0000)]
Fix last checkin
Daniel Jacobowitz [Thu, 18 Mar 2010 15:34:47 +0000 (15:34 +0000)]
* doc/c-arm.texi (.setfp): Correct example.
H.J. Lu [Thu, 18 Mar 2010 14:44:46 +0000 (14:44 +0000)]
Move ChangeLog entries to proper place.
Ulrich Weigand [Thu, 18 Mar 2010 13:25:20 +0000 (13:25 +0000)]
ChangeLog:
* mi/mi-main.c (mi_cmd_list_thread_groups): Use get_current_arch
instead of selected frame architecture.
testsuite/ChangeLog:
* gdb.mi/gdb680.exp: Revert 2009-06-17 change.
Pedro Alves [Thu, 18 Mar 2010 13:21:40 +0000 (13:21 +0000)]
gdb/
* infcmd.c (until_command): Use ERROR_NO_INFERIOR. Ensure there's
a valid selected thread, and that it is not running.
(advance_command): Ditto.
(finish_command): Ditto.
gdb/testsuite/
* gdb.base/default.exp: Adjust.
Nick Clifton [Thu, 18 Mar 2010 13:15:46 +0000 (13:15 +0000)]
PR ld/11384
* emultempl/sh64elf.em: Add missing EOF.
H.J. Lu [Thu, 18 Mar 2010 12:27:15 +0000 (12:27 +0000)]
Don't add IMAGE_FILE_RELOCS_STRIPPED for PIE.
2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/11396
* libcoff-in.h (pe_tdata): Add dont_strip_reloc.
* libcoff.h: Regenerated.
* peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Clear F_RELFLG
if dont_strip_reloc is set.
(_bfd_XX_bfd_copy_private_bfd_data_common): Set
dont_strip_reloc on output if there is no .reloc and
IMAGE_FILE_RELOCS_STRIPPED isn't set in input.
Nick Clifton [Thu, 18 Mar 2010 11:22:46 +0000 (11:22 +0000)]
bfd/
2010-03-15 Wei Guozhi <carrot@google.com>
PR gas/11323
* bfd-in2.h (enum bfd_reloc_code_real): New BFD_RELOC_GOT_PREL type.
* elf32-arm.c (elf32_arm_reloc_map): BFD_RELOC_GOT_PREL to
R_ARM_GOT_PREL map.
* libbfd.h (bfd_reloc_code_real_names): BFD_RELOC_GOT_PREL name.
* reloc.c (comments): Document the new relocation.
gas/
2010-03-15 Wei Guozhi <carrot@google.com>
PR gas/11323
* config/tc-arm.c (reloc_names): New relocation names.
(md_apply_fix): New case for BFD_RELOC_ARM_GOT_PREL.
(tc_gen_reloc): New case for BFD_RELOC_ARM_GOT_PREL.
* doc/c-arm.texi (ARM-Relocations): Document the new relocation.
gas/testsuite
2010-03-15 Wei Guozhi <carrot@google.com>
PR gas/11323
* gas/arm/got_prel.s: New test case.
* gas/arm/got_prel.d: Likewise.
Nick Clifton [Thu, 18 Mar 2010 10:51:31 +0000 (10:51 +0000)]
* pe-dll.c (make_one): Make text section readonly.
(make_one): Add *ABS* symbol @feat.00 with value 1 to tag
the jump stub on X86 as /SAFESEH compatible for
native toolchains.
Stan Shebs [Thu, 18 Mar 2010 01:47:33 +0000 (01:47 +0000)]
2010-03-17 Stan Shebs <stan@codesourcery.com>
* ax-gdb.c (require_rvalue): Disallow non-scalars.
Stan Shebs [Thu, 18 Mar 2010 01:09:26 +0000 (01:09 +0000)]
2010-03-17 Stan Shebs <stan@codesourcery.com>
* infcall.c: Include tracepoint.h.
(call_function_by_hand): Disallow calls in tfind mode.
* infcmd.c: Include tracepoint.h.
(ensure_not_tfind_mode): New function.
(continue_1): Call it.
(step_1) Ditto.
(jump_command): Ditto.
(signal_command): Ditto.
(advance_command): Ditto.
(until_command): Ditto.
(finish_command): Ditto.
* tracepoint.h (disconnect_or_stop_tracing): Declare.
gdbadmin [Thu, 18 Mar 2010 00:00:34 +0000 (00:00 +0000)]
*** empty log message ***
H.J. Lu [Wed, 17 Mar 2010 23:20:41 +0000 (23:20 +0000)]
Run list-1, list-2 and list-3 only for ELF tagets.
2010-03-17 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/i386.exp: Run list-1, list-2 and list-3 only for
ELF tagets.
Alan Modra [Wed, 17 Mar 2010 23:01:13 +0000 (23:01 +0000)]
daily update
H.J. Lu [Wed, 17 Mar 2010 23:00:05 +0000 (23:00 +0000)]
Revert accidental changes.
2010-03-17 H.J. Lu <hongjiu.lu@intel.com>
* reloc.c (BFD_RELOC_SPU_PIC18): Removed.
(BFD_RELOC_SPU_STUB): Likewise.
Stan Shebs [Wed, 17 Mar 2010 22:04:43 +0000 (22:04 +0000)]
2010-03-17 Stan Shebs <stan@codesourcery.com>
* ax-gdb.h (struct axs_value): New field optimized_out.
(gen_trace_for_var): Add gdbarch argument.
* ax-gdb.c (gen_trace_static_fields): New function.
(gen_traced_pop): Call it, add gdbarch argument.
(gen_trace_for_expr): Update call to it.
(gen_trace_for_var): Ditto, and report optimized-out variables.
(gen_struct_ref_recursive): Check for optimized-out value.
(gen_struct_elt_for_reference): Ditto.
(gen_static_field): Pass gdbarch instead of expression, assume
optimization if field not found.
(gen_var_ref): Set the optimized_out flag.
(gen_expr): Error on optimized-out variable.
* tracepoint.c (collect_symbol): Handle struct-valued vars as
expressions, skip optimized-out variables with computed locations.
* dwarf2loc.c (dwarf2_tracepoint_var_ref): Flag instead of
erroring out if location expression missing.
(loclist_tracepoint_var_ref): Don't error out here.
Tom Tromey [Wed, 17 Mar 2010 19:16:02 +0000 (19:16 +0000)]
* dwarf2read.c (dwarf2_get_section_info): Handle case where no
DWARF data is available.
Daniel Jacobowitz [Wed, 17 Mar 2010 18:08:11 +0000 (18:08 +0000)]
* symfile.c (generic_load): Reset breakpoints after loading.