aboutsummaryrefslogtreecommitdiff
path: root/gdb
AgeCommit message (Collapse)AuthorFilesLines
2011-07-262011-07-26 Sterling Augustine <saugustine@google.com>Paul Pluzhnikov2-2/+8
* cli/cli-dump.c (dump_binary_file): Change parameter type to ULONGEST. (dump_bfd_file): Likewise.
2011-07-262011-07-26 Philippe Waroquiers <philippe.waroquiers@skynet.be>Philippe Waroquiers4-0/+55
* remote.c (remote_region_ok_for_hw_watchpoint): New function. (remote_hw_watchpoint_length_limit): New variable. (_initialize_remote) add set,show cmds for this new variable. * gdb.texinfo: document these new commands. * NEWS: Mention these new commands.
2011-07-262011-07-26 Pedro Alves <pedro@codesourcery.com>Pedro Alves4-1/+32
gdb/ * breakpoint.c (works_in_software_mode_watchpoint): Also return true for software watchpoints. gdb/testsuite/ * gdb.base/watchpoint.exp (test_disable_enable_software_watchpoint): New procedure. (top level): Run it.
2011-07-26 * gdb.python/py-mi.exp: Avoid '+' in filenames. Call C version ofUlrich Weigand7-51/+61
executable file "${binfile}", C++ version "${binfile}-cxx". * gdb.python/py-prettyprint.exp: Likewise. * gdb.python/py-symbol.exp: Likewise. * gdb.python/py-type.exp: Likewise. * gdb.python/py-value.exp: Likewise. * gdb.python/py-template.exp (test_template_arg): Pass full executable file name instead of just suffix.
2011-07-26GDB 7.3 released.gdbadmin1-0/+4
2011-07-26 * symfile.h (struct dwarf2_debug_sections) <macro>: New field.Tom Tromey3-145/+472
* dwarf2read.c (read_indirect_string_at_offset): New function. (read_indirect_string): Use it. (dwarf_decode_macro_bytes): New function, taken from dwarf_decode_macros. Handle DW_MACRO_GNU_*. (dwarf_decode_macros): Use it. handle DW_MACRO_GNU_*. (dwarf_parse_macro_header, skip_form_bytes, skip_unknown_opcode): New functions. (struct dwarf2_per_objfile) <macro>: New field. (dwarf2_elf_names): Add .debug_macro. (dwarf2_macros_too_long_complaint): Add 'section' argument. (dwarf2_locate_sections): Handle new section. (read_file_scope): Handle DW_AT_GNU_macros. (dwarf2_per_objfile_free): Unmap the .debug_macro section.
2011-07-26gdb/doc/Jan Kratochvil2-14/+65
* gdb.texinfo (whatis, ptype): Highlight their differences. Describe typedefs unrolling. Extend the sample code by an inner typedef and outer typedefs unrolling.
2011-07-262011-07-26 Paul Pluzhnikov <ppluzhnikov@google.com>Paul Pluzhnikov5-40/+171
* NEWS: Mention dcache configuration. * dcache.c (dcache_set_list, dcache_show_list): New variables. (dcache_size, dcache_line_size): New variables. (LINE_SIZE_MASK, XFORM, MASK): Adjust. (struct dcache_block): Make it expandable. (struct dcache_struct): New field. (dcache_invalidate): Discard freelist upon dcache_line_size changes. (dcache_hit, dcache_alloc, dcache_peek_byte): Adjust. (dcache_poke_byte, dcache_print_line): Adjust. (set_dcache_size, set_dcache_line_size): New functions. (set_dcache_command, show_dcache_command): New functions. (_initialize_dcache): Add new commands. doc/ChangeLog: 2011-07-26 Paul Pluzhnikov <ppluzhnikov@google.com> * gdb.texinfo (Caching Remote Data): Document {set,show} dcache size and line-size.
2011-07-262011-07-26 Paul Pluzhnikov <ppluzhnikov@google.com>Paul Pluzhnikov4-14/+34
* progspace.h (struct program_space): Add solib_add_generation. * infcmd.c (post_create_inferior): Only call solib_add if not already done. * solib.c (solib_add): Increment solib_add_generation.
2011-07-26*** empty log message ***gdbadmin1-1/+1
2011-07-25Cleanup: kill trailing whitespacePaul Pluzhnikov1-9/+9
2011-07-25gdb/Jan Kratochvil5-3/+39
Fix implicit pointer offsets. * dwarf2loc.c (indirect_pieced_value): Comment byte_offset. Use also ptr.OFFSET. gdb/testsuite/ Fix implicit pointer offsets. * gdb.dwarf2/implptr.c (add): New marker baz breakpoint. * gdb.dwarf2/implptr.exp (set baz breakpoint for implptr) (continue to breakpoint: continue to baz breakpoint for implptr) (sanity check element 0, sanity check element 1) (enter the inlined function, check element 0 for the offset) (check element 1 for the offset) (continue to breakpoint: ignore the second baz breakpoint): New tests. (set foo breakpoint for implptr): Update the breakpoint number.
2011-07-25 * ada-lang.c (ada_exception_breakpoint_ops): Make return typeTom Tromey4-28/+53
const. (ada_exception_sal): Make 'ops' const. (ada_decode_exception_location): Likewise. (ada_decode_assert_location): Likewise. (catch_assert_command): Update. (catch_ada_exception_command): Update. (create_ada_exception_catchpoint): Make 'ops' const. * breakpoint.c (set_raw_breakpoint_without_location) (set_raw_breakpoint, momentary_breakpoint_from_master): Make 'ops' const. (create_internal_breakpoint): Update. (init_raw_breakpoint_without_location): Make 'ops' const. (init_raw_breakpoint, init_catchpoint) (create_fork_vfork_event_catchpoint) (create_syscall_event_catchpoint, init_breakpoint_sal) (create_breakpoint_sal, create_breakpoints_sal) (create_breakpoint, init_ada_exception_breakpoint): Likewise. * breakpoint.h (struct breakpoint) <ops>: Now const. (init_ada_exception_breakpoint, create_breakpoint): Make 'ops' const.
2011-07-252011-07-25 Paul Pluzhnikov <ppluzhnikov@google.com>Paul Pluzhnikov2-0/+7
* linux-thread-db.c (thread_from_lwp): Initialize th.th_unique.
2011-07-252011-07-25 Pedro Alves <pedro@codesourcery.com>Pedro Alves8-184/+330
gdb/ * breakpoint.h (print_recreate_thread): Declare. (struct breakpoint): Move step_count, pass_count, number_on_target, static_trace_marker_id, static_trace_marker_id_idx ... (struct tracepoint): ... to this new struct. (get_tracepoint, get_tracepoint_by_number_on_target) (get_tracepoint_by_number): Change return type to struct tracepoint pointer. * breakpoint.c (is_tracepoint_type): New, factored out from is_tracepoint. (is_tracepoint): Adjust. (print_one_breakpoint_location): Cast to struct tracepoint as necessary, and adjust. (print_recreate_catch_fork, print_recreate_catch_vfork) (print_recreate_catch_syscall, print_recreate_catch_exec): Call print_recreate_thread. (init_breakpoint_sal): New, factored out from create_breakpoint_sal. (create_breakpoint_sal): Reimplement. (create_breakpoint): Allocate a struct tracecepoint if the caller wanted a tracepoint. Use init_breakpoint_sal and install_breakpoint. (print_recreate_ranged_breakpoint, print_recreate_watchpoint) (print_recreate_masked_watchpoint) (print_recreate_exception_catchpoint): Call print_recreate_thread. (tracepoint_print_one_detail): Adjust. (tracepoint_print_recreate): Adjust. Call print_recreate_thread. Dump the pass count here. (update_static_tracepoint): Adjust. (addr_string_to_sals): Adjust. (create_tracepoint_from_upload): Adjust. Change return type to struct tracepoint pointer. (trace_pass_set_count): Change parameter type to struct tracepoint pointer, and adjust. (trace_pass_command): Adjust. (get_tracepoint, get_tracepoint_by_number_on_target) (get_tracepoint_by_number): Change return type to struct tracepoint pointer, and adjust. (print_recreate_thread): New, factored out from save_breakpoints. (save_breakpoints): Don't print thread and task and passcount recreation here. * remote.c (remote_download_tracepoint): Adjust. * tracepoint.c (trace_actions_command, validate_actionline) (start_tracing, tfind_1, trace_find_tracepoint_command) (trace_dump_command): Adjust. (find_matching_tracepoint): Change return type to struct tracepoint pointer, and adjust. (merge_uploaded_tracepoints, tfile_get_traceframe_address) (tfile_trace_find, tfile_fetch_registers): Adjust. * tracepoint.h (create_tracepoint_from_upload): Change return type to struct tracepoint pointer. * ada-lang.c (print_recreate_exception): Call print_recreate_thread. * mi/mi-cmd-break.c (mi_cmd_break_passcount): Adjust.
2011-07-252011-07-25 Pedro Alves <pedro@codesourcery.com>Pedro Alves5-253/+417
gdb/ * breakpoint.h (struct breakpoint): Move ops as first field. Move exp_string, exp_string_reparse, exp, exp_valid_block, cond_exp, cond_exp_valid_block, val, val_valid, watchpoint_frame, watchpoint_thread, watchpoint_triggered ... (struct watchpoint): ... to this new struct. (is_watchpoint): Declare. (install_breakpoint): Add new `internal' parameter. * breakpoint.c (is_watchpoint): Delete declaration. (set_breakpoint_condition): Handle watchpoints. (is_watchpoint): Make public. (watchpoint_in_thread_scope): Change parameter type to struct watchpoint. (watchpoint_del_at_next_stop): Change parameter type to struct watchpoint. Remove assertion. Adjust. (update_watchpoint): Ditto. (insert_breakpoints, breakpoint_init_inferior) (watchpoints_triggered, watchpoint_check) (bpstat_check_watchpoint, bpstat_check_breakpoint_conditions) (bpstat_stop_status, print_one_breakpoint_location) (print_one_breakpoint_location, watchpoint_locations_match): Cast to struct watchpoint as necessary, and adjust. (install_breakpoint): Add `internal' argument. If true, don't mention the new breakpoint. Use set_breakpoint_number. (create_fork_vfork_event_catchpoint) (create_syscall_event_catchpoint): Adjust. (dtor_watchpoint): New. (re_set_watchpoint, insert_watchpoint, remove_watchpoint) (breakpoint_hit_watchpoint, resources_needed_watchpoint) (print_it_watchpoint, print_mention_watchpoint) (print_recreate_watchpoint, insert_masked_watchpoint) (remove_masked_watchpoint, resources_needed_masked_watchpoint) (print_one_detail_masked_watchpoint) (print_mention_masked_watchpoint) (print_recreate_masked_watchpoint): Cast to struct watchpoint as necessary, and adjust. (watch_command_1): Allocate and initialize a struct watchpoint instead of a struct breakpoint. Use install_breakpoint. (catch_exec_command_1): Adjust. (base_breakpoint_dtor): Delete accesses to watchpoint specific fields. (delete_breakpoint, enable_breakpoint_disp) (invalidate_bp_value_on_memory_change): Cast to struct watchpoint as necessary, and adjust. (initialize_breakpoint_ops): Install dtor_watchpoint as watchpoints' dtor method. * ada-lang.c (create_ada_exception_catchpoint): Adjust. * python/py-breakpoint.c (bppy_get_expression): Use is_watchpoint. to struct watchpoint as necessary, and adjust.
2011-07-252011-07-25 Pedro Alves <pedro@codesourcery.com>Pedro Alves4-408/+398
* ada-lang.c (dtor_exception, re_set_exception): Indirect through the the base class ops table. (catch_exception_breakpoint_ops) (catch_exception_unhandled_breakpoint_ops) (catch_assert_breakpoint_ops): Don't statically initialize. (initialize_ada_catchpoint_ops): New. (_initialize_ada_language): Call it. * breakpoint.c (base_breakpoint_ops, bkpt_base_breakpoint_ops) (bkpt_breakpoint_ops): Forward declare. (catch_fork_breakpoint_ops, catch_vfork_breakpoint_ops) (catch_syscall_breakpoint_ops, catch_exec_breakpoint_ops) (ranged_breakpoint_ops, watchpoint_breakpoint_ops) (masked_watchpoint_breakpoint_ops) (gnu_v3_exception_catchpoint_ops): Don't statically initialize. (dtor_catch_syscall, dtor_catch_exec): Indirect through the the base class ops table. (null_re_set, null_check_status, null_works_in_software_mode) (null_resources_needed, null_print_one_detail): Delete. (bkpt_dtor): Rename to ... (base_breakpoint_dtor): ... this. Make static. (bkpt_allocate_location): Rename to ... (base_breakpoint_allocate_location): ... this. Make static. (base_breakpoint_re_set): New. (internal_error_pure_virtual_called): New. (base_breakpoint_insert_location, base_breakpoint_remove_location) (base_breakpoint_breakpoint_hit, base_breakpoint_check_status) (base_breakpoint_works_in_software_mode) (base_breakpoint_resources_needed, base_breakpoint_print_it) (base_breakpoint_print_one_detail, base_breakpoint_print_mention) (base_breakpoint_print_recreate): New functions. (base_breakpoint_ops): New global. (bkpt_re_set, bkpt_insert_location, bkpt_remove_location) (bkpt_breakpoint_hit): Make static. (bkpt_check_status): Delete. (bkpt_resources_needed): Make static. (bkpt_works_in_software_mode): Delete. (bkpt_print_it, bkpt_print_mention, bkpt_print_recreate): Make static. (bkpt_breakpoint_ops, internal_breakpoint_ops) (momentary_breakpoint_ops): Don't statically initialize. (internal_bkpt_print_recreate, momentary_bkpt_print_recreate): Delete. (tracepoint_insert_location, tracepoint_remove_location) (tracepoint_check_status, tracepoint_works_in_software_mode) (tracepoint_print_it): Delete. (tracepoint_breakpoint_ops): Don't statically initialize. (initialize_breakpoint_ops): New. (_initialize_breakpoint): Call it. * breakpoint.h (null_re_set, null_works_in_software_mode) (null_resources_needed, null_check_status, null_print_one_detail): (bkpt_dtor, bkpt_allocate_location, bkpt_re_set) (bkpt_insert_location, bkpt_remove_location, bkpt_breakpoint_hit) (bkpt_check_status, bkpt_resources_needed) (bkpt_works_in_software_mode, bkpt_print_it) (null_print_one_detail, bkpt_print_mention, bkpt_print_recreate): Delete declarations. (initialize_breakpoint_ops): Declare.
2011-07-252011-07-25 Pedro Alves <pedro@codesourcery.com>Pedro Alves2-94/+40
* breakpoint.c (bkpt_print_it, internal_bkpt_print_it) (momentary_bkpt_print_it): Simplify.
2011-07-252011-07-25 Pedro Alves <pedro@codesourcery.com>Pedro Alves2-183/+336
Split internal, momentary and user breakpoints breakpoint_ops tables. gdb/ * breakpoint.c (internal_breakpoint_ops) (momentary_breakpoint_ops): Forward declare. (create_internal_breakpoint): Add new breakpoint_ops parameter. Pass it down, rather than hardcoding bkpt_breakpoint_ops. (create_overlay_event_breakpoint) (create_std_terminate_master_breakpoint) (create_exception_master_breakpoint): Create breakpoints with internal_breakpoint_ops vtable. (set_longjmp_breakpoint): Create momentary breakpoints with momentary_breakpoint_ops vtable, using momentary_breakpoint_from_master. (create_thread_event_breakpoint, create_jit_event_breakpoint) (create_solib_event_breakpoint): Create breakpoints with internal_breakpoint_ops vtable. (set_momentary_breakpoint): Create breakpoints with momentary_breakpoint_ops vtable. (momentary_breakpoint_from_master): New, factored out from clone_momentary_breakpoint. (clone_momentary_breakpoint): Adjust. (watch_command_1): Create scope breakpoints with momentary_breakpoint_ops vtable. (bkpt_re_set): Remove handling of internal and momentary breakpoints. (bkpt_print_mention, bkpt_print_recreate): New. (bkpt_breakpoint_ops): Adjust. (internal_bkpt_re_set, internal_bkpt_check_status) (internal_bkpt_print_it, internal_bkpt_print_mention) (internal_bkpt_print_recreate, internal_breakpoint_ops): New. (momentary_bkpt_re_set, momentary_bkpt_check_status) (momentary_bkpt_print_it, momentary_bkpt_print_mention) (momentary_bkpt_print_recreate): New. (momentary_breakpoint_ops): New.
2011-07-252011-07-25 Pedro Alves <pedro@codesourcery.com>Pedro Alves6-826/+1175
Implement most breakpoint_ops methods for all breakpoint types, and move the default handlings to the proper callbacks. gdb/ * breakpoint.c (update_watchpoint): Always call the breakpoint's works_in_software_mode method. (insert_bp_location): Go through breakpoint_ops->insert_location for software and hardware watchpoints. (create_internal_breakpoint): Pass bkpt_breakpoint_ops as breakpoint_ops. (remove_breakpoint_1): Go through breakpoint_ops->remove_location for software and hardware watchpoints. (print_it_typical): Delete. (print_bp_stop_message): Always call the breakpoint_ops->print_it method. (watchpoint_check): Adjust comment. (bpstat_check_location): Simply always call the breakpoint's breakpoint_hit method. (bpstat_stop_status): Always call the breakpoint's check_status method. Remove special cases for watchpoints and internal event breakpoints from here (moved to the check_status implementations). (print_one_breakpoint_location): Assume b->ops is never NULL. Remove static tracepoint marker id printing from here (moved to the print_one_detail callback implementation of tracepoints). (init_bp_location): Assert OPS is never NULL. (allocate_bp_location): Always call the breakpoint's allocate_location method, and remove the default code from here. (free_bp_location): Always call the location's dtor method, and remove the default code from here. (init_raw_breakpoint_without_location): Assert OPS is never NULL. (set_raw_breakpoint_without_location): Add new breakpoint_ops parameter. Pass it down. (set_raw_breakpoint): Ditto. (print_it_catch_fork): Adjust to take a bpstat as argument. (catch_fork_breakpoint_ops): Install methods. (print_it_catch_vfork): Adjust to take a bpstat as argument. (catch_vfork_breakpoint_ops): Install methods. (dtor_catch_syscall): Call the base dtor. (print_it_catch_syscall): Adjust to take a bpstat as argument. (catch_syscall_breakpoint_ops): Install methods. (dtor_catch_exec): Call the base dtor. (print_it_catch_exec): Adjust to take a bpstat as argument. (catch_exec_breakpoint_ops): Install methods. (hw_breakpoint_used_count, hw_watchpoint_used_count): Always call the breakpoint's resources_needed method, and remove the default code from here. (set_momentary_breakpoint): Pass bkpt_breakpoint_ops as breakpoint_ops. (clone_momentary_breakpoint): Clone the original's ops. (mention): Always call the breakpoint's print_mention method, and remove the default code from here. (create_breakpoint_sal): Adjust to pass the ops to set_raw_breakpoint rather than setting it manually. (create_breakpoint): Assert ops is never NULL. Adjust to pass the ops to set_raw_breakpoint_without_location rather than setting it manually. (break_command_1): Pass bkpt_breakpoint_ops as breakpoint_ops. (print_it_ranged_breakpoint): Adjust to take a bpstat as argument. (ranged_breakpoint_ops): Install methods. (break_range_command): Adjust to pass the ops to set_raw_breakpoint rather than setting it manually. (re_set_watchpoint, breakpoint_hit_watchpoint) (check_status_watchpoint, resources_needed_watchpoint) (works_in_software_mode_watchpoint, print_it_watchpoint) (print_mention_watchpoint, print_recreate_watchpoint): New functions. (watchpoint_breakpoint_ops): Install new methods. (print_it_masked_watchpoint): New function. (masked_watchpoint_breakpoint_ops): Install new methods. (watch_command_1): Adjust to pass the right breakpoint_ops to set_raw_breakpoint_without_location rather than setting it manually later. Record the current pspace. (print_it_exception_catchpoint): Adjust to take a bpstat as argument. (gnu_v3_exception_catchpoint_ops): Install new methods. (say_where): New function. (null_re_set, null_check_status, null_works_in_software_mode) (null_resources_needed, null_print_one_detail, bp_location_dtor): New functions. (bp_location_ops): New global. (bkpt_dtor, bkpt_allocate_location, bkpt_re_set) (bkpt_insert_location, bkpt_remove_location, bkpt_breakpoint_hit) (bkpt_check_status, bkpt_resources_needed) (bkpt_works_in_software_mode, bkpt_print_it, bkpt_print_mention) (bkpt_print_recreate): New functions. (bkpt_breakpoint_ops): New global. (tracepoint_re_set, tracepoint_insert_location) (tracepoint_remove_location, tracepoint_breakpoint_hit) (tracepoint_check_status, tracepoint_works_in_software_mode) (tracepoint_print_it, tracepoint_print_one_detail) (tracepoint_print_mention, tracepoint_print_recreate): New functions. (tracepoint_breakpoint_ops): New global. (delete_breakpoint): Always call the breakpoint's dtor method, and remove the default handling from here. (breakpoint_re_set_default): Make static. (breakpoint_re_set_one): Always call the breakpoints re_set method, and remove the default handling from here. (trace_command, ftrace_command, strace_command) (create_tracepoint_from_upload): Pass appropriate breakpoints_ops to create_breakpoint. (save_breakpoints): Always call the breakpoint's print_recreate method, and remove the default handling from here. * ada-lang.c (dtor_exception): Call the base dtor. (re_set_exception): Call the base method. (print_it_exception, print_it_catch_exception): Adjust to take a bpstat as argument. (catch_exception_breakpoint_ops): Install methods. (print_it_catch_exception_unhandled): Adjust to take a bpstat as argument. (catch_exception_unhandled_breakpoint_ops): Install methods. (print_it_catch_assert): Adjust to take a bpstat as argument. (catch_assert_breakpoint_ops): Install methods. * breakpoint.h (struct breakpoint_ops): Adjust the print_it method to take a bpstat as argument. (enum print_stop_action): Add describing comments to each enum value. (breakpoint_re_set_default): Delete declaration. (null_re_set, null_works_in_software_mode, null_resources_needed) (null_check_status, null_print_one_detail): Declare. (bkpt_breakpoint_ops): Declare. (bkpt_dtor, bkpt_allocate_location, bkpt_re_set) (bkpt_insert_location, bkpt_remove_location, bkpt_breakpoint_hit) (bkpt_check_status, bkpt_resources_needed) (bkpt_works_in_software_mode, bkpt_print_it) (null_print_one_detail, bkpt_print_mention, bkpt_print_recreate): Declare. * mi/mi-cmd-break.c (mi_cmd_break_insert): Adjust to pass bkpt_breakpoint_ops. * python/py-breakpoint.c (bppy_init): Ditto.
2011-07-25*** empty log message ***gdbadmin1-1/+1
2011-07-242011-07-15 Philippe Waroquiers <philippe.waroquiers@skynet.be>Philippe Waroquiers2-0/+5
* MAINTAINERS (Write After Approval): Add myself to the list.
2011-07-24*** empty log message ***gdbadmin1-1/+1
2011-07-232011-07-23 Paul Pluzhnikov <ppluzhnikov@google.com>Paul Pluzhnikov2-2/+6
* elfread.c (elf_rel_plt_read): Fix off-by-one bug.
2011-07-23*** empty log message ***gdbadmin1-1/+1
2011-07-22 * gdb.python/py-mi.exp: Use different file names for differentUlrich Weigand7-24/+34
versions of the executable under test. * gdb.python/py-prettyprint.exp: Likewise. * gdb.python/py-symbol.exp: Likewise. * gdb.python/py-template.exp: Likewise. * gdb.python/py-type.exp: Likewise. * gdb.python/py-value.exp: Likewise.
2011-07-22 * gdb.python/py-breakpoint.exp: Re-set can-use-hw-watchpointsUlrich Weigand2-0/+13
flag after restarting GDB if necessary.
2011-07-22 * gdb.python/py-shared.exp: Call gdb_load_shlibs.Ulrich Weigand2-0/+5
2011-07-222011-07-22 Pedro Alves <pedro@codesourcery.com>Pedro Alves6-123/+313
gdb/testsuite/ * gdb.arch/i386-dr3-watch.exp: Test that the i386 watchpoints backend doesn't leave used debug registers behind. gdb/gdbserver/ * i386-low.c (i386_insert_aligned_watchpoint): Don't pass the info to the inferior here. (i386_remove_aligned_watchpoint): Ditto. (i386_handle_nonaligned_watchpoint): Return immediate on fail to fit part of the watchpoint in the debug registers. (i386_update_inferior_debug_regs): New. (i386_low_insert_watchpoint): Work on a local mirror of the debug registers, and only update the inferior on success. (i386_low_remove_watchpoint): Ditto. gdb/ * i386-nat.c (I386_DR_VACANT, I386_DR_LOCAL_ENABLE) (I386_DR_GLOBAL_ENABLE, I386_DR_DISABLE, I386_DR_SET_RW_LEN) (I386_DR_GET_RW_LEN, I386_DR_WATCH_HIT): Add state parameter and adjust. (dr_mirror, dr_status_mirror, dr_control_mirror): Delete. (struct i386_debug_reg_state): New. (i386_init_dregs): New. (dr_mirror): New. (i386_cleanup_dregs): Use i386_init_dregs. (i386_show_dr): Add state parameter and adjust. (i386_insert_aligned_watchpoint): Ditto. Don't pass the info to the inferior here. (i386_remove_aligned_watchpoint): Likewise. (i386_handle_nonaligned_watchpoint): Add state parameter and adjust. (i386_update_inferior_debug_regs): New. (i386_insert_watchpoint): Work on a local mirror of the debug registers, and only update the inferior on success. (i386_remove_watchpoint): Ditto. (i386_region_ok_for_watchpoint): Adjust. (i386_stopped_data_address): Adjust. (i386_insert_hw_breakpoint): Adjust. (i386_remove_hw_breakpoint): Adjust.
2011-07-22gdbTom Tromey15-61/+1818
* amd64-tdep.c (amd64_pseudo_register_read_value): Rename from amd64_pseudo_register_read. Change arguments. Call mark_value_bytes_unavailable when needed. (amd64_init_abi): Use set_gdbarch_pseudo_register_read_value, not set_gdbarch_pseudo_register_read. * sentinel-frame.c (sentinel_frame_prev_register): Use regcache_cooked_read_value. * regcache.h (regcache_cooked_read_value): Declare. * regcache.c (regcache_cooked_read_value): New function. (regcache_cooked_read): Call gdbarch_pseudo_register_read_value if available. * i386-tdep.h (i386_pseudo_register_read_value): Declare. (i386_pseudo_register_read): Remove. * i386-tdep.c (i386_pseudo_register_read_into_value): Rename from i386_pseudo_register_read. Change arguments. Call mark_value_bytes_unavailable when needed. (i386_pseudo_register_read_value): New function. (i386_gdbarch_init): Call set_gdbarch_pseudo_register_read_value, not set_gdbarch_pseudo_register_read. * gdbarch.sh (pseudo_register_read_value): New method. * gdbarch.c, gdbarch.h: Rebuild. * findvar.c (value_from_register): Call get_frame_register_value. gdb/testsuite * gdb.dwarf2/typeddwarf.c: XFAIL 'z' on x86-64. * gdb.dwarf2/typeddwarf.exp (xfail-gdb-test): Add arch_pattern argument. * gdb.dwarf2/typeddwarf-amd64.S: New file.
2011-07-222011-07-22 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon7-59/+170
* event-top.c (cli_command_loop): Use get_prompt, get_suffix, get_prefix. (display_gdb_prompt): Likewise. (change_annotation_level): Likewise. (push_prompt): Likewise. (pop_prompt): Likewise. (handle_stop_sig): Use get_prompt with a level. * top.c (command_loop): Use get_prompt with a level. (set_async_annotation_level): Use set_prompt with a level. (get_prefix): New function. (set_prefix): Ditto. (set_suffix): Ditto. (get_suffix): Ditto. (get_prompt): Accept a level argument. (set_prompt): Accept a level argument. Free old prompts. Set new_async_prompt if level is 0. (init_main): Use set_prompt with a level. Do not set new_async_prompt. * event-top.h (PROMPT, SUFFIX, PREFIX): Move to top.c * top.h: Declare set_suffix, get_suffix, set_prefix, get_prefix. Modify set_prompt, get_prompt to account for levels. * tui/tui-interp.c (tui_command_loop): Use get_prompt with a level * python/python.c (before_prompt_hook): Use set_prompt.
2011-07-22* gdb.threads/Makefile.in: Avoid globbing corethreads.expmatt rice2-1/+7
in mostlyclean rule. Add files ending in .core.
2011-07-22*** empty log message ***gdbadmin1-1/+1
2011-07-212011-07-22 Kwok Cheung Yeung <kcy@codesourcery.com>Kwok Yeung49-1321/+1759
gdb/ * defs.h: Add guard against inclusion in gdbserver. (struct ptid, ptid_t): Move to common/ptid.h. (xfree, xzalloc, xasprintf, xvasprintf, xstrprintf, xstrvprintf, xsnprintf, internal_error): Move to common/common-utils.h. (nomem): Delete. * gdb_assert.h: Move into common/ sub-directory. * gdb_locale.h: Ditto. * gdb_dirent.h: Ditto. * inferior.h (minus_one_ptid, null_ptid, ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal, ptid_is_pid): Move into common/ptid.h. * xml-support.c (xml_escape_text): Move into common/xml-utils.c. (gdb_xml_create_parser_and_cleanup_1, xml_fetch_context_from_file): Change nomem to malloc_failure. * xml-support.h (xml_escape_text): Move into common/xml-utils.h. * utils.c (nomem): Rename to malloc_failure. (xmalloc, xzalloc, xrealloc, xcalloc, xfree, xstrprintf, xasprintf, xvasprintf, xstrvprintf, xsnprintf): Move to common/common-utils.c. (gdb_buildargv): Change nomem to malloc_failure. * infrun.c (null_ptid, minus_one_ptid, ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal, ptid_is_pid): Move into common/ptid.c. (initialize_infrun): Delete initialization of null_ptid and minus_one_ptid. * linux-nat.c (linux_nat_xfer_osdata): Defer to linux_common_xfer_osdata. * Makefile.in (SFILES): Add common/common-utils.c, common/xml-utils.c, common/ptid.c and common/buffer.c. (HFILES_NO_SRCDIR): Add common/common-utils.h, common/xml-utils.h, common/ptid.h, common/buffer.h and common/linux-osdata.h. (COMMON_OBS): Add xml-utils.o, common-utils.o, buffer.o and ptid.o. (common-utils.o, xml-utils.o, ptid.o, buffer.o, linux-osdata.o): New rules. * common/gdb_assert.h: New. * common/gdb_dirent.h: New. * common/gdb_locale.h: New. * common/buffer.c: New. * common/buffer.h: New. * common/ptid.c: New. * common/ptid.h: New. * common/xml-utils.c: New. * common/xml-utils.h: New. * common/common-utils.c: New. * common/common-utils.h: New. * common/linux-osdata.c: New. * common/linux-osdata.h: New. * config/alpha/alpha-linux.mh (NATDEPFILES): Add linux-osdata.o. * config/arm/linux.mh (NATDEPFILES): Ditto. * config/i386/linux.mh (NATDEPFILES): Ditto. * config/i386/linux64.mh (NATDEPFILES): Ditto. * config/ia64/linux.mh (NATDEPFILES): Ditto. * config/m32r/linux.mh (NATDEPFILES): Ditto. * config/m68k/linux.mh (NATDEPFILES): Ditto. * config/mips/linux.mh (NATDEPFILES): Ditto. * config/pa/linux.mh (NATDEPFILES): Ditto. * config/powerpc/linux.mh (NATDEPFILES): Ditto. * config/powerpc/ppc64-linux.mh (NATDEPFILES): Ditto. * config/s390/s390.mh (NATDEPFILES): Ditto. * config/sparc/linux.mh (NATDEPFILES): Ditto. * config/sparc/linux64.mh (NATDEPFILES): Ditto. * config/xtensa/linux.mh (NATDEPFILES): Ditto. gdbserver/ * linux-low.c (compare_ints, unique, list_threads, show_process, linux_core_of_thread): Delete. (linux_target_ops): Change linux_core_of_thread to linux_common_core_of_thread. (linux_qxfer_osdata): Defer to linux_common_xfer_osdata. * utils.c (malloc_failure): Change type of argument. (xmalloc, xrealloc, xcalloc, xsnprintf): Delete. * Makefile.in (SFILES): Add common/common-utils.c, common/xml-utils.c, common/linux-osdata.c, common/ptid.c and common/buffer.c. (OBS): Add xml-utils.o, common-utils.o, ptid.o and buffer.o. (IPA_OBJS): Add common-utils-ipa.o. (ptid_h, linux_osdata_h): New macros. (server_h): Add common/common-utils.h, common/xml-utils.h, common/buffer.h, common/gdb_assert.h, common/gdb_locale.h and common/ptid.h. (common-utils-ipa.o, common-utils.o, xml-utils.o, linux-osdata.o, ptid.o, buffer.o): New rules. (linux-low.o): Add common/linux-osdata.h as a dependency. * configure.srv (srv_tgtobj): Add linux-osdata.o to Linux targets. * configure.ac: Add AC_HEADER_DIRENT check. * config.in: Regenerate. * configure: Regenerate. * remote-utils.c (xml_escape_text): Delete. (buffer_grow, buffer_free, buffer_init, buffer_finish, buffer_xml_printf): Move to common/buffer.c. * server.c (main): Remove call to initialize_inferiors. * server.h (struct ptid, ptid_t, minus_one_ptid, null_ptid, ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal, ptid_is_pid, initialize_inferiors, xml_escape_text, internal_error, gdb_assert, gdb_assert_fail): Delete. (struct buffer, buffer_grow, buffer_free, buffer_init, buffer_finish, buffer_xml_printf, buffer_grow_str, buffer_grow_str0): Move to common/buffer.h. * inferiors.c (null_ptid, minus_one_ptid, ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal, ptid_is_pid, initialize_inferiors): Delete.
2011-07-21* NEWS: Add info macros and info definitions commands.matt rice2-0/+6
2011-07-21 2011-07-21 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon2-4/+13
* NEWS: Document Python prompt substitution hook.
2011-07-21PR macros/12999matt rice10-29/+439
* macrotab.h (macro_callback_fn): Add new arguments to callback. * macrotab.c (foreach_macro): Ditto. (foreach_macro_in_scope): Ditto. * macrocmd.c (print_macro_callback): New function. (info_macro_command): Move some code to print_macro_definition. (print_macro_definition): New function. (print_one_macro): Add new arguments to callback. testsuite/ * gdb.base/info-macros.c: New test sources. * gdb.base/info-macros.exp: New tests. docs/ * gdb.texinfo (Macros): Add info definitions and info macros commands. Update text and cindex entries for info macro command.
2011-07-212011-07-21 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon10-25/+258
Tom Tromey <tromey@redhat.com> * top.c (set_prompt): Rewrite to free previous prompt, free asynch_new_prompt and set both on new prompts. * event-top.c (display_gdb_prompt): Add prompt substitution logic. * python/python.c (before_prompt_hook): New function. 2011-07-21 Phil Muldoon <pmuldoon@redhat.com> * gdb.python/python.exp: Add prompt substitution tests. 2011-07-21 Phil Muldoon <pmuldoon@redhat.com> * observer.texi (GDB Observers): Add before_prompt observer. * gdb.texinfo (Basic Python): Add documentation for prompt substitution.
2011-07-21*** empty log message ***gdbadmin1-1/+1
2011-07-20* bfin-tdep.c (bfin_extract_return_value): Fix swappedmatt rice2-1/+6
arguments to store_unsigned_integer.
2011-07-20 * dwarf2read.c (process_enumeration_scope): Do not call new_symbolTom Tromey2-0/+31
in some declaration-only cases.
2011-07-20 PR symtab/12984:Tom Tromey2-118/+201
* dwarf2read.c (dwarf2_section_info_def): New typedef. (struct dwarf2_per_objfile) <types>: Change to a VEC. (struct dwarf2_per_cu_data) <from_debug_types>: Remove. <debug_type_section>: New field. (dwarf2_locate_sections): Push .debug_types sections onto VEC. (load_cu): Use appropriate section. (create_signatured_type_table_from_index): Add 'section' argument. (dwarf2_read_index): Only allow a single .debug_types section. (dw2_get_file_names): Use appropriate section. (read_type_comp_unit_head): Add 'section' argument. (create_debug_types_hash_table): Loop over all .debug_types sections. (init_cu_die_reader): Use appropriate section. (process_psymtab_comp_unit, load_partial_comp_unit) (load_full_comp_unit, read_die_and_children, find_partial_die) (lookup_die_type, determine_prefix, follow_die_offset): Update. (lookup_signatured_type_at_offset): Add 'section' argument. (read_signatured_type_at_offset): Add 'sect' argument. (read_signatured_type): Use appropriate section. (set_die_type, get_die_type_at_offset): Update. (dwarf2_per_objfile_free): Free all .debug_types sections, and VEC. (write_psymtabs_to_index): Don't allow index with more than one .debug_types section.
2011-07-202011-07-20 Pedro Alves <pedro@codesourcery.com>Pedro Alves2-4/+7
* tracepoint.c (tracepoint_look_up_symbols): Return upon the first symbol error.
2011-07-20*** empty log message ***gdbadmin1-1/+1
2011-07-19gdb/Jan Kratochvil6-8/+77
Fix crash if referenced CU is aged out. * dwarf2loc.c (per_cu_dwarf_call): New variable back_to, use to for xfree of block.data. (indirect_pieced_value): New variable back_to, use to for xfree of baton.data. (dwarf2_compile_expr_to_ax): New variable back_to, use to for xfree of block.data. * dwarf2read.c (dwarf2_find_base_address): New prototype. (load_cu): New function from ... (dw2_do_instantiate_symtab): ... the code here ... (process_full_comp_unit): ... and here. (dwarf2_fetch_die_location_block): Call load_cu first. Call xmemdup on retval.data. gdb/testsuite/ Fix crash if referenced CU is aged out. * gdb.dwarf2/dw2-op-call.exp (maintenance set dwarf2 max-cache-age 0): New. * gdb.dwarf2/implptr.exp: Likewise.
2011-07-19gdb/Jan Kratochvil6-225/+290
* dwarf2loc.c (indirect_pieced_value): Use check_typedef for VALUE's type. gdb/testsuite/ * gdb.dwarf2/implptr.S: Rebuilt. * gdb.dwarf2/implptr.c (intp, intpp, intppp): New typedefs. (bar): Use them for j, k, l. * gdb.dwarf2/implptr.exp: New variable opts. Support runtest parameter COMPILE. (print j in implptr:bar): Update for the intp typedef. (print p[0].x in implptr:foo): Use more exact regex.
2011-07-19gdb/Gary Benson2-9/+48
* infrun.c (struct execution_control_state): New member stop_func_filled_in. (clear_stop_func, fill_in_stop_func): New functions. (handle_inferior_event): Call clear_stop_func rather than manipulating the execution control state directly. Call fill_in_stop_func lazily as required rather than directly calling find_pc_partial_function in all cases.
2011-07-19*** empty log message ***gdbadmin1-1/+1
2011-07-18 * dwarf2read.c (read_subrange_type): Use attr_form_is_block whenTom Tromey2-2/+7
checking for variable-sized array.
2011-07-18 * gdb.cp/static-method.exp: Add missing single quote.Tom Tromey2-1/+5