Ulrich Weigand [Thu, 2 Jul 2009 17:17:42 +0000 (17:17 +0000)]
* disasm.h (gdb_disassembly): Add GDBARCH parameter.
(gdb_print_insn): Likewise.
* disasm.c (dump_insns): Add GDBARCH parameter. Use it instead
of current_gdbarch.
(do_mixed_source_and_assembly): Add GDBARCH parameter. Pass to
dump_insns.
(do_assembly_only): Likewise.
(gdb_disassembly): Add GDBARCH parameter. Use it instead of
current_gdbarch. Pass to subroutines.
(gdb_print_insn): Add GDBARCH parameter. Use it instead of
current_gdbarch.
* stack.c (struct gdb_disassembly_stub_args): Add GDBARCH member.
(gdb_disassembly_stub): Pass architecture to gdb_disassembly.
(do_gdb_disassembly): Add GDBARCH argument. Store into args.
(print_frame_info): Pass architecture to do_gdb_disassembly.
* printcmd.c (print_formatted): Pass architecture to gdb_print_insn.
* mi/mi-cmd-disas.c: Include "arch-utils.h"
(mi_cmd_disassemble): Pass architecture to gdb_disassembly.
* cli/cli-cmds.c: Include "arch-utils.h".
(print_disassembly): Add GDBARCH parameter. Pass to gdb_disassembly
and tui_show_assembly.
(disassemble_current_function): Pass architecture to
tui_get_low_disassembly_address and print_disassembly.
(disassemble_command): Pass architecture to
tui_get_low_disassembly_address and print_disassembly.
* tui/tui.c (tui_show_assembly): Add GDBARCH parameter. Pass to
tui_update_source_windows_with_addr.
* tui/tui-data.h (struct tui_locator_element): Add GDBARCH member.
(struct tui_source_info): Likewise.
* tui/tui-data.c (tui_clear_win_detail): Clear source_info.gdbarch.
* tui/tui-disasm.c (tui_disassemble): Add GDBARCH parameter.
Pass to gdb_print_insn.
(tui_find_disassembly_address): Add GDBARCH parameter. Pass to
tui_disassemble.
(tui_set_disassem_content): Add GDBARCH parameter. Install into
source_info.gdbarch. Pass to tui_disassemble.
(tui_show_disassem): Add GDBARCH parameter. Pass to
tui_update_source_window.
(tui_show_disassem_and_update_source): Add GDBARCH parameter. Pass to
tui_show_disassem and tui_update_source_window.
(tui_get_begin_asm_address): Return locator architecture in addition
to locator PC value.
(tui_get_low_disassembly_address): Add GDBARCH parameter. Pass to
tui_get_low_disassembly_address.
(tui_vertical_disassem_scroll): Pass architecture to subroutines.
* tui/tui-disasm.h (tui_set_disassem_content): Add GDBARCH parameter.
(tui_show_disassem): Likewise.
(tui_show_disassem_and_update_source): Likewise.
(tui_get_begin_asm_address): Return architecture and PC value.
* tui/tui.h (tui_get_low_disassembly_address): Add GDBARCH parameter.
(tui_show_assembly): Add GDBARCH parameter.
* tui/tui-layout.c (extract_display_start_addr): Return current window
architecture in addition to current PC value.
(tui_set_layout): Update calls to tui_get_low_disassembly_address and
extract_display_start_addr. Pass architecture to
tui_update_source_windows_with_addr.
* tui/tui-source.c: Include "objfiles.h".
(tui_set_source_content): Initialize window architecture.
(tui_show_symtab_source): Add GDBARCH parameter. Pass to
tui_update_source_window_as_is
* tui/tui-source.h (tui_show_symtab_source): Add GDBARCH parameter.
* tui/tui-stack.c (tui_set_locator_info): Add GDBARCH parameter.
Install locator architecture.
(tui_set_locator_filename): Update call.
(tui_show_frame_info): Pass architecture to tui_set_locator_info
and subroutines.
* tui/tui-win.c (make_visible_with_new_height): Pass architecture
to tui_update_source_window.
* tui/tui-winsource.c: Include "objfiles.h".
(tui_display_main): Update call to tui_get_begin_asm_address.
Pass architecture to tui_update_source_windows_with_addr.
(tui_update_source_window): Add GDBARCH parameter. Pass to
tui_update_source_window_as_is.
(tui_update_source_window_as_is): Add GDBARCH parameter.
Pass to tui_set_disassem_content.
(tui_update_source_windows_with_addr): Add GDBARCH parameter.
Pass to subroutines.
(tui_update_source_windows_with_line): Pass objfile architecture
to subroutines.
(tui_horizontal_source_scroll): Pass architecture to
tui_update_source_window_as_is.
* tui/tui-winsource.h (tui_update_source_window): Add GDBARCH
parameter.
(tui_update_source_window_as_is): Likewise.
(tui_update_source_windows_with_addr): Likewise.
Ulrich Weigand [Thu, 2 Jul 2009 17:12:28 +0000 (17:12 +0000)]
* breakpoint.h (struct breakpoint): New member GDBARCH.
* breakpoint.c: Include "arch-utils.h".
(set_raw_breakpoint_without_location): Add GDBARCH parameter.
Use it to set breakpoint architecture.
(set_raw_breakpoint): Add GDBARCH parameter.
(create_internal_breakpoint): Likewise.
(create_catchpoint): Likewise.
(create_fork_vfork_event_catchpoint): Likewise.
(create_breakpoint): Likewise.
(create_breakpoints): Likewise.
(break_command_really): Likewise.
(create_ada_exception_breakpoint): Likewise.
Update local callers to pass architecture:
(create_internal_breakpoint): Update.
(create_overlay_event_breakpoint): Update.
(create_longjmp_master_breakpoint): Update.
(create_thread_event_breakpoint): Update.
(create_solib_event_breakpoint): Update.
(create_catchpoint): Update.
(create_fork_vfork_event_catchpoint): Update.
(set_momentary_breakpoint): Update.
(clone_momentary_breakpoint): Update.
(create_breakpoint): Update.
(create_breakpoints): Update.
(break_command_really): Update.
(break_command_1): Update.
(set_breakpoint): Update.
(watch_command_1): Update.
(catch_fork_command_1): Update.
(catch_exec_commnd_1): Update.
(handle_gnu_v3_exceptions): Update.
(create_ada_exception_breakpoint): Update.
(catch_ada_exception_command): Update.
(catch_assert_command): Update.
(trace_command): Update.
* breakpoint.h (struct bp_location): New member GDBARCH.
* breakpoint.c (get_sal_arch): New function.
(set_raw_breakpoint): Set location architecture.
(add_location_to_breakpoint): Likewise.
(clone_momentary_breakpoint): Likewise.
(watch_command_1): Likewise.
(update_watchpoint): Likewise.
(bp_loc_is_permanent): Use location architecture instead of
current_gdbarch.
(adjust_breakpoint_address): Add GDBARCH parameter; use it
instead of current_gdbarch.
Update callers of adjust_breakpoint_address to pass
breakpoint location architecture:
(set_raw_breakpoint): Update.
(watch_command_1): Update.
* tracepoint.c: (collect_symbol): Add GDBARCH parameter, use instead
of current_gdbarch.
(add_local_symbols): Add GDBARCH parameter. Pass to collect_symbol.
(encode_actions): Pass tracepoint architecture to add_local_symbols
(encode_actions): Use tracepoint architecture instead of
current_gdbarch. Pass it to add_local_symbols and collect_symbol.
* breakpoint.h (struct breakpoint_ops): Replace last_addr parameter
of print_one callback with last_loc.
* breakpoint.c (print_one_breakpoint_location): Replace last_addr
parameter with last_loc.
(print_one_breakpoint): Likewise.
(do_captured_breakpoint_query): Update call.
(breakpoint_1): Pass last_loc instead of last_addr to
print_one_breakpoint. Pass last location architecture instead of
current_gdbarch to set_next_address.
Update all implementations of the print_one callback:
* breakpoint.c (print_one_catch_fork): Update.
(print_one_catch_vfork): Update.
(print_one_catch_exec): Update.
(print_one_exception_catchpoint): Update.
* ada-lang.c (print_one_exception): Update.
(print_one_catch_exception): Update.
(print_one_catch_exception_unhandled): Update.
(print_one_catch_assert): Update.
* breakpoint.c (print_one_breakpoint_location): Add PRINT_ADDRESS_BITS
parameter. Use it instead of gdbarch_addr_bit (current_gdbarch).
(print_one_breakpoint): Add PRINT_ADDRESS_BITS parameter and pass it
to print_one_breakpoint_location.
(breakpoint_address_bits): New function.
(do_captured_breakpoint_query): Compute number of address bits to print
and pass it to print_one_breakpoint.
(breakpoint_1): Likewise. Use it instead of current_gdbarch.
* breakpoint.h (create_thread_event_breakpoint): Add GDBARCH.
* breakpoint.c (create_thread_event_breakpoint): Likewise.
Update callers to create_thread_event_breakpoint:
* aix-thread.c (pd_enable): Update.
* linux-thread-db.c (enable_thread_event): Update.
* breakpoint.h (create_solib_event_breakpoint): Add GDBARCH.
* breakpoint.c (create_solib_event_breakpoint): Likewise.
Update callers to create_solib_event_breakpoint:
* solib-frv.c (enable_break, enable_break2): Update.
* solib-pa64.c (pa64_solib_create_inferior_hook): Update.
* solib-som.c (som_solib_create_inferior_hook): Update.
* solib-darwin.c (darwin_solib_create_inferior_hook): Update.
* solib-svr4.c (enable_break): Update.
* breakpoint.h (insert_single_step_breakpoint): Add GDBARCH.
* breakpoint.c (insert_single_step_breakpoint): Likewise.
Update callers to insert_single_step_breakpoint:
* alpha-tdep.c (alpha_software_single_step): Update.
* arm-linux-tdep.c (arm_linux_software_single_step): Update.
* arm-tdep.c (arm_software_single_step): Update.
* cris-tdep.c (cris_software_single_step): Update.
* rs6000-aix-tdep.c (rs6000_software_single_step): Update.
* rs6000-tdep.c (ppc_deal_with_atomic_sequence): Update.
* sparc-tdep.c (sparc_software_single_step): Update.
* spu-tdep.c (spu_software_single_step): Update.
* mips-tdep.c (deal_with_atomic_sequence): Add GDBARCH parameter.
Pass it to insert_single_step_breakpoint.
(mips_software_single_step): Pass architecture to
deal_with_atomic_sequence and insert_single_step_breakpoint.
* breakpoint.h (deprecated_insert_raw_breakpoint): Add GDBARCH.
(deprecated_remove_raw_breakpoint): Likewise.
* breakpoint.c (deprecated_insert_raw_breakpoint): Add GDBARCH.
(deprecated_remove_raw_breakpoint): Likewise.
Update callers to deprecated_insert_raw_breakpoint and
deprecated_remove_raw_breakpoint:
* breakpoint.c (single_step_gdbarch): New static variable.
(insert_single_step_breakpoint): Pass GDBARCH parameter to
deprecated_insert_raw_breakpoint. Store it in single_step_gdbarch.
(remove_single_step_breakpoints): Pass architecture stored in
single_step_gdbarch to deprecated_remove_raw_breakpoint.
* rs6000-nat.c (exec_one_dummy_insn): Update.
* solib-irix.c (enable_break, disable_break): Update.
* procfs.c (procfs_mourn_inferior): Update.
(remove_dbx_link_breakpoint): Update.
* breakpoint.h (set_breakpoint): Add GDBARCH parameter.
(set_momentary_breakpoint, set_momentary_breakpoint_at_pc): Likewise.
* breakpoint.c (set_breakpoint): Add GDBARCH parameter.
(set_momentary_breakpoint, set_momentary_breakpoint_at_pc): Likewise.
Update callers to set_breakpoint, set_momentary_breakpoint and
set_momentary_breakpoint_at_pc:
* breakpoint.c (set_momentary_breakpoint_at_pc): Update.
(until_break_command): Update.
* infcall.c (call_function_by_hand): Update.
* infcmd.c (finish_backward, finish_forward): Update.
* infrun.c (insert_step_resume_breakpoint_at_sal): Add GDBARCH
parameter. Pass it to set_momentary_breakpoint.
(insert_longjmp_resume_breakpoint): Add GDBARCH parameter.
Pass it to set_momentary_breakpoint_at_pc.
(handle_inferior_event): Update.
(insert_step_resume_breakpoint_at_frame): Update.
(insert_step_resume_breakpoint_at_caller): Update..
* mi/mi-cmd-break.c: Include "arch-utils.h".
(mi_cmd_break_insert): Update.
* target.h (struct target_ops): Add GDBARCH parameter to
to_insert_breakpoint, to_remove_breakpoint, to_insert_hw_breakpoint,
and to_remove_hw_breakpoint members.
(target_insert_breakpoint, target_remove_breakpoint,
target_insert_hw_breakpoint, target_remove_hw_breakpoint): Add GDBARCH
parameter, pass to target routine.
(memory_remove_breakpoint, memory_insert_breakpoint): Add GDBARCH
parameter.
* target.c (debug_to_insert_breakpoint, debug_to_remove_breakpoint,
debug_to_insert_hw_breakpoint, debug_to_remove_hw_breakpoint): Add
GDBARCH parameter, pass to target routine.
(update_current_target): Update function signature.
* breakpoint.c (insert_bp_location, remove_breakpoint,
deprecated_insert_raw_breakpoint, deprecated_remove_raw_breakpoint):
Pass architecture to target_ routines.
Update all implementations of the target breakpoint routines to take
GDBARCH parameter and use it instead of GDBARCH as appropriate:
* corelow.c (ignore): Update.
* exec.c (ignore): Update.
* mem-break.c (memory_insert_breakpoint): Update.
(memory_remove_breakpoint): Update.
* monitor.c (monitor_insert_breakpoint): Update.
(monitor_remove_breakpoint): Update.
* record.c (record_insert_breakpoint): Update.
(record_beneath_to_insert_breakpoint): Update.
(record_remove_breakpoint): Update.
(record_beneath_to_remove_breakpoint): Update.
* remote.c (remote_insert_breakpoint): Update.
(remote_remove_breakpoint): Update.
(remote_insert_hw_breakpoint): Update.
(remote_remove_hw_breakpoint): Update.
* remote-m32r-sdi.c (m32r_insert_breakpoint): Update.
(m32r_remove_breakpoint): Update.
* remote-mips.c (mips_insert_breakpoint): Update.
(mips_remove_breakpoint): Update.
* i386-nat.c (i386_insert_hw_breakpoint): Update.
(i386_remove_hw_breakpoint): Update.
* nto-procfs.c (procfs_insert_breakpoint): Update.
(procfs_remove_breakpoint): Update.
(procfs_insert_hw_breakpoint): Update.
(procfs_remove_hw_breakpoint): Update.
doc/ChangeLog:
* gdbint.texi (Examples of Use of @code{ui_out} functions):
Update example code extrated from breakpoint.c.
Ulrich Weigand [Thu, 2 Jul 2009 17:09:28 +0000 (17:09 +0000)]
* frame.h (frame_unwind_arch): New.
(frame_unwind_caller_arch): Likewise.
* frame-unwind.h (frame_prev_arch_ftype): New type.
(struct frame_unwind): New member prev_arch.
* frame.c (struct frame_info): New member prev_arch.
(frame_unwind_arch): New function.
(frame_unwind_caller_arch): Likewise..
(get_frame_arch): Reimplement in terms of frame_unwind_arch.
* sentinel-frame.c (sentinel_frame_prev_arch): New function.
(sentinel_frame_unwinder): Install it.
* frame.c (frame_pc_unwind): Use frame_unwind_arch instead
of get_frame_arch.
(frame_unwind_register_value): Likewise.
(frame_unwind_register_signed): Likewise.
(frame_unwind_register_unsigned): Likewise.
* frame-unwind.c (frame_unwind_got_optimized): Likewise.
(frame_unwind_got_register): Likewise.
(frame_unwind_got_constant): Likewise.
(frame_unwind_got_bytes): Likewise.
(frame_unwind_got_address): Likewise.
* frame.h (enum frame_type): New value ARCH_FRAME.
* frame.c (fprint_frame_type): Handle ARCH_FRAME.
* stack.c (print_frame_info): Likewise.
Tom Tromey [Thu, 2 Jul 2009 17:08:51 +0000 (17:08 +0000)]
* aoutx.h (aout_get_external_symbols): Declare 'amt' locally.
* bfdwin.c (bfd_free_window): Cast to unsigned long.
Ulrich Weigand [Thu, 2 Jul 2009 17:06:44 +0000 (17:06 +0000)]
* target.h (struct target_ops): New member to_thread_architecture.
(target_thread_architecture): New macro.
* target.c (update_current_target): Inherit to_thread_architecture.
(default_thread_architecture): New function.
(debug_to_thread_architecture): New function.
(setup_target_debug): Handle to_thread_architecture.
* regcache.h (get_thread_arch_regcache): New.
* regcache.c (struct regcache_list): New data type.
(current_regcache): Hold regcache list instead of single regcache.
(current_thread_ptid, current_thread_arch): New static variables.
(get_thread_arch_regcache): New function.
(get_thread_regcache): Use it. Call target_thread_architecture.
(regcache_thread_ptid_changed): Update to current_regcache changes.
(registers_changed): Likewise. Reset current_thread_arch and
current_thread_ptid.
* remote.c (remote_wait): Access target registers in target_gdbarch.
* linux-nat.c (linux_nat_do_thread_registers): Likewise.
* proc-service.c (ps_lgetregs, ps_lsetregs): Likewise.
(ps_lgetfpregs, ps_lsetfpregs): Likewise.
* sol-thread.c (ps_lgetregs, ps_lsetregs): Likewise.
(ps_lgetfpregs, ps_lsetfpregs): Likewise.
* solib-svr4.c (enable_break): Likewise.
(svr4_relocate_main_executable): Likewise.
Ulrich Weigand [Thu, 2 Jul 2009 17:04:23 +0000 (17:04 +0000)]
* python/python-internal.h (struct language_defn): Declare.
(python_gdbarch, python_language): Likewise.
(ensure_python_env): Add prototype.
(make_cleanup_py_restore_gil): Remove prototype.
* python/python.c: Include "arch-utils.h", "value.h" and "language.h".
(python_gdbarch, python_language): New global variables.
(struct python_env): New data type.
(ensure_python_env, restore_python_env): New functions.
(eval_python_from_control_command): Call ensure_python_env to
install current architecture and language.
(python_command, gdbpy_new_objfile): Likewise.
* python/python-cmd.c: Include "arch-utils.h" and "language.h".
(cmdpy_destroyer, cmdpy_function, cmdpy_completer): Call
ensure_python_env.
* python/python-type.c (clean_up_objfile_types): Likewise.
* python/python-objfile.c: Include "language.h".
(clean_up_objfile): Call ensure_python_env.
* python/python-prettyprint.c (apply_val_pretty_printer): Likewise.
(apply_varobj_pretty_printer): Do not call PyGILState_Ensure.
* varobj.c (varobj_ensure_python_env): New helper function.
(varobj_get_display_hint, update_dynamic_varobj_children,
install_default_visualizer, varobj_set_visualizer, free_variable,
value_get_print_value): Call it.
(value_get_print_value): Add varobj argument instead of pretty
printer argument. Update all callers.
* python/python-utils.c (py_gil_restore, make_cleanup_py_restore_gil):
Remove.
* value.h (internal_function_fn): Add GDBARCH and LANGUAGE argument.
(call_internal_function): Likewise.
* value.c (call_internal_function): Likewise. Pass to handler.
* eval.c (evaluate_subexp_standard): Update call.
* python/python-function.c: Include "language.h".
(fnpy_call): Add GDBARCH and LANGAUAGE arguments and call
make_cleanup_python_env.
* python/python-value.c (builtin_type_pyint, builtin_type_pyfloat,
builtin_type_pylong, builtin_type_pybool, builtin_type_pychar,
valpy_str): Use python_gdbarch and python_language instead of
current_gdbarch and current_language.
* python/python-type.c (typy_lookup_typename): Likewise.
Ulrich Weigand [Thu, 2 Jul 2009 17:02:35 +0000 (17:02 +0000)]
* arch-utils.c (selected_byte_order): Return target_byte_order_user.
(show_endian): Use target_byte_order_user if specified; otherwise
use get_current_arch () instead of current_gdbarch.
(show_architecture): Use set_architecture_string if specified;
otherwise use get_current_arch () instead of current_gdbarch.
(get_current_arch): New function.
* arch-utils.h (get_current_arch): Add prototype.
* osabi.c (show_osabi): Use get_current_arch () instead of
current_gdbarch.
* findcmd.c: Include "arch-utils.h".
(parse_find_args): Add BIG_P argument. Use it instead of byte order
of current_gdbarch.
(find_command): Use get_current_arch () instead of current_gdbarch.
Pass byte order to parse_find_args.
* maint.c: Include "arch-utils.h".
(maintenance_print_architecture): Use get_current_arch () instead
of current_gdbarch.
* reggroups.c: Include "arch-utils.h".
(maintenance_print_reggroups): Use get_current_arch () instead
of current_gdbarch.
* symfile.c: Include "arch-utils.h".
(overlay_load_command): Use get_current_arch () instead of
current_gdbarch.
* value.c: Include "arch-utils.h".
(show_convenience): Use get_current_arch () instead of
current_gdbarch.
* tui/tui-regs.c: Include "arch-utils.h".
(tui_reg_next_command): Use get_current_arch () instead of
current_gdbarch.
* mi/mi-main.c: Include "arch-utils.h".
(mi_cmd_data_read_memory): Use get_current_arch () instead of
current_gdbarch.
* parse.c: Include "arch-utils.h".
(parse_exp_in_context): Use get_current_arch () instead of
current_gdbarch.
Ulrich Weigand [Thu, 2 Jul 2009 12:57:14 +0000 (12:57 +0000)]
* gdbtypes.c (make_pointer_type, make_reference_type,
smash_to_memberptr_type, lookup_array_range_type, check_stub_method):
Use type architecture instead of current_gdbarch.
* gdbtypes.h (address_space_name_to_int, address_space_int_to_name):
Add GDBARCH paramter.
* gdbtypes.c (address_space_name_to_int, address_space_int_to_name):
Add GDBARCH parameter. Use it instead of current_gdbarch.
* c-typeprint.c (c_type_print_modifier): Update call.
* parse.c (push_type_address_space): Likewise.
* findvar.c (extract_typed_address, store_typed_address): Use type
architecture instead of current_gdbarch.
* value.c (value_as_address, unpack_field_as_long): Use type architecture
instead of current_gdbarch.
* doublest.c (floatformat_from_length): Add GDBARCH argument. Use it
instead of current_gdbarch.
(floatformat_from_type): Pass type architecture.
* infcall.c (find_function_addr): Use type architecture instead
of current_gdbarch.
* valarith.c (value_bitstring_subscript, value_x_binop, value_neg,
value_bit_index): Use type architecture instead of current_gdbarch.
* valops.c (value_cast, value_slice): Likewise.
* value.h (modify_field): Add TYPE argument.
* value.c (modify_field): Add TYPE argument. Use type architecture
instead of current_gdbarch.
(set_internalvar_component): Likewise.
* eval.c (evaluate_struct_tuple): Update call.
* valops.c (value_assign): Likewise.
* ada-lang.c (modify_general_field): Likewise. Add TYPE argument.
(make_array_descriptor): Update calls.
(move_bits): Add BITS_BIG_ENDIAN_P argument. Use it instead of
current_gdbarch.
(ada_value_assign, value_assign_to_component): Update calls.
(decode_packed_array, ada_value_primitive_packed_val, ada_value_assign,
value_assign_to_component): Use type arch instead of current_gdbarch.
* printcmd.c (float_type_from_length): Remove GDBARCH argument,
use type architecture instead.
(print_scalar_formatted, printf_command): Update calls. Use type
architecture instead of current_gdbarch.
* valprint.c (val_print_type_code_int): Use type architecture
instead of current_gdbarch.
* varobj.c (value_get_print_value): Likewise.
* python/python-prettyprint.c (print_string_repr): Add GDBARCH
argument. Use it instead of current_gdbarch.
(apply_val_pretty_printer): Update call.
* ada-valprint.c (ada_val_print_1): Use type architecture instead
of current_gdbarch.
* c-valprint.c (print_function_pointer_address): Add GDBARCH argument.
Use it instead of current_gdbarch.
(c_val_print): Update calls passing type architecture.
* f-valprint.c (f_val_print): Use type architecture instead of
current_gdbarch.
* jv-valprint (java_value_print): Likewise.
* m2-valprint.c (print_function_pointer_address): Add GDBARCH argument.
Use it instead of current_gdbarch.
(print_unpacked_pointer): Update calls passing type architecture.
* scm-valprint.c (scm_scmval_print): Use type architecture instead of
current_gdbarch.
* gnu-v3-abi.c (get_class_arch): Remove.
(gnuv3_rtti_type): Use get_type_arch instead of get_class_arch. Remove
special-case check for Java classes.
(gnuv3_virtual_fn_field, gnuv3_baseclass_offset, gnuv3_print_method_ptr,
gnuv3_method_ptr_size, gnuv3_make_method_ptr, gnuv3_method_ptr_to_value):
Use get_type_arch instead of get_class_arch.
Ulrich Weigand [Thu, 2 Jul 2009 12:55:30 +0000 (12:55 +0000)]
* gdbtypes.h (TYPE_OBJFILE_OWNED, TYPE_OWNER): New macros.
(TYPE_OBJFILE, TYPE_ALLOC, TYPE_ZALLOC): Reimplement.
(alloc_type_arch): Add prototype.
(alloc_type_copy): Likewise.
(get_type_arch): Likewise.
(arch_type): Likewise.
(arch_integer_type): Likewise.
(arch_character_type): Likewise.
(arch_boolean_type): Likewise.
(init_float_type): Remove, replace by ...
(arch_float_type): ... this.
(init_complex_type): Remove, replace by ...
(arch_complex_type): ... this.
(init_flags_type): Remove, replace by ...
(arch_flags_type): ... this.
(init_composite_type): Remove, replace by ...
(arch_composite_type): ... this.
* gdbtypes.c (alloc_type): No longer support NULL objfile.
(init_type): Likewise.
(alloc_type_arch): New function.
(alloc_type_copy): New function.
(get_type_arch): New function.
(smash_type): Preserve type ownership information.
(make_pointer_type, make_reference_type, make_function_type,
smash_to_memberptr_type, smash_to_method_type): No longer
preserve OBJFILE across smash_type calls.
(make_pointer_type, make_reference_type, make_function_type,
lookup_memberptr_type, lookup_methodptr_type, allocate_stub_method,
create_range_type, create_array_type, create_set_type, copy_type):
Use alloc_type_copy when allocating types.
(check_typedef): Use alloc_type_arch.
(copy_type_recursive): Likewise. Preserve type ownership data
after copying type.
(recursive_dump_type): Dump type ownership data.
(alloc_type_instance): Update type ownership check.
(copy_type, copy_type_recursive): Likewise.
(arch_type): New function.
(arch_integer_type): Likewise.
(arch_character_type): Likewise.
(arch_boolean_type): Likewise.
(init_float_type): Remove, replace by ...
(arch_float_type): ... this.
(init_complex_type): Remove, replace by ...
(arch_complex_type): ... this.
(init_flags_type): Remove, replace by ...
(arch_flags_type): ... this.
(append_flags_type_flag): Move down.
(init_composite_type): Remove, replace by ...
(arch_composite_type): ... this.
(append_composite_type_field_aligned,
append_composite_type_field): Move down.
* gdbarch.c (gdbtypes_post_init): Allocate all types
using per-architecture routines.
* ada-lang.c (ada_language_arch_info): Likewise.
* f-lang.c (build_fortran_types): Likewise.
* jv-lang.c (build_java_types): Likewise.
* m2-lang.c (build_m2_types): Likewise.
* scm-lang.c (build_scm_types): Likewise.
* ada-lang.c (ada_type_of_array): Use alloc_type_copy.
(packed_array_type): Likewise.
(ada_template_to_fixed_record_type_1): Likewise.
(template_to_static_fixed_type): Likewise.
(to_record_with_fixed_variant_part): Likewise.
(to_fixed_variant_branch_type): Likewise.
(to_fixed_array_type): Likewise.
(to_fixed_range_type): Likewise.
(empty_record): Use type instead of objfile argument.
Use alloc_type_copy.
(to_fixed_variant_branch_type): Update call to empty_record.
* jv-lang.c (type_from_class): Use alloc_type_arch.
* arm-tdep.c (arm_ext_type): Allocate per-architecture type.
* i386-tdep.c (i386_eflags_type, i386_mxcsr_type, i387_ext_type,
i386_mmx_type, i386_sse_type): Likewise.
* ia64-tdep.c (ia64_ext_type): Likewise.
* m32c-tdep.c (make_types): Likewise.
* m68k-tdep.c (m68k_ps_type, m68881_ext_type): Likewise.
* rs6000-tdep.c (rs6000_builtin_type_vec64,
rs6000_builtin_type_vec128): Likewise.
* sparc-tdep.c (sparc_psr_type, sparc_fsr_type): Likewise.
* sparc64-tdep.c (sparc64_pstate_type, sparc64_fsr_type,
sparc64_fprs_type): Likewise.
* spu-tdep.c (spu_builtin_type_vec128): Likewise.
* xtensa-tdep.c (xtensa_register_type): Likewise.
* linux-tdep.c (linux_get_siginfo_type): Likewise.
* target-descriptions.c (tdesc_gdb_type): Likewise.
* gnu-v3-abi.c (build_gdb_vtable_type): Likewise.
Ulrich Weigand [Thu, 2 Jul 2009 12:52:52 +0000 (12:52 +0000)]
* i386-tdep.h (struct gdbarch_tdep): Add i386_eflags_type and
i386_mxcsr_type members.
(i386_eflags_type): Make into function.
(i386_mxcsr_type): Likewise.
* i386-tdep.c (i386_eflags_type): Make into function.
(i386_mxcsr_type): Likewise.
(i386_register_type): Update uses.
(i386_init_types): Remove.
(_initialize_i386_tdep): Do not call it.
* amd64-tdep.c (amd64_register_type): Update uses.
* m68k-tdep.h (struct gdbarch_tdep): Add m68k_ps_type member.
* m68k-tdep.c (m68k_ps_type): Make into function.
(m68k_register_type): Update use.
(m68k_init_types): Remove.
(_initialize_m68k_tdep): Do not call it.
* sparc-tdep.h (struct gdbarch_tdep): Add sparc_psr_type,
sparc_fsr_type, sparc64_pstate_type, sparc64_fsr_type, and
sparc64_fprs_type members.
* sparc-tdep.c (sparc_psr_type): Make into function.
(sparc_fsr_type): Likewise.
(sparc32_register_type): Update uses.
(sparc_init_types): Remove.
(_initialize_sparc_tdep): Do not call it.
* sparc64-tdep.c (sparc64_pstate_type): Make into function.
(sparc64_fsr_type): Likewise.
(sparc64_fprs_type): Likewise.
(sparc64_register_type): Update uses.
(sparc64_init_types): Remove.
(_initialize_sparc64_tdep): Likewise.
Ulrich Weigand [Thu, 2 Jul 2009 12:48:54 +0000 (12:48 +0000)]
* gdbtypes.h (builtin_type_ieee_single, builtin_type_ieee_double,
builtin_type_i387_ext, builtin_type_m68881_ext, builtin_type_arm_ext,
builtin_type_ia64_spill, builtin_type_ia64_quad): Remove.
(init_float_type, init_complex_type): Add prototypes.
* gdbtypes.c (builtin_type_ieee_single, builtin_type_ieee_double,
builtin_type_i387_ext, builtin_type_m68881_ext, builtin_type_arm_ext,
builtin_type_ia64_spill, builtin_type_ia64_quad): Remove.
(_initialize_gdbtypes): Do not initialize them.
(build_flt): Rename to ...
(init_float_type): ... this. Make global.
(build_complex): Rename to ...
(init_complex_type): ... this. Make global. Remove BIT argument.
(gdbtypes_post_init): Update calls.
* ada-lang.c (ada_language_arch_info): Use init_float_type.
* jv-lang.c (build_java_types): Likewise.
* m2-lang.c (build_m2_types): Likewise.
* f-lang.c (build_fortran_types): Use init_float_type and
init_complex_type.
* target-descriptions.c (tdesc_gdb_type): Call init_float_type instead
of using builtin_type_ieee_single, builtin_type_ieee_double, or
builtin_type_arm_ext.
* ia64-tdep.h (struct gdbarch_tdep): Add ia64_ext_type member.
* ia64-tdep.c (builtin_type_ia64_ext): Remove.
(_initialize_ia64_tdep): Do not initialize it.
(floatformat_valid, floatformat_ia64_ext, floatformats_ia64_ext):
Move up.
(ia64_ext_type): New function.
(ia64_register_reggroup_p, ia64_convert_register_p,
ia64_register_to_value, ia64_value_to_register,
ia64_extract_return_value, ia64_store_return_value): Use ia64_ext_type
instead of builtin_type_ia64_ext.
* i386-tdep.h (struct gdbarch_tdep): Add i387_ext_type member.
(i387_ext_type): Add prototype.
* i386-tdep.c (i387_ext_type): New function.
(i386_extract_return_value, i386_store_return_value,
i386_register_type): Use it instead of builtin_type_i387_ext.
* amd64-tdep.c (amd64_register_type): Likewise.
* i387-tdep.c (print_i387_value, i387_register_to_value,
i387_value_to_register): Likewise.
(print_i387_value, print_i387_ext): Add GDBARCH argument.
(print_i387_ext, i387_print_float_info): Pass to subroutines.
* m68k-tdep.h (struct gdbarch_tdep): Add m68881_ext_type member.
* m68k-tdep.c (m68881_ext_type): New function.
(m68k_register_type, m68k_convert_register_p): Use it instead
of builtin_type_m68881_ext.
* arm-tdep.h (struct gdbarch_tdep): Add arm_ext_type member.
* arm-tdep.c (arm_ext_type): New function.
(arm_register_type): Use it instead of builtin_type_arm_ext.
* alpha-tdep.c (alpha_register_type): Use builtin types
instead of builtin_type_ieee_double.
* mips-tdep.c (mips_float_register_type, mips_double_register_type):
Remove.
(mips_register_type): Use builtin types instead of
builtin_type_ieee_single and builtin_type_ieee_double.
(mips_print_fp_register): Use builtin types instead of
mips_float_register_type and mips_double_register_type.
* hppa-tdep.c (hppa32_register_type, hppa64_register_type):
Use builtin types instead of builtin_type_ieee_single and
builtin_type_ieee_double.
Ulrich Weigand [Thu, 2 Jul 2009 12:46:19 +0000 (12:46 +0000)]
* gdbtypes.h (builtin_type_int0, builtin_type_int8, builtin_type_uint8,
builtin_type_int16, builtin_type_uint16, builtin_type_int32,
builtin_type_uint32, builtin_type_int64, builtin_type_uint64,
builtin_type_int128, builtin_type_uint128): Remove.
(struct builtin_type): New members builtin_int0, builtin_int8,
builtin_uint8, builtin_int16, builtin_uint16, builtin_int32,
builtin_uint32, builtin_int64, builtin_uint64, builtin_int128,
and builtin_uint128.
* gdbtypes.c (builtin_type_int0, builtin_type_int8, builtin_type_uint8,
builtin_type_int16, builtin_type_uint16, builtin_type_int32,
builtin_type_uint32, builtin_type_int64, builtin_type_uint64,
builtin_type_int128, builtin_type_uint128): Remove.
(_initialize_gdbtypes): Do not initialize them.
(gdbtypes_post_init): Initialize fixed-size integer types.
* dwarf2expr.c (unsigned_address_type, signed_address_type): Add
GDBARCH argument. Return platform-specific type.
(dwarf2_read_address, execute_stack_op): Update calls.
* target-descriptions.c (tdesc_gdb_type): Use platform-specific types
instead of global builtin_int_... variables.
* mi/mi-main.c (mi_cmd_data_read_memory): Likewise.
* printcmd.c (do_examine): Likewise.
* jv-exp.y (parse_number): Likewise.
* alpha-tdep.c (alpha_register_type, alpha_push_dummy_call,
alpha_store_return_value): Likewise.
* amd64-linux-tdep.c (amd64_linux_register_type): Likewise.
* amd64-tdep.c (amd64_register_type): Likewise.
* arm-tdep.c (arm_register_type): Likewise.
* avr-tdep.c (avr_register_type): Likewise.
* cris-tdep.c (cris_register_type, crisv32_register_type): Likewise.
* frv-tdep.c (frv_register_type): Likewise.
* h8300-tdep.c h8300_register_type): Likewise.
* hppa-tdep.c (hppa64_push_dummy_call, hppa32_register_type,
hppa64_register_type): Likewise.
* i386-tdep.c (i386_mmx_type, i386_sse_type): Likewise.
* iq2000-tdep.c (iq2000_register_type): Likewise.
* lm32-tdep.c (lm32_register_type, lm32_push_dummy_call): Likewise.
* m32r-tdep.c (m32r_register_type): Likewise.
* m68hc11-tdep.c (m68hc11_register_type, m68hc11_pseudo_register_read,
m68hc11_pseudo_register_write): Likewise.
* m68k-tdep.c (m68k_register_type): Likewise.
* m88k-tdep.c (m88k_register_type, m88k_store_arguments): Likewise.
* mep-tdep.c (mep_register_type): Likewise.
* mips-tdep.c (mips_register_type, mips_pseudo_register_type,
mips_print_fp_register): Likewise.
* moxie-tdep.c (moxie_register_type): Likewise.
* mt-tdep.c (mt_copro_register_type, mt_register_type): Likewise.
* rs6000-tdep.c (rs6000_builtin_type_vec64,
rs6000_builtin_type_vec128): Likewise.
* score-tdep.c (score_register_type): Likewise.
* sparc-tdep.c (sparc32_register_type, sparc32_store_arguments):
Likewise.
* sparc64-tdep.c (sparc64_register_type, sparc64_store_arguments):
Likewise.
* spu-tdep.c (spu_builtin_type_vec128, spu_register_type): Likewise.
* v850-tdep.c (v850_register_type): Likewise.
* xstormy16-tdep.c (xstormy16_register_type): Likewise.
* xtensa-tdep.c (xtensa_register_type): Likewise.
* mt-tdep.c (struct gdbarch_tdep): New data structure.
(mt_gdbarch_init): Alloc TDEP structures.
(mt_register_type): Cache coprocessor type in TDEP instead of
static global variable.
* xtensa-tdep.h (struct gdbarch_tdep): Add type_entries member.
* xtensa-tdep.c (type_entries): Remove.
(xtensa_register_type): Cache fixed-size types in TDEP instead
of in global variable.
Ulrich Weigand [Thu, 2 Jul 2009 12:44:34 +0000 (12:44 +0000)]
* gdbtypes.h (builtin_type_true_char): Remove.
(builtin_type_true_unsigned_char): Likewise.
(struct builtin_type): Add builtin_true_char and
builtin_true_unsigned_char members.
* gdbtypes.c (builtin_type_true_char): Remove.
(builtin_type_true_unsigned_char): Likewise.
(_initialize_gdbtypes): Do not initialize them.
(gdbtypes_post_init): Initialize builtin_true_char and
builtin_true_unsigned_char members of builtin_type.
* printcmd.c (print_scalar_formatted): Use builtin_type
members instead of builtin_type_true_char and
builtin_type_true_unsigned_char.
* ada-valprint.c (ada_val_print_1): Likewise.
Ulrich Weigand [Thu, 2 Jul 2009 12:42:36 +0000 (12:42 +0000)]
* gdbtypes.h (builtin_type_void): Remove.
* gdbtypes.c (builtin_type_void): Remove.
(_initialize_gdbtypes): Do not initialize it.
(safe_parse_type): Add GDBARCH argument. Use it to construct
void return type.
(check_stub_method): Update call.
* infcall.c (call_function_by_hand): Use platform-specific type
instead of builtin_type_void.
* valops.c (value_cast): Use input void type instead of
builtin_type_void.
Ulrich Weigand [Thu, 2 Jul 2009 12:20:18 +0000 (12:20 +0000)]
* ada-lang.c (assign_component): Use platform-specific integer type
instead of builtin_type_int32 type.
(ada_evaluate_subexp) [OP_ATR_SIZE]: Likewise.
* ax-gdb.c (gen_expr) [UNOP_NEG]: Use platform-specific integer type
instead of builtin_type_int8 type.
* valarith.c (value_x_unop): Likewise.
* python/python-value.c (valpy_absolute): Avoid reference to
builtin_type_int8 type.
* eval.c (evaluate_subexp_standard): Use platform-specific integer
type instead of builtin_type_int8 as EVAL_SKIP return value type.
* ada-lang.c (ada_evaluate_subexp): Likewise.
* jv-lang.c (evaluate_subexp_java): Likewise.
* m2-lang.c (evaluate_subexp_modula2): Likewise.
* scm-lang.c (evaluate_exp): Likewise.
* value.h (value_bitstring): Add INDEX_TYPE argument.
* valops.c (value_bitstring): Add INDEX_TYPE argument, use it instead
of builtin_type_int32 as base range type.
* eval.c (evaluate_subexp_standard): Update value_bitstring call.
Ulrich Weigand [Thu, 2 Jul 2009 12:18:46 +0000 (12:18 +0000)]
* gdbtypes.c (lookup_array_range_type): Add prototype.
(lookup_string_range_type): Likewise.
* gdbtypes.c (lookup_array_range_type): New function.
(lookup_string_range_type): Likewise.
* ax-gdb.c (gen_repeat): Use lookup_array_range_type.
* parse.c (follow_types): Likewise.
* jv-lang.c (java_array_type): Likewise.
* gnu-v3-abi.c (build_gdb_vtable_type): Likewise.
* mt-tdep.c (mt_register_type): Likewise.
* sh-tdep.c (sh_sh4_build_float_register_type): Likewise.
* sh64-tdep.c (sh64_build_float_register_type): Likewise.
* value.c (allocate_repeat_value): Likewise.
* valops.c (value_array, value_cstring): Likewise.
* valops.c (value_string): Use lookup_string_range_type.
Ulrich Weigand [Thu, 2 Jul 2009 12:16:56 +0000 (12:16 +0000)]
* m2-typeprint.c (m2_print_bounds, m2_is_long_set_of_type): Remove
redundant check for NULL TYPE_TARGET_TYPE.
* m2-valprint.c (m2_print_long_set): Likewise.
* p-valprint.c (pascal_type_print_base): Likewise.
Ulrich Weigand [Thu, 2 Jul 2009 12:14:01 +0000 (12:14 +0000)]
ChangeLog:
* printcmd.c (next_gdbarch): New static variable.
(set_next_address, do_examine, x_command): Set it.
(decode_format): Use 'a' size to indicate width of an address.
(do_examine): Add GDBARCH argument. Handle 'a' size.
(x_command): Pass architecture to do_examine.
Error if called without argument the first time.
(do_one_display): Pass architecture to do_examine.
(examine_i_type, examine_b_type, examine_h_type, examine_w_type,
examine_g_type): Remove.
(_initialize_printcmd): Do not initialize them.
(do_examine): Use builin_type_int... instead of examine_..._type.
testsuite/ChangeLog:
* gdb.base/default.exp: Update test case for "x" changes.
Ulrich Weigand [Thu, 2 Jul 2009 12:11:19 +0000 (12:11 +0000)]
* gdbtypes.h (struct builtin_type): Add internal_fn member.
* gdbtypes.c (gdbtypes_post_init): Initialize it.
* value.c (internal_fn_type): Remove.
(_initialize_values): Do not initialize it.
* value.c (struct internalvar): Add enum internalvar_kind type and
kind member. Restructure union internalvar_data type. Remove type,
canonical, and make_value members.
(init_if_undefined_command): Update for data structure changes.
(create_internalvar): Likewise.
(create_internalvar_type_lazy): Likewise.
(get_internalvar_integer): Likewise.
(get_internalvar_function): Likewise.
(set_internalvar_component): Likewise.
(set_internalvar): Likewise.
(set_internalvar_integer): Likewise.
(set_internalvar_function): Likewise.
(clear_internalvar): Likewise.
(add_internal_function): Likewise.
(preserve_one_internalvar): New function.
(preserve_values): Call it.
* value.h (value_of_internalvar): Add GDBARCH parameter.
(internalvar_make_value): Likewise.
* value.c (value_of_internalvar): Add GDBARCH parameter. Pass it to
make_value callback. Use it to generate per-architecture result value
types for internal variables with no pre-defined type. Update for data
structure changes.
(show_convenience): Pass architecture to value_of_internalvar.
* eval.c (evaluate_subexp_standard): Likewise.
* infrun.c (siginfo_make_value): Add GDBARCH parameter. Use it
instead of current frame architecture. Return per-architecture type.
* value.h (set_internalvar_string): Add prototype.
* value.c (set_internalvar_string): New function.
* tracepoint.c (set_traceframe_context): Use it.
Ulrich Weigand [Thu, 2 Jul 2009 12:09:27 +0000 (12:09 +0000)]
* jv-lang.h (java_int_type, java_byte_type, java_short_type,
java_long_type, java_boolean_type, java_char_type, java_float_type,
java_double_type, java_void_type): Remove.
(struct builtin_java_type): New data type.
(builtin_java_type): Add prototype.
(java_primitive_type): Add GDBARCH argument.
(java_primitive_type_from_name): Likewise.
(type_from_class): Likewise.
* jv-lang.c (java_int_type, java_byte_type, java_short_type,
java_long_type, java_boolean_type, java_char_type, java_float_type,
java_double_type, java_void_type): Remove.
(build_java_types, builtin_java_type): New functions.
(java_type_data): New static variable.
(_initialize_java_language): Initialize it. No longer initialize
global types.
(java_language_arch_info): Use per-architecture types.
(java_primitive_type): Add GDBARCH argument. Return per-architecture
type instead of refering to global variable.
(java_primitive_type_from_name): Add GDBARCH argument.
(java_primitive_type_name): New function.
(java_demangled_signature_length): Use it instead of
java_primitive_type_from_name.
(java_demangled_signature_copy): Likewise.
(type_from_class): Add GDBARCH argument. Pass to java_link_class_type,
java_primitive_type, and recursive type_from_class call.
(java_link_class_type): Add GDBARCH argument. Pass to type_from_class
calls. Use per-architecture types instead of global types.
* jv-exp.y (parse_java_type): New define.
Use per-architecture types instead of global types througout.
* jv-valprint.c (java_value_print): Pass architecture to
type_from_class and java_primitive_type_from_name. Use per-
architecture types instead of global types.
Tristan Gingold [Thu, 2 Jul 2009 08:24:01 +0000 (08:24 +0000)]
2009-07-02 Tristan Gingold <gingold@adacore.com>
* configure.ac: Do not exclude gas for i386-*-darwin.
Add a case for x86_64-*-darwin.
* configure: Regenerate.
Tristan Gingold [Thu, 2 Jul 2009 08:09:35 +0000 (08:09 +0000)]
2009-07-02 Tristan Gingold <gingold@adacore.com>
* Makefile.am (OBJ_FORMATS): Add macho.
(CPU_OBJ_VALID): Ditto.
(OBJ_FORMAT_CFILES): Add config/obj-macho.c
(OBJ_FORMAT_HFILES): Add config/obj-macho.h
(obj-macho.o): New rule.
* Makefile.in: Regenerated.
* configure.tgt (generic_target): Add i386-*-darwin*.
* config/tc-i386.h: Use i386_target_format for Mach-O.
* config/tc-i386.c (i386_target_format): Define it for Mach-O.
(i386_target_format): Add a case for bfd_target_mach_o_flavour.
* config/obj-macho.h: New file.
* config/obj-macho.c: New file.
gdbadmin [Thu, 2 Jul 2009 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 2 Jul 2009 00:00:05 +0000 (00:00 +0000)]
daily update
H.J. Lu [Wed, 1 Jul 2009 21:29:23 +0000 (21:29 +0000)]
Update ChangeLog entries.
Nick Clifton [Wed, 1 Jul 2009 16:36:28 +0000 (16:36 +0000)]
PR 10168
* config/tc-arm.c (do_t_pkhtb): Swap Rm and Rn when encoding as
PKHBT.
* gas/arm/thumb32.d: Fix expected disassembly of PKHTB insn.
Ian Lance Taylor [Wed, 1 Jul 2009 16:21:36 +0000 (16:21 +0000)]
* freebsd.h (Target_freebsd::do_adjust_elf_header): Use size
instead of 32.
Doug Evans [Wed, 1 Jul 2009 16:19:14 +0000 (16:19 +0000)]
* NEWS: Mention biarch amd64-linux gdbserver and hardware watchpoint
support for i386-linux, amd64-linux, and i386-win32 builds of
gdbserver.
Nick Clifton [Wed, 1 Jul 2009 15:52:27 +0000 (15:52 +0000)]
PR 6714
* rclex.c (handle_quotes): Do not complain about whitespace
separating quoted strings.
(rclex_string): Ignore whitespace when looking for a new opening
quote following a closing quote.
Nick Clifton [Wed, 1 Jul 2009 15:02:28 +0000 (15:02 +0000)]
* bfd/bfd.m4 (BFD_HAVE_TIME_TYPE_MEMBER,
BFD_HAVE_SYS_STAT_TYPE_MEMBER): New config functions.
* bfd/configure.in: Use them.
* bfd/configure: Regenerate.
* bfd/config.in: Regnerate.
* bfd/vmsutil.c: Include sysdep.h, remove ansidecl.h.
#define _BSD_SOURCE. Add comments.
(vms_file_stats_name): Calculate creation date based on available
runtime data. Return 1 for version instead of 0.
Nick Clifton [Wed, 1 Jul 2009 14:48:26 +0000 (14:48 +0000)]
PR 10072
* elf32-arm.c (elf32_arm_final_link_relocate): Add code to handle
to R_ARM_THM_PC8 relocation.
Paul Brook [Wed, 1 Jul 2009 11:44:54 +0000 (11:44 +0000)]
2009-07-01 Paul Brook <paul@codesourcery.com>
gas/
* config/tc-arm.c (MISSING_FNSTART): Define.
(s_arm_unwind_fnstart): Diagnose duplicate directive.
(s_arm_unwind_handlerdata, s_arm_unwind_fnend, s_arm_unwind_fnend,
s_arm_unwind_cantunwind, s_arm_unwind_personalityindex,
s_arm_unwind_personality, s_arm_unwind_save, s_arm_unwind_movsp,
s_arm_unwind_pad, s_arm_unwind_setfp, s_arm_unwind_raw): Error if
not inside function unwinding region.
gas/testsuite/
* gas/arm/fp-save.s: Add .fnstart and .fnend directives.
Tristan Gingold [Wed, 1 Jul 2009 10:17:06 +0000 (10:17 +0000)]
2009-07-01 Tristan Gingold <gingold@adacore.com>
* gdb.base/bigcore.exp: Make darwin untested.
Alan Modra [Wed, 1 Jul 2009 00:00:04 +0000 (00:00 +0000)]
daily update
gdbadmin [Wed, 1 Jul 2009 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Nick Roberts [Tue, 30 Jun 2009 22:36:27 +0000 (22:36 +0000)]
(HFILES_NO_SRCDIR): Remove entries for deleted files.
Nick Roberts [Tue, 30 Jun 2009 22:36:02 +0000 (22:36 +0000)]
*** empty log message ***
Nick Roberts [Tue, 30 Jun 2009 22:34:18 +0000 (22:34 +0000)]
*** empty log message ***
Jan Kratochvil [Tue, 30 Jun 2009 21:33:20 +0000 (21:33 +0000)]
gdb/testsuite/
* gdb.base/completion.exp (directory completion): Create the directory.
New variables uniquedir, escapeduniquedir, uniquesu, uniquesub,
escapeuniquesub.
(directory completion 2): Expect now ${escapeuniquesub}.
(Glob remaining of directory test): Remove one excessive newline.
Expect the real output.
Doug Evans [Tue, 30 Jun 2009 21:31:32 +0000 (21:31 +0000)]
Add h/w watchpoint support to x86-linux, win32-i386.
* Makefile.in (SFILES): Add i386-low.c
(i386_low_h): Define.
(i386-low.o): Add dependencies.
(linux-x86-low.o): Add i386-low.h dependency.
(win32-i386-low.o): Ditto.
* i386-low.c: New file.
* i386-low.h: New file.
* configure.srv (i[34567]86-*-cygwin*): Add i386-low.o to srv_tgtobj.
(i[34567]86-*-linux*, i[34567]86-*-mingw*, x86_64-*-linux*): Ditto.
* linux-low.c (linux_add_process): Initialize arch_private.
(linux_remove_process): Free arch_private.
(add_lwp): Initialize arch_private.
(delete_lwp): Free arch_private.
(linux_resume_one_lwp): Call the_low_target.prepare_to_resume if
provided.
* linux-low.h (process_info_private): New member arch_private.
(lwp_info): New member arch_private.
(linux_target_ops): New members new_process, new_thread,
prepare_to_resume.
(ptid_of): New macro.
* linux-x86-low.c: Include stddef.h, i386-low.h.
(arch_process_info): New struct.
(arch_lwp_info): New struct.
(x86_linux_dr_get, x86_linux_dr_set): New functions.
(i386_dr_low_set_addr, i386_dr_low_set_control): New functions.
(i386_dr_low_get_status): New function.
(x86_insert_point, x86_remove_point): New functions.
(x86_stopped_by_watchpoint): New function.
(x86_stopped_data_address): New function.
(x86_linux_new_process, x86_linux_new_thread): New functions.
(x86_linux_prepare_to_resume): New function.
(the_low_target): Add entries for insert_point, remove_point,
stopped_by_watchpoint, stopped_data_address, new_process, new_thread,
prepare_to_resume.
* server.c (debug_hw_points): New global.
(monitor_show_help): Document set debug-hw-points.
(handle_query): Process "set debug-hw-points".
* server.h (debug_hw_points): Declare.
(paddress): Declare.
* utils.c (NUMCELLS, CELLSIZE): New macros.
(get_sell, xsnprintf, paddress): New functions.
* win32-arm-low.c (the_low_target): Add entries for insert_point,
remove_point, stopped_by_watchpoint, stopped_data_address.
* win32-i386-low.c: Include i386-low.h.
(debug_reg_state): Replaces dr.
(i386_dr_low_set_addr, i386_dr_low_set_control): New functions.
(i386_dr_low_get_status): New function.
(i386_insert_point, i386_remove_point): New functions.
(i386_stopped_by_watchpoint): New function.
(i386_stopped_data_address): New function.
(i386_initial_stuff): Update.
(get_thread_context,set_thread_context,i386_thread_added): Update.
(the_low_target): Add entries for insert_point,
remove_point, stopped_by_watchpoint, stopped_data_address.
* win32-low.c (win32_insert_watchpoint): New function.
(win32_remove_watchpoint): New function.
(win32_stopped_by_watchpoint): New function.
(win32_stopped_data_address): New function.
(win32_target_ops): Add entries for insert_watchpoint,
remove_watchpoint, stopped_by_watchpoint, stopped_data_address.
* win32-low.h (win32_target_ops): New members insert_point,
remove_point, stopped_by_watchpoint, stopped_data_address.
Jan Kratochvil [Tue, 30 Jun 2009 21:23:38 +0000 (21:23 +0000)]
gdb/
* Makefile.in (TARGET_FLAGS_TO_PASS): Include also FORCE_PARALLEL.
(check//%): Construct FORCE_PARALLEL for the sub-make. Extend the
comment for it.
gdb/testsuite/
Fix `make check//%' target after `make check' has been ran.
* Makefile.in (TEST_TARGETS): Remove the %/.dir dependency. Add
a mkdir call.
(check-gdb.base%): Remove the gdb.base%/.dir dependency.
(%/.dir): Remove.
Jan Kratochvil [Tue, 30 Jun 2009 20:23:05 +0000 (20:23 +0000)]
gdb/testsuite/
* lib/mi-support.exp (mi_check_thread_states): Permit any output before
the expected result record.
Jan Kratochvil [Tue, 30 Jun 2009 18:28:12 +0000 (18:28 +0000)]
gdb/testsuite/
Remove racy FAILs relying just on the timeouts.
* gdb.base/setshow.exp (set annotate 2, show annotate (2))
(annotation_level 2): Remove racy FAILs.
Doug Evans [Tue, 30 Jun 2009 16:35:25 +0000 (16:35 +0000)]
Add h/w watchpoint support to x86-linux, win32-i386.
* Makefile.in (SFILES): Add i386-low.c
(i386_low_h): Define.
(i386-low.o): Add dependencies.
(linux-x86-low.o): Add i386-low.h dependency.
(win32-i386-low.o): Ditto.
* i386-low.c: New file.
* i386-low.h: New file.
* configure.srv (i[34567]86-*-cygwin*): Add i386-low.o to srv_tgtobj.
(i[34567]86-*-linux*, i[34567]86-*-mingw*, x86_64-*-linux*): Ditto.
* linux-low.c (linux_add_process): Initialize arch_private.
(linux_remove_process): Free arch_private.
(add_lwp): Initialize arch_private.
(delete_lwp): Free arch_private.
(linux_resume_one_lwp): Call the_low_target.prepare_to_resume if
provided.
* linux-low.h (process_info_private): New member arch_private.
(lwp_info): New member arch_private.
(linux_target_ops): New members new_process, new_thread,
prepare_to_resume.
(ptid_of): New macro.
* linux-x86-low.c: Include stddef.h, i386-low.h.
(arch_process_info): New struct.
(arch_lwp_info): New struct.
(x86_linux_dr_get, x86_linux_dr_set): New functions.
(i386_dr_low_set_addr, i386_dr_low_set_control): New functions.
(i386_dr_low_get_status): New function.
(x86_insert_point, x86_remove_point): New functions.
(x86_stopped_by_watchpoint): New function.
(x86_stopped_data_address): New function.
(x86_linux_new_process, x86_linux_new_thread): New functions.
(x86_linux_prepare_to_resume): New function.
(the_low_target): Add entries for insert_point, remove_point,
stopped_by_watchpoint, stopped_data_address, new_process, new_thread,
prepare_to_resume.
* server.c (debug_hw_points): New global.
(monitor_show_help): Document set debug-hw-points.
(handle_query): Process "set debug-hw-points".
* server.h (debug_hw_points): Declare.
(paddress): Declare.
* utils.c (NUMCELLS, CELLSIZE): New macros.
(get_sell, xsnprintf, paddress): New functions.
* win32-arm-low.c (the_low_target): Add entries for insert_point,
remove_point, stopped_by_watchpoint, stopped_data_address.
* win32-i386-low.c: Include i386-low.h.
(debug_reg_state): Replaces dr.
(i386_dr_low_set_addr, i386_dr_low_set_control): New functions.
(i386_dr_low_get_status): New function.
(i386_insert_point, i386_remove_point): New functions.
(i386_stopped_by_watchpoint): New function.
(i386_stopped_data_address): New function.
(i386_initial_stuff): Update.
(get_thread_context,set_thread_context,i386_thread_added): Update.
(the_low_target): Add entries for insert_point,
remove_point, stopped_by_watchpoint, stopped_data_address.
* win32-low.c (win32_insert_watchpoint): New function.
(win32_remove_watchpoint): New function.
(win32_stopped_by_watchpoint): New function.
(win32_stopped_data_address): New function.
(win32_target_ops): Add entries for insert_watchpoint,
remove_watchpoint, stopped_by_watchpoint, stopped_data_address.
* win32-low.h (win32_target_ops): New members insert_point,
remove_point, stopped_by_watchpoint, stopped_data_address.
Paul Pluzhnikov [Tue, 30 Jun 2009 16:22:59 +0000 (16:22 +0000)]
ChangeLog:
2009-06-30 Paul Pluzhnikov <ppluzhnikov@google.com>
gdb/10275
* dwarf2-frame.c (dwarf2_frame_state): Move cfa_offset, cfa_reg,
cfa_how and cfa_exp into regs and adjust users.
testsuite/ChangeLog:
2009-06-30 Paul Pluzhnikov <ppluzhnikov@google.com>
gdb/10275
* gdb.dwarf2/dw2-restore.{S,exp}: New test.
Daniel Jacobowitz [Tue, 30 Jun 2009 15:50:27 +0000 (15:50 +0000)]
* dwarf2read.c (inherit_abstract_dies): Work around GCC PR 40573.
testsuite/
* gdb.opt/inline-locals.exp: Remove XFAIL with duplicated arg1.
Nick Clifton [Tue, 30 Jun 2009 11:57:05 +0000 (11:57 +0000)]
PR 10288
* arm-dis.c (coprocessor): Print the LDC and STC versions of the
LFM and SFM instructions as comments,.
Improve consistency of formatting for instructions displayed as
comments and decimal values displayed with their hexadecimal
equivalents.
Formatting tidy ups.
Updated expected disassembler regexps.
Vladimir Prus [Tue, 30 Jun 2009 09:37:24 +0000 (09:37 +0000)]
* mi/mi-cmd-stack.c (parse_print_values): New.
(mi_cmd_stack_list_locals, mi_cmd_stack_list_args): Use the above.
Vladimir Prus [Tue, 30 Jun 2009 09:24:47 +0000 (09:24 +0000)]
* varobj.c (varobj_get_type): Use type_to_string.
Alan Modra [Tue, 30 Jun 2009 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Tue, 30 Jun 2009 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Jan Kratochvil [Mon, 29 Jun 2009 18:53:55 +0000 (18:53 +0000)]
gdb/testsuite/
* gdb.threads/current-lwp-dead.exp, gdb.threads/current-lwp-dead.c: New.
Pedro Alves [Mon, 29 Jun 2009 18:27:23 +0000 (18:27 +0000)]
* infrun.c (handle_inferior_event): Context switch to the new
thread when resuming for a new_thread_event.
H.J. Lu [Mon, 29 Jun 2009 17:44:37 +0000 (17:44 +0000)]
2009-06-29 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c: Reformat.
Ulrich Weigand [Mon, 29 Jun 2009 17:33:32 +0000 (17:33 +0000)]
* ada-lang.h (ada_convert_actual): Add GDBARCH argument.
* ada-lang.c (convert_actual): Remove stale prototype.
(ensure_lval, make_array_descriptor, ada_convert_actual):
Add GDBARCH argument and pass through to subroutine calls.
(ensure_lval): Use GDBARCH instead of current_gdbarch.
* infcall.c (value_arg_coerce): Update ada_convert_actual call.
Ulrich Weigand [Mon, 29 Jun 2009 17:31:24 +0000 (17:31 +0000)]
* ada-lang.c (resolve): Use per-architecture void type instead
of platform-independent one.
(ada_evaluate_subexp) [STRUCTOP_STRUCT]: Likewise.
(ada_resolve_function): Reimplement fallback logic to avoid
explicit reference to builtin_type_void.
Ulrich Weigand [Mon, 29 Jun 2009 17:30:12 +0000 (17:30 +0000)]
* ada-valprint.c (ada_print_scalar): Accept NULL type argument
to indicate scalar should be printed as default integer.
(print_optional_low_bound): Pass NULL to ada_print_scalar to
indicate default integer output.
* ada-typeprint.c (print_range, print_range_bound): Likewise.
(print_choices): Likewise. Thus, accept NULL as val_type.
* ada-lang.c (ada_variant_discrim_type): Return NULL when failed
to look up controlling discriminant name.
Ulrich Weigand [Mon, 29 Jun 2009 17:28:59 +0000 (17:28 +0000)]
* ada-lang.c (to_fixed_range_type): Add ORIG_TYPE argument.
Fall back to orig_type as index type if symbol lookup fails.
Allocate result types from ORIG_TYPE's objfile.
(ada_array_bound_from_type, to_fixed_array_type,
ada_evaluate_subexp): Pass original index type to
to_fixed_range_type. Do not pass objfile.
* ada-typeprint.c (print_range_type_named): Add ORIG_TYPE argument.
Fall back to orig_type as index type if symbol lookup fails.
(print_array_type, ada_print_type): Pass original index type
to print_range_type_named.
Ulrich Weigand [Mon, 29 Jun 2009 17:26:29 +0000 (17:26 +0000)]
* ada-lang.c (ada_index_type): Update comment.
Ulrich Weigand [Mon, 29 Jun 2009 17:22:10 +0000 (17:22 +0000)]
* ada-lang.c (ada_index_type): Make static. Add NAME argument.
Throw error on invalid input arguments. Return NULL if unable
to determine index type.
(ada_array_bound_from_type): Remove TYPEP argument.
(ada_array_bound): Make static. Return LONGEST instead of value.
Update for ada_array_bound_from_type change.
(ada_array_length): Return LONGEST instead of value.
Update for ada_array_bound_from_type change.
(make_array_descriptor): Update for ada_array_bound change.
(ada_evaluate_subexp) [OP_ATR_RANGE, OP_ATR_FIRST, OP_ATR_LAST,
OP_ATR_LENGTH]: Update for ada_array_bound_from_type,
ada_array_bound, ada_array_length, ada_index_type changes.
Always use ada_index_type to compute result type; fall back
to architecture-specific integer type if ada_index_type fails.
* ada-lang.h (ada_index_type): Remove prototype.
(ada_array_bound): Likewise.
Pedro Alves [Mon, 29 Jun 2009 16:48:15 +0000 (16:48 +0000)]
* dbxread.c (read_dbx_symtab): Clear has_line_numbers when ending
a psymtab.
Tom Tromey [Mon, 29 Jun 2009 16:41:45 +0000 (16:41 +0000)]
gdb
* README: Mention parallel check.
gdb/testsuite
* dg-extract-results.sh: New file.
* Makefile.in (FORCE_PARALLEL): New variable.
(CHECK_TARGET): New conditional variable.
(check): Use CHECK_TARGET.
(DO_RUNTEST): New variable.
(check-single): New target.
(TEST_DIRS): New variable.
(TEST_TARGETS): Likewise.
(check-parallel): New target.
(check-gdb.%): New pattern.
(BASE1_FILES): New variable.
(BASE2_FILES): Likewise.
(check-gdb.base%): New pattern.
(%/.dir): New pattern.
* configure: Rebuild.
* aclocal.m4 (AM_CONDITIONAL): New defun.
* configure.ac: Check whether user is using GNU make.
(GMAKE): New conditional.
Sami Wagiaalla [Mon, 29 Jun 2009 15:18:07 +0000 (15:18 +0000)]
2009-06-29 Sami Wagiaalla <swagiaal@redhat.com>
* dwarf2read.c (read_import_statement): Properly set import location
and destination.
* cp-support.h (cp_add_using, cp_add_using_directive): Now take char*
inner, char* outer arguments. Updated callers.
2009-06-29 Sami Wagiaalla <swagiaal@redhat.com>
* gdb.cp/namespace-nested-import.cc: New test.
* gdb.cp/namespace-nested-import.exp: New test.
Ulrich Weigand [Mon, 29 Jun 2009 13:24:41 +0000 (13:24 +0000)]
* value.h (value_subscript, value_subscripted_rvalue,
value_bitstring_subscript, value_ptradd): Use LONGEST instead
of value as type of the index argument.
(value_ptrsub): Remove.
* valarith.c (value_subscript, value_subscripted_rvalue,
value_bitstring_subscript, value_ptradd): Use LONGEST instead
of value as type of the index argument.
(value_ptrsub): Remove.
* wrapper.h (gdb_value_subscript): Use LONGEST instead of
value as type of the index argument.
* wrapper.c (gdb_value_subscript): Likewise.
Update calls to gdb_value_subscript, value_subscript,
value_subscripted_rvalue, value_bitstring_subscript and
value_ptradd to use LONGEST instead of value as index
argument type. Use value_ptradd instead of value_ptrsub.
* ada-lang.c (ada_value_subscript, ada_value_ptr_subscript,
ada_tag_name_2): Update.
* ada-tasks.c (read_atcb): Update.
* eval.c (evaluate_subexp_standard): Update.
* valarith.c (value_subscript): Update.
* gnu-v2-abi.c (gnuv2_virtual_fn_field): Update.
* gnu-v3-abi.c (gnuv3_get_virtual_fn, gnuv3_baseclass_offset,
gnuv3_method_ptr_to_value): Update.
* jv-lang.c (evaluate_subexp_java): Update.
* m2-lang.c (evaluate_subexp_modula2): Update.
* python/python-value.c (valpy_getitem, valpy_binop): Update.
* wrapper.c (gdb_value_subscript): Update.
* varobj.c (c_describe_child): Update.
Ulrich Weigand [Mon, 29 Jun 2009 13:19:19 +0000 (13:19 +0000)]
* gdbtypes.h (make_function_type): Remove OBJFILE parameter.
* gdbtypes.c (make_function_type): Remove OBJFILE parameter.
(lookup_function_type): Update call.
* stabsread.c (read_type): Likewise.
* dwarf2read.c (read_subroutine_type): Use lookup_function_type
instead of make_function_type.
* jv-lang.c (type_from_class): Likewise. Do not allocate types
on the fake "dynamics" obstack.
Ulrich Weigand [Mon, 29 Jun 2009 13:18:37 +0000 (13:18 +0000)]
* gdbtypes.h (struct builtin_type): Remove builtin_core_addr,
nodebug_text_symbol, nodebug_data_symbol, nodebug_unknown_symbol,
and nodebug_tls_symbol members.
(struct objfile_type): New data structure.
(objfile_type): Add prototype.
* gdbtypes.c (gdbtypes_post_init): Remove initialization code
for types no longer in struct builtin_type.
(objfile_type_data): New static variable.
(_initialize_gdbtypes): Initialize it.
(objfile_type): New function.
* gdbtypes.h (builtin_type_error): Remove.
* gdbtypes.c (build_complex): Do not use builtin_type_error.
* symtab.c (builtin_type_error): Remove.
(_initialize_symtab): Remove initialization.
* stabsread.c (dbx_lookup_type, define_symbol, error_type,
rs6000_builtin_type, read_range_type): Use per-objfile types
instead of global or per-architecture builtin types.
* coffread.c (decode_type): Likewise.
* dwarf2read.c (read_array_type, read_tag_string_type,
new_symbol, die_type): Likewise.
* mdebugread.c (parse_symbol, basic_type, upgrade_type,
parse_procedure, psymtab_to_symtab_1): Likewise.
* xcoffread.c (process_xcoff_symbol): Likewise.
* parse.c (write_exp_msymbol): Likewise.
* stabsread.c (rs6000_builtin_type_data): New static variable.
(_initialize_stabsread): Initialize it.
(rs6000_builtin_type): Add OBJFILE argument. Allocate builtin
types per-objfile instead of globally.
* stabsread.c (dbx_lookup_type): Add OBJFILE argument. Use it
instead of current_objfile; pass it to rs6000_builtin_type.
(dbx_alloc_type, read_type, read_range_type): Update calls.
(cleanup_undefined_types_noname): Add OBJFILE argument and
pass it to dbx_lookup_type.
(cleanup_undefined_types): Add OBJFILE argument and pass it
to cleanup_undefined_types_noname.
* stabsread.h (cleanup_undefined_types): Add OBJFILE argument.
* buildsym.c (end_symtab): Update call.
Ulrich Weigand [Mon, 29 Jun 2009 13:11:37 +0000 (13:11 +0000)]
* darwin-nat-info.c (darwin_debug_regions_recurse): Use
target_gdbarch instead of current_gdbarch.
Ulrich Weigand [Mon, 29 Jun 2009 13:10:39 +0000 (13:10 +0000)]
* Makefile.in (ALL_64_TARGET_OBS): Add amd64-windows-tdep.o.
(ALL_TARGET_OBS): Add moxie-tdep.o, i386-darwin-tdep.o, and
solib-darwin.o.
* configure.tgt: Add comment.
Nick Clifton [Mon, 29 Jun 2009 11:55:13 +0000 (11:55 +0000)]
* elf-m10300.c (mn10300_elf_relax_section): Allow for the
different uses of the relocations addend when a symbol is in a
merged section.
Nick Clifton [Mon, 29 Jun 2009 08:08:15 +0000 (08:08 +0000)]
PR 10288
* arm-dis.c (enum opcode_sentinels): New: Used to mark the
boundary between variaant and generic coprocessor instuctions.
(coprocessor): Use it.
Fix architecture version of MCRR and MRRC instructions.
(arm_opcdes): Fix patterns for STRB and STRH instructions.
(print_insn_coprocessor): Check architecture and extension masks.
Print a hexadecimal version of any decimal constant that is
outside of the range of -16 to +32.
(print_arm_address): Add a return value of the offset used in the
adress, if it is worth printing a hexadecimal version of it.
(print_insn_neon): Print a hexadecimal version of any decimal
constant that is outside of the range of -16 to +32.
(print_insn_arm): Likewise.
(print_insn_thumb16): Likewise.
(print_insn_thumb32): Likewise.
PR 10297
* arm-dis.c (UNDEFINED_INSTRUCTION): New macro for a description
of an undefined instruction.
(arm_opcodes): Use it.
(thumb_opcod): Use it.
(thumb32_opc): Use it.
Update expected disassembly regrexps in GAS and LD testsuites.
Alan Modra [Mon, 29 Jun 2009 00:00:04 +0000 (00:00 +0000)]
daily update
gdbadmin [Mon, 29 Jun 2009 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Paul Pluzhnikov [Sun, 28 Jun 2009 18:53:12 +0000 (18:53 +0000)]
ChangeLog:
2009-06-28 Paul Pluzhnikov <ppluzhnikov@google.com>
* mi/mi-cmds.c (mi_cmds): Remove unimplemented entries.
doc/ChangeLog:
2009-06-28 Paul Pluzhnikov <ppluzhnikov@google.com>
* gdb.texinfo (GDB/MI Program Context): @ignore unimplemented
MI commands.
(GDB/MI Symbol Query): Likewise.
(GDB/MI File Commands): Likewise.
(GDB/MI File Transfer Commands): Likewise.
(GDB/MI Target Manipulation): Likewise.
(GDB/MI Miscellaneous Commands): Likewise.
Daniel Jacobowitz [Sun, 28 Jun 2009 00:20:24 +0000 (00:20 +0000)]
gdb/
* NEWS: Document inlined function support.
* Makefile.in (SFILES): Add inline-frame.c.
(COMMON_OBS): Add inline-frame.o.
* block.c (contained_in): Rewrite to use lexical nesting.
(block_linkage_function): Skip inlined function blocks.
(block_inlined_p): New.
* block.h (struct block): Update comment.
(block_inlined_p): New prototype.
* blockframe.c (get_frame_block): Handle inlined functions.
(get_frame_function): Do not use block_linkage_function.
(block_innermost_frame): Use get_frame_block and contained_in.
* breakpoint.c (watchpoint_check): Remove extra reinit_frame_cache.
Skip over inlined functions. Simplify epilogue check.
(bpstat_check_breakpoint_conditions): Use get_stack_frame_id.
Update comments.
(set_momentary_breakpoint): Only accept non-inlined frames.
(watch_command_1): Use frame_unwind_caller_pc and
frame_unwind_caller_id instead of get_prev_frame.
(until_break_command): Likewise. Use get_stack_frame_id.
* buildsym.c (end_symtab): Set SYMBOL_SYMTAB for block functions.
* dwarf2loc.c (dwarf_expr_frame_base): Use block_linkage_function.
* dwarf2read.c (process_die): Handle DW_TAG_inlined_subroutine.
(read_func_scope, new_symbol): Likewise. Handle arguments specially
for inlined functions without call site information.
(inherit_abstract_dies): Allow tag mismatch for inlined subroutines.
(die_specification): Treat DW_AT_abstract_origin as a specification.
(read_type_die): Handle DW_TAG_inlined_subroutine.
* frame-unwind.c (frame_unwind_init): Add inline_frame_unwind.
* frame.c (fprint_frame_id): Print inline depth.
(fprint_frame_type): Handle INLINE_FRAME and SENTINEL_FRAME.
(skip_inlined_frames, get_stack_frame_id): New.
(frame_unwind_caller_id): Use skip_inlined_frames.
(frame_id_inlined_p): New.
(frame_id_eq): Make the logic match the comments. Add inline_depth
check.
(frame_id_inner): Handle inlined functions.
(frame_unwind_pc): New function, copied from frame_unwind_caller_pc.
(frame_unwind_caller_pc): Use skip_inlined_frames and frame_unwind_pc.
(get_prev_frame_1): Check for inline frames. Split out frame
allocation to get_prev_frame_raw.
(get_prev_frame_raw): New function.
(get_prev_frame): Handle inline frames.
(get_frame_pc): Use frame_unwind_pc.
(get_frame_address_in_block): Skip inlined frames on both sides.
(pc_notcurrent): Delete.
(find_frame_sal): Rewrite to handle inline call sites. Use
get_frame_address_in_block.
(deprecated_update_frame_pc_hack): Make static.
* frame.h: Update comments.
(struct frame_id): Add inline_depth.
(enum frame_type): Add INLINE_FRAME.
(frame_id_inlined_p, get_stack_frame_id): New prototypes.
* gdbthread.h (struct thread_info): Add step_stack_frame_id field.
* infcmd.c (set_step_frame): New function.
(step_once): Use set_step_frame. Handle inlined functions.
(until_next_command): Use set_step_frame.
(finish_backward), finish_forward): Use get_stack_frame_id.
(finish_command): Support inlined functions.
* inferior.h (set_step_info): New prototype.
* infrun.c (RESUME_ALL): Use minus_one_ptid.
(clear_proceed_status): Clear step_stack_frame_id.
(init_wait_for_inferior): Call clear_inline_frame_state.
(init_execution_control_state): Make static.
(set_step_info): New function.
(init_thread_stepping_state): Do not set the symtab or line here.
(stepped_in_from): New function.
(handle_inferior_event): Handle inlined functions. Use set_step_info.
(insert_step_resume_breakpoint_at_frame): Use get_stack_frame_id.
(struct inferior_status): Add step_stack_frame_id.
(save_inferior_status, restore_inferior_status): Save and restore
step_stack_frame_id.
* inline-frame.c, inline-frame.h: New files.
* minsyms.c (prim_record_minimal_symbol_and_info): Use XCALLOC.
* regcache.c (regcache_write_pc): Call reinit_frame_cache.
* s390-tdep.c (s390_prologue_frame_unwind_cache): Handle INLINE_FRAME.
* stack.c (frame_show_address): New.
(print_frame_info, print_frame): Use it.
(find_frame_funname): Use get_frame_function. Handle inlined blocks.
(frame_info): Mark inlined functions.
(backtrace_command_1): Use get_current_user_frame.
(print_frame_local_vars, print_frame_label_vars): Update comments.
(return_command): Refuse inlined functions.
* symtab.c (lookup_symbol_aux_local): Stop at inlined function
boundaries.
(find_function_start_sal): Avoid inlined functions.
(completion_list_add_fields): New function.
(default_make_symbol_completion_list): Use it. Use block_static_block
and block_global_block. Check for inlined functions.
(skip_prologue_using_sal): Avoid line number comparison across
inlining.
* symtab.h (struct symbol): Add is_inlined.
(SYMBOL_INLINED): New.
* target.c (target_resume): Call clear_inline_frame_state.
* valops.c (value_of_variable): Check block_inlined_p.
gdb/doc/
* gdb.texinfo (Debugging Optimized Code): New chapter.
(Compiling for Debugging): Reference it. Move some
text to the new section.
gdb/testsuite/
* gdb.base/break.exp: Add an XFAIL for gcc/36748.
* gdb.cp/annota2.exp: Accept frames-invalid in more places.
* gdb.opt/Makefile.in (EXECUTABLES): Update.
* gdb.opt/clobbered-registers-O2.exp: Update to GPL v3.
* gdb.opt/inline-bt.c, gdb.opt/inline-bt.exp,
gdb.opt/inline-cmds.c, gdb.opt/inline-cmds.exp,
gdb.opt/inline-locals.c, gdb.opt/inline-locals.exp,
gdb.opt/inline-markers.c: New files.
* lib/gdb.exp (skip_inline_frame_tests): New function.
(skip_inline_var_tests): New function.
Daniel Jacobowitz [Sun, 28 Jun 2009 00:05:14 +0000 (00:05 +0000)]
* frame.c (frame_unwind_id): Renamed to ...
(frame_unwind_caller_id): ... this. All callers updated.
(frame_pc_unwind): Renamed to ...
(frame_unwind_caller_pc): ... this. All callers updated.
* frame.h: Document frame_unwind_caller_WHAT functions.
(frame_unwind_id): Renamed to ...
(frame_unwind_caller_id): ... this.
(frame_pc_unwind): Renamed to ...
(frame_unwind_caller_pc): ... this.
* hppa-tdep.c (hppa_find_unwind_entry_in_block): Correct comment.
* stack.c (parse_frame_specification_1): Do not rely on
frame_unwind_id.
gdbadmin [Sun, 28 Jun 2009 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 28 Jun 2009 00:00:08 +0000 (00:00 +0000)]
daily update
Andreas Schwab [Sat, 27 Jun 2009 21:36:49 +0000 (21:36 +0000)]
* gdb.cp/exception.exp: Don't require $hex before inner frame in
backtrace.
Michael Snyder [Sat, 27 Jun 2009 18:49:20 +0000 (18:49 +0000)]
2009-06-27 Michael Snyder <msnyder@vmware.com>
* gdb.reverse: New directory.
* gdb.reverse/break-reverse.c: New test.
* gdb.reverse/break-reverse.exp: New test.
* gdb.reverse/consecutive-reverse.c: New test.
* gdb.reverse/consecutive-reverse.exp: New test.
* gdb.reverse/finish-reverse.c: New test.
* gdb.reverse/finish-reverse.exp: New test.
* gdb.reverse/machinestate.c: New test.
* gdb.reverse/ms1.c: New test.
* gdb.reverse/machinestate.exp: New test.
* gdb.reverse/Makefile.in: New file.
* gdb.reverse/shr2.c: New test.
* gdb.reverse/solib-reverse.c: New test.
* gdb.reverse/solib-reverse.exp: New test.
* gdb.reverse/step-reverse.c: New test.
* gdb.reverse/step-reverse.exp: New test.
* gdb.reverse/until-reverse.c: New test.
* gdb.reverse/ur1.c: New test.
* gdb.reverse/until-reverse.exp: New test.
* gdb.reverse/watch-reverse.c: New test.
* gdb.reverse/watch-reverse.exp: New test.
* configure.ac (AC_OUTPUT): Add gdb.reverse/Makefile.
* configure: Regenerate.
Michael Snyder [Sat, 27 Jun 2009 18:34:58 +0000 (18:34 +0000)]
2009-06-27 Michael Snyder <msnyder@vmware.com>
* infrun.c (handle_inferior_event): Improve handling of
reverse-stepping into and over shared library functions.
H.J. Lu [Sat, 27 Jun 2009 17:19:02 +0000 (17:19 +0000)]
2009-06-27 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/10321
* bucomm.c (get_file_size): Return -1 on error.
* objcopy.c (copy_file): Report empty file.
H.J. Lu [Sat, 27 Jun 2009 16:07:10 +0000 (16:07 +0000)]
bfd/
2009-06-27 H.J. Lu <hongjiu.lu@intel.com>
PR ld/10337
* elf.c (bfd_section_from_shdr): Don't change sh_link for
SHT_REL/SHT_RELA sections on executable nor shared library.
Treat SHT_REL/SHT_RELA sections with sh_link set to SHN_UNDEF
as a normal section.
ld/testsuite/
2009-06-27 H.J. Lu <hongjiu.lu@intel.com>
PR ld/10337
* ld-ifunc/binutils.exp: New.
Kai Tietz [Sat, 27 Jun 2009 08:57:08 +0000 (08:57 +0000)]
2009-06-27 Kai Tietz <kai.tietz@onevision.com>
* scripttempl/pe.sc (.debug_pubtypes): Fixed syntax error.
* scripttempl/pep.sc (.debug_pubtypes): Likewise.
Alan Modra [Sat, 27 Jun 2009 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Sat, 27 Jun 2009 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Kai Tietz [Fri, 26 Jun 2009 17:23:10 +0000 (17:23 +0000)]
2009-06-26 Kai Tietz <kai.tietz@onevision.com>
* scripttempl/pe.sc (.debug_pubtypes): Added section rule.
* scripttempl/pep.sc: Likewise.
Doug Evans [Fri, 26 Jun 2009 17:19:07 +0000 (17:19 +0000)]
* Makefile.def (host_modules): Add cgen.
* Makefile.in: Regenerate.
* configure.ac (host_tools): Add cgen.
* configure: Regenerate.
Doug Evans [Fri, 26 Jun 2009 16:08:20 +0000 (16:08 +0000)]
* gdb.base/psymtab.exp: Turn off pending breakpoints.
Tristan Gingold [Fri, 26 Jun 2009 14:15:49 +0000 (14:15 +0000)]
Fix indentation of:
2009-06-23 Sami Wagiaalla <swagiaal@redhat.com>
Tristan Gingold [Fri, 26 Jun 2009 14:14:50 +0000 (14:14 +0000)]
Add missing entry for:
2009-06-22 Tristan Gingold <gingold@adacore.com>
* darwin-nat.c (darwin_xfer_partial): Use host_address_to_string
instead of "%p".
Christopher Faylor [Fri, 26 Jun 2009 01:26:28 +0000 (01:26 +0000)]
* binutils-all/objcopy.exp: Move XFAIL from objcopy_test to copy_executable.
gdbadmin [Fri, 26 Jun 2009 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Fri, 26 Jun 2009 00:00:05 +0000 (00:00 +0000)]
daily update
Pierre Muller [Thu, 25 Jun 2009 22:40:23 +0000 (22:40 +0000)]
* gdb.base/exe-lock.exp (binfile): Add $EXEEXT suffix to fix
windows problem for 'file delete $binfile'.
Pedro Alves [Thu, 25 Jun 2009 22:13:53 +0000 (22:13 +0000)]
* server.c (process_serial_event): Re-return unsupported, not
error, if the type isn't recognized. Re-allow supporting only
insert or remove packets. Also call require_running for
breakpoints. Add missing break statement to default case. Tidy.
* target.h (struct target_ops): Rename insert_watchpoint to
insert_point, and remove_watchpoint to remove_point.
* linux-low.h (struct linux_target_ops): Likewise.
* linux-low.c (linux_insert_watchpoint): Rename to ...
(linux_insert_point): ... this. Adjust.
(linux_remove_watchpoint): Rename to ...
(linux_remove_point): ... this. Adjust.
(linux_target_ops): Adjust.
* linux-crisv32-low.c (cris_insert_watchpoint): Rename to ...
(cris_insert_point): ... this.
(cris_remove_watchpoint): Rename to ...
(cris_remove_point): ... this.
(the_low_target): Adjust.
Karen Osmond [Thu, 25 Jun 2009 18:01:06 +0000 (18:01 +0000)]
* linespec.c (find_method): Add new not_found_ptr parameter to
bring in line with symtab_from_filename, decode_variable.
(decode_compound): Likewise. Also propagate not_found_ptr to
find_method.
(decode_line_1): Propagate not_found_ptr to decode_compound.
(cplusplus_error): Now throws NOT_FOUND_ERROR.
Karen Osmond [Thu, 25 Jun 2009 17:30:42 +0000 (17:30 +0000)]
* MAINTAINERS (Write After Approval): Add self.
Christopher Faylor [Thu, 25 Jun 2009 15:55:44 +0000 (15:55 +0000)]
* binutils-all/objcopy.exp: Always treat objcopy_test as XFAIL on cygwin.
Nick Clifton [Thu, 25 Jun 2009 15:36:45 +0000 (15:36 +0000)]
* elf-m10300.c (mn10300_elf_relax_section): Handle non-section
symbols with SEC_MERGE flag.
Kai Tietz [Thu, 25 Jun 2009 14:41:18 +0000 (14:41 +0000)]
2009-06-25 Kai Tietz <kai.tietz@onevision.com>
* ld-pe/aligncomm-1.c (size_t): Add typedef.
(main): Use it for casting pointer to scalar.
* ld-pe/aligncomm-2.c: Likewise.
* ld-pe/aligncomm-3.c: Likewise.
* ld-pe/aligncomm-4.c: Likewise.
* ld-scripts/empty-address.exp: Make sure that for x86_64-*-mingw*
target imagebase is set to zero.
* ld-scripts/weak.exp: Don't fail for x86_64-*-mingw* target.