blob: a9f0b10c47a895d4142a0e49bfcd7236552066c4 [file] [log] [blame]
2008-12-31 Pedro Alves <>
PR gdb/8812:
* infrun.c (handle_command): Don't print a header or notify the
target about signal changes if we didn't change any signal.
2008-12-29 Joel Brobecker <>
* valops.c (find_method_list): Minor reformatting in comment.
2008-12-29 Pedro Alves <>
PR gdb/7536:
* valprint.c (input_radix_1): New static global.
(set_input_radix): Use it instead of "input_radix".
(set_input_radix_1): Always leave input_radix_1 set to
(output_radix_1): New static global.
(set_output_radix): Use it instead of "output_radix".
(set_output_radix_1): Always leave output_radix_1 set to
(_initialize_valprint): Use "input_radix_1" instead of
"input_radix" with the "input-radix" command. Use
"output_radix_1" instead of "output_radix" with the "output-radix"
2008-12-28 Pedro Alves <>
* linux-fork.c (linux_fork_detach): New.
* linux-fork.h (linux_fork_detach): Declare.
* linux-nat.c (linux_child_follow_fork): When following the fork
child, add the child inferior before possibly detaching from the
parent. Don't reinstall ourselves.
(linux_nat_detach): Call linux_fork_detach if there are other
forks to debug.
* linux-thread-db.c (thread_db_detach): Don't call
target_mourn_inferior. Instead inline the necessary bits.
* inf-ptrace.c (inf_ptrace_detach): Don't unpush the target if
there are other inferiors to debug.
2008-12-28 Jan Kratochvil <>
preparation for supporting DW_AT_byte_stride.
* ada-lang.c (packed_array_type, ada_index_type): Use TYPE_INDEX_TYPE.
(ada_array_bound_from_type): Move `index_type' declaration to the
function start. New variable `retval'. Return the bounds for
invalid index type codes.
* ada-typeprint.c (print_range): Set `upper_bound' for TYPE_CODE_RANGE
now using TYPE_HIGH_BOUND.
* ada-valprint.c (val_print_packed_array_elements): Use `index_type'.
* eval.c (evaluate_subexp_standard): Use TYPE_INDEX_TYPE.
* gdbtypes.c (create_range_type): Use TYPE_LOW_BOUND, TYPE_HIGH_BOUND,
refer to the number of fields only through TYPE_NFIELDS.
(create_array_type): Use TYPE_INDEX_TYPE.
* hppa-tdep.c (hppa_alignof <TYPE_CODE_ARRAY>): Use TYPE_INDEX_TYPE.
* mdebugread.c (parse_type): Use TYPE_LOW_BOUND, TYPE_HIGH_BOUND,
* valarith.c (value_bit_index): Use TYPE_INDEX_TYPE.
2008-12-26 Sandra Loosemore <>
* breakpoint.c (update_watchpoint): Refactor to avoid compiler
2008-12-22 Tom Tromey <>
* stack.c (print_block_frame_locals): Print spaces, not tabs.
Update for call to print_variable_and_value.
(print_frame_arg_vars): Update.
* value.h (print_variable_and_value): Rename from
print_variable_value. Add 'name' and 'indent' parameters.
* printcmd.c (print_variable_and_value): Rename from
print_variable_value. Add 'name' and 'indent' parameters. Use
* f-valprint.c (info_common_command): Update.
2008-12-22 Tom Tromey <>
* python/python-value.c (valpy_length): Remove #if.
2008-12-22 Paul Pluzhnikov <>
* python/python-internal.h (PyEval_ReleaseLock): New define.
2008-12-22 Tom Tromey <>
* c-exp.y (ident_tokens): New global.
(struct token) <cxx_only>: New field.
(tokentab3): Update.
(tokentab2): Update.
(yylex): Use ident_tokens.
2008-12-22 Adam Denton <>
PR gdb/8307:
* environ.c (free_environ): Free e->vector.
2008-12-22 Jan Kratochvil <>
Fix memory double-free.
* completer.c (line_completion_function): Clear LIST after called xfree.
2008-12-22 Joel Brobecker <>
* breakpoint.c (update_watchpoint): Adjust and extend the description
of this function. Fix one error message accordingly.
2008-12-21 Jan Kratochvil <>
Fix hw watchpoints created before the inferior was started.
* breakpoint.c (update_watchpoint): Convert the bp_watchpoint and
bp_hardware_watchpoint types according to the current runtime state.
2008-12-18 Pedro Alves <>
* linux-nat.c (linux_child_follow_fork): If following the child,
and not detaching the parent, also add the child fork to the fork
* linux-fork.c (linux_fork_context): Remove dead error call.
Assert that the incoming newfp argument is not null. Do not add a
new fork for inferior_ptid. Assert that there is one already.
2008-12-16 Tristan Gingold <>
* inflow.c: Remove old_sigio, handle_sigio, old_fcntl_flags,
set_sigio_trap, clear_sigio_trap definitions.
* inferior.h: Remove set_sigio_trap and clear_sigio_trap declarations.
* inf-ptrace.c (inf_ptrace_wait): Remove call to set_sigio_trap
and clear_sigio_trap.
* inf-ttrace.c (inf_ttrace_wait): Ditto.
* linux-nat.c (linux_nat_wait): Ditto.
* spu-linux-nat.c (spu_child_wait): Ditto.
* rs6000-nat.c (rs6000_wait): Ditto.
* target.c: Remove target_activity_function and target_activity_fd.
* target.h: Remove target_activity_function and target_activity_fd
2008-12-15 Paul Pluzhnikov <>
* dbxread.c (read_ofile_symtab): Sign-extend 32-bit N_LSYM and
N_PSYM STABS values for 64-bit GDB.
2008-12-15 Tristan Gingold <>
* dwarf2expr.c (execute_stack_op): Handle DW_OP_swap.
2008-12-15 Jerome Guitton <>
* ada-lang.c (ada_value_slice_ptr): Rename to...
(ada_value_slice_from_ptr): ... this. Return a lazy value instead
of a reference. Update comment.
(ada_value_struct_elt): Ditto if arg is a pointer or a reference.
Update comment as well.
(ada_evaluate_subexp): Update use of ada_value_slice_ptr.
2008-12-12 Kevin Buettner <>
* gnu-v3-abi.c (vtable_ptrdiff_type): New function.
(gnuv3_decode_method_ptr, gnuv3_print_method_ptr)
(gnuv3_method_ptr_to_value): Use a better approximation for
`ptrdiff_t' instead of `long'.
2008-12-12 Kevin Buettner <>
* m32c-tdep.c (m32c_gdbarch_init): Call set_gdbarch_vbit_in_delta().
(m32c_push_dummy_call): Dereference pointer type.
2008-12-12 Tom Tromey <>
PR cli/2563:
* cli/cli-decode.c (delete_cmd): Add hook-related out parameters.
(add_cmd): Update. Install hooks into new command.
(add_alias_cmd): Update.
2008-12-11 Tom Tromey <>
* macroexp.c (get_pp_number): Require digit after leading ".".
Correctly handle suffixes.
2008-12-11 Tom Tromey <>
* macrocmd.c (macro_define_command): Skip whitespace after
macro name.
(print_one_macro): Print space after macro name.
2008-12-12 Pedro Alves <>
* infrun.c (handle_inferior_event): Correctly tag non-executing
threads in multi-process.
(normal_stop): Correctly tag stopped threads in multi-process.
2008-12-12 Pedro Alves <>
* remote.c (extended_remote_mourn_1): Always call
2008-12-12 Pedro Alves <>
* remote.c (remote_detach_1): Don't delete the inferior here.
(process_stop_reply): Ditto.
(extended_remote_kill): Ditto.
2008-12-12 Pedro Alves <>
* remote.c (read_ptid): If we don't know about any inferior yet,
use the pid of magic_null_ptid.
(remote_start_remote): In the non-stop mode case, don't set
inferior_ptid to magic_null_ptid here.
2008-12-11 Daniel Jacobowitz <>
Pedro Alves <>
* infcmd.c (step_1): Use step_once in the synchronous case too.
(step_1_continuation): Wrap line.
(step_once): Adjust comment. Only install the continuation in
async mode.
2008-12-11 Pedro Alves <>
* infrun.c (handle_inferior_event): On a TARGET_WAITKIND_EXITED or
TARGET_WAITKIND_SIGNALLED, switch inferior_ptid to the event ptid.
* linux_thread_db.c (thread_db_wait): On a TARGET_WAITKIND_EXITED
or TARGET_WAITKIND_SIGNALLED, return the ptid the beneath target
* inf-ptrace.c (inf_ptrace_wait): Return inferior_ptid instead of
minus_one_ptid if the inferior disappeared.
* rs6000-nat.c (rs6000_wait): Likewise.
* spu-linux-nat.c (spu_child_wait): Likewise.
2008-12-11 Tom Tromey <>
PR macros/2564:
* c-exp.y (macro_original_text, expansion_obstack,
expression_macro_scope): New globals.
(scan_macro_expansion): New function.
(scanning_macro_expansion): Likewise.
(finished_macro_expansion): Likewise.
(scan_macro_cleanup): Likewise.
(c_parse): Find macro scope. Initialize obstack.
* c-lang.h (scan_macro_expansion, scanning_macro_expansion,
finished_macro_expansion, expression_macro_lookup_func,
expression_macro_lookup_baton): Remove.
* c-lang.c (scan_macro_expansion, scanning_macro_expansion,
finished_macro_expansion, expression_macro_lookup_func,
expression_macro_lookup_baton): Remove.
(macro_original_text, macro_expanded_text,
c_preprocess_and_parse): Remove.
(c_language_defn, cplus_language_defn, asm_language_defn,
minimal_language_defn): Use c_parse.
2008-12-10 Pedro Alves <>
* infcmd.c (until_next_command, finish_backward): Use get_frame_pc
instead of read_pc.
2008-12-09 Tom Tromey <>
PR gdb/1815:
* cli/cli-decode.c (delete_cmd): Forward declare.
(delete_cmd): Now static. Change return type. Remove command
from alias chain. Rewrite.
(add_cmd): Initialize new fields. Update cmd_pointer on all
(add_alias_cmd): Put command on alias chain.
* command.h (delete_cmd): Don't declare.
* cli/cli-decode.h (delete_cmd): Don't declare.
(struct cmd_list_element) <aliases, alias_chain>: New fields.
2008-12-09 Tom Tromey <>
*, configure: Rebuild.
* Check for locale.h, setlocale. Call
* acinclude.m4: Include lcmessage.m4.
2008-12-09 Jan Kratochvil <>
* remote.c (remote_parse_stop_reply): Use REG only after its NULL check.
2008-12-08 Joel Brobecker <>
* python/python-value.c (values_in_python): Add specific initialization
to NULL to work-around a MacOS linker bug.
2008-12-08 Jan Kratochvil <>
Fix loc_type of `bp_location's created by update_watchpoint.
* breakpoint.c (allocate_bp_location): Remove the bp_type parameter.
Replace bp_type by bpt->type. Update prototype. All callers updated.
(add_location_to_breakpoint): Remove the bp_type parameter.
Replace bp_type by b->type. All callers updated.
(set_breakpoint_location_function): Replace bptype by b->type.
2008-12-07 Jan Kratochvil <>
* breakpoint.c (update_global_location_list): Fix the comment.
2008-12-05 Pedro Alves <>
* infcmd.c (step_1, step_once): Look up the stepping range based
on the current frame's PC, not on stop_pc.
2008-12-05 Jan Kratochvil <>
Fix compilation on 32-bit host configurations.
* ia64-tdep.c (ia64_breakpoint_from_pc): Suffix a constant by `LL'.
2008-12-05 Tristan Gingold <>
* i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn): New function.
(amd64_darwin_sstep_at_sigreturn): New function.
(darwin_set_sstep): The sigreturn is a special case: the trace flag
must be set in the mcontext structure.
2008-12-05 Pedro Alves <>
* infcmd.c (step_once): Remove dead code.
2008-12-04 Doug Evans <>
* infcall.c (call_function_by_hand): Clean up use of local dummy_addr.
2008-12-02 Doug Evans <>
* infrun.c (handle_inferior_event): Remove redundant resetting of
2008-12-02 Pedro Alves <>
* target.h (target_get_osdata): Describe.
* osdata.h (make_cleanup_osdata_free): Declare.
* osdata.c (osdata_item_clear): Define even if HAVE_LIBEXPAT is
not defined.
(osdata_free_cleanup): New.
(make_cleanup_osdata_free): New.
(get_osdata): Fix leak.
(info_osdata_command): Use make_cleanup_osdata_free.
(info_processes_command): Delete.
(_initialize_osdata): Drop undocumented "info processes" alias.
* mi/mi-main.c (mi_cmd_list_thread_groups): Fix leak.
2008-12-02 Jan Kratochvil <>
Fix resolving external references to TLS variables.
* findvar.c: Include `objfiles.h'.
(read_var_value <LOC_UNRESOLVED>): New variable `obj_section'. Handle
* printcmd.c (address_info <LOC_UNRESOLVED>): Handle SEC_THREAD_LOCAL
2008-12-02 Doug Evans <>
* infrun.c (handle_inferior_event): Delete unused local tp.
2008-12-02 Pedro Alves <>
Vladimir Prus <>
Implement -list-thread-groups --available
* (XMLFILES): Add osdata.dtd.
(SFILES): Add osdata.c.
(COMMON_OBS): Add osdata.o.
* linux-nat.c: Include pwd.h, sys/types.h, gdb_dirent.h and xml-support.h.
(linux_nat_xfer_osdata): New function.
(linux_xfer_partial): Handle TARGET_OBJECT_OSDATA.
* osdata.c: New file.
* osdata.h: New file.
* remote.c (PACKET_qXfer_osdata): New packet enum.
(remote_protocol_features): Add "qXfer:osdata:read".
(remote_read_qxfer): Handle TARGET_OBJECT_OSDATA.
(extended_remote_can_run): New.
(init_extended_remote_ops): Set to_can_run to
(_initialize_remote): Add packet config command for
* xml-support.c (obstack_xml_printf): New function.
* xml-support.h (obstack_xml_printf): Declare.
* target.c (target_get_osdata): New function.
* target.h (enum target_object): Add TARGET_OBJECT_OSDATA.
(target_os_data): Declare.
* features/osdata.dtd: New file.
* mi/mi-main.c (mi_list_thread_groups): Handle the --available
2008-12-01 Doug Evans <>
* infrun.c (proceed): Delete unused local stop_signal.
2008-11-27 Tristan Gingold <>
* NEWS: Add entry for new native configuration: Darwin.
* Add Darwin host.
* configure.tgt: Add Darwin target.
* defs.h (enum gdb_osabi): Add GDB_OSABI_DARWIN.
* osabi.c (gdb_osabi_names): Add name for Darwin abi.
* i386-darwin-nat.c: New file.
* i386-darwin-tdep.c: New file.
* machoread.c: New file.
* darwin-nat-info.c: New file.
* darwin-nat.c: New file.
* darwin-nat.h: New file.
* darwin.defs: New file.
* config/i386/ New file.
2008-11-26 Tristan Gingold <>
* MAINTAINERS: Add myself for write after approval privileges.
2008-11-26 Jerome Guitton <>
* value.h (allocate_value_lazy): New function declaration.
(value_free): Remove macro, make it a function.
* value.c (value): Move actual content outside of the memory space
of the struct; add a pointer to this actual content.
(allocate_value_lazy, allocate_value_contents): New function.
(allocate_value): Reimplement using these two new functions.
(value_contents_raw, value_contents_all_raw): If no memory
has been allocated yet for the actual content, allocate it.
(value_contents_all): Resync with struct value's changes.
(value_free): New function.
(value_copy, value_primitive_field): Use new function
allocate_value_lazy to allocate lazy values.
(value_change_enclosing_type): Resync with struct value's changes.
As the value is not reallocated, remove the special handling for
the value chain (now obsolete).
* valops.c (value_at_lazy): Use new function allocate_value_lazy.
(value_fetch_lazy): Allocate value content. Use allocate_value_lazy
to allocate lazy values.
(value_slice): Use allocate_value_lazy to allocate lazy values.
2008-11-25 Jan Kratochvil <>
Fix automatic restoration of breakpoints memory for ia64.
* ia64-tdep.c: New #if check on BREAKPOINT_MAX vs. BUNDLE_LEN.
(ia64_memory_insert_breakpoint): New comment part for SHADOW_CONTENTS
content. Remove variable instr. New variable cleanup. Disable
automatic breakpoints restoration. PLACED_SIZE and SHADOW_LEN are now
set larger, to BUNDLE_LEN - 2. Variable `bundle' type update. Return
error if even just final target_write_memory has failed.
(ia64_memory_remove_breakpoint): Rename variables bundle to bundle_mem
and instr to instr_saved. New variables bundle_saved and
instr_breakpoint. Comment new reasons why we need to disable automatic
restoration of breakpoints. Assert PLACED_SIZE and SHADOW_LEN. New
check of the original memory content. Return error if even just final
target_write_memory has failed.
(ia64_breakpoint_from_pc): Implement the emulation of permanent
breakpoints compatible with current bp_loc_is_permanent.
(template_encoding_table): Make it `const'.
* breakpoint.c (bp_loc_is_permanent): Support unsupported software
breakpoints. New variables `cleanup' and `retval'.
2008-11-24 Tom Tromey <>
* ada-lang.c (value_from_contents_and_address): Move...
* value.c: ... here.
* ada-lang.h (value_from_contents_and_address): Move
* value.h: ... here.
2008-11-24 Paul Pluzhnikov <>
* valprint.c (val_print_array_elements): Pass correct
element address to val_print.
2008-11-24 Jan Kratochvil <>
Fix access of an already freed memory.
* parse.c (parse_field_expression): Call xstrdup on `*name'.
* completer.c (expression_completer): Free fieldname.
2008-11-24 Daniel Jacobowitz <>
PR gdb/2474
* remote.c (remote_read_description_p): New function.
(remote_start_remote): Try to fetch the target description
before adding shared libraries. Try again later if the
target is running but stopped.
(remote_open_1): Mark extended targets as exited by default.
(remote_read_description): Check target_has_execution.
2008-11-24 Jerome Guitton <>
* alpha-mdebug-tdep.c (alpha_mdebug_frame_unwind_cache): Use
the frame address in block instead of the return address to
locate the mdebug PDR of the frame.
2008-11-21 Joel Brobecker <>
* breakpoint.h (enum bpstat_what_main_action): Remove
* breakpoint.c (bpstat_what): Delete catch_shlib_event from enum class.
variable table.
* infrun.c (wait_for_inferior): Remove handling of
2008-11-21 Tom Tromey <>
* configure: Rebuild.
2008-11-21 Tom Tromey <>
* python/python-internal.h (PyGILState_Ensure): New define.
(PyGILState_Release): Likewise.
(PyEval_InitThreads): Likewise.
(PyThreadState_Swap): Likewise.
(PyEval_InitThreads): Likewise.
* python/python.c (_initialize_python): Initialize threads.
Release GIL.
(eval_python_from_control_command): Acquire GIL.
(python_command): Likewise.
* python/python-internal.h (make_cleanup_py_restore_gil):
* python/python-utils.c (py_gil_restore): New function.
(make_cleanup_py_restore_gil): Likewise.
2008-11-20 Doug Evans <>
* frame.c (frame_debug_got_null_frame): Remove file arg.
All callers updated.
2008-11-20 Pedro Alves <>
* infrun.c (resume): If following a fork, also reset regcache,
gdbarch and pc.
2008-11-20 Doug Evans <>
* printcmd.c (sym_info): Don't print the offset if it's zero.
2008-11-20 Pedro Alves <>
* infrun.c (resume): If following a fork, reread the current
thread. Avoid dereferencing a possibly dangling pointer.
2008-11-19 Doug Evans <>
* inferior.h (proceed_to_finish): Delete, unused.
(stop_registers): Tweak comment.
* infrun.c (stop_registers): Tweak comment.
2008-11-19 Kevin Buettner <>
* frv-tdep.c (frv_skip_main_prologue): New function.
(frv_gdbarch_init): Register frv_skip_main_prologue.
* solib-frv.c (fetch_loadmap): Return early when no segments are
(frv_relocate_main_executable): Return early when both interpreter
and executable loadmap addresses are zero.
2008-11-19 Bob Wilson <>
* xtensa-config.c (rmap): Remove entries for ar32 through ar63. Add
threadptr, scompare1, mmid, epc5, epc6, epc7, eps5, eps6, eps7,
excsave5, excsave6, excsave7, cpenable, and vecbase registers.
(xtensa_submask0, xtensa_submask1, xtensa_submask2)
(xtensa_submask3, xtensa_submask4, xtensa_submask5, xtensa_submask6)
(xtensa_submask7, xtensa_submask8, xtensa_submask9, xtensa_submask10)
(xtensa_submask11, xtensa_submask12, xtensa_submask13, xtensa_submask14)
(xtensa_submask15): Adjust register numbers.
* xtensa-xtregs.c (XTENSA_ELF_XTREG_SIZE): Change to 4.
(xtensa_regmap_table): Add entry for scompare1.
* regformats/reg-xtensa.dat: Remove ar32 through ar63. Add threadptr
and scompare1.
2008-11-19 Pedro Alves <>
* remote.c (escape_buffer): New.
(putpkt_binary, read_frame, getpkt_or_notif_sane_1): Use it. Make
sure debug output printing a packet buffer goes through a single
fprintf_unfiltered call.
* utils.c (vfprintf_unfiltered): If outputting timestamps, end
output with a newline if it wasn't going to already.
2008-11-18 Paul Pluzhnikov <>
* maint.c (maintenance_translate_address): Fix a buglet.
2008-11-18 Thiago Jung Bauermann <>
* features/Makefile (rs6000/powerpc-isa205-32l-expedite,
powerpc-isa205-vsx32l-expedite, rs6000/powerpc-isa205-64l-expedite,
powerpc-isa205-vsx64l-expedite): New variables.
* regformats/rs6000/powerpc-isa205-32l.dat: Generate.
* regformats/rs6000/powerpc-isa205-altivec32l.dat: Generate.
* regformats/rs6000/powerpc-isa205-vsx32l.dat: Generate.
* regformats/rs6000/powerpc-isa205-64l.dat: Generate.
* regformats/rs6000/powerpc-isa205-altivec64l.dat: Generate.
* regformats/rs6000/powerpc-isa205-vsx64l.dat: Generate.
2008-11-18 Thiago Jung Bauermann <>
* ppc-linux-nat.c (ppc_register_u_addr): Add special case to return
offset for full 64-bit slot of FPSCR when in 32-bits.
(ppc_linux_read_description): Return target description with 64-bit
FPSCR when inferior is running on an ISA 2.05 or later processor.
* ppc-linux-tdep.c (_initialize_ppc_linux_tdep): Call
initialize_tdec_powerpc_isa205_altivec64l and
* ppc-linux-tdep.h: Add external declaration for
tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_altivec32l,
tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_64l,
tdesc_powerpc_isa205_altivec64l and tdesc_powerpc_isa205_vsx64l.
* features/rs600/powerpc-fpu-isa205.xml: New file.
* features/rs600/powerpc-isa205-32l.xml: New file.
* features/rs600/powerpc-isa205-64l.xml: New file.
* features/rs600/powerpc-isa205-altivec32l.xml: New file.
* features/rs600/powerpc-isa205-altivec64l.xml: New file.
* features/rs600/powerpc-isa205-vsx32l.xml: New file.
* features/rs600/powerpc-isa205-vsx64l.xml: New file.
* features/rs600/powerpc-isa205-32l.c: Generate.
* features/rs600/powerpc-isa205-64l.c: Generate.
* features/rs600/powerpc-isa205-altivec32l.c: Generate.
* features/rs600/powerpc-isa205-altivec64l.c: Generate.
* features/rs600/powerpc-isa205-vsx32l.c: Generate.
* features/rs600/powerpc-isa205-vsx64l.c: Generate.
2008-11-18 Paul Pluzhnikov <>
* objfiles.h: New MULTI_OBJFILE_P macro.
* printcmd.c (sym_info): Print object name.
* maint.c (maintenance_translate_address): Likewise.
2008-11-18 Joel Brobecker <>
* NEWS: Document the removal of "catch load" and "catch unload".
2008-11-17 Doug Evans <>
* infcall.c (call_function_by_hand): Fix punctuation and capitalization
on error messages.
2008-11-17 Ulrich Weigand <>
PR gdb/2250
* infrun.c (clear_proceed_status_thread): New function.
(clear_proceed_status_callback): New function.
(clear_proceed_status): In all-stop mode, clear per-thread
proceed status of *all* threads, not only the current.
(handle_inferior_event): In all-stop mode, if we're stepping
one thread, but got some inferior event in another thread
that does not cause GDB to break to the user interface,
ensure the interrupted stepping operation continues in the
original thread.
(currently_stepping): Move thread-related tests to ...
(currently_stepping_thread): ... this new function.
(currently_stepping_callback): New function.
2008-11-17 Vladimir Prus <>
Implement =thread-selected notification.
* mi/mi-common.h (struct mi_interp): New, moved from ...
* mi/mi-interp.c:
* mi/mi-main.c (mi_execute_command): If the thread changed
as result of command, report that.
2008-11-17 Vladimir Prus <>
Implement continue/interrupt of thread groups.
* mi/mi-main.c (proceed_thread_callback): New.
(mi_cmd_exec_continue): If --thread-group is specified, resume all
threads in that group.
(interrupt_thread_callback): New.
(mi_cmd_exec_interrupt): If --thread-group is specified, interrupt
all threads in that group.
2008-11-17 Vladimir Prus <>
Implement '-target-detach pid'.
* infcmd.c (detach_command): Make nonstatic.
* inferior.h (detach_command): Declare.
* mi/mi-cmds.c (mi_cmds): Don't route -target-detach via CLI.
* mi/mi-cmds.h (mi_cmd_target_detach): Declare.
* mi/mi-main.c (find_thread_of_process, mi_cmd_target_detach): New.
2008-11-17 Vladimir Prus <>
Include group-id in thread-created notification.
* mi/mi-interp.c (mi_new_thread, mi_thread_exit): Include
group id in the output.
2008-11-17 Vladimir Prus <>
Notification for attach/detach.
* inferior.c: Call the process observers.
* mi/mi-interp.c (mi_new_inferior, mi_inferior_exit): New.
(mi_interpreter_init): Register the above.
2008-11-17 Vladimir Prus <>
Implement -list-thread-groups.
* thread.c (print_thread_info): New parameter pid, to print
threads of specific process.
* gdbthread.h (print_thread_info): New parameter pid.
* mi/mi-cmds.c (mi_cmds): Register -list-thread-groups.
* mi/mi-cmds.h (mi_cmd_list_thread_groups): New.
* mi/mi-main.c (mi_cmd_thread_info): Adjust.
(print_one_process, mi_cmd_list_thread_groups): New.
2008-11-16 Joel Brobecker <>
Remove some unused macros related to the old load/unload catchpoints.
(SOLIB_CREATE_CATCH_UNLOAD_HOOK): Delete. No longer used.
2008-11-16 Joel Brobecker <>
Remove support for catch load and catch unload commands.
* breakpoint.h (enum bptype): Remove bp_catch_load and bp_catch_unload.
(struct breakpoint): Remove fields dll_pathname and
(bpstat_get_triggered_catchpoints, ep_is_shlib_catchpoint): Delete.
* breakpoint.c (ep_is_catchpoint): Remove handling of
bp_catch_load and bp_catch_unload.
(print_it_typical, bpstat_check_location, bpstat_what)
(print_one_breakpoint_location, print_one_breakpoint_location)
(user_settable_breakpoint, allocate_bp_location)
(set_raw_breakpoint_without_location, mention, delete_breakpoint,
(breakpoint_re_set_one, disable_command, enable_command): Likewise.
(ep_is_shlib_catchpoint, bpstat_get_triggered_catchpoints)
(catch_load_command_1, catch_unload_command_1): Delete.
(_initialize_breakpoint): Remove the "catch load" and "catch unload"
command creation.
* infrun.c (handle_inferior_event): Remove the handling of
load/unload catchpoint events.
2008-11-15 Joel Brobecker <>
From Jerome Guitton <>
* dwarf2read.c (dwarf2_debug_line_missing_end_sequence_complaint):
New function.
(dwarf_decode_lines): Detect null file numbers. Detect the end of
the line program sequence when no end sequence is emitted.
2008-11-15 Joel Brobecker <>
* ada-lang.c (ada_evaluate_subexp): Improve handling of integer
type dereferencing.
2008-11-15 Daniel Jacobowitz <>
* NEWS: Mention sparc64-linux-gnu gdbserver support.
2008-11-14 Daniel Gutson <>
* configure.tgt (sparc64-*-linux*): Added gdbserver support.
* regformats/reg-sparc64.dat: New file.
2008-11-14 Tom Tromey <>
PR mi/2549:
* mi/mi-main.c (get_register): Use get_formatted_print_options.
2008-11-13 Joel Brobecker <>
* printcmd.c: define PRINTF_HAS_LONG_LONG only if not yet defined.
2008-11-13 Ulrich Weigand <>
* auxv.c (fprint_target_auxv): Handle AT_BASE_PLATFORM and
2008-11-13 Jan Kratochvil <>
* monitor.c (monitor_insert_breakpoint): Remove unused variable `bp'.
2008-11-13 Joel Brobecker <>
* ia64-tdep.c: Remove commented out #define.
2008-11-12 Joel Brobecker <>
From Joel Sherrill <>
* remote-sim.c (gdbsim_mourn_inferior): Use "target" parameter
instead of the "gdbsim_ops" global.
2008-11-11 Doug Evans <>
* infcall.c (call_function_by_hand): Handle inferior exit.
2008-11-11 Thiago Jung Bauermann <>
* remote-sim.c (gdbsim_create_inferior, gdbsim_mourn_inferior): Add
missing struct target_ops argument.
2008-11-11 Joel Sherrill <>
* MAINTAINERS: Add myself for write after approval privileges.
2008-11-10 Tom Tromey <>
* gdbtypes.c (copy_type_recursive): Clear new fields.
2008-11-10 Tom Tromey <>
* cli/cli-cmds.c (source_script): Clean up full_pathname. Run
cleanups on early return.
2008-11-09 Vladimir Prus <>
Kill pthread_ops_hack
* target.h (struct target_ops): Make to_attach, to_detach,
to_create_inferior and to_mourn_inferior accept a pointer
to struct target_ops.
(target_attach, target_create_inferior, target_create_inferior):
Convert from macros to function. Find the right target to
invoke a method of.
(find_default_attach, find_default_create_inferior): New parameter
* corefile.c (core_file_command): Pass target to to_detach.
* corelow.c (core_detach): Add 'ops' parameter.
* fork-child.c (fork_inferior): Return the pid. Allow
init_trace_fun to be NULL.
* inf-ptrace (ptrace_ops_hack): Remove.
(inf_ptrace_him): Remove, moving all logic into....
(inf_ptrace_create_inferior): ... here. Push the target
passed as parameter.
(inf_ptrace_mourn_inferior, inf_ptrace_attach, inf_ptrace_detach):
Push/pop target passed as parameter, no ptrace_ops_hack.
(inf_ptrace_target): Don't remember result.
* inferior.h (fork_inferior): Adjust prototype.
* linux-nat.c (linux_nat_create_inferior, linux_nat_attach)
(linux_nat_detach, linux_nat_mourn_inferior): New parameter ops.
Pass it to linux_ops target.
* linux-thread-db.c (thread_db_detach, thread_db_mourn_inferior):
New parameter ops. Pass it to the target beneath.
* remote.c (remote_mourn, extended_remote_mourn, remote_detach)
(extended_remote_create_inferior): New parameter ops. Pass it
* target.c (debug_to_attach, debug_to_detach)
(debug_to_mourn_inferior): New parameter ops.
(target_create_inferior): New.
(update_current_target): Do not inherit to_attach, to_detach,
to_create_inferiour, to_mourn_inferior. Do not default
to_detach and to_mourn_inferior.
(target_detach): Find the right target to use.
(target_mourn_inferior): New.
(find_default_attach, find_default_create_inferior): New parameter
ops. Pass the found target when calling its method.
(init_dummy_target): Provide fallback definition of to_detach.
(target_attach): New.
(debug_to_attach, debug_to_detach, debug_to_create_inferior)
(debug_to_mourn_inferiour): New parameter ops.
* aix-thread.c: Adjust.
* bsd-uthread.c: Adjust.
* gnu-nat.c: Adjust.
* go32-nat.c: Adjust.
* hpux-thread.c: Adjust.
* inf-ttrace.c: Ajust.
* monitor.c: Adjust.
* nto-procfs.c: Adjust.
* procfs.c: Adjust.
* remote-m32r-sdi.c: Adjust.
* remote-mips.c: Adjust.
* remote-sim.c: Adjust.
* rs6000-nat.c: Adjust.
* sol-thread.c: Adjust.
* win32-nat.c: Adjust.
* dec-thread.c: Adjust.
2008-11-09 Vladimir Prus <>
* thread.c (print_thread_info): Eliminate now useless checks
for exited threads.
2008-11-06 Pedro Alves <>
* i386-dicos-tdep.c (i386_dicos_init_abi): Set decr_pc_after_break
to 0.
2008-11-05 Pedro Alves <>
* remote.c (notice_new_inferiors): Add a new inferior only when
we're going to add a new thread.
2008-11-05 Pedro Alves <>
* defs.h (add_inferior_continuation)
(discard_all_inferior_continuations): Declare.
* utils.c (add_inferior_continuation)
(discard_all_inferior_continuations): New.
* inferior.h (struct inferior) <continuations>: New field.
* inferior.c (free_inferior): Discard all the inferior
* inf-loop.c (inferior_event_handler): Do all current inferior
* infcmd.c (attach_command): Register an inferior continuation
instead of a thread continuation.
* infrun.c (handle_inferior_event): If stop_soon is
2008-11-04 Pedro Alves <>
* inf-loop.c (inferior_event_handler): On INF_ERROR and
INF_REG_EVENT throwing, don't call target_async or pop_target.
Call pop_all_targets_above.
* remote.c (remote_close): Call remote_terminal_ours. Don't call
signal or target_async.
2008-11-04 Daniel Jacobowitz <>
* eval.c (evaluate_subexp_standard): Assert that there is at
least one array dimension.
2008-11-03 Vladimir Prus <>
Make attach_command exception-safe
* infcmd.c (attach_command): Call async_enable_stdin
if exception is thrown.
2008-11-03 Pedro Alves <>
* (has_global_solist): Mention global breakpoints.
* gdbarch.h: Regenerate.
2008-11-03 Pedro Alves <>
* remote.c (remote_start_remote): If the solib list is global,
fetch libraries and insert breakpoints after connecting.
* infcmd.c (post_create_inferior): If the solist is shared between
inferiors, no need to refetch it on every new inferior.
(detach_command): If the shared library list is shared between
inferiors, then don't clear it on every inferior detach.
* (has_global_solist): New.
* i386-dicos-tdep.c (i386_dicos_init_abi): Set
* target.c (target_pre_inferior): If the shared library list is
shared between inferiors, then don't clear it here, neither
invalidate the memory regions or clear the target description.
(target_detach): If the shared library list is shared between
inferiors, then don't remove breakpoints from the target here.
(target_disconnect): Comment.
* solib.c (update_solib_list): Check for null_ptid.
* breakpoint.c (insert_breakpoints, update_global_location_list):
If the shared library list is shared between inferiors, insert
breakpoints even if there's no execution.
(breakpoint_init_inferior): If the shared library list is shared
between inferiors, don't delete breakpoints or mark them
uninserted here.
* gdbarch.c, gdbarch.h: Regenerate.
2008-10-31 Pedro Alves <>
* inferior.h (inferior_ignoring_leading_exec_events): Delete
2008-10-31 Pedro Alves <>
* inferior.h (write_inferior_status_register): Delete.
* infrun.c (write_inferior_status_register): Delete.
2008-10-30 Tom Tromey <>
* value.c (coerce_array): Use check_typedef.
2008-10-30 Tom Tromey <>
* cli/cli-logging.c (handle_redirections): Make a cleanup.
* reggroups.c (maintenance_print_reggroups): Make a cleanup.
* regcache.c (regcache_print): Make a cleanup.
* maint.c (maintenance_print_architecture): Make a cleanup.
* dummy-frame.c (maintenance_print_dummy_frames): Make a cleanup.
2008-10-30 Tom Tromey <>
* utils.c (make_cleanup_close): Use make_cleanup_dtor.
(do_close_cleanup): Don't free 'fd'.
2008-10-30 Tom Tromey <>
* source.c (symtab_to_fullname): Test 'r >= 0'.
(psymtab_to_fullname): Likewise.
(get_filename_and_charpos): Make a cleanup.
(forward_search_command): Likewise.
(reverse_search_command): Likewise.
* exec.c (exec_file_attach): Close scratch_chan on failure.
* nto-procfs.c (procfs_open): Make a cleanup.
(procfs_pidlist): Likewise.
(do_closedir_cleanup): New function.
2008-10-30 Andreas Schwab <>
* infcmd.c (construct_inferior_arguments): Handle newlines
2008-10-30 Joel Brobecker <>
* breakpoint.h (enum bptype): Delete bp_catch_exec.
* breakpoint.c (insert_catchpoint): Remove handling for
bp_catch_exec breakpoint kinds.
(insert_bp_location, update_breakpoints_after_exec, remove_breakpoint)
(ep_is_catchpoint, print_it_typical, bpstat_check_location),
(bpstat_check_location, bpstat_what, print_one_breakpoint_location)
(print_one_breakpoint_location, user_settable_breakpoint)
(breakpoint_address_is_meaningful, adjust_breakpoint_address)
(allocate_bp_location, mention, breakpoint_re_set_one)
(disable_command, enable_command): Likewise.
(create_exec_event_catchpoint): Delete.
(insert_catch_exec, remove_catch_exec, breakpoint_hit_catch_exec)
(print_it_catch_exec, print_one_catch_exec, print_mention_catch_exec):
New functions.
(catch_exec_breakpoint_ops): New static global.
(catch_exec_command_1): Use create_catchpoint instead of
create_exec_event_catchpoint to create the exec catchpoint.
2008-10-28 Tom Tromey <>
* (SUBDIR_CLI_OBS): Don't mention cli-utils.o.
(SUBDIR_CLI_DEPS): Don't mention cli-utils.c.
(HFILES_NO_SRCDIR): Don't mention cli-utils.h.
(cli-utils.o): Remove.
* cli/cli-utils.c: Remove.
* cli/cli-utils.h: Remove.
2008-10-28 Tom Tromey <>
* varobj.c (value_get_print_value): Include valprint.h.
(value_get_print_value): Use get_formatted_print_options.
* value.h (struct value_print_options): Declare.
(value_print, val_print, common_val_print, val_print_string):
* value.c: Include valprint.h.
(show_values): Use get_user_print_options.
(show_convenience): Likewise.
* valprint.h (prettyprint_arrays, prettyprint_structs): Don't
(struct value_print_options): New type.
(vtblprint, unionprint, addressprint, objectprint, print_max,
inspect_it, repeat_count_threshold, output_format,
stop_print_at_null): Don't declare.
(user_print_options, get_user_print_options,
get_raw_print_options, get_formatted_print_options): Declare.
(print_array_indexes_p): Don't declare.
(maybe_print_array_index, val_print_array_elements): Update.
* valprint.c (print_max): Remove.
(user_print_options): New global.
(get_user_print_options, get_raw_print_options,
get_formatted_print_options): New functions.
(print_array_indexes, repeat_count_threshold, stop_print_at_null,
prettyprint_structs, prettyprint_arrays, unionprint,
addressprint): Remove.
(val_print): Remove format, deref_ref, pretty arguments; add
options. Update.
(common_val_print): Likewise.
(print_array_indexes_p): Remove.
(maybe_print_array_index): Remove format, pretty arguments; add
options. Update.
(val_print_array_elements): Remove format, deref_ref, pretty
arguments; add options. Update.
(val_print_string): Add options argument. Update.
(_initialize_valprint): Use user_print_options.
(output_format): Remove.
(set_output_radix_1): Use user_print_options.
* typeprint.c: Include valprint.h.
(objectprint): Don't declare.
(whatis_exp): Use get_user_print_options.
* tui/tui-regs.c: Include valprint.h.
(tui_register_format): Use get_formatted_print_options.
* tracepoint.c: Include valprint.h.
(addressprint): Don't declare.
(trace_mention): Use get_user_print_options.
(tracepoints_info): Likewise.
* stack.c (print_frame_args): Use get_raw_print_options.
(print_frame_info): Use get_user_print_options.
(print_frame): Likewise.
* sh64-tdep.c: Include valprint.h
(sh64_do_register): Use get_formatted_print_options.
* scm-valprint.c (scm_inferior_print): Remove format, deref_ref,
pretty arguments; add options.
(scm_scmlist_print): Likewise. Update.
(scm_scmval_print): Likewise.
(scm_val_print): Likewise.
(scm_value_print): Remove format, pretty arguments; add options.
* scm-lang.h (scm_value_print, scm_val_print, scm_scmval_print):
* scm-lang.c (scm_printstr): Add options argument.
* python/python-value.c: Include valprint.h.
(valpy_str): Use get_user_print_options.
* printcmd.c: Include valprint.h.
(addressprint): Don't declare.
(inspect_it): Remove.
(print_formatted): Remove format option; add options. Update.
(print_scalar_formatted): Likewise.
(print_address_demangle): Use get_user_print_options.
(do_examine): Use get_formatted_print_options.
(print_command_1): Likewise.
(output_command): Use get_formatted_print_options.
(do_one_display): Likewise.
(print_variable_value): Use get_user_print_options.
* p-valprint.c (pascal_val_print): Remove format, deref_ref,
pretty arguments; add options. Update.
(pascal_value_print): Remove format, pretty arguments; add
options. Update.
(vtblprint, objectprint): Don't declare.
(pascal_static_field_print): Remove.
(pascal_object_print_value_fields): Remove format, pretty
arguments; add options. Update.
(pascal_object_print_static_field): Likewise.
(_initialize_pascal_valprint): Use user_print_options. Update.
* p-lang.h (pascal_val_print, pascal_value_print,
pascal_printstr, pascal_object_print_value_fields): Update.
(vtblprint, static_field_print): Don't declare.
* p-lang.c (pascal_printstr): Add options argument. Update.
* objc-lang.c (objc_printstr): Add options argument. Update.
* mt-tdep.c: Include valprint.h.
(mt_registers_info): Use get_raw_print_options.
* mips-tdep.c: Include valprint.h.
(mips_print_fp_register): Use get_formatted_print_options.
(mips_print_register): Likewise.
* mi/mi-main.c: Include valprint.h.
(get_register): Use get_user_print_options.
(mi_cmd_data_evaluate_expression): Likewise.
(mi_cmd_data_read_memory): Use get_formatted_print_options.
* mi/mi-cmd-stack.c: Include valprint.h.
(list_args_or_locals): Use get_raw_print_options.
* m2-valprint.c (print_function_pointer_address): Add addressprint
(m2_print_long_set): Remove format, pretty arguments.
(m2_print_unbounded_array): Remove format, deref_ref, pretty
arguments; add options. Update.
(print_unpacked_pointer): Remove format argument; add options.
Now static. Update.
(print_variable_at_address): Remove format, deref_ref, pretty
arguments; add options. Update.
(m2_print_array_contents): Likewise.
(m2_val_print): Likewise.
* m2-lang.h (m2_val_print): Update.
* m2-lang.c (m2_printstr): Add options argument. Update.
* language.h (struct value_print_options): Declare.
(struct language_defn) <la_printstr>: Add options argument.
<la_val_print>: Remove format, deref_ref, pretty argument; add
<la_value_print>: Remove format, pretty arguments; add options.
<la_print_array_index>: Likewise.
(default_print_array_index): Update.
* language.c (default_print_array_index): Remove format, pretty
arguments; add options. Update.
(unk_lang_printstr): Add options argument.
(unk_lang_val_print): Remove format, deref_ref, pretty arguments;
add options.
(unk_lang_value_print): Remove format, pretty arguments; add
* jv-valprint.c (java_value_print): Remove format, pretty
arguments; add options. Update.
(java_print_value_fields): Likewise.
(java_val_print): Remove format, deref_ref, pretty arguments; add
options. Update.
* jv-lang.h (java_val_print, java_value_print): Declare.
* infcmd.c: Include valprint.h.
(print_return_value): Use get_raw_print_options.
(default_print_registers_info): Use get_user_print_options,
(registers_info): Use get_formatted_print_options.
* gdbtypes.h (struct value_print_options): Declare.
(print_scalar_formatted): Update.
* f-valprint.c (f77_print_array_1): Remove format, deref_ref,
pretty arguments; add options. Update.
(f77_print_array): Likewise.
(f_val_print): Likewise.
* f-lang.h (f_val_print): Update.
* f-lang.c (f_printstr): Add options argument. Update.
(c_value_print): Update declaration.
* expprint.c: Include valprint.h.
(print_subexp_standard): Use get_raw_print_options,
* eval.c: Include valprint.h.
(objectprint): Don't declare.
(evaluate_subexp_standard): Use get_user_print_options.
* cp-valprint.c (vtblprint, objectprint, static_field_print):
(cp_print_value_fields): Remove format, pretty arguments; add
options. Update.
(cp_print_value): Likewise.
(cp_print_static_field): Likewise.
(_initialize_cp_valprint): Use user_print_options. Update.
* c-valprint.c (print_function_pointer_address): Add addressprint
(c_val_print): Remove format, deref_ref, pretty arguments; add
options. Update.
(c_value_print): Add options argument. Update.
* c-lang.h (c_val_print, c_value_print, c_printstr): Update.
(vtblprint, static_field_print): Don't declare.
(cp_print_value_fields): Update.
* c-lang.c (c_printstr): Add options argument. Update.
* breakpoint.c: Include valprint.h.
(addressprint): Don't declare.
(watchpoint_value_print): Use get_user_print_options.
(print_one_breakpoint_location): Likewise.
(breakpoint_1, print_it_catch_fork, print_it_catch_vfork, mention,
print_exception_catchpoint): Likewise.
* auxv.c (fprint_target_auxv): Don't declare addressprint. Use
* ada-valprint.c (struct ada_val_print_args): Remove format,
deref_ref, and pretty; add options.
(print_optional_low_bound): Add options argument.
(val_print_packed_array_elements): Remove format and pretty
arguments; add options. Update.
(printstr): Add options argument. Update.
(ada_printstr): Likewise.
(ada_val_print): Remove format, deref_ref, pretty arguments; add
options argument. Update.
(ada_val_print_stub): Update.
(ada_val_print_array): Remove format, deref_ref, pretty arguments;
add options. Update.
(ada_val_print_1): Likewise.
(print_variant_part): Likewise.
(ada_value_print): Remove format, pretty arguments; add options.
(print_record): Likewise.
(print_field_values): Likewise.
* ada-lang.h (ada_val_print, ada_value_print, ada_printstr):
* ada-lang.c (ada_print_array_index): Add options argument; remove
format and pretty arguments.
(print_one_exception): Use get_user_print_options.
2008-10-28 Tom Tromey <>
* cli/cli-script.c (do_fclose_cleanup): Remove.
(script_from_file): Use make_cleanup_fclose.
* xml-tdesc.c (do_cleanup_fclose): Remove.
(fetch_xml_from_file): Use make_cleanup_fclose.
* tracepoint.c (tracepoint_save_command): Use
make_cleanup_fclose. Always free pathname.
* source.c (print_source_lines_base): Use make_cleanup_fclose.
* remote.c (fclose_cleanup): Remove.
(remote_file_put): Use make_cleanup_fclose.
(remote_file_get): Likewise.
* linux-nat.c (linux_nat_find_memory_regions): Use
(linux_nat_info_proc_cmd): Likewise.
(linux_proc_pending_signals): Likewise.
* fbsd-nat.c (fbsd_find_memory_regions): Use make_cleanup_fclose.
Free file name.
* cli/cli-dump.c (do_fclose_cleanup): Remove.
(make_cleanup_fclose): Remove.
* defs.h (make_cleanup_fclose): Declare.
* utils.c (do_fclose_cleanup): New function.
(make_cleanup_fclose): Likewise.
2008-10-27 Pedro Alves <>
* inflow.c (kill_command): If the target claims there is still
execution, don't clear the thread list.
2008-10-27 Pedro Alves <>
* cp-name-parser.y: Include defs.h instead of config.h.
(parse_escape): Rename to ...
(cp_parse_escape): ... this.
(yylex): Update.
(xfree) [TEST_CPNAMES]: New.
2008-10-27 Pedro Alves <>
* CONTRIBUTE: Mention autoconf 2.59 and instead of
2.13 and
2008-10-27 Pedro Alves <>
* target.h (struct target_ops) <to_supports_multi_process>: New
(target_supports_multi_process): New define.
* target.c (update_current_target): Inherit and de_fault
* infcmd.c (attach_command): Allow attaching to multiple processes
if the target supports it.
(detach_command): If the target claims there is still execution,
don't clear the thread list.
* remote.c (remote_supports_multi_process): New.
(init_remote_ops): Register remote_supports_multi_process.
2008-10-27 Pedro Alves <>
* (.y.c, .l.c): sed free to xfree.
2008-10-27 Pedro Alves <>
* (INSTALLED_LIBS, CLIBS): Remove reference to
(CDEPS): Remove reference to $(TM_CDEPS).
2008-10-26 Michael Snyder <>
* infrun.c (handle_inferior_event): Handle dynamic symbol
resolution in reverse.
2008-10-25 Joel Brobecker <>
* infrun.c: Minor comment reformatting.
2008-10-25 Pedro Alves <>
* ada-exp.y (write_object_renaming): Use malloc instead of
* p-exp.y (pop_current_type): Use free instead of xfree.
2008-10-24 Pedro Alves <>
* fork-child.c (startup_inferior): Only set threads not-executing
after getting all the pending execs. On TARGET_WAITKIND_IGNORE,
keep waiting, don't resume. On all other cases but
the event ptid.
2008-10-24 Pedro Alves <>
Remote non-stop mode support.
* remote.c (pending_stop_reply): New.
(struct remote_state) <non_stop_aware, support_vCont_t>: New
(remote_async_get_pending_events_token): New.
(notice_new_inferiors): New, abstracted out from record_currthread.
(record_currthread): Call it.
(remote_threads_info): Default threads to running in non-stop
mode. In non-stop mode, only qfThreadInfo is supported.
(remote_close): Discard all pending stop_replies. Close the event
(set_stop_requested_callback): New.
(remote_start_remote): Implement non-stop mode startup. In
all-stop, don't clear the thread list here.
(remote_non_stop_feature): New.
(remote_protocol_features): Add a "QNonStop" feature.
(remote_open_1): Clear cached_wait_status and non_stop_aware.
Clear the thread list here.
(remote_detach_1): Discard pending stop replies of the process we
detached from.
(extended_remote_attach_1): Implement non-stop mode.
(remote_vcont_probe): Recognize `vCont;t'.
(remote_vcont_resume): Implement non-stop mode.
(remote_resume): Don't set waiting_for_stop_reply in non-stop
(remote_stop_ns): New.
(remote_stop): Rename to ...
(remote_stop_as): ... this. If we have a cached wait status,
don't bother interrupting the remote.
(remote_stop): Reimplement as wrapper around remote_stop_as and
(interrupt_query): Don't query in async mode.
(struct cached_reg, cahed_reg_t): New.
(struct stop_reply): New.
(stop_reply_queue): New.
(stop_reply_xmalloc, stop_reply_xfree)
(discard_pending_stop_replies, do_stop_reply_xfree)
(queued_stop_reply, push_stop_reply, peek_stop_reply)
(remote_parse_stop_reply, remote_get_pending_stop_replies)
(process_stop_reply): New.
(remote_wait_ns): New.
(remote_wait_as): Use remote_parse_stop_reply. Invalidate the
notion of current general thread is a process exit was reported.
(remote_wait): Call remote_wait_ns in non-stop mode.
(handle_notification): New.
(putpkt_binary): Handle notifications. Don't care for
waiting_for_stop_reply in non-stop mode.
(getpkt_sane): Rename to ...
(getpkt_or_notif_sane_1): ... this. Add `expecting_notif'
argument. Handle it. Handle notifications.
(getpkt_sane): Reimplement as wrapper around getpkt_or_notif_sane_1.
(getpkt_or_notif_sane): New.
(select_new_thread_callback): Check for exited state instead of
comparing the ptid against minus_one_ptid.
(extended_remote_create_inferior_1): Query the remote about the
current thread.
(remote_supports_non_stop): New.
(init_remote_ops): Register it.
(remote_async_inferior_event_handler): New.
(remote_async_get_pending_events_handler): New.
* infcmd.c (proceed_thread_callback): Comment.
(proceed_after_attach_callback, proceed_after_attach): New.
(attach_command_post_wait): In background attach, resume all
threads, but only if they are unsignalled, and not explicitly
stopped. In foreground attach, in non-stop mode, make sure to
stop all threads of the just attached to process.
(attach_command): In non-stop mode: If doing a background attach,
stop at least one thread. If a foreground attach, stop all
2008-10-24 Pedro Alves <>
* event-loop.h: Mention async_event_handlers.
(async_event_handler): Forward declare.
(async_event_handler_func): New typedef.
(create_async_event_handler, delete_async_event_handler)
(mark_async_event_handler): Declare.
* event-loop.c (event_data): New.
(event_handler_func): Take an event_data instead of an integer.
(struct gdb_event): Replace the integer file descriptor by a
generic event_data.
(async_event_handler): New.
(async_handler_ready): Delete.
(async_event_handler_list): New.
(create_event): New.
(create_file_event): Use it.
(process_event): Adjust.
(gdb_do_one_event): Poll from the event sources in round-robin
fashion across calls. Be sure to consult all sources before
(handle_file_event): Take an event_data instead of an integer.
(gdb_wait_for_event): Add `block' argument. Handle it.
(mark_async_signal_handler): Remove unneeded cast.
(invoke_async_signal_handler): Rename to ...
(invoke_async_signal_handlres): ... this. Return true if any was
(check_async_ready): Delete
(create_async_event_handler): New.
(mark_async_event_handler): New.
(struct async_event_handler_data): New.
(invoke_async_event_handler): New.
(check_async_event_handlers): New.
(delete_async_event_handler): New.
(handle_timer_event): Adjust.
2008-10-24 Doug Evans <>
* dwarf2read.c (typename_concat): Don't segv if prefix or suffix
is NULL. Simplify obs == NULL case.
2008-10-24 Hui Zhu <>
Pedro Alves <>
* infrun.c (can_use_displaced_stepping): Change type to
const char pointer.
(can_use_displaced_stepping_auto): New string.
(can_use_displaced_stepping_on): New string.
(can_use_displaced_stepping_off): New string.
(can_use_displaced_stepping_enum): New array.
(show_can_use_displaced_stepping): In auto mode, also show
the current effect of the option.
(use_displaced_stepping): Return non-zero if displaced
stepping is auto, and can be used with GDBARCH, and in
non-stop mode. Return non-zero if displaced stepping is on,
and can be used with GDBARCH. Return zero otherwise.
(_initialize_infrun): Make the "set displaced-stepping"
command an enum command. Change its class to class_run.
Place it in the top level set list. Extend help to describe
the auto mode.
2008-10-23 Pedro Alves <>
* defs.h: Mention ptid_is_pid.
* inferior.h (ptid_is_pid): Declare.
* gdbthread.h (struct thread_info) <stop_requested>: New field.
(set_stop_requested): Declare.
* infcmd.c (interrupt_target_1): Call set_stop_requested.
* infrun.c (clear_proceed_status): Clear stop_requested.
infrun_thread_stop_requested): New.
(handle_inferior_event): If a TARGET_SIGNAL_TRAP is reported on a
thread that had an explicit stop request, pretend we got a
TARGET_SIGNAL_0. Always stop if the thread had an explicit stop
(print_stop_reason): In the SIGNAL_RECEIVED case, if we're not
outputting to MI, and we got a TARGET_SIGNAL_0, print "# Stopped",
instead of mentioning signal 0.
(ptid_is_pid): New.
* thread.c (set_stop_requested): New.
* linux-nat.c (queued_waitpid): Rename to ...
(queued_waitpid_1): ... this. Add `peek' argument. Handle it.
(queued_waitpid): New, as wrapper to queued_waitpid_1.
(push_waitpid): Push the SIGTRAP to the local event queue, to the
(send_sigint_callback): Delete.
(linux_nat_stop_lwp): New.
(linux_nat_stop): Use it.
2008-10-23 Paul Pluzhnikov <>
* python/python-value (valpy_getitem): Fix heap corruption.
2008-10-23 Aleksandar Ristovski <>
* nto-procfs.c (do_attach): Form proper ptid including pid and tid.
(procfs_create_inferior): Fetch list of threads.
2008-10-23 Aleksandar Ristovski <>
* nto-procfs.c (procfs_files_info): Fix a typo.
(procfs_create_inferior): Make attach_flag per-inferior.
2008-10-23 Tom Tromey <>
* python/python-value.c (value_to_value_object): Initialize
owned_by_gdb field.
(valpy_new): Likewise.
2008-10-23 Jan Kratochvil <>
Joel Brobecker <>
* ada-tasks.c (task_states, long_task_states): Use constant N_()
initializer. Define the strings as const.
(short_task_info, info_task): Translate the strings above.
2008-10-22 Joel Brobecker <>
* NEWS: Add entry for new feature (Ada tasking support).
2008-10-22 Joel Brobecker <>
* On alpha-osf, error out if enable_tui is set to
"yes", and set enable_tui to "no" if previously set to "auto".
Check for waddstr only if TUI support was requested. Move the
part of the configure script that updates various Makefile
variables up, together with the check for waddstr.
* configure: Regenerate.
2008-10-22 Joel brobecker <>
* gdbtypes.c (copy_type): New function.
* gdbtypes.h (copy_type): Add declaration.
* ada-lang.c (ada_to_fixed_type_1): If there is a parallel XVZ
variable, then use it.
2008-10-22 Joel Brobecker <>
* target.h (struct target_ops): Add new field to_get_ada_task_ptid.
(target_get_ada_task_ptid): New macro.
* target.c (default_get_ada_task_ptid): New function.
(update_current_target): Inherit field default_get_ada_task_ptid.
(update_current_target): Make default_get_ada_task_ptid the default
value for field to_get_ada_task_ptid.
* ada-lang.h (struct task_control_block): Delete. Never used.
(struct task_ptid, task_ptid_t, struct task_entry, task_list):
(struct ada_task_info): New.
(ada_task_is_alive, ada_find_printable_frame)
(ada_task_list_iterator_ftype, iterate_over_live_ada_tasks): Add
(ada_build_task_list): Update prototype.
(init_task_list, ada_is_exception_breakpoint): Remove prototypes.
* ada-lang.c (ada_find_printable_frame): Make non-static.
* ada-tasks.c: New file.
* (SFILES): Add ada-tasks.c.
(COMMON_OBS): Add ada-tasks.o.
* linux-thread-db.c (thread_db_find_thread_from_tid)
(thread_db_get_ada_task_ptid): New functions.
(init_thread_db_ops): Set thread_db_ops.to_get_ada_task_ptid.
2008-10-22 Tom Tromey <>
PR gdb/2506:
* c-exp.y (string_exp): New production.
(exp): Use it.
2008-10-21 Jan Kratochvil <>
* mips-tdep.c (mips_n32n64_fp_arg_chunk_p): Update TYPE_FIELD_STATIC
removed before.
2008-10-20 Joel Brobecker <>
* NEWS: Add entry mentioning thread-support on Tru64
2008-10-19 Joel Brobecker <>
* dec-thread.c: New file.
* config/alpha/ (NATDEPFILES): Add dec-thread.o.
(NAT_CLIBS): Define.
2008-10-19 Hui Zhu <>
* infrun.c (handle_inferior_event): Set "stop_pc" when
2008-10-19 Pedro Alves <>
* python/python-value.c (value_object_methods)
(value_object_as_number, value_object_as_mapping): Move to bottom
of file.
(valpy_dealloc, valpy_new, valpy_length, valpy_getitem)
(valpy_setitem, valpy_str, valpy_add, valpy_subtract)
(valpy_multiply, valpy_divide, valpy_remainder, valpy_power)
(valpy_negative, valpy_positive, valpy_absolute, valpy_nonzero)
(valpy_richcompare, valpy_dereference): Don't forward-declare.
(valpy_length) [HAVE_LIBPYTHON2_4]: Change return type to `int'.
2008-10-18 Pedro Alves <>
* infrun.c (adjust_pc_after_break): Do nothing if executing in
2008-10-17 Pedro Alves <>
* infcmd.c (GO_USAGE): Delete.
(go_command): Adjust.
2008-10-17 Michael Snyder <>
Target interface for reverse debugging.
* target.h (enum target_waitkind):
(struct target_ops): New method to_can_execute_reverse.
(target_can_execute_reverse): New macro.
* target.c (update_current_target): Inherit to_can_execute_reverse.
Remote interface for reverse debugging.
* remote.c (remote_can_execute_reverse): New target method.
(remote_resume): Check for reverse exec direction, and send
appropriate command to target.
(remote_wait_as): Check target response for NO_HISTORY status.
Also check for empty reply (target doesn't understand "bs" or "bc).
(remote_vcont_resume): Jump out if attempting reverse execution.
Event handling interface for reverse debugging.
* infrun.c (execution_direction): New state variable.
(enum inferior_stop_reason): Add NO_HISTORY reason.
(handle_inferior_event): Handle TARGET_WAITKIND_NO_HISTORY.
Handle stepping over a function call in reverse.
Handle stepping thru a line range in reverse.
Handle setting a step-resume breakpoint in reverse.
Handle stepping into a function in reverse.
Handle stepping between line ranges in reverse.
(print_stop_reason): Print reason for NO_HISTORY.
(step_into_function): Rename to handle_step_into_function.
(handle_step_into_function_backward): New function.
(set_exec_direction_func, show_exec_direction_func): New funcs.
(proceed): No need to singlestep over a breakpoint
when resuming in reverse.
* inferior.h (enum exec_direction_kind): New enum.
(execution_direction): Export new execution state variable.
* breakpoint.c (make_breakpoint_silent): New function.
* breakpoint.h (make_breakpoint_silent): Export.
* infcmd.c (finish_command): Check for reverse exec direction.
(finish_backward): New function, handle finish cmd in reverse.
User interface for reverse execution.
* (reverse.c): New file.
* reverse.c: New file. User interface for reverse execution.
2008-10-17 Pedro Alves <>
* remote.c (record_currthread): Add inferior before child threads.
(remote_threads_info): Check for exited threads. Mention
notification order.
2008-10-16 Joel Brobecker <>
* breakpoint.h (enum bptype): New enum bp_catchpoint.
Delete bp_catch_fork and bp_catch_vfork.
(struct breakpoint_ops): Add new methods "insert", "remove"
and "breakpoint_hit".
* breakpoint.c (create_fork_vfork_event_catchpoint)
(create_fork_event_catchpoint, create_vfork_event_catchpoint): Remove.
(insert_catchpoint): Remove handling of bp_catch_fork and
bp_catch_vfork catchpoints, and handle them as bp_catchpoint
catchpoints instead.
(insert_bp_location, update_breakpoints_after_exec)
(remove_breakpoint, bpstat_check_location, bpstat_what)
(allocate_bp_location): Likewise.
(print_it_typical, print_one_breakpoint_location, mention): Remove
handling of bp_catch_fork and bp_catch_vfork breakpoints.
(ep_is_catchpoint, user_settable_breakpoint)
(breakpoint_address_is_meaningful, adjust_breakpoint_address)
(breakpoint_re_set_one, disable_command, enable_command):
Remove use of bp_catch_fork and bp_catch_vfork. Add handling of
bp_catchpoint breakpoints.
(insert_catch_fork, remove_catch_fork, breakpoint_hit_catch_fork)
(print_it_catch_fork, print_one_catch_fork, print_mention_catch_fork):
New functions.
(catch_fork_breakpoint_ops): New static constant.
(insert_catch_vfork, remove_catch_vfork, breakpoint_hit_catch_vfork)
(print_it_catch_vfork, print_one_catch_vfork)
(print_mention_catch_vfork): New functions.
(catch_vfork_breakpoint_ops): New static constant.
(create_catchpoint, create_fork_vfork_event_catchpoint): New functions.
(catch_fork_command_1): Use create_fork_vfork_event_catchpoint
to create the fork and vfork catchpoints.
(gnu_v3_exception_catchpoint_ops): Set new breakpoint_ops fields.
* ada-lang.c (catch_exception_breakpoint_ops): Set new breakpoint_ops
(catch_exception_unhandled_breakpoint_ops): Likewise.
(catch_assert_breakpoint_ops): Likewise.
2008-10-16 Pedro Alves <>
* remote.c (set_general_process): New.
(remote_check_symbols): Use it.
2008-10-16 Pedro Alves <>
* remote.c (push_remote_target): Delete.
* target.h (push_remote_target): Delete declaration.
2008-10-15 Pedro Alves <>
* remote.c (remote_close): Unregister remote_desc from the event
loop. Always restore the SIGINT handler. Discard all inferiors
(remote_detach_1, remote_disconnect): Don't unregister the file
descriptor from the event loop here.
(interrupt_query, readchar, getpkt_sane): Pop the target instead
of morning the current inferior.
(remote_kill): Don't unregister the file descriptor from the event
loop here.
(remote_mourn_1): Don't discard inferiors here.
2008-10-15 Pedro Alves <>
* breakpoint.c (breakpoint_init_inferior): Clean up the moribund
locations list.
(moribund_breakpoint_here_p): Record the moribund
location in the moribund_locations vector.
* breakpoint.h (moribund_breakpoint_here_p): Declare.
(displaced_step_fixup): Check if the breakpoint the thread was
trying to step over has been removed since having been placed in
the displaced stepping queue.
(adjust_pc_after_break): In non-stop mode, check for a moribund
breakpoint at the stop pc.
(handle_inferior_event): Don't retire moribund breakpoints on
2008-10-15 Pedro Alves <>
* infrun.c (displaced_step_prepare): Switch thread temporarily
while we're here.
(displaced_step_fixup): Make sure target_resume sees ptid as
inferior_ptid. Add debug output.
2008-10-14 Pedro Alves <>
Remove dead code.
* breakpoint.c (show_breakpoint_hit_counts): Delete.
(print_one_breakpoint_location): Adjust.
(breakpoint_clear_ignore_counts): Delete.
* breakpoint.h (breakpoint_clear_ignore_counts): Remove
* target.c (generic_mourn_inferior): Don't clear ignore
counts (never reached).
2008-10-10 Doug Evans <>
* dwarf2read.c (comp_unit_head): Use unsigned int consistently
for dwarf section offsets and sizes.
(dwarf2_cu): Ditto.
(dwarf2_per_cu_data): Ditto.
(create_all_comp_units): Change offset to unsigned int.
dwarf2_find_containing_comp_unit,dwarf2_find_comp_unit): Ditto.
* dwarf2read.c (read_initial_length): Delete cu_header arg.
All callers updated.
(read_checked_initial_length_and_offset): New function.
(read_offset_1): New function.
(read_offset): Call it.
(dwarf_decode_line_header): Call read_checked_initial_length_and_offset
instead of read_initial_length. Call read_offset_1 instead of
* dwarf2read.c (dwarf2_get_ref_die_offset): Remove unused arg `cu'.
All callers updated.
* dwarf2read.c (dwarf_attr_name): Unconditionally support all
DW_AT_MIPS_* except DW_AT_MIPS_fde which collides with
2008-10-10 Pedro Alves <>
* remote.c (remote_start_remote): Always tell the stub if we're in
2008-10-09 Pedro Alves <>
* remote.c (remote_wait): Rename to...
(remote_wait_as): ... this. Don't loop here. If the remote
didn't stop, return TARGET_WAITKIND_IGNORE.
(remote_wait): New, reimplemented on top of remote_wait_as.
2008-10-09 Thomas Schwinge <>
* (gnu-nat.o): Revert the 2008-09-10 change, as the problem
is fixed upstream.
* reply_mig_hack.awk: Use the `BAD_TYPECHECK' macro.
* MAINTAINERS (Write After Approval): Add myself.
2008-10-09 Pedro Alves <>
Make it compile without warnings.
* procfs.c (create_procinfo): Initialize `parent'.
(dead_procinfo): Pass a constant string as format to error.
(procfs_address_to_host_pointer): Add cast to gdb_type *.
(procfs_find_LDT_entry): Adjust format string to long int
(procfs_xfer_partial): Adjust prototype. Add gdb_byte* cast.
(procfs_xfer_memory): Adjust prototype.
(info_mappings_callback, info_proc_mappings): Adjust to not pass a
variable as printf_filtered format.
(procfs_make_note_section): Change type of auxv local to gdb_byte.
* Remove special rule.
2008-10-09 Pedro Alves <>
Daniel Jacobowitz <>
* remote.c (remote_open_1): Move acknowledging any pending ack,
querying supported features, activating noack mode, finding the
target description, enabling extended remote, and checking remote
symbols from here ...
(remote_start_remote): ... to here.
(remote_open_1): Don't pop the target if it is already gone.
* target.c (unpush_target): Check for the dummy target.
2008-10-09 Pedro Alves <>
* ser-mingw.c: Include "command.h".
(pipe_windows_open): Declare locals at the beginning of the scope.
2008-10-08 Pedro Alves <>
* remote.c (struct remote_state) <waiting_for_stop_reply>: New
(remote_open_1): Clear waiting_for_stop_reply.
(remote_resume): Set waiting_for_stop_reply.
(remote_wait): Clear or set waiting_for_stop_reply accordingly.
(putpkt_binary): If we're in async mode and waiting for a stop
reply, bail out with an error.
(extended_remote_mourn_1): Clear waiting_for_stop_reply.
2008-10-08 Pedro Alves <>
* remote.c (remote_get_thread_info): If the remote doesn't support
the query, bail out.
2008-10-08 Jan Kratochvil <>
Convert static_kind into loc_kind enum.
* gdbtypes.h (enum field_loc_kind): New.
(union field_location): New field dwarf_block.
(struct field): Rename static_kind as loc_kind.
(FIELD_STATIC_KIND): Rename to ...
(FIELD_LOC_KIND): ... here.
(TYPE_FIELD_LOC_KIND): ... here and use there now new FIELD_LOC_KIND.
(FIELD_PHYSADDR): Rename to ...
(FIELD_PHYSNAME): Rename to ...
(field_is_static): New declaration.
* gdbtypes.c (field_is_static): New function.
(copy_type_recursive): Update throughout.
* amd64-tdep.c, c-typeprint.c, coffread.c, cp-valprint.c, dwarf2read.c,
eval.c, jv-typeprint.c, jv-valprint.c, mdebugread.c, p-typeprint.c,
p-valprint.c, valops.c, value.c, varobj.c: Update throughout.
2008-10-07 Thomas Schwinge <>
Pedro Alves <>
* gnu-nat.h: Rename `current_inferior' to `gnu_current_inf' to
avoid a name collision.
* gnu-nat.c: Likewise.
* i386gnu-nat.c: Likewise.
2008-10-07 Joel Brobecker <>
* ada-lang.c (ada_evaluate_subexp) [OP_ATR_SIZE]: Add handling
of arguments that are references.
2008-10-06 Doug Evans <>
* dwarf2read.c (dwarf2_die_debug): New static global.
(dump_die_shallow): Renamed from dump_die, New args f, indent.
Print to specified file, indented by the specified amount.
(dump_die_for_error): New fn. Point all existing callers of
dump_die here.
(dump_die_die_1,dump_die): New fns, replaces ...
(dump_die_list): ... deleted.
(read_die_and_children_1): Old contents of read_die_and_children
moved here.
(read_die_and_children): Rewrite.
(read_die_and_siblings): Call read_die_and_children_1 instead of
(_initialize_dwarf2_read): New option "debug dwarf2-die".
* (pdie): New macro.
* dwarf2read.c (offset_in_cu_p): New function.
(find_partial_die,follow_die_ref): Use it.
* symmisc.c (maintenance_info_symtabs): Watch for ^c.
(maintenance_info_psymtabs): Ditto.
2008-10-05 Michael Snyder <>
* infrun.c (handle_inferior_event): Fix typo in comment.
2008-10-04 Vladimir Prus <>
* mi/mi-interp.c (mi_on_resume): Flush raw_stdout.
2008-10-03 Paul Pluzhnikov <>
PR gdb/2384:
* gdbtypes.c (get_vptr_fieldno): baseclass and basetype may have
different lifetimes.
2008-10-03 Joel Brobecker <>
* solib-osf.c: Include "solib.h".
2008-10-03 Paul Pluzhnikov <>
* utils.c, defs.h (gdb_buildargv): New fn. Wrap buildargv
and check for out-of-memory condition.
* exec.c (exec_file_command): Call it.
* infrun.c (handle_command, xdb_handle_command): Likewise.
* interps.c (interpreter_exec_cmd): Likewise.
* linux-nat.c (linux_nat_info_proc_cmd): Likewise.
* procfs.c (info_proc_cmd): Likewise.
* remote-mips.c (common_open): Likewise.
* remote-sim.c (gdbsim_kill, gdbsim_create_inferior)
(gdbsim_open): Likewise.
* remote.c (extended_remote_run, remote_put_command)
(remote_get_command, remote_delete_command): Likewise.
* ser-mingw.c (pipe_windows_open): Likesise.
* source.c (add_path, show_substitute_path_command)
(unset_substitute_path_command, set_substitute_path_command):
* stack.c (backtrace_command): Likewise.
* symfile.c (symbol_file_command, generic_load)
(add_symbol_file_command): Likesise.
* symmisc.c (maintenance_print_symbols, maintenance_print_psymbols)
(maintenance_print_msymbols): Likewise.
2008-10-02 Jan Kratochvil <>
Replace TYPE_ARRAY_{UPPER,LOWER}_BOUND_TYPE by a bit if {un,}defined.
* c-typeprint.c (c_type_print_varspec_suffix), m2-typeprint.c
(m2_array), p-typeprint.c (pascal_type_print_varspec_prefix),
valops.c (value_cast), varobj.c (c_number_of_children): Replace
* parse.c (follow_types): Use TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED.
* f-valprint.c (f77_get_dynamic_upperbound): Replace with ...
(f77_get_upperbound): ... this function handling now only
(f77_get_dynamic_lowerbound): Replace with ...
(f77_get_lowerbound): ... this function handling now only
(f77_get_dynamic_length_of_aggregate, f77_create_arrayprint_offset_tbl):
Update their callers.
* eval.c (evaluate_subexp_standard): Update their callers.
* f-lang.h (f77_get_dynamic_upperbound, f77_get_upperbound)
(f77_get_dynamic_lowerbound, f77_get_lowerbound): Update their
* f-typeprint.c (f_type_print_varspec_suffix, f_type_print_base): Remove
the lower_bound_was_default variable. Update the
f77_get_dynamic_upperbound, f77_get_upperbound and
* gdbtypes.c (print_bound_type): Remove the function.
(recursive_dump_type): Remove its calls printing UPPER_BOUND_TYPE and
* gdbtypes.h (enum array_bound_type): Remove.
(struct main_type): Remove the fields upper_bound_type and
lower_bound_type. Comment the new overload of the field artificial.
2008-10-02 Tom Tromey <>
* (HFILES_NO_SRCDIR): Remove gdb-events.h, gstdint.h.
2008-10-02 Daniel Jacobowitz <>
* mips-linux-tdep.c (mips_linux_in_dynsym_resolve_code): Update
(mips_linux_skip_resolver): Also use glibc_skip_solib_resolver.
(mips_linux_init_abi): Do not override skip_trampoline_code.
* configure.tgt (mips*-*-linux*): Add glibc-tdep.o.
* mips-tdep.c (mips32_scan_prologue): Stop scanning at branches.
(mips_stub_frame_sniffer): Use the stub frame sniffer for PIC stubs.
(mips_skip_mips16_trampoline_code): Rename from
(mips_skip_pic_trampoline_code, mips_skip_trampoline_code): New.
* infrun.c (handle_inferior_event): Do not pass zero to
2008-10-02 Pierre Muller <>
Pedro Alves <>
* win32-nat.c (do_initial_win32_stuff): Set inferior_ptid.
2008-10-01 Tom Tromey <>
* symtab.c (search_symbols): Update.
* symtab.h (domain_enum_tag) <METHODS_DOMAIN>: Remove.
2008-10-01 Tom Tromey <>
* symfile.c (syms_from_objfile): Update.
(reread_symbols): Update.
* objfiles.h (OBJF_SYMS): Remove.
(OBJF_SHARED): Likewise.
(OBJF_READNOW): Likewise.
2008-10-01 Tom Tromey <>
* symtab.c (find_pc_sect_psymtab): Use MSYMBOL_TYPE.
(find_pc_sect_symtab): Likewise.
* symmisc.c (dump_msymbols): Use MSYMBOL_TYPE.
* solib-som.c (som_solib_desire_dynamic_linker_symbols): Use
* parse.c (write_exp_msymbol): Use MSYMBOL_TYPE.
* objc-lang.c (find_methods): Use MSYMBOL_TYPE.
* minsyms.c (lookup_minimal_symbol_by_pc_section_1): Use
* m2-exp.y (yylex): Use SYMBOL_CLASS.
2008-10-01 Tom Tromey <>
* xcoffread.c (RECORD_MINIMAL_SYMBOL): Update.
(scan_xcoff_symtab): Update.
* mdebugread.c (record_minimal_symbol): Update.
(parse_partial_symbols): Update.
* elfread.c (record_minimal_symbol): Update.
* dbxread.c (record_minimal_symbol): Update.
* coffread.c (record_minimal_symbol): Update.
* sh64-tdep.c (MSYMBOL_IS_SPECIAL): Redefine.
(sh64_elf_make_msymbol_special): Update.
* mips-tdep.c (mips_elf_make_msymbol_special): Use
(mips_elf_make_msymbol_special): Likewise.
(msymbol_is_special): Likewise.
* minsyms.c (prim_record_minimal_symbol_and_info): Update.
(install_minimal_symbols): Likewise.
(prim_record_minimal_symbol): Update.
(prim_record_minimal_symbol_and_info): Remove 'info' argument.
* m68hc11-tdep.c (MSYMBOL_SET_RTC): Redefine.
(MSYMBOL_SET_RTI): Redefine.
(MSYMBOL_IS_RTC): Redefine.
(MSYMBOL_IS_RTI): Redefine.
* arm-tdep.c (MSYMBOL_SET_SPECIAL): Redefine.
* symtab.h (struct minimal_symbol) <info>: Remove.
<target_flag_1, target_flag_2>: New fields.
(prim_record_minimal_symbol_and_info): Update.
2008-09-30 Joel Brobecker <>
* ada-lang.c (is_digits_suffix): Delete unused function.
2008-09-30 Paul Hilfinger <>
* ada-lang.c (ada_modulus): Correct to avoid sign problem with
moduli >= 2**31.
2008-09-30 Paul Hilfinger <>
* ada-lang.c (ada_lookup_struct_elt_type): Handle case of a "naked"
variant branch.
(empty_record): Use INIT_CPLUS_SPECIFIC, since this field is not
supposed to be null. Fixes debugger segfaults.
(is_unchecked_variant): New function.
(to_fixed_variant_branch_type): Modify to leave unchecked unions
(ada_template_to_fixed_record_type_1): Fix comment.
2008-09-30 Joel Brobecker <>
* ada-lang.c (standard_exc): New static constant.
(ada_exception_catchpoint_cond_string): Add special handling
for the predefined exceptions.
2008-09-30 Joel Brobecker <>
* ada-lang.c (ADA_RETAIN_DOTS): Delete this dead macro. Update
the code accordingly.
2008-09-30 Joel Brobecker <>
* ada-lang.c (ada_evaluate_subexp) [UNOP_IND]: Remove strange
treatment of expect_type. Return the correct type when dereferencing
an integer.
2008-09-30 Tom Tromey <>
PR gdb/2484:
* symtab.c (struct add_macro_name_data): New struct.
(add_macro_name): New function.
(default_make_symbol_completion_list): Complete macro names.
* scm-lang.c (scm_language_defn): Update.
* p-lang.c (pascal_language_defn): Update.
* objc-lang.c (objc_language_defn): Update.
* macrotab.h (macro_callback_fn): Add user_data argument.
(macro_for_each): Likewise.
(macro_for_each_in_scope): Declare.
* macrotab.c: (struct macro_for_each_data): New struct.
(foreach_macro): Use it.
(macro_for_each): Likewise.
(foreach_macro_in_scope): New function.
(macro_for_each_in_scope): Likewise.
* macrocmd.c (print_one_macro): Add argument.
(macro_list_command): Pass NULL to macro_for_each.
* m2-lang.c (m2_language_defn): Update.
* language.h (struct language_defn) <la_macro_expansion>: New
(macro_expansion): New enum.
* language.c (unknown_language_defn): Update. Fix order of
(auto_language_defn): Likewise.
(local_language_defn): Update.
* jv-lang.c (java_language_defn): Update.
* f-lang.c (f_language_defn): Update.
* c-lang.c (c_language_defn): Update.
(cplus_language_defn): Likewise.
(asm_language_defn): Likewise.
(minimal_language_defn): Likewise.
* ada-lang.c (ada_language_defn): Update.
2008-09-30 Joel Brobecker <>
* dwarf2read.c (dwarf2_get_subprogram_pc_bounds): New function.
(get_scope_pc_bounds): Use it.
2008-09-27 Tom Tromey <>
* NEWS: Update.
* macrocmd.c (extract_identifier): Add is_parameter argument.
(macro_define_command): Update.
(macro_undef_command): Likewise.
* macroexp.c (stringify): New function.
(find_parameter): Likewise.
(gather_arguments): Add nargs argument. Handle varargs.
(substitute_args): Add is_varargs and va_arg_name arguments.
Handle varargs, splicing, stringification. Use find_parameter.
(expand): Handle varargs.
2008-09-27 Tom Tromey <>
* scm-lang.c (scm_language_defn): Update.
* p-typeprint.c (pascal_print_typedef): New function.
* p-lang.h: (pascal_print_typedef): Declare.
* p-lang.c (pascal_language_defn): Update.
* objc-lang.c (objc_language_defn): Update.
* m2-typeprint.c (m2_print_typedef): New function.
* m2-lang.h (m2_print_typedef): Declare.
* m2-lang.c (m2_language_defn): Update.
* language.h (_LANG_c, _LANG_m2, _LANG_fortran, _LANG_pascal):
(struct language_defn) <la_print_typedef>: New field.
(default_print_typedef): Declare.
(LA_PRINT_TYPEDEF): New define.
* language.c (unknown_language_defn): Update.
(auto_language_defn): Update.
(local_language_defn): Update.
* jv-lang.c (java_language_defn): Update.
* f-lang.c (f_language_defn): Update.
* c-typeprint.c (c_print_typedef): New function.
* c-lang.h (c_print_typedef): Declare.
* c-lang.c (c_language_defn): Update.
(cplus_language_defn): Update.
(asm_language_defn): Update.
(minimal_language_defn): Update.
* ada-lang.c (ada_language_defn): Update.
* typeprint.c (default_print_typedef): New function.
2008-09-27 Tom Tromey <>
* jv-exp.y (insert_exp): Define using ISO syntax.
(copy_exp): Likewise.
(push_expression_name): Likewise.
(push_fieldnames): Likewise.
(java_type_from_name): Likewise.
(yyerror): Likewise.
(yylex): Likewise.
(parse_number): Likewise.
2008-09-26 Joel Brobecker <>
2008-09-25 Stephan Springl <> (tiny change)
* stack.c (print_frame_args): Fix typos in comments.
2008-09-25 Sérgio Durigan Júnior <>
* linux-nat.c (get_pending_status): Fix argument to WIFSTOPPED.
2008-09-24 Vladimir Prus <>
* remote-sim.c (gdbsim_create_inferior): Fix missing parenthesis.
2008-09-24 Andreas Schwab <>
* frame.c (get_frame_register_bytes): Take pseudo registers into
account. Avoid excessive function calls.
2008-09-23 Doug Evans <>
* dcache.c (state_chars): New static global.
All uses updated.
(dcache_info): Print cache state as mnemonically useful letters instead
of magic numbers.
* dwarf2read.c (comp_unit_head): Reorganize for better packing.
2008-09-22 Tom Tromey <>
* symfile.c (symbol_file_add_with_addrs_or_offsets): Don't use
2008-09-22 Pedro Alves <>
* infrun.c (follow_exec): Don't do a generic mourn. Instead
inline the required bits.
* breakpoint.h (enum inf_context): Add inf_execd.
2008-09-22 Pedro Alves <>
* infrun.c (handle_inferior_event): In the follow exec case,
context-switch before doing anything else.
2008-09-22 Pedro Alves <>
* top.c (any_thread_of, kill_or_detach): New functions.
(quit_target): Iterate over all inferiors, killing or detaching
2008-09-22 Pedro Alves <>
Remove the attach_flag global, and make it per-inferior.
* inferior.h (attach_flag): Delete.
(inferior_process): Declare.
* solib.c (update_solib_list): Adjust.
* gnu-nat.c (gnu_create_inferior, gnu_attach): Adjust.
* inf-ptrace.c (inf_ptrace_detach): Adjust.
(inf_ptrace_files_info): Get it from the current inferior.
* inf-ttrace.c (inf_ttrace_attach): Adjust.
(inf_ttrace_files_info): Get it from the current
* inflow.c (terminal_inferior, terminal_ours_1, set_sigint_trap)
(clear_sigint_trap): Get it from the current process.
* remote.c (extended_remote_attach_1)
(extended_remote_create_inferior_1): Adjust.
* top.c (quit_confirm, quit_target): Get it from the current inferior.
* procfs.c (do_detach): Adjust.
(procfs_wait): Get it from the event inferior.
(procfs_files_info): Get it from the current inferior.
* nto-procfs.c (procfs_files_info): Likewise.
(procfs_attach): Adjust. Set the attach_flag here.
(do_attach): Don't set it here.
(procfs_detach): Don't clear it.
(procfs_mourn_inferior): Don't clear it.
* solib-osf.c (osf_solib_create_inferior_hook): Adjust.
* target.c (attach_flag): Delete.
(generic_mourn_inferior): Don't clear it.
* win32-nat.c (get_win32_debug_event): Get it from the event
(do_initial_win32_stuff): Add attaching argument. Set attach_flag
in the inferior accordingly.
(win32_attach): Don't set the attach_flag here. Pass 1 to
(win32_files_info): Get it from the current inferior.
(win32_create_inferior): Dont clear attach_flag here. Pass 0 to
2008-09-22 Pedro Alves <>
Make the stop_soon global be per-inferior instead.
* infcmd.c (attach_command_post_wait): Adjust.
(attach_command): Likewise.
* inferior.h (stop_soon): Delete.
(struct inferior): Add stop_soon member.
* infrun.c (stop_soon): Delete.
(clear_proceed_status, start_remote)
(fetch_inferior_event, handle_inferior_event): Adjust.
(signal_stop_state): Don't check stop_soon here. Check in callers
(save_inferior_status, restore_inferior_status): Adjust.
* linux-nat.c (linux_nat_resume, linux_nat_wait): Always pass
signals to common code if starting up the inferior.
* inferior.h (struct inferior_info): Added stop_soon member.
* inferior.c (add_inferior) Clear stop_soon.
* mips-tdep.c (heuristic_proc_start): Adjust.
* nto-procfs.c (procfs_create_inferior): Adjust.
* solib-irix.c (irix_solib_create_inferior_hook): Adjust.
* solib-osf.c (osf_solib_create_inferior_hook): Adjust.
* solib-sunos.c (sunos_solib_create_inferior_hook): Adjust.
* solib-svr4.c (svr4_solib_create_inferior_hook): Adjust.
* win32-nat.c (do_initial_win32_stuff): Adjust.
* alpha-tdep.c (alpha_heuristic_proc_start): Adjust.
2008-09-22 Pedro Alves <>
Implement remote multi-process extensions.
* remote.c (struct remote_state): Add extended and
multi_process_aware fields.
(remote_multi_process_p): New.
(PACKET_vKill): New.
(record_currthread): Use thread_change_ptid. Notice new
(set_thread, remote_thread_alive): Use write_ptid.
(write_ptid, read_ptid): New.
(remote_current_thread, remote_threads_extra_info): Use them.
(remote_threads_info): Likewise. Detect new inferiors.
(remote_start_remote): Add inferior to inferior list.
(remote_multi_process_feature): New.
(remote_protocol_features): Add "multiprocess" feature.
(remote_query_supported): Pass "multiprocess+" as supported
(remote_open_1): Clear multi_process_aware. Set extended
(remote_detach_1): Detach current process. Use extended packet
format for extended-remote multi-process. Detach process from the
inferior list. Only mourn after printing output.
(extended_remote_attach_1): Add process to the inferior list.
(remote_vcont_resume): Use write_ptid to pass the thread ids.
(remote_wait): Use read_ptid. Implement the extended
multi-process extension format of the 'W' and 'X' reply packets.
Remove exited inferiors from inferior list.
(remote_xfer_memory): Set general thread.
(remote_vkill): New.
(extended_remote_kill): New.
(remote_mourn_1): Discard all inferiors.
(select_new_thread_callback): New.
(extended_remote_mourn_1): If there are more processes to debug,
switch to a thread in another process, and don't pop the target.
(extended_remote_create_inferior_1): Add the new process to the
inferior list.
(remote_stopped_by_watchpoint): Indenting.
(remote_xfer_partial): Set the general thread.
(remote_pid_to_str): If the remote is multi-process aware, print
the process id as well as the thread id.
(remote_get_thread_local_address): Use write_ptid.
(init_extended_remote_ops): Register extended_remote_kill.
(_initialize_remote): Register new packets. Change
magic_null_ptid's, not_sent_ptid's and any_thread_ptid's pid
member to 42000.
* thread.c (thread_change_ptid): Also account for the inferior pid
* inferior.h (discard_all_inferiors): Declare.
* inferior.c (discard_all_inferiors): New.
2008-09-22 Pedro Alves <>
* gnu-nat.c (gnu_attach): Add process to inferiors table.
(gnu_detach): Remove it.
* go32-nat.c (go32_create_inferior): Add process to gdb's inferior
* inf-ptrace.c (inf_ptrace_follow_fork): Delete and add inferiors
to inferior table accordingly.
(inf_ptrace_attach): Add new process to inferior table.
(inf_ptrace_detach): Remove it.
* inf-ttrace.c (inf_ttrace_follow_fork): Delete and add inferiors
to inferior table accordingly.
(inf_ttrace_attach): Add process to inferior table.
(inf_ttrace_detach): Remove it.
* linux-fork.c (init_fork_list): Delete any left over inferior.
(linux_fork_mourn_inferior, detach_fork_command): Also delete
processes from inferior list.
* monitor.c (monitor_open): Add process to inferior list.
(monitor_close): Remove it.
* nto-procfs.c (procfs_attach): Add process to inferior list.
Find threads after pushing the target.
(procfs_detach): Remove process from inferior list.
(procfs_create_inferior): Add process to inferior list.
* procfs.c (procfs_detach): Remove process from inferior list.
(do_attach): Add process to inferior list.
* remote-sim.c (sim_create_inferior): Add process to inferior list.
(gdbsim_close): Remove it.
* target.c (generic_mourn_inferior): If inferior_ptid is not
null_ptid, remove the corresponding inferior from inferior list.
* win32-nat.c (do_initial_win32_stuff): Add process to inferior list.
(win32_detach): Remove it.
* linux-nat.c (linux_child_follow_fork): Delete and add inferiors
to inferior list accordingly.
* fork-child.c (fork_inferior): Add process to inferior list.
* corelow.c (CORELOW_PID): Define.
(core_close): Remove core from inferior list.
(core_open): Add it.
2008-09-22 Pedro Alves <>
* inferior.h: Forward declare struct ui_out.
Forward declare struct private_inferior.
(struct inferior): New.
(init_inferior_list, add_inferior, add_inferior_silent)
(delete_inferior, delete_inferior_silent, detach_inferior)
(gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
(valid_inferior_id, find_inferior_pid): New functions.
(inferior_callback_func): New typedef.
(iterate_over_inferiors, print_inferior, have_inferiors)
(current_inferior): New functions.
* inferior.c: New file.
* (SFILES): Add inferior.c.
(COMMON_OBS): Add inferior.o.
2008-09-22 Jonathan Larmour <>
* arm-tdep.c (arm_skip_prologue): Call skip_prologue_using_sal
instead of determining symbol and line info directly.
* MAINTAINERS: Update my email address.
2008-09-22 Daniel Jacobowitz <>
* symtab.c (skip_prologue_using_sal): Treat two consecutive lines
at the same address as a prologue marker. Do not skip an entire
2008-09-22 Andrew Stubbs <>
* frame.c (get_frame_register_bytes): Comment improvments.
2008-09-22 Pedro Alves <>
* linux-nat.c (linux_nat_wait): Only use set_ignore_sigint in
all-stop mode.
2008-09-19 Andrew Stubbs <>
* MAINTAINERS: Update my email address.
2008-09-19 Andrew Stubbs <>
* frame.c (get_frame_register_bytes): Detect bad debug info.
2008-09-17 Jan Kratochvil <>
Fix a crash on uninitialized ECS->EVENT_THREAD for a newly found thread.
* infrun.c (wait_for_inferior): Move this ECS->EVENT_THREAD
initialization ...
(fetch_inferior_event): ... and this ECS->EVENT_THREAD initialization
(handle_inferior_event): ... here after the add_thread call together
with the local adjust_pc_after_break and reinit_frame_cache calls.
2008-09-16 David Daney <>
* breakpoint.c (bpstat_stop_status): Clear breakpoint_at for
all hardware bpstats.
2008-09-16 Joel Brobecker <>
* gstdint.h: Delete.
2008-09-15 Mark Kettenis <>
* infcall.c (generic_push_dummy_code): Remove.
(push_dummy_code): Unconditionally call gdbarch_push_dummy_code.
2008-09-15 Doug Evans <>
* dwarf2read.c (struct abbrev_info): Make members name, form 16 bits.
(struct attribute): Ditto.
2008-09-14 John David Anglin <>
* hppa-linux-tdep.c (hppa_linux_sigtramp_frame_unwind_cache): Record
* hppa-linux-tdep.c (hppa_dwarf_reg_to_regnum): Remove surrounding
"#if 0" "#endif". Fix mapping of DWARF DBX registers to GDB registers.
Correct arguments and improve comments.
(hppa_linux_init_abi): Call set_gdbarch_dwarf2_reg_to_regnum. Delete
disabled code.
* hppa-tdep.c (hppa64_dwarf_reg_to_regnum): Fix check for floating
point DBX register, change error to warning, and improve comments.
2008-09-14 Doug Evans <>
* dwarf2read.c (struct die_info): Make members tag, num_attrs 16 bits.
2008-09-14 John David Anglin <>
* hppa-linux-tdep.c (hppa_linux_supply_fpregset): Correct iteration.
2008-09-13 Joel Brobecker <>
* defs.h (GCC_GENERATED_STDINT_H): Define.
2008-09-13 Tom Tromey <>
* varobj.c (varobj_set_display_format): Use xfree.
* tracepoint.c (stringify_collection_list): Use xfree.
* remote-fileio.c (remote_fileio_reset): Use xfree.
* mipsread.c (read_alphacoff_dynamic_symtab): Use xfree.
* dfp.c (decimal_from_floating): Use xfree, xstrprintf. Don't use
* cp-support.c (mangled_name_to_comp): Use xfree.
2008-09-13 Joel Brobecker <>
* ada-lang.c (remove_extra_symbols): Remove stub symbols if
the associated complete symbol is also in the list.
(ada_add_local_symbols, ada_add_non_local_symbols): New functions,
extracted out from ada_lookup_symbol_list.
(ada_lookup_symbol_list): Use them. Remove the search through
the minimal symbols.
2008-09-13 Joel Brobecker <>
* dwarf2read.c (add_partial_subprogram): New procedure.
(scan_partial_symbols): Use it.
(load_partial_dies): Read in children of subprogram and lexical
blocks for Ada compilation units.
2008-09-13 Tom Tromey <>
* symfile.c (build_id_verify): Free 'found'.
(find_separate_debug_file): Use xfree, not free.
2008-09-12 Doug Evans <>
* corefile.c (write_memory): Remove unnecessary copying.
* sol-thread.c (_initialize_sol_thread): Add FIXME regarding
order of _initialize_* fns.
* dwarf2read.c (comp_unit_head): Rename first_die_ptr to
first_die_offset. All uses updated.
Delete unused members cu_head_ptr, next.
Move members base_known, base_address to ...
(dwarf2_cu) ... here. All uses updated.
2008-09-12 Pedro Alves <>
* (generated_files): Add $(NAT_GENERATED_FILES).
* config/i386/ (NAT_GENERATED_FILES): New.
2008-09-11 Ulrich Weigand <>
* fork-child.c (startup_inferior): Use target_wait and target_resume
directly instead of calling wait_for_inferior / resume.
* infcmd.c (kill_if_already_running): Do not call no_shared_libraries
or init_wait_for_inferior.
(run_command_1): Call init_wait_for_inferior.
2008-09-11 Ulrich Weigand <>
* gdbtypes.h (builtin_type_void_data_ptr, builtin_type_void_func_ptr,
builtin_type_CORE_ADDR, builtin_type_char, builtin_type_short,
builtin_type_int, builtin_type_long, builtin_type_signed_char,
builtin_type_unsigned_char, builtin_type_unsigned_short,
builtin_type_unsigned_int, builtin_type_unsigned_long,
builtin_type_float, builtin_type_double, builtin_type_long_double,
builtin_type_complex, builtin_type_double_complex, builtin_type_string,
builtin_type_bool, builtin_type_long_long,
builtin_type_unsigned_long_long): Remove macros.
(builtin_type_f_character, builtin_type_f_integer,
builtin_type_f_integer_s2, builtin_type_f_logical,
builtin_type_f_logical_s1, builtin_type_f_logical_s2,
builtin_type_f_real, builtin_type_f_real_s8, builtin_type_f_real_s16,
builtin_type_f_complex_s8, builtin_type_f_complex_s16,
builtin_type_f_complex_s32): Likewise.
(builtin_type_m2_char, builtin_type_m2_int, builtin_type_m2_card,
builtin_type_m2_real, builtin_type_m2_bool): Likewise.
(struct builtin_f_type, builtin_f_type): Move to f-lang.h.
(struct builtin_m2_type, builtin_m2_type): Move to m2-lang.h.
* f-lang.h (struct builtin_f_type, builtin_f_type): Move here.
* m2-lang.h (struct builtin_m2_type, builtin_m2_type): Move here.
2008-09-11 Ulrich Weigand <>
* solib-svr4.c (LM_ADDR_FROM_LINK_MAP): Use builtin types of
target_gdbarch instead of builtin_type_void_data_ptr.
IGNORE_FIRST_LINK_MAP_ENTRY, scan_dyntag, elf_locate_base,
solib_svr4_r_map, solib_svr4_r_brk, solib_svr4_r_ldsomap,
open_symbol_file_object): Likewise.
* nto-tdep.c (LM_ADDR): Likewise.
2008-09-11 Ulrich Weigand <>
* bsd-uthread.c (bsd_uthread_read_memory_address): New function.
(bsd_uthread_fetch_registers, bsd_uthread_store_registers,
bsd_uthread_wait, bsd_uthread_find_new_threads): Use it.
2008-09-11 Ulrich Weigand <>
* procfs.c (procfs_address_to_host_pointer): Use target_gdbarch
and its associated types to perform pointer conversion.
(procfs_can_use_hw_breakpoint): Likewise.
(procfs_auxv_parse): Remove unused variable.
2008-09-11 Ulrich Weigand <>
* auxv.c (default_auxv_parse): Use gdbarch_ptr_bit (target_gdbarch)
instead of builtin_type_void_data_ptr.
* target.c (default_region_ok_for_hw_watchpoint): Likewise.
2008-09-11 Ulrich Weigand <>
* expprint.c (print_subexp_standard): Compare against builtin type
associated with exp->gdbarch instead of builtin_type_char.
* f-valprint.c (f_val_print): Use extract_unsigned_integer to
extract values of arbitrary logical type. Handle arbitrary
complex types.
* printcmd.c (float_type_from_length): New function.
(print_scalar_formatted, printf_command): Use it.
2008-09-11 Ulrich Weigand <>
* valops.c: Include "objfiles.h" and "symtab.h".
(find_function_in_inferior): New argument OBJF_P. Use it to return
objfile where function is defined. Use per-objfile arch types
instead of builtin_type_ to define default return type.
* linux-fork.c (checkpoint_command): Update calls. Use per-objfile
architecture to define inferior call argument types.
* gcore.c (derive_heap_segment): Likewise.
* objc-lang.c (value_nsstring): Likewise.
* scm-lang.c (scm_lookup_name): Likewise.
* scm-valprint.c (scm_inferior_print): Likewise.
* valops.c (value_allocate_space_in_inferior): Likewise.
* eval.c (evaluate_subexp_standard): Update calls.
* objc-lang.c (lookup_objc_class, print_object_command): Likewise.
* linux-fork.c: Include "objfiles.h".
* scm-lang.c: Include "objfiles.h".
* scm-valprint.c: Include "objfiles.h".
2008-09-11 Ulrich Weigand <>
* (name_of_malloc): Remove.
* gdbarch.c, gdbarch.h: Re-generate.
* valops.c (value_allocate_space_in_inferior): Do not call
2008-09-11 Ulrich Weigand <>
* valarith.c (value_x_unop): Use builtin_type_int8 as type for
(value_bit_index): Use extract_unsigned_integer
instead of unpack_long to read single byte.
2008-09-11 Ulrich Weigand <>
* infcall.c (value_arg_coerce): Add GDBARCH parameter. Use its
associates types instead of builtin_type_ macros.
(find_function_addr): Leave output VALUE_TYPE NULL if unknown.
(call_function_by_hand): Use per-architecture "int" type as
fall-back if find_function_addr returns NULL VALUE_TYPE.
Update call to value_arg_coerce.
2008-09-11 Ulrich Weigand <>
* cp-abi.h (cplus_method_ptr_size): Add TO_TYPE parameter.
(cplus_make_method_ptr): Add TYPE parameter.
* cp-abi.c (cplus_method_ptr_size): Add TO_TYPE parameter. Pass it
on to current_cp_abi.method_ptr_size callback.
(cplus_make_method_ptr): Add TYPE parameter. Pass it on to
current_cp_abi.make_method_ptr callback.
* gdbtypes.c (lookup_methodptr_type): Pass target type
argument to cplus_method_ptr_size.
* valops.c (value_cast): Pass type argument to cplus_make_method_ptr.
(value_struct_elt_for_reference): Likewise.
* gnu-v3-abi.c (get_class_arch): New function.
(vtable_address_point_offset): Add GDBARCH parameter. Use it
instead of current_gdbarch. Update all callers.
(gnuv3_get_vtable): Likewise.
(gnuv3_get_virtual_fn): Likewise.
(gnuv3_decode_method_ptr): Likewise.
(gnuv3_rtti_type): Call get_class_arch to determine architecture.
Use it instead of current_gdbarch.
(gnuv3_virtual_fn_field): Likewise.
(gnuv3_baseclass_offset): Likewise.
(gnuv3_print_method_ptr): Likewise.
(gnuv3_method_ptr_to_value): Likewise.
(gnuv3_method_ptr_size): Add TYPE parameter. Use it to determine
class architecture. Use architecture types instead of builtin types.
(gnuv3_make_method_ptr): Likewise.
* cp-valprint.c (cp_print_class_member): Expect pointer type
instead of class type. Use its length when extracting value.
* c-valprint.c (c_val_print): Update call to cp_print_class_member.
2008-09-11 Ulrich Weigand <>
* stack.c (return_command): Use frame architecture to determine
default integer return type.
* f-valprint.c (f77_get_dynamic_lowerbound): Use frame architecture
to determine pointer types.
(f77_get_dynamic_upperbound): Likewise.
* objc-lang.c (OBJC_FETCH_POINTER_ARGUMENT): Remove.
(resolve_msgsend): Use architecture of current frame to determine
pointer types. Inline OBJC_FETCH_POINTER_ARGUMENT.
(resolve_msgsend_stret, resolve_msgsend_super,
resolve_msgsend_super_stret): Likewise.
2008-09-11 Ulrich Weigand <>
* alpha-tdep.c (alpha_register_type): Use builtin_type (gdbarch)
instead of builtin_type_ macros.
* amd64-tdep.c (amd64_register_type): Likewise.
(amd64_get_longjmp_target): 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 (hppa32_convert_from_func_ptr_addr,
hppa_skip_trampoline_code): Likewise.
* i386-tdep.c (i386_register_type): Likewise.
(i386_unwind_pc, i386_sse_type): Likewise.
* ia64-tdep.c (ia64_register_type): Likewise.
* m32r-tdep.c (m32r_register_type): Likewise.
* m68k-tdep.c (m68k_register_type, m68k_unwind_pc): Likewise.
* m88k-tdep.c (m88k_register_type): Likewise.
* mep-tdep.c (mep_register_type): Likewise.
* mips-tdep.c (mips_pseudo_register_type): Likewise.
* mn10300-tdep.c (mn10300_register_type): Likewise.
* mt-tdep.c (mt_copro_register_type): Likewise.
* rs6000-tdep.c (rs6000_builtin_type_vec64): Likewise.
(rs6000_convert_register_p, rs6000_register_to_value,
rs6000_value_to_register): Likewise.
* s390-tdep.c (s390_register_type): Likewise.
* sh64-tdep.c (sh64_register_type): Likewise.
(sh64_build_float_register_type, sh64_do_fp_register): Likewise.
* sh-tdep.c (sh_sh2a_register_type, sh_sh3e_register_type,
sh_sh4_build_float_register_type, sh_sh4_register_type,
sh_default_register_type): Likewise.
* sparc64-tdep.c (sparc64_register_type): Likewise.
* sparc-tdep.c (sparc32_register_type): Likewise.
* spu-tdep.c (spu_builtin_type_vec128, spu_register_type): Likewise.
* v850-tdep.c (v850_register_type): Likewise.
* vax-tdep.c (vax_register_type): Likewise.
* xtensa-tdep.c (xtensa_register_type, xtensa_unwind_pc,
xtensa_push_dummy_call): Likewise.
* std-regs.c (value_of_builtin_frame_fp_reg,
value_of_builtin_frame_pc_reg): Likewise.
* target-descriptions.c (tdesc_register_type): Likewise.
2008-09-11 Ulrich Weigand <>
* ada-lang.c (ada_coerce_to_simple_array_type): Use builtin_type_int32
instead of builtin_type_int as default unspecified integral type.
(ada_index_type, ada_array_bound_from_type, ada_variant_discrim_type,
assign_component, to_fixed_range_type): Likewise.
* ada-typeprint.c (print_range, print_range_bound,
print_range_type_named): Likewise.
* ada-valprint.c (print_optional_low_bound, ada_val_print_1): Likewise.
* eval.c (evaluate_subexp_standard): Likewise.
* gnu-v2-abi.c (gnuv2_virtual_fn_field): Likewise.
* gnu-v3-abi.c (gnuv3_get_virtual_fn, gnuv3_baseclass_offset,
build_gdb_vtable_type): Likewise.
* jv-lang.c (java_array_type): Likewise.
* m2-typeprint.c (m2_print_bounds, m2_is_long_set_of_type): Likewise.
* m2-valprint.c (m2_print_long_set): Likewise.
* parse.c (follow_types): Likewise.
* p-typeprint.c (pascal_type_print_base): Likewise.
* valops.c (value_one, value_array, value_string,
value_bitstring): Likewise.
* value.c (allocate_repeat_value, value_from_string): Likewise.
* varobj.c (c_describe_child): 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.
2008-09-11 Ulrich Weigand <>
* defs.h (struct gdbarch): Add forward declaration.
(set_next_address): Add GDBARCH argument.
* printcmd.c (set_next_address): Use it to find pointer type.
* breakpoint.c (breakpoint_1): Update call.
* source.c (line_info): Likewise.
* findcmd.c (find_command): Use current_gdbarch to find pointer type.
* breakpoint.c (set_breakpoint_count): Use platform-neutral
types for internal variable values.
* infrun.c (handle_inferior_event): Likewise.
* source.c (forward_search_command, reverse_search_command): Likewise.
* tracepoint.c (set_tracepoint_count, set_traceframe_num,
set_tracepoint_num, set_traceframe_context): Likewise.
2008-09-11 Ulrich Weigand <>
* gdbtypes.h (struct builtin_type): Remove builtin_true_char
and builtin_true_unsigned_char.
(builtin_type_true_char): Remove macro, add extern declaration.
(builtin_type_true_unsigned_char): Add extern declaration.
* gdbtypes.c (builtin_type_true_char): New global variable.
(builtin_type_true_unsigned_char): Likewise.
(_initialize_gdbtypes): Initialize them.
(gdbtypes_post_init): Do not initialize builtin_true_char
and builtin_true_unsigned_char members of struct builtin_type.
* printcmd.c (print_scalar_formatted): Do not use builtin_type;
use builtin_type_true_unsigned_char instead.
* ada-valprint.c (ada_val_print_1): Use builtin_type_true_char
instead of builtin_type_char for internal string.
2008-09-11 Ulrich Weigand <>
* gdbtypes.h (builtin_type_void): Remove macro, add declaration.
(builtin_type_f_void): Remove macro.
* gdbtypes.c (builtin_type_void): New global variable.
(_initialize_gdbtypes): Initialize it.
* gnu-v3-abi.c (build_gdb_vtable_type): Do not call
lookup_pointer_type or lookup_function_type on builtin_type_void.
* printcmd.c (set_next_address): Likewise.
* objc-lang.c (value_nsstring): Likewise.
* mt-tdep.c (mt_copro_register_type): Likewise.
* xtensa-tdep.c (xtensa_register_type): Likewise.
* symfile.c (syms_from_objfile): Remove special handling
of builtin_type_void and builtin_type_char.
2008-09-11 Ulrich Weigand <>
* eval.c (evaluate_subexp_standard): Use exp->gdbarch types instead
of builtin_type_ macros when handling OP_OBJC_ operations.
* objc-lang.c (print_object_command): Likewise.
2008-09-11 Ulrich Weigand <>
* ada-valprint.c: Include "objfiles.h".
(ada_val_print_1): Use the gdbarch associated with the objfile whether
a System.Address type is defined to retrieve the proper pointer type
to use to print it.
2008-09-11 Ulrich Weigand <>
* ada-lang.c (value_pos_atr): Add TYPE argument. Use it as
result type instead of builtin_type_int.
(value_subscript_packed): Use pos_atr instead of value_pos_atr.
(ada_value_subscript): Update call to value_pos_atr.
(ada_value_ptr_subscript): Likewise.
(ada_evaluate_subexp): Likewise.
2008-09-11 Ulrich Weigand <>
* ada-lang.c (cast_to_fixed): Do not cast to builtin_type_double.
(cast_from_fixed_to_double): Rename to ...
(cast_from_fixed): ... this. Add TYPE parameter. Use it instead
of builtin_type_double.
(ada_value_cast): Use cast_from_fixed instead of casting result
of cast_from_fixed_to_double.
(ada_evaluate_subexp): Update calls to cast_from_fixed_to_double.
2008-09-11 Ulrich Weigand <>
* valops.c (value_ind): No longer allow dereferencing an
integer type.
* eval.c (evaluate_subexp_standard): Handle deferencing an
integer type here.
* ada-lang.c (ada_evaluate_subexp): Likewise.
2008-09-11 Ulrich Weigand <>
* ada-valprint.c (ada_val_print_1): When implicitly dereferencing
a reference type, pass the reference type directly to unpack_pointer.
* c-valprint.c (c_val_print): Likewise.
* f-valprint.c (f_val_print): Likewise.
* m2-valprint.c (print_variable_at_address, m2_val_print): Likewise.
* p-valprint.c (pascal_val_print): Likewise.
2008-09-11 Ulrich Weigand <>
* eval.c (evaluate_subexp_standard): Use builtin_type_int8
to construct the EVAL_SKIP dummy return value.
* 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.
2008-09-11 Ulrich Weigand <>
* value.h (coerce_enum, coerce_number): Remove prototypes.
* value.c (coerce_enum, coerce_number): Remove.
* valarith.c (value_x_binop): Do not call coerce_enum.
(value_x_unop): Likewise.
(value_logical_not): Call coerce_array instead of coerce_number.
2008-09-11 Ulrich Weigand <>
* ax-gdb.c: Include "language.h".
(gen_frame_args_address): Add GDBARCH parameter; use it
instead of current_gdbarch.
(gen_frame_locals_address): Likewise.
(gen_var_ref): Add GDBARCH parameter. Update calls to
gen_frame_args_address and gen_frame_locals_address. Use
pointer type from gdbarch.
(gen_usual_unary): Add EXP parameter. Use integer type
from exp->gdbarch.
(gen_usual_arithmetic): Likewise.
(gen_integral_promotions): Likewise.
(gen_add, gen_sub): Remove.
(gen_ptradd, gen_ptrsub, gen_ptrdiff): New functions.
(gen_logical_not): Use passed-in boolean result type
instead of builtin_type_int.
(gen_complement): Do not call gen_usual_unary or
(gen_struct_ref): Call require_rvalue instead of gen_usual_unary.
(gen_repeat): Add EXP parameter. Update call to gen_expr.
Use builtin_type_int32 as internal range type.
(gen_sizeof): Add EXP and SIZE_TYPE parameters. Use SIZE_TYPE
as result type. Update call to gen_expr.
(gen_expr): Add EXP parameter. Update calls to gen_expr,
gen_repeat, gen_var_ref, gen_usual_unary, gen_usual_arithmetic,
and gen_integral_promotions. Call gen_ptradd, gen_ptrsub,
gen_ptrdiff, or gen_binop instead of gen_add or gen_sub.
Use exp->gdbarch instead of current_gdbarch.
Call language_bool_type to determine result type of UNOP_LOGICAL_NOT.
2008-09-11 Ulrich Weigand <>
* eval.c (evaluate_subexp_standard): Add calls to binop_promote
and unop_promote before calling value_binop et. al.
* ada-lang.c (ada_evaluate_subexp): Add calls to binop_promote
and unop_promote before calling value_binop et. al.
* valarith.c (value_binop): Do not call binop_promote or unop_promote.
(value_pos): Do not call unop_promote.
(value_neg, value_complement): Likewise.
2008-09-11 Ulrich Weigand <>
* value.h (unop_promote, binop_promote): Add prototypes.
* eval.c (unop_promote, binop_promote): New functions.
* valarith.c (unop_result_type, binop_result_type): Remove.
(value_binop): Call binop_promote or unop_promote.
Inline remaining parts of binop_result_type. Remove special
code to truncate integer values for unsigned operations.
(value_pos): Call unop_promote. Inline remaining parts of
(value_neg, value_complement): Likewise.
2008-09-11 Ulrich Weigand <>
* value.h (value_add, value_sub): Remove.
(value_ptradd, value_ptrsub, value_ptrdiff): Add prototypes.
* valarith.c (value_add, value_sub): Remove.
(value_ptradd, value_ptrsub, value_ptrdiff): New functions.
(find_size_for_pointer_math): Add assertion. Update comment.
(value_binop): Update comment.
* eval.c (ptrmath_type_p): New function.
(evaluate_subexp_standard): Replace value_add and value_sub
by value_ptradd, value_ptrsub, value_ptrdiff or value_binop.
Use builtin_type_uint8 instead of builtin_type_char to hold
the increment for BINOP_{PRE,POST}{IN,DE}CREMENT operations.
* valarith.c (value_subscript): Replace value_add by
value_ptradd. Replace value_sub by value_binop.
* ada-lang.c (ada_value_ptr_subscript): Likewise.
(ada_tag_name_2): Replace value_add by value_ptradd.
(ada_evaluate_subexp): Replace value_add and value_sub by
* m2-lang.c (evaluate_subexp_modula2): Replace value_add
by value_ptradd.
* gnu-v2-abi.c (gnuv2_virtual_fn_field): Likewise.
* gnu-v3-abi.c (gnuv3_method_ptr_to_value): Likewise.
2008-09-11 Ulrich Weigand <>
* eval.c (evaluate_subexp_for_sizeof): Use builtin_int type of
the expression architecture instead of builtin_type_int as the
sizeof return type.
2008-09-11 Ulrich Weigand <>
* expression.h (enum exp_opcode): Document OP_COMPLEX to take
a type parameter as expression element.
* eval.c (evaluate_subexp_standard) [OP_COMPLEX]: Retrieve result
type as expression element.
* f-exp.y: Pass in type when buildin OP_COMPLEX expression.
* parse.c (operator_length_standard): Update length of OP_COMPLEX.
2008-09-11 Ulrich Weigand <>
* language.h (struct language_arch_info): New members
bool_type_default and bool_type_symbol.
(lang_bool_type): Remove prototype.
(LA_BOOL_TYPE): Remove macro.
(language_bool_type): Add prototype.
* language.c (lang_bool_type): Remove.
(language_bool_type): New function.
* value.h (value_in): Change return value to int.
* value.c (value_in): Return int instead of struct value *.
* eval.c (evaluate_subexp_standard): Call language_bool_type instead
of using LA_BOOL_TYPE. Update call to value_in.
* ada-lang.c (ada_evaluate_subexp): Call language_bool_type instead
of using LA_BOOL_TYPE or builtin_type_int for boolean values.
* language.c (unknown_language_arch_info): Set bool_type_default member
of struct language_arch_info.
* ada-lang.c (ada_language_arch_info): Set bool_type_symbol and
bool_type_default members of struct language_arch_info.
* c-lang.c (c_language_arch_info): Set bool_type_default member
of struct language_arch_info.
(cplus_language_arch_info): Set bool_type_symbol and bool_type_default
members of struct language_arch_info.
* f-lang.c (f_language_arch_info): Set bool_type_symbol and
bool_type_default members of struct language_arch_info.
* jv-lang.c (java_language_arch_info): Set bool_type_symbol and
bool_type_default members of struct language_arch_info.
* m2-lang.c (m2_language_arch_info): Set bool_type_symbol and
bool_type_default members of struct language_arch_info.
* p-lang.c (p_language_arch_info): Set bool_type_symbol and
bool_type_default members of struct language_arch_info.
2008-09-11 Ulrich Weigand <>
* jv-lang.c (enum java_primitive_types): New type.
(java_language_arch_info): New function.
(java_language): Use it instead of c_language_arch_info.
2008-09-11 Ulrich Weigand <>
* value.h (value_bitstring_subscript): New prototype.
* valarith.h (value_bitstring_subscript): New function.
(value_subscript): No longer handle TYPE_CODE_BITSTRING.
* eval.c (evaluate_subexp_standard): Call value_bitstring_subscript
instead of value_subscript to handle TYPE_CODE_BITSTRING.
2008-09-11 Ulrich Weigand <>
* expression.h (struct expression): New member GDBARCH.
* parse.c (parse_exp_in_context): Initialize it.
* parser-def.h (parse_gdbarch, parse_language): New macros.
* ada-exp.y (parse_type): New macro.
Replace builtin_type_ macros by using parse_type.
Replace current_language by parse_language.
* ada-lex.l (processInt): Replace current_gdbarch by parse_gdbarch.
Replace builtin_type_ macros.
* c-exp.y (parse_type): New macro.
Replace builtin_type_ macros by using parse_type.
(parse_number): Replace current_gdbarch by parse_gdbarch.
(yylex): Replace current_language by parse_language.
* f-exp.y (parse_type, parse_f_type): New macros.
Replace builtin_type_ macros by using parse_{f_,}type.
(parse_number): Replace current_gdbarch by parse_gdbarch.
(yylex): Replace current_language by parse_language.
* jv-exp.y (parse_type): New macro.
(parse_number): Replace builtin_type_ macros by using parse_type.
* m2-exp.y (parse_type, parse_m2_type): New macros.
Replace builtin_type_ macros by using parse_{m2_,}type.
* objc-exp.y (parse_type): New macro.
Replace builtin_type_ macros by using parse_type.
(parse_number): Replace current_gdbarch by parse_gdbarch.
(yylex): Replace current_language by parse_language.
* p-exp.y (parse_type): New macro.
Replace builtin_type_ macros by using parse_type.
(parse_number): Replace current_gdbarch by parse_gdbarch.
(yylex): Replace current_language by parse_language.
2008-09-11 Ulrich Weigand <>
* parser-defs.h (write_exp_msymbol): Remove TEXT_SYMBOL_TYPE
and DATA_SYMBOL_TYPE arguments.
* parse.c (write_exp_msymbol): Remove TEXT_SYMBOL_TYPE and
DATA_SYMBOL_TYPE arguments. Replace use of builtin_type_CORE_ADDR.
(write_dollar_variable): Update call.
* ada-exp.y (write_var_or_type): Update call.
* c-exp.y: Likewise.
* f-exp.y: Likewise.
* jv-exp.y: Likewise.
* m2-exp.y: Likewise.
* objc-exp.y: Likewise.
* p-exp.y: Likewise.
2008-09-10 Joel Brobecker <>
* ada-lang.c (ada_parent_type): Add handling of the case where
the _parent field is a pointer and/or has a parallel XVS type.
(ada_evaluate_subexp) [OP_VAR_VALUE]: When doing an
EVAL_AVOID_SIDE_EFFECTS evaluation of a tagged type, return
the type of the tag instead of doing forcing an EVAL_NORMAL
expression evaluation.
2008-09-10 Paul N. Hilfinger <>
Joel Brobecker <>
* ada-lang.c (is_digits_suffix): New function.
(is_dot_digits_suffix): Remove.
(ada_lookup_symbol_list): Remove digits suffix from minimal symbols
before looking up in symbol table, and do not use wild matches on them.
(wild_match): Reimplement for speed and to allow matching of operator
(is_valid_name_for_wild_match): Return zero for names that do not
follow the GNAT encoding.
(is_name_suffix): Fix typo in comment.
(to_record_with_fixed_variant_part): Ditto.
2008-09-10 Pedro Alves <>
* (gnu-nat.o): New rule.
2008-09-10 Joel Brobecker <>
* ada-lang.c (ada_evaluate_subexp) [OP_ATR_SIZE]: Use
archecture-neutral builtin_type_int32 instead of builtin_type_int.
2008-09-10 Joel Brobecker <>
* ada-lang.c (ada_evaluate_subexp) [BINOP_ADD, BINOP_SUB]:
Add special handling for pointer types.
2008-09-10 Pedro Alves <>
* inf-ttrace.c (inf_ttrace_follow_fork): Declare locals at the
right scope level.
(inf_ttrace_resume, inf_ttrace_wait): Typos.
2008-09-10 Ulrich Weigand <>
* ada-lang.c (ada_array_length): Use builtin_type_int32 instead
of builtin_type_int.
(ada_evaluate_subexp) [UNOP_IN_RANGE]: Use operand range type
instead of builtin_type_int.
2008-09-09 Pedro Alves <>
* infrun.c (normal_stop): Run hook-stop last.
2008-09-09 Pedro Alves <>
* gnu-nat.c (gnu_pid_to_exec_file): Delete.
(init_gnu_ops): Don't register it.
2008-09-09 Pedro Alves <>
* gnu-nat.c (gnu_attach): Push target before fetching the list of
2008-09-08 Daniel Jacobowitz <>
* valops.c (value_cast_structs): Return NULL for failure.
(value_cast): Handle NULL from value_cast_structs.
(value_fetch_lazy): Call check_typedef. Remove unused variable.
2008-09-08 Pedro Alves <>
* inferior.h (context_switch_to): Delete.
* infrun.c (context_switch): Don't save and load infrun state.
(context_switch_to): Delete.
* infcmd.c (proceed_thread_callback): Replace context_switch_to
calls by switch_to_thread calls.
* gdbthread.h (save_infrun_state, load_infrun_state): Delete.
* thread.c (main_thread_state, main_thread_executing): Delete.
(inferior_thread): Delete references to them.
(add_thread_silent): Fix case where we're adding a thread with the
same ptid as an exited thread. Remove references to
(load_infrun_state, save_infrun_state): Delete.
(thread_alive, is_thread_state, any_running, is_executing)
(set_executing): Remove the special handling for targets that
don't register any thread.
(restore_current_thread, thread_apply_all_command)
(do_captured_thread_select): Unconditionally call
* mi/mi-main.c (mi_cmd_execute): Check for exited threads.
Call switch_to_thread instead of context_switch_to.
2008-09-08 Pedro Alves <>
Remove global continuations in favour of a per-thread
* gdbthread.h (struct thread_info): Add comments around
continuations and intermediate_continuations.
(save_infrun_state, load_infrun_state): Delete continuations and
intermediate_continuations arguments.
* infrun.c (context_switch): Don't context-switch the continuations.
* thread.c (clear_thread_inferior_resources): Discard all
continuations of the thread we're clearing.
(save_infrun_state, load_infrun_state): Delete continuations and
intermediate_continuations arguments, and the code referencing
* utils.c: Include "gdbthread.h".
(cmd_continuation, intermediate_continuation): Delete.
(add_continuation): Add thread_info* argument. Install the
continuation on it.
(restore_thread_cleanup): New.
(do_all_continuations_ptid, do_all_continuations_thread_callback):
(do_all_continuations): Reimplement.
discard_all_continuations_thread): New.
(discard_all_continuations): Reimplement.
(add_intermediate_continuation): Add thread_info* argument.
Install the continuation on it.
(do_all_intermediate_continuations_thread): New.
(do_all_intermediate_continuations): Reimplement.
(discard_all_intermediate_continuations_thread_callback): New.
(discard_all_intermediate_continuations_thread): New.
(discard_all_intermediate_continuations): Reimplement.
* breakpoint.c (until_break_command): Install the continuation on
the current thread.
* defs.h (cmd_continuation, intermediate_continuation): Delete.
(struct thread_info): Forward declare.
(add_continuation, add_intermediate_continuation): Add
thread_info* argument.
(do_all_continuations_thread, discard_all_continuations_thread)
(discard_all_intermediate_continuations_thread): Declare.
* inf-loop.c (inferior_event_handler): In non-stop only run
continuations on the thread that stopped. In all-stop, run
continuations on all threads.
* infcmd.c (step_once, finish_command): Adjust.
2008-09-08 Pedro Alves <>
Remove the global stop_step in favour of a per-thread
* inferior.h (stop_step): Delete.
* gdbthread.h (struct thread_info): Add comments to stop_step.
(save_infrun_state, load_infrun_state): Remove stop_step argument.
* thread.c (load_infrun_state, save_infrun_state): Remove
stop_step argument, and references to it.
* infrun.c (clear_proceed_status): Clear stop_step.
(fetch_inferior_event): Adjust.
(context_switch): Don't context-switch stop_step.
(handle_inferior_event): Adjust.
(normal_stop): Adjust.
(save_inferior_status, restore_inferior_status): Adjust.
* infcmd.c (stop_step): Delete.
(step_1, step_1_continuation, step_once, until_next_command):
2008-09-08 Pedro Alves <>
Remove the global step_multi in favour of a per-thread
* inferior.h (step_multi): Delete.
* gdbthread.h (struct thread_info): Add comments around
(save_infrun_state, load_infrun_state): Remove step_multi
* thread.c (load_infrun_state, save_infrun_state): Remove
step_multi argument, and references to it.
* infcmd.c (step_multi): Delete.
(step_1): Adjust.
(step_1_continuation, until_next_command): Adjust.
* infrun.c (fetch_inferior_event): Adjust.
(context_switch): Don't context-switch step_multi.
(print_stop_reason, normal_stop): Adjust.
2008-09-08 Pedro Alves <>
Remove the global stop_signal in favour of a per-thread
* inferior.h (stop_signal): Delete.
* gdbthread.h (save_infrun_state, load_infrun_state): Remove
stop_signal argument.
* thread.c (load_infrun_state, save_infrun_state): Remove
stop_signal argument. Don't reference it.
* infcmd.c (stop_signal): Delete.
(program_info): Adjust.
* infrun.c (resume): Clear stop_signal.
(proceed): Adjust. Pass the last stop_signal to the thread we're
(context_switch): Don't context-switch stop_signal.
(handle_inferior_event, keep_going): Adjust.
(save_inferior_status, restore_inferior_status): Adjust.
* fbsd-nat.c: Include "gdbthread.h".
(find_signalled_thread, find_stop_signal): New.
(fbsd_make_corefile_notes): Use it.
* fork-child.c (startup_inferior): Adjust.
* linux-nat.c (get_pending_status): Adjust.
(linux_nat_do_thread_registers): Adjust.
(find_signalled_thread, find_stop_signal): New.
(linux_nat_do_thread_registers): Add stop_signal parameter.
(struct linux_nat_corefile_thread_data): Add stop_signal member.
(linux_nat_corefile_thread_callback): Pass stop_signal.
(linux_nat_do_registers): Delete.
(linux_nat_make_corefile_notes): Use find_stop_signal. Assume
there's always a thread.
* procfs.c (find_signalled_thread, find_stop_signal): New.
(find_stop_signal): New.
(procfs_do_thread_registers): Add stop_signal parameter.
(struct procfs_corefile_thread_data): Add stop_signal member.
(procfs_corefile_thread_callback): Pass args->stop_signal.
(procfs_make_note_section): Find the last stop_signal.
* solib-irix.c: Include gdbthread.h.
(irix_solib_create_inferior_hook): Adjust.
* solib-osf.c: Include gdbthread.h.
(osf_solib_create_inferior_hook): Adjust.
* solib-sunos.c: Include gdbthread.h.
(sunos_solib_create_inferior_hook): Adjust.
* solib-svr4.c: Include gdbthread.h.
(svr4_solib_create_inferior_hook): Adjust.
* win32-nat.c (do_initial_win32_stuff): Adjust.
2008-09-08 Pedro Alves <>
* gdbthread.h (struct thread_info): Add comments around
(save_infrun_state, load_infrun_state): Remove proceed_to_finish
* thread.c (load_infrun_state, save_infrun_state): Delete
proceed_to_finish argument and references to it.
* infcall.c (call_function_by_hand): Adjust.
* infcmd.c (finish_command): Adjust.
* infrun.c (proceed_to_finish): Delete.
(clear_proceed_status): Adjust.
(context_switch): Don't context-switch proceed_to_finish.
(normal_stop, save_inferior_status, restore_inferior_status):
2008-09-08 Pedro Alves <>
* inferior.h (stop_bpstat): Delete.
* breakpoint.h (bpstat_do_actions): Remove bpstat* argument.
* breakpoint.c (bpstat_do_actions): Rename to ...
(bpstat_do_actions_1): ... this. Make static. Change return type
to int. Return true if a breakpoint proceeded.
(bpstat_do_actions): New, as wrapper around bpstat_do_actions_1.
(delete_breakpoint): Don't reference the global stop_bpstat; it's
* gdbthread.h (struct thread_info): Add stop_bpstat.
(save_infrun_state, load_infrun_state): Remove stop_bpstat
* thread.c (load_infrun_state, save_infrun_state): Remove
stop_bpstat argument, and the code referencing it.
* infcall.c: Include "gdbthread.h".
(call_function_by_hand): Adjust.
* exceptions.c: Include "gdbthread.h".
(throw_exception): Adjust.
* infcmd.c (stop_bpstat): Delete.
(continue_command): In all-stop, set the ignore count on the
thread that reported the stop. In non-stop, set it on the current
(finish_command_continuation): Adjust.
(program_info): Adjust.
* infrun.c (clear_proceed_status): Adjust.
(context_switch): Don't context-switch stop_bpstat.
(handle_inferior_event): Adjust.
(normal_stop): Adjust.
(save_inferior_status, restore_inferior_status): Adjust.
* inf-loop.c (inferior_event_handler): Remove parameter to
bpstat_do_actions call.
* top.c (command_loop): Remove parameter to bpstat_do_actions
call. Call it unconditionally.
* event-top.c (command_handler): Ditto.
* python/python.c (execute_gdb_command): Ditto.
2008-09-08 Pedro Alves <>
* inferior.h (step_over_calls): Delete.
* gdbthread.h (save_infrun_state, load_infrun_state): Remove
step_over_calls argument.
* thread.c (save_infrun_state, load_infrun_state): Remove
step_over_calls argument. Adjust.
* infcmd.c (step_over_calls): Delete.
(step_1): Adjust.
* infrun.c (clear_proceed_status): Adjust.
(context_switch): Don't context-switch step_over_calls.
(handle_inferior_event, save_inferior_status)
(restore_inferior_status): Adjust.
2008-09-08 Pedro Alves <>
Remove context switching in favour of accessing thread_info fields
* infrun.c (stepping_over_breakpoint, step_resume_breakpoint):
(struct thread_stepping_state): Delete.
(gtss, tss): Delete.
(follow_inferior_reset_breakpoints, follow_exec)
(resume, clear_proceed_status): Adjust.
(prev_pc): Delete.
(proceed, start_remote, init_wait_for_inferior): Adjust.
(struct execution_control_state): Add event_thread member.
(delete_step_thread_step_resume_breakpoint): New.
(wait_for_inferior, init_execution_control_state): Use
(wait_for_inferior): Set the event_thread.
(fetch_inferior_event): Ditto. Delete the step-resume breakpoint
with delete_step_thread_step_resume_breakpoint.
(init_thread_stepping_state): Change parameter type to
thread_info. Adjust.
(context_switch): Don't context switch prev_pc,
stepping_over_breakpoint, step_resume_breakpoint,
step_range_start, step_range_end, step_frame_id,
tss->stepping_through_solib_catchpoints, tss->current_line, or
(adjust_pc_after_break, handle_inferior_event)
(currently_stepping, step_into_function)
(insert_longjmp_resume_breakpoint, keep_going): Adjust.
(clear_stepping_state): New.
(normal_stop): Adjust.
(save_inferior_status, restore_inferior_status): Adjust.
* gdbthread.h (struct thread_info): Comments describing the
members moved here. Add step_after_step_resume_breakpoint.
(delete_step_resume_breakpoint): Add thread_info argument.
(save_infrun_state, load_infrun_state): Remove prev_pc,
trap_expected, step_resume_breakpoint, step_range_start,
step_range_end, step_frame_id, another_trap,
stepping_through_solib_catchpoints, current_line and
current_symtab function arguments.
(inferior_thread): Declare.
* thread.c (inferior_thread): New.
(delete_step_resume_breakpoint): Add a thread_info parameter and
(load_infrun_state, save_infrun_state): Remove prev_pc,
trap_expected, step_resume_breakpoint, step_range_start,
step_range_end, step_frame_id, stepping_over_breakpoint,
stepping_through_solib_catchpoints, current_line and
current_symtab args. Remove code referencing them.
* infcmd.c (step_range_start, step_range_end, step_frame_id):
(step_1, step_once, until_next_command): Adjust.
* inferior.h (step_range_start, step_range_end, step_frame_id):
* linux-nat.c (linux_child_follow_fork): If following the child,
move the step state to it. Adjust.
* inf-ptrace.c (inf_ptrace_follow_fork): Ditto.
* inf-ttrace.c (inf_ttrace_follow_fork): Ditto.
2008-09-08 Pedro Alves <>
* bsd-uthread.c (bsd_uthread_find_new_threads): Claim the main
2008-09-08 Pedro Alves <>
* corelow.c (add_to_thread_list): If this is the first time we
hear about thread info, update inferior_ptid.
(core_open): Clear the thread list and set inferior_ptid before
acknowledging a new inferior. Find threads before fetching
register info. Give an upper target layer a chance to find and
claim new threads. Print core generation and stop signal info
after finding new threads.
(get_core_register_section): Look at the lwp member of
inferior_ptid for detecting if we have threads info, instead of
the pid member.
(core_pid_to_str): New.
(init_core_ops): Register core_pid_to_str.
2008-09-08 Pedro Alves <>
* spu-linux-nat.c (spu_child_post_startup_inferior)
(spu_child_post_attach): Don't add the main thread here.
2008-09-08 Pedro Alves <>
Use ptid_t.tid to store thread ids instead of
* gnu-nat.c (inf_validate_procs): If this is the first time we're
seeing a thread id, extend the main thread's ptid. If we still
have pending execs, don't be verbose about new threads.
(gnu_wait, gnu_resume, gnu_attach, gnu_thread_alive)
(gnu_pid_to_str, cur_thread, sig_thread_cmd): Adjust.
* i386gnu-nat.c (gnu_fetch_registers, gnu_store_registers):
2008-09-08 Pedro Alves <>
* procfs.c (to_attach): Create a procinfo for the current lwp.
Add it to gdb's thread list.
(procfs_fetch_registers, procfs_store_registers): Assume there's
always an lwp.
(procfs_wait): Don't add the main thread here.
(procfs_init_inferior): Create a procinfo for the main lwp here.
Change main thread's ptid with thread_change_ptid.
(procfs_notice_thread): Check for exited threads.
(procfs_corefile_thread_callback): Remove check for the main
(procfs_make_note_section): Assume there is always a thread.
* sol-thread.c (sol_thread_attach): Clear sol_thread_active before
attaching. Change the main thread ptid with thread_change_ptid.
(sol_thread_detach): Clear sol_thread_active.
(sol_thread_wait): Check for exited threads.
(sol_thread_create_inferior): Clear sol_thread_active before
creating a new inferior. Change the main thread ptid with
(sol_thread_mourn_inferior): Clear sol_thread_active.
(sol_find_new_threads_callback): Check for exited threads.
2008-09-08 Pedro Alves <>
* inf-ttrace.c (inf_ttrace_wait): On TTEVT_LWP_CREATE and
LWP_TERMINATE, resume the caller thread. On TTEVT_LWP_CREATE,
TTEVT_LWP_EXIT and TTEVT_LWP_TERMINATE, don't stop the whole
process, and return TARGET_WAITKIND_IGNORE.
2008-09-08 Pedro Alves <>
* inf-ttrace.c: Include <signal.h>
(inf_ttrace_delete_dead_threads_callback): New.
(inf_ttrace_resume_lwp): New.
(inf_ttrace_resume_callback, inf_ttrace_resume): Rewrite. Don't
delete dying threads until they are really dead.
(inf_ttrace_wait): After stopping the whole process, delete any
dying thread that is really dead by now.
(inf_ttrace_thread_alive): Return 1.
(inf_ttrace_extra_thread_info): New.
(inf_ttrace_target): Register inf_ttrace_extra_thread_info.
2008-09-08 Pedro Alves <>
* inf-ttrace.c (inf_ttrace_follow_fork): Register the main thread
of the child fork.
(inf_ttrace_attach): Add the main thread.
(inf_ttrace_resume_callback): Check for exited threads. Adjust
for always a thread.
(inf_ttrace_wait): Decorate the main thread's ptid with lwp info
using thread_change_ptid, and set its private data. Don't add the
main thread here.
(inf_ttrace_pid_to_str): Adjust.
2008-09-08 Pedro Alves <>
* bsd-uthread.c (bsd_uthread_wait): Decorate the main thread with
thread_change_ptid. Check for exited threads.
(bsd_uthread_find_new_threads): Check for exited threads.
2008-09-08 Pedro Alves <>
* inf-ptrace.c: Include "gdbthread.h".
(inf_ptrace_attach): Add the main thread here.
* linux-nat.c (linux_nat_attach): Don't add the main thread here.
Decorate the main thread id with the lwp id.
2008-09-08 Pedro Alves <>
* linux-nat.c (linux_nat_wait): Update inferior_ptid's ptid with
thread_change_ptid. Don't add or mark the main thread as running
and executing here.
* fork-child.c (fork_inferior): Add the main thread here.
2008-09-08 Jerome Guitton <>
* rs6000-tdep.c (rs6000_fetch_instruction)
(rs6000_skip_stack_check): New functions.
(skip_prologue): Skip stack check sequence.
2008-09-08 David Daney <>
* dummy-frame.h (frame.h): Include it.
(struct frame_id): Remove declaration.
2008-09-05 Ulrich Weigand <u