Daniel Jacobowitz
0d39a07082
* 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.
2010-03-24 20:23:13 +00:00
Vladimir Prus
4baf5cf487
* tracepoint.c (tvariables_info_1): Actually compute
...
the number of rows in the result.
2010-03-24 19:37:06 +00:00
Ian Lance Taylor
4ebf39dbf4
* 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.
2010-03-24 18:12:48 +00:00
H.J. Lu
4f608e793d
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.
2010-03-24 15:41:59 +00:00
H.J. Lu
337660d898
Update copyright year on libbfd-in.h.
...
2010-03-24 H.J. Lu <hongjiu.lu@intel.com>
* libbfd-in.h: Update copyright year.
2010-03-24 15:04:29 +00:00
Mike Frysinger
1985c81cf5
Blackfin disassmbler: fix typo where M2.H was decoded as L2.H
2010-03-24 05:16:29 +00:00
Cary Coutant
4a599bdd83
* fileread.cc (find_or_make_view): Fix comment.
2010-03-24 01:27:57 +00:00
Pedro Alves
4a5e7a5b0a
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.
2010-03-24 01:12:13 +00:00
Pedro Alves
2280c721d8
* server.c (handle_query): Assign, not compare.
2010-03-24 00:14:54 +00:00
Pedro Alves
d50171e439
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.
2010-03-24 00:05:03 +00:00
gdbadmin
8541339168
*** empty log message ***
2010-03-24 00:00:04 +00:00
Pedro Alves
4dfd542337
* gdb.threads/pthreads.c (thread1, thread2, main): Fix printf
...
format strings and add casts to avoid compiler warnings.
2010-03-23 23:50:22 +00:00
Alan Modra
5d75f67599
daily update
2010-03-23 23:01:48 +00:00
Michael Snyder
30ba68cb7e
2010-03-23 Michael Snyder <msnyder@vmware.com>
...
* server.c (crc32): New function.
(handle_query): Add handling for 'qCRC:' request.
2010-03-23 22:43:50 +00:00
Vladimir Prus
1814801734
* gdb.texinfo (GDB/MI Tracepoint Commands): Document MI tracepoint
...
commands.
2010-03-23 22:10:08 +00:00
Vladimir Prus
011aacb08e
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.
2010-03-23 22:05:46 +00:00
Vladimir Prus
f197e0f1b1
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.
2010-03-23 22:01:47 +00:00
Vladimir Prus
40e1c229a2
-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.
2010-03-23 21:50:11 +00:00
Vladimir Prus
9b4c786c6c
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.
2010-03-23 21:48:14 +00:00
Vladimir Prus
f224b49dcd
-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.
2010-03-23 21:46:33 +00:00
Vladimir Prus
6534d786b1
Implement creating tracepoints with -break-insert.
...
* mi/mi-cmd-break.c (mi_cmd_break_insert): Handle -a
to mean that tracepoint should be created.
2010-03-23 21:41:55 +00:00
Vladimir Prus
51661e93bc
* breakpoint.c (check_no_tracepoint_commands): Use
...
current spelling of 'teval'.
2010-03-23 21:36:05 +00:00
Vladimir Prus
58ddf7c9cd
Remove conflict marker.
2010-03-23 21:34:30 +00:00
Vladimir Prus
a7bdde9e63
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.
2010-03-23 21:32:28 +00:00
Mike Frysinger
64e3cf3d4f
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.
2010-03-23 21:31:29 +00:00
Ian Lance Taylor
6c93b22ce4
* 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.
2010-03-23 21:06:10 +00:00
Pedro Alves
b9a881c2d2
* linux-x86-low.c (x86_linux_prepare_to_resume): Clear DR6 if the
...
lwp had been stopped by a watchpoint.
2010-03-23 18:00:57 +00:00
Joseph Myers
619a37130f
* configure.ac (tic6x-*-*): New case.
...
* configure: Regenerate.
2010-03-23 16:05:34 +00:00
Joseph Myers
349e935bad
* scripttempl/elf.sc (RODATA_NAME, SDATA_NAME, SBSS_NAME,
...
BSS_NAME): Define if not already defined. Use in place of some
hardcoded section names.
2010-03-23 16:02:02 +00:00
Joseph Myers
103acc3caf
* gas/macros/dot.s: Remove space in .byte operands.
2010-03-23 16:00:54 +00:00
Joseph Myers
f66187fdfe
* dis-buf.c (buffer_read_memory): Give error for reading just
...
before the start of memory.
2010-03-23 15:59:45 +00:00
Joseph Myers
0aec0f3348
* symcat.h (CONCAT5, CONCAT6, XCONCAT5, XCONCAT6): Define.
2010-03-23 15:58:51 +00:00
Joseph Myers
92f4e989f6
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.
2010-03-23 14:30:59 +00:00
Joseph Myers
c35a05561c
* config.sub: Update to version 2010-03-22.
...
* config.guess: Update to version 2009-12-30.
2010-03-23 14:27:19 +00:00
Sebastian Pop
ce7d077ec0
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.
2010-03-23 02:56:24 +00:00
gdbadmin
405f531a1a
*** empty log message ***
2010-03-23 00:00:03 +00:00
Mike Frysinger
11409fac6b
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.
2010-03-22 23:10:39 +00:00
Alan Modra
24f5d24a23
daily update
2010-03-22 23:01:42 +00:00
Doug Kwan
a2c7281b72
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.
2010-03-22 22:48:05 +00:00
DJ Delorie
f9b58c5ba6
merge from gcc
2010-03-22 21:39:44 +00:00
Jan Kratochvil
c847d045a6
gdb/testsuite/
...
* dg-extract-results.sh: Sync with GCC HEAD (import r155655, r157175
and r157645).
2010-03-22 20:38:58 +00:00
Stan Shebs
52e9fde813
2010-03-22 Stan Shebs <stan@codesourcery.com>
...
* value.c (value_static_field): Be lazy about the field's value.
2010-03-22 18:47:00 +00:00
Tom Tromey
508ccb1f2c
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.
2010-03-22 17:36:28 +00:00
Jan Kratochvil
5f717f1dbd
gdb/testsuite/
...
* gdb.dwarf2/dw2-empty-namespace.exp, gdb.dwarf2/dw2-empty-namespace.S:
New.
2010-03-22 16:53:21 +00:00
Daniel Jacobowitz
7d6d51d5fd
* gdb.python/Makefile.in (EXECUTABLES): Add py-mi.
...
* gdb.python/py-mi.exp (binfile): Rename to py-mi.
2010-03-22 15:32:26 +00:00
Rafael Ávila de Espíndola
b0193076da
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.
2010-03-22 14:18:24 +00:00
H.J. Lu
cff8d58ab4
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.
2010-03-22 13:49:50 +00:00
Ulrich Weigand
acebe513da
* dwarf2read.c (partial_die_parent_scope): Work around buggy
...
GCC 4.1 debug info generation (GCC PR c++/28460).
(determine_prefix): Likewise.
2010-03-22 13:21:39 +00:00
H.J. Lu
86e026a449
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.
2010-03-22 03:29:47 +00:00
H.J. Lu
a65babc949
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.
2010-03-22 02:20:58 +00:00