OSDN Git Service

* target.h (struct target_ops): Make to_has_all_memory,
[pf3gnuchains/pf3gnuchains3x.git] / gdb / ChangeLog
1 2009-06-07  Pedro Alves  <pedro@codesourcery.com>
2
3         * target.h (struct target_ops): Make to_has_all_memory,
4         to_has_memory, to_has_stack, to_has_registers and to_has_execution
5         methods instead of variables.
6         (target_has_all_memory_1, target_has_memory_1, target_has_stack_1)
7         (target_has_registers_1, target_has_execution_1): Declare
8         functions.
9         (target_has_all_memory): Rewrite to call target_has_all_memory_1.
10         (target_has_memory): Rewrite to call target_has_memory_1.
11         (target_has_stack): Rewrite to call target_has_all_stack_1.
12         (target_has_registers): Rewrite to call target_has_registers_1.
13         (target_has_execution): Rewrite to call target_has_execution_1.
14         (default_child_has_all_memory, default_child_has_memory)
15         (default_child_has_stack, default_child_has_registers)
16         (default_child_has_execution): Declare.
17         (target_mark_running, target_mark_exited): Delete declarations.
18         * target.c (default_child_has_all_memory,
19         default_child_has_memory, default_child_has_stack,
20         default_child_has_registers, default_child_has_execution): New.
21         (target_has_all_memory_1, target_has_memory_1, target_has_stack_1,
22         target_has_registers_1, target_has_execution_1): New.
23         (add_target): Default the to_has_all_memory, to_has_all_memory,
24         to_has_memory, to_has_stack, to_has_registers and to_has_execution
25         callbacks to return 0.
26         (update_current_target): Do not inherit to_has_all_memory,
27         to_has_memory, to_has_stack, to_has_registers or to_has_execution.
28         (target_mark_running, target_mark_exited): Delete.
29         (memory_xfer_partial): Adjust.
30         (target_read_memory, target_write_memory, target_search_memory):
31         Dispatch to the the top-most target, not the flattened
32         current_target.
33         (target_info): Adjust.
34         (init_dummy_target): Install return_zero as callback for
35         to_has_all_memory, to_has_memory, to_has_stack, to_has_registers,
36         to_has_execution.
37         (set_maintenance_target_async_permitted): Use have_live_inferiors
38         instead of target_has_execution.
39         * target-memory.c (target_write_memory_blocks): Dispatch memory
40         writes to the the top-most target, not the flattened
41         current_target.
42
43         * breakpoint.c (insert_breakpoints): Don't check for
44         target_has_execution here.
45         (update_global_location_list): Check if there are live inferiors
46         to debug instead of target_has_execution.
47         * infcmd.c (kill_command, detach_command): Check if there are
48         inferiors instead of target_has_execution.
49         * inferior.h (have_live_inferiors): Declare.
50         * inferior.c (have_live_inferiors): New.
51         * infrun.c (normal_stop): Don't check for target_has_execution to
52         finish the thread states.
53         * thread.c (is_thread_state, is_stopped, is_exited, is_running)
54         (any_running, is_executing): Remove checks for
55         target_has_execution.
56         * top.c (kill_or_detach): Don't try to kill core inferiors.
57         (quit_target): Don't check for target_has_execution.
58
59         * corelow.c (core_has_memory, core_has_stack, core_has_registers):
60         New.
61         (init_core_ops): Install core_has_memory, core_has_stack and
62         core_has_registers.
63         * exec.c (exec_has_memory): New.
64         (init_exec_ops): Install exec_has_memory.
65         * remote.c (remote_add_inferior): Don't call target_mark_running.
66         (remote_start_remote): Don't call target_mark_exited or call
67         target_mark_running.
68         (remote_open_1): Use have_inferiors instead of
69         target_has_execution.  Don't use target_mark_exited.
70         (init_remote_ops): Install deafult_child_has_all_memory,
71         default_child_has_memory, default_child_has_stack,
72         default_child_has_registers, default_child_has_execution.
73         * bsd-kvm.c (bsd_kvm_return_one): New.
74         (bsd_kvm_add_target): Register bsd_kvm_return_one as
75         to_has_memory, to_has_stack and to_has_registers callbacks.
76         * remote-m32r-sdi.c (m32r_return_one): New.
77         (init_m32r_ops): Register it.
78         * inf-child.c (inf_child_target): Adjust to register
79         default_child_has_all_memory, default_child_has_memory,
80         default_child_has_stack, default_child_has_registers,
81         default_child_has_execution callbacks.
82         * gnu-nat.c (init_gnu_ops): Likewise.
83         * go32-nat.c (init_go32_ops): Likewise.
84         * hpux-thread.c (init_hpux_thread_ops): Likewise.
85         * monitor.c (init_base_monitor_ops): Likewise.
86         * nto-procfs.c (init_procfs_ops): Likewise.
87         * remote-mips.c (_initialize_remote_mips): Likewise.
88         * windows-nat.c (init_windows_ops): Likewise.
89         * remote-sim.c (gdbsim_create_inferior): Don't use
90         target_mark_running or target_mark_exited.
91         (gdbsim_mourn_inferior): Don't call target_mark_exited.
92         (init_gdbsim_ops): Adjust to register
93         default_child_has_all_memory, default_child_has_memory,
94         default_child_has_stack, default_child_has_registers,
95         default_child_has_execution callbacks.
96
97         * linux-nat.c (linux_nat_xfer_partial): If reading memory, and
98         there's no inferior selected, defer to a lower stratum.
99
100 2009-06-05  Tom Tromey  <tromey@redhat.com>
101
102         * varobj.c (update_dynamic_varobj_children): Wrap error text in
103         _().
104         (install_visualizer): Likewise.
105         (varobj_set_visualizer): Likewise.
106
107 2009-06-05  Marc Khouzam  <marc.khouzam@ericsson.com>
108
109         * mi/mi-main.c (mi_cmd_exec_continue)
110         (mi_cmd_exec_interrupt): Adjust parsing of thread group
111         ids to current reality, where they don't have any 'p' prefix.
112
113 2009-06-05  Aleksandar Ristovski  <aristovski@qnx.com>
114
115         * corelow.c (core_open): Check for core_gdbarch before calling
116         gdbarch_target_signal_from_host.
117
118 2009-06-05  Tom Tromey  <tromey@redhat.com>
119
120         * c-exp.y (parse_number): Don't use K&R definition.
121         (yylex): Likewise.
122         (yyerror): Likewise.
123
124 2009-06-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
125
126         * varobj.c (varobj_update): Fix out of scope varobjs to not to change.
127
128 2009-06-04  Ulrich Weigand  <uweigand@de.ibm.com>
129
130         * symtab.h: Rename SYMBOL_OPS to SYMBOL_COMPUTED_OPS.
131         * ax-gdb.c (gen_var_ref): Likewise.
132         * findvar.c (read_var_value, symbol_read_needs_frame): Likewise.
133         * printcmd.c (address_info): Likewise.
134         * dwarf2loc.c (dwarf_expr_frame_base): Likewise.
135         * dwarf2read.c (dwarf2_symbol_mark_computed): Likewise.
136         * symtab.h: Rename struct symbol_ops to struct symbol_computed_ops.
137         * dwarf2loc.h: Likewise.
138         * dwarf2loc.c (dwarf2_locexpr_funcs, dwarf2_loclist_funcs): Likewise.
139
140         * symtab.h: (struct symbol_register_ops): New struct definition.
141         (struct symbol): Make "ops" member a union of symbol_computed_ops and
142         symbol_register_ops callback pointers.
143         (SYMBOL_REGISTER_OPS): New macro.
144         * tracepoint.c: Include "objfiles.h".
145         (scope_info, collect_symbol): Use SYMBOL_REGISTER_OPS register_number
146         callback to retrieve register numbers.
147         * ax-gdb.c (gen_var_ref): Likewise.
148         * findvar.c (read_var_value): Likewise.
149         * printcmd.c (address_info): Likewise.
150
151         * coffread.c (coff_reg_to_regnum): New function.
152         (coff_register_funcs): New static variable.
153         (process_coff_symbol): Do not call gdbarch_sdb_reg_to_regnum.
154         Install SYMBOL_REGISTER_OPS callbacks.
155         * mdebugread.c (mdebug_reg_to_regnum): New function.
156         (mdebug_register_funcs): New static variable.
157         (parse_symbol): Do not call gdbarch_ecoff_reg_to_regnum.
158         Install SYMBOL_REGISTER_OPS callbacks.
159         * stabsread.c (stab_reg_to_regnum): New function.
160         (stab_register_funcs): New static variable.
161         (define_symbol): Do not call gdbarch_stab_reg_to_regnum.
162         Install SYMBOL_REGISTER_OPS callbacks.
163
164 2009-06-03  Doug Evans  <dje@google.com>
165
166         * symfile.c (reread_symbols): Reset psymtabs_addrmap to NULL
167         after discarding its contents.
168
169 2009-06-03  Pedro Alves  <pedro@codesourcery.com>
170
171         * target.c: Include "exec.h".
172         (update_current_target): Don't inherit to_sections or
173         to_sections_end.
174         (target_get_section_table): New.
175         (target_section_by_addr): Fetch the section table from the passed
176         in target.
177         (memory_xfer_partial): Handle unmapped overlay sections before
178         anything else.  Get the overlay mapped address here.  Adjust to
179         use section_table_xfer_memory_partial.
180         (get_target_memory): Request a TARGET_OBJECT_RAW_MEMORY object
181         instead of TARGET_OBJECT_MEMORY.
182         (target_resize_to_sections): Delete.
183         (remove_target_sections): Adjust to remove target sections from
184         `current_target_sections', and use resize_section_table.
185         * target.h (struct target_ops) <to_sections, to_sections_end>:
186         Remove fields.
187         <to_get_section_table>: New method.
188         (xfer_memory, print_section_info): Delete declarations.
189         (struct target_section_table): New type.
190         (target_get_section_table): Declare.
191         (target_resize_to_sections): Delete declaration.
192         (remove_target_sections): Delete declaration.
193         * bfd-target.c (target_bfd_xfer_partial): Get the section table
194         from to_data.
195         (target_bfd_get_section_table): New.
196         (target_bfd_xclose): Adjust.
197         (target_bfd_reopen): Store the section table in the to_data field.
198         * corelow.c (core_data): New.
199         (core_close): Adjust to release core_data and its sections.
200         (core_open): Allocate core_data, and build its target sections
201         table.
202         (deprecated_core_resize_section_table): New.
203         (core_files_info): Pass core_data to print_section_info.
204         (core_xfer_partial): Adjust to use
205         section_table_xfer_memory_partial for TARGET_OBJECT_MEMORY xfers.
206         (init_core_ops): Do not install a deprecated_xfer_memory callback
207         anymore.
208         * solib.c (update_solib_list): Add the shared library sections
209         to the current target sections table.
210         * exec.c (current_target_sections_1): New global.
211         (current_target_sections): New global.
212         (exec_close_1): New function, refactored from exec_close.  Remove
213         the exec_bfd's sections from the current target sections table.
214         Adjust to not use to_sections.
215         (exec_close): Remove all target sections.  Call exec_close_1.
216         (exec_file_clear): Use exec_close_1 instead of unpushing the
217         target.
218         (exec_file_attach): Likewise.  Adjust to not use to_sections.  Add
219         exec_bfd's sections to the current target sections table.  Don't
220         push the exec_ops target here.
221         (resize_section_table): New.
222         (add_target_sections): New.
223         (remove_target_sections): Moved here.
224         (section_table_xfer_memory): Adjust to implement the xfer_partial
225         interface, and rename to...
226         (section_table_xfer_memory_partial): ... this, replacing the
227         current function of that same name.
228         (exec_get_section_table): New.
229         (exec_xfer_partial): New.
230         (xfer_memory): Delete.
231         (print_section_info): Replace the target_ops parameter by a
232         target_section_table parameter.
233         (exec_files_info, set_section_command, exec_set_section_address):
234         Adjust to use the current sections table.
235         (init_exec_ops): Do not register a deprecated_xfer_memory
236         callback.  Register to_xfer_partial and to_get_section_table
237         callbacks.
238         * infrun.c (handle_inferior_event): Update comments around
239         solib_add.
240         * rs6000-nat.c (xcoff_relocate_core): Adjust to use
241         deprecated_core_resize_section_table.
242         * exec.h (resize_section_table): Declare.
243         (section_table_xfer_memory_partial): Add const char * argument.
244         (remove_target_sections): Declare here.
245         (add_target_sections): Declare.
246         (print_section_info): Declare here.
247         * gdbcore.h (deprecated_core_resize_section_table): Declare.
248
249 2009-06-03  Ulrich Weigand  <uweigand@de.ibm.com>
250
251         * value.h (struct internalvar): Remove.
252         (get_internalvar_integer): Add prototype.
253         (set_internalvar_integer): Add prototype.
254         (clear_internalvar): Add prototype.
255
256         * value.c (struct internalvar): Move here.  Add type member.  Remove
257         endian member.  Add union_internalvar member instead of value member.
258         (init_if_undefined_command): Use intvar->type.
259         (create_internalvar): Do not initialize value/endian, but type.
260         (create_internalvar_type_lazy): Call create_internalvar.
261         (value_of_internalvar): Handle host-side internalvar contents.
262         (set_internalvar_component): Likewise.
263         (set_internalvar): Likewise.
264         (get_internalvar_integer): New function.
265         (clear_internalvar): Likewise.
266         (set_internalvar_integer): Likewise.
267         (preserve_values): Handle host-side internalvar contents.
268
269         * breakpoint.c (set_breakpoint_count, set_tracepoint_count): Call
270         set_internalvar_integer instead of set_internalvar.
271         * findcmd.c (find_command): Likewise.
272         * infrun.c (handle_inferior_event): Likewise.
273         * source.c (forward_search_command, reverse_search_command): Likewise.
274         * tracepoint.c (set_traceframe_num, set_tracepoint_num,
275         set_traceframe_context): Likewise.
276
277         * printcmd.c (x_command): Call clear_internalvar instead of
278         set_internalvar.
279         * tracepoint.c (set_traceframe_context): Likewise.
280         
281         * breakpoint.c (get_number_trailer): Call get_internalvar_integer
282         instead of value_of_internalvar.
283         * linespec.c (decode_dollar): Likewise.
284
285         * expprint.c (dump_subexp_body_standard): Use internalvar_name
286         instead of accessing internalvar private elements.
287         * valops.c (value_assign): Copy from original source instead of
288         accessing internalvar private elements.
289
290 2009-06-03  Ulrich Weigand  <uweigand@de.ibm.com>
291
292         * scm-lang.c (builtin_type_scm): Remove.
293         (scm_lookup_name): Add GDBARCH parameter.  Use it instead of
294         objfile architecture.  Use per-architecture builtin_scm_type instead
295         of builtin_type_scm.
296         (evaluate_exp): Pass expression architecture to scm_lookup_name.
297
298         (scm_get_field): Add SIZE parameter.  Use it instead of 
299         TYPE_LENGTH (builtin_type_scm).
300
301         (build_scm_types): New function.
302         (scm_type_data): New variable.
303         (builtin_scm_type): New function.
304         (_initialize_scheme_language): Do not initialize builtin_type_scm.
305         Register build_scm_types as post-init function for scm_type_data.
306
307         * scm-exp.c (scm_lreadr): Use per-architecture builtin_scm_type
308         instead of builtin_type_scm.
309
310         * scm-lang.h (SCM_CAR, SCM_CDR): Pass SCM_SIZE to scm_get_field.
311         (scm_get_field): Add SIZE paramter.
312         (scm_scmval_print): Remove prototype.
313         (builtin_type_scm): Remove.
314         (struct builtin_scm_type): Add structure definition.
315         (builtin_scm_type): Add prototype.
316
317         * scm-valprint.c (scm_inferior_print): Add TYPE parameter.  Use it
318         instead of builtin_core_addr type; do not use objfile architecture.
319         (scm_scmlist_print): Add TYPE parameter.  Use it to define SCM_SIZE.
320         Pass type to scm_scmval_print.
321         (scm_ipruk): Add TYPE parameter.  Use it to define SCM_SIZE.
322         (scm_scmval_print): Make static.  Add TYPE parameter.  Use it to
323         define SCM_SIZE.  Pass type to scm_ipruk and scm_scmlist_print.
324         (scm_val_print): Pass type to scm_inferior_print and scm_scmval_print.
325
326 2009-06-03  Ulrich Weigand  <uweigand@de.ibm.com>
327
328         * mdebugread.c (mdebug_type_void, mdebug_type_char, mdebug_type_short,
329         mdebug_type_int, mdebug_type_int_32, mdebug_type_int_64,
330         mdebug_type_long_32, mdebug_type_long_64, mdebug_type_long_long_64,
331         mdebug_type_unsigned_char, mdebug_type_unsigned_short,
332         mdebug_type_unsigned_int_32, mdebug_type_unsigned_int_64,
333         mdebug_type_unsigned_long_32, mdebug_type_unsigned_long_64,
334         mdebug_type_unsigned_long_long_64, mdebug_type_adr_32,
335         mdebug_type_adr_64, mdebug_type_float, mdebug_type_double,
336         mdebug_type_complex, mdebug_type_double_complex,
337         mdebug_type_fixed_dec, mdebug_type_float_dec, mdebug_type_string):
338         Remove.
339
340         (basic_type_data): New global variable.
341         (basic_type): New function.
342         (parse_type): Remove static basic type map map_bt.  Call basic_type
343         to get basic types instead of using mdebug_type_ variables.
344
345         (parse_symbol): Use builtin types instead of mdebug_type_ variables.
346         (upgrade_type): Likewise.
347         (parse_procedure): Likewise.
348         (psymtab_to_symtab_1): Likewise.
349
350         (_initialize_mdebugread): Do not initialize mdebug_type_ variables.
351         Initialize basic_type_data.
352
353 2009-06-03  Ulrich Weigand  <uweigand@de.ibm.com>
354
355         * dfp.h (decimal_binop): Convert LEN_RESULT to input parameter.
356         * dfp.c (promote_decimal): Remove.
357         (decimal_binop): Convert LEN_RESULT to input parameter.
358         Remove call to decimal_binop.
359         (decimal_compare): Remove call to decimal_binop.
360
361         * valarith.c (value_binop): Pass desired result type length
362         to decimal_binop.
363
364 2009-06-01  Tristan Gingold  <gingold@adacore.com>
365
366         * configure.tgt (avr): Set gdb_sim to use the simulator.
367
368 2009-05-29  Doug Evans  <dje@google.com>
369
370         * infrun.c (prepare_to_proceed): Document.  Assert !non_stop.
371         If scheduler-locking is enabled, we're not going to be singlestepping
372         any other previously stopped thread.
373
374 2009-05-29  Pedro Alves  <pedro@codesourcery.com>
375
376         * mi/mi-interp.c (mi_on_resume): Initialize `count' to 0.
377
378 2009-05-29  Eli Zaretskii  <eliz@gnu.org>
379
380         * i386-tdep.c (i386_go32_init_abi): Use SVR4 register numbering
381         for stabs and COFF debug info.
382
383 2009-05-28  Pedro Alves  <pedro@codesourcery.com>
384
385         * infrun.c (handle_inferior_event): When thread hoping, switch
386         inferior_ptid to the event thread before removing breakpoints from
387         the target.  If not stopping, also try to revert back to a thread
388         that was doing a "next".  Check if that thread still exists before
389         resuming.
390         (currently_stepping_thread): Delete and merge with ...
391         (currently_stepping): ... this.
392         (currently_stepping_callback): Rename to ...
393         (currently_stepping_or_nexting_callback): ... this, and also
394         return true if the thread was stepping over a call (has a
395         step-resume breakpoint).
396
397 2009-05-28  Tom Tromey  <tromey@redhat.com>
398
399         * python/python.c (gdbpy_parameter): Rename.  Fix error message.
400         (GdbMethods): Change "get_parameter" to "parameter".
401
402 2009-05-28  Pierre Muller  <muller@ics.u-strasbg.fr>
403             Paul Pluzhnikov  <ppluzhnikov@google.com>
404
405         * configure.ac (!have_libpython): Add python-prettyprint source
406         and object files.
407         * configure: Regenerate.
408         * python/python-prettyprint.c: Move "#ifdef HAVE_PYTHON" before
409         python headers.
410         
411 2009-05-27  Vladimir Prus  <vladimir@codesourcery.com>
412             Tom Tromey  <tromey@redhat.com>
413             Thiago Jung Bauermann  <bauerman@br.ibm.com>
414
415         * mi/mi-main.c (mi_cmd_list_features): List "python" feature.
416         * varobj.h (varobj_set_visualizer): Declare.
417         (varobj_get_display_hint): Likewise.
418         (varobj_update_result_t) <children_changed, value_installed>: New
419         fields.
420         * mi/mi-cmds.c (mi_cmds): Add var-set-visualizer.
421         * mi/mi-cmds.h (mi_cmd_var_set_visualizer,
422         mi_cmd_var_set_child_range): Declare.
423         * mi/mi-cmd-var.c (mi_cmd_var_set_visualizer): New function.
424         (mi_cmd_var_list_children): Emit display hint.
425         (varobj_update_one): Emit display hint.  Handle dynamic children.
426         * python/python.c (GdbMethods): Add "default_visualizer".
427         * python/python-internal.h (apply_varobj_pretty_printer,
428         gdbpy_get_varobj_pretty_printer, gdbpy_get_display_hint):
429         Declare.
430         (gdbpy_default_visualizer): Likewise.
431         * varobj.c: Include python.h, python-internal.h.
432         (PyObject): New typedef.
433         (struct varobj) <children_requested, pretty_printer>: New fields.
434         (varobj_create): Call install_default_visualizer.
435         (instantiate_pretty_printer): New function.
436         (varobj_set_display_format): Update.
437         (varobj_get_display_hint): New function.
438         (update_dynamic_varobj_children): New function.
439         (varobj_get_num_children): Handle dynamic children.
440         (varobj_list_children): Likewise.
441         (install_new_value): Likewise.
442         (varobj_add_child): New function.
443         (install_visualizer): Likewise.
444         (install_default_visualizer): Likewise.
445         (varobj_set_visualizer): Likewise.
446         (varobj_update): Handle dynamic children.
447         (create_child): Use create_child_with_value.
448         (create_child_with_value): New function.
449         (value_get_print_value): Call pretty printer.  Add value_formatter
450         argument.
451         (c_value_of_variable): Update.
452         (varobj_invalidate): Always free all_rootvarobj.
453         * python/python-prettyprint.c (apply_varobj_pretty_printer): New
454         function.
455         (gdbpy_get_varobj_pretty_printer): Likewise.
456         (gdbpy_default_visualizer): Likewise.
457
458 2009-05-27  Tom Tromey  <tromey@redhat.com>
459             Thiago Jung Bauermann  <bauerman@br.ibm.com>
460             Phil Muldoon  <pmuldoon@redhat.com>
461             Paul Pluzhnikov  <ppluzhnikov@google.com>
462             Vladimir Prus  <vladimir@codesourcery.com>
463
464         * python/python-value.c (value_object_to_value): New function.
465         * python/python-internal.h: Include frameobject.h.
466         (gdbpy_children_cst, gdbpy_to_string_cst, gdbpy_display_hint_cst):
467         Declare.
468         (value_object_to_value): Declare.
469         * printcmd.c (struct format_data) <raw>: New field.
470         (last_format): Default to 0.
471         (decode_format): Initialize val.raw.  Handle /r flag.
472         (print_command_1): Initialize fmt.raw and opts.raw.
473         (output_command): Likewise.
474         (x_command): Fix initialization of fmt.format.  Initialize
475         fmt.raw.
476         (display_command): Initialize fmt.raw.
477         (do_one_display): Set opts.raw.
478         * python/python.c (gdbpy_to_string_cst, gdbpy_children_cst,
479         gdbpy_display_hint_cst): New globals.
480         (_initialize_python): Initialize them.  Set gdb.pretty_printers.
481         * cp-valprint.c: Include python.h.
482         (cp_print_value): Call apply_val_pretty_printer.
483         * python/python.h (apply_val_pretty_printer): Declare.
484         * stack.c (print_this_frame_argument_p): Remove.
485         (print_frame_args): Compute summary flag.  Don't use
486         print_this_frame_argument_p.
487         * valprint.c: Include python.h.
488         (user_print_options): Initialize new fields.
489         (scalar_type_p): New function.
490         (val_print): Handle 'raw' and 'summary' modes.  Call
491         apply_val_pretty_printer.
492         (value_print): Handle 'raw' mode.
493         * valprint.h (struct value_print_options) <raw, summary>: New
494         fields.
495         * Makefile.in (SUBDIR_PYTHON_OBS): Add python-prettyprint.o
496         (SUBDIR_PYTHON_SRCS): Add python-prettyprint.c.
497         (python-prettyprint.o): New target.
498         * python/python-prettyprint.c: New file.
499
500 2009-05-27  Tom Tromey  <tromey@redhat.com>
501             Paul Pluzhnikov  <ppluzhnikov@google.com>
502
503         * mi/mi-main.c (mi_cmd_data_evaluate_expression): Use
504         value_address.
505         * cli/cli-dump.c (dump_value_to_file): Use value_address.
506         * valprint.c (common_val_print): Likewise.
507         * v850-tdep.c (v850_push_dummy_call): Use value_address.
508         * tracepoint.c (encode_actions): Use value_address.
509         * printcmd.c (print_formatted): Use value_address.
510         (x_command): Likewise.
511         * p-valprint.c (pascal_object_print_static_field): Use
512         value_address.
513         * mn10300-tdep.c (mn10300_push_dummy_call): Use value_address.
514         * mips-tdep.c (mips_eabi_push_dummy_call): Use value_address.
515         * m32r-tdep.c (m32r_push_dummy_call): Use value_address.
516         * jv-valprint.c (java_value_print): Use value_address.
517         * infcall.c (find_function_addr): Use value_address.
518         * gnu-v3-abi.c (gnuv3_rtti_type): Use value_address.
519         * gnu-v2-abi.c (gnuv2_value_rtti_type): Use value_address.
520         * frv-tdep.c (frv_push_dummy_call): Use value_address.
521         * frame.c (frame_register_unwind): Use value_address.
522         (frame_unwind_register_value): Likewise.
523         * darwin-nat-info.c (info_mach_region_command): Use
524         value_address.
525         * cp-valprint.c (cp_print_static_field): Use value_address.
526         * c-valprint.c (c_value_print): Use value_address.
527         * breakpoint.c (update_watchpoint): Use value_address.
528         (can_use_hardware_watchpoint): Likewise.
529         * ada-valprint.c (ada_val_print_1): Use value_address.
530         (ada_value_print): Likewise.
531         * ada-tasks.c (read_fat_string_value): Use value_address.
532         * jv-lang.c (java_link_class_type): Use set_value_address.
533         (java_link_class_type): Likewise.
534         (get_java_utf8_name): Use value_address.
535         (type_from_class): Likewise.
536         (java_link_class_type): Likewise.
537         * findvar.c (value_of_register): Use set_value_address.
538         (read_var_value): Likewise.
539         (read_var_value): Likewise.
540         * eval.c (evaluate_subexp_standard): Use set_value_address.
541         (evaluate_subexp_standard): Use value_address.
542         * dwarf2loc.c (dwarf2_evaluate_loc_desc): Use set_value_address.
543         * ada-lang.c (coerce_unspec_val_to_type): Use set_value_address.
544         (ada_value_primitive_packed_val): Likewise.
545         (ensure_lval): Likewise.
546         (thin_data_pntr): Use value_address.
547         (desc_bounds): Likewise.
548         (ada_value_primitive_packed_val): Likewise.
549         (value_assign_to_component): Likewise.
550         (ensure_lval): Likewise.
551         (make_array_descriptor): Likewise.
552         (ada_to_fixed_value): Likewise.
553         (unwrap_value): Likewise.
554         * value.c (deprecated_value_address_hack): Remove.
555         (value_address): New function.
556         (value_raw_address): Likewise.
557         (set_value_address): Likewise.
558         (value_fn_field): Use set_value_address.
559         (value_from_contents_and_address): Likewise.
560         (value_fn_field): Likewise.
561         (allocate_value_lazy): Don't use VALUE_ADDRESS.
562         (value_as_address): Use value_address.
563         (value_static_field): Likewise.
564         * valops.c (search_struct_field): Use set_value_address.
565         (value_at): Likewise.
566         (value_at_lazy): Likewise.
567         (value_repeat): Likewise.
568         (value_cast_structs): Use value_address.
569         (value_cast): Likewise.
570         (value_fetch_lazy): Likewise.
571         (value_assign): Likewise.
572         (value_repeat): Likewise.
573         (address_of_variable): Likewise.
574         (value_coerce_array): Likewise.
575         (value_coerce_function): Likewise.
576         (value_addr): Likewise.
577         (search_struct_field): Likewise.
578         (search_struct_method): Likewise.
579         (find_method_list): Likewise.
580         (value_struct_elt_for_reference): Likewise.
581         (value_full_object): Likewise.
582         * jv-valprint.c (java_value_print): Use set_value_address.
583         * value.h (deprecated_value_address_hack): Remove.
584         (VALUE_ADDRESS): Remove.
585         (value_address): Declare.
586         (value_raw_address): Declare.
587         (set_value_address): Declare.
588
589 2009-05-27  Tom Tromey  <tromey@redhat.com>
590             Thiago Jung Bauermann  <bauerman@br.ibm.com>
591             Phil Muldoon  <pmuldoon@redhat.com>
592             Paul Pluzhnikov  <ppluzhnikov@google.com>
593
594         * python/python.c (_initialize_python): Call
595         gdbpy_initialize_types.
596         (GdbMethods): Add "lookup_type".
597         * python/python-value.c (value_object) <type>: New field.
598         (valpy_dealloc): Decref type.
599         (valpy_new): Initialize type.
600         (valpy_get_type): New function.
601         (value_to_value_object): Initialize type.
602         (valpy_cast): New function.
603         (value_object_getset): Add "type".
604         (value_object_methods): Add "cast".
605         * python/python-internal.h (type_to_type_object): Declare.
606         (type_object_to_type): Likewise.
607         (gdbpy_initialize_types): Likewise.
608         (gdbpy_lookup_type): Declare.
609         * Makefile.in (SUBDIR_PYTHON_OBS): Add python-type.o.
610         (SUBDIR_PYTHON_SRCS): Add python-type.c.
611         (python-type.o): New target.
612         * python/python-type.c: New file.
613
614 2009-05-27  Tom Tromey  <tromey@redhat.com>
615             Thiago Jung Bauermann  <bauerman@br.ibm.com>
616             Phil Muldoon  <pmuldoon@redhat.com>
617
618         * python/python.c: Include objfiles.h, observer.h.
619         (gdbpy_auto_load): New global.
620         (gdbpy_current_objfile): Likewise.
621         (GDBPY_AUTO_FILENAME): New define.
622         (gdbpy_new_objfile): New function.
623         (gdbpy_get_current_objfile): Likewise.
624         (gdbpy_objfiles): Likewise.
625         (_initialize_python): Add "maint set auto-load".  Call
626         gdbpy_initialize_objfile.  Attach objfile observer.
627         (GdbMethods): New methods current_objfile, objfiles.
628         * python/python-objfile.c: New file.
629         * python/python-internal.h (objfile_to_objfile_object): Declare.
630         (objfpy_get_printers): Likewise.
631         (gdbpy_initialize_objfile): Likewise.
632         * Makefile.in (SUBDIR_PYTHON_OBS): Add python-objfile.o.
633         (SUBDIR_PYTHON_SRCS): Add python-objfile.c.
634         (python-objfile.o): New target.
635
636 2009-05-27  Pedro Alves  <pedro@codesourcery.com>
637
638         * infrun.c (follow_exec): Clear the stop_requested flag.
639         * linux-nat.c (linux_handle_extended_wait) <PTRACE_EVENT_EXEC>:
640         Add debug output.
641
642 2009-05-27  Aleksandar Ristovski  <aristovski@qnx.com>
643
644         * nto-procfs.c (get_regset): Pass correct pointer.
645
646 2009-05-26  Doug Evans  <dje@google.com>
647
648         * dwarf2read.c (follow_die_ref): Add comment.
649         (dwarf2_mark_helper): Tweak comment.
650         (dwarf2_mark): Move description to its proper place.
651
652 2009-05-25  Pierre Muller  <muller@ics.u-strasbg.fr>
653
654         * procfs.c (procfs_wait): Add options parameter.
655
656 2009-05-24  Doug Evans  <dje@google.com>
657
658         Global renaming of find_thread_pid to find_thread_ptid.
659         * gdbthread.h (find_thread_ptid): Renamed from find_thread_pid.
660         * thread.c (find_thread_ptid): Renamed from find_thread_pid.
661         All callers updated.
662
663         * infrun.c (follow_fork): Initialize new step_* locals
664         to avoid "may be used uninitialized" warnings.
665
666 2009-05-24  Pedro Alves  <pedro@codesourcery.com>
667
668         * inflow.c (copy_terminal_info): Deep copy `run_terminal'.
669
670 2009-05-24  Pedro Alves  <pedro@codesourcery.com>
671
672         * gdbthread.h (struct thread_info): New `pending_follow' field.
673         * thread.c (new_thread): New function.
674         (add_thread_silent): Use it.
675         * breakpoint.c (internal_breakpoint_number): New global, moved
676         from inside...
677         (create_internal_breakpoint): ... this.
678         (clone_momentary_breakpoint): New.
679         * breakpoint.h (clone_momentary_breakpoint): Declare.
680         * infrun.c (nullify_last_target_wait_ptid): Move declaration
681         higher.
682         (pending_follow): Delete.
683         (follow_fork): Handle pending follow fork event here.  Moved the
684         preserving of thread stepping state here.
685         (resume): Don't handle pending follow fork events here.  Only
686         install the inferior's terminal modes if we're about to resume it.
687         (proceed): Handle possible pending follow fork events here.
688         (init_wait_for_inferior): No need to clear pending_follow anymore,
689         it's gone.
690         (handle_inferior_event): Adjust to per-thread `pending_follow'.
691         Call `follow_fork' to handle following the fork.  If the
692         follow-fork is cancelled, stop stepping.
693         * linux-nat.c (linux_child_follow_fork): Adjust to per-thread
694         `pending_follow' events.  Remove code that handled preserving the
695         thread stepping state.
696         * inf-ptrace.c (inf_ptrace_follow_fork): Ditto.
697         * inf-ttrace.c (inf_ttrace_follow_fork): Ditto.
698
699 2009-05-24  Pierre Muller  <muller@ics.u-strasbg.fr>
700
701         * symfile.c (add_shared_symbol_files_command): Remove
702         prototype and function.
703         (_initialize _symfile): Move "add-shared-symbol-files"
704         command and "assf" alias.
705         * windows-nat.c (_initialize_windows_nat): to here.
706         Change "add-shared-symbol-files" to alias.
707         
708         * config/i386/cygwin.mh: Remove NAT_FILE.
709         * config/i386/mingw.mh: Remove NAT_FILE.
710         * config/i386/mingw64.mh: Remove NAT_FILE.
711         * config/i386/nm-cygwin.h: Remove file.
712         * config/i386/nm-cygwin64.h: Remove file.
713
714 2009-05-24  Hui Zhu  <teawater@gmail.com>
715
716         * i386-linux-tdep.c (I386_LINUX_RECORD_SIZE_*,
717         I386_LINUX_RECORD_IOCTL_*,
718         I386_LINUX_RECORD_FCNTL_*) Removed.
719         (i386_linux_init_abi): Change size of record from macros to
720         numbers.
721
722 2009-05-24  Hui Zhu  <teawater@gmail.com>
723
724         * i386-linux-tdep.c (i386_linux_init_abi): Remove size_char.
725         * linux-record.c (record_linux_system_call): Ditto.
726         * linux-record.h (linux_record_tdep): Ditto.
727
728 2009-05-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
729
730         Replace the savestring calls by xstrdup calls where possible.
731         * breakpoint.c (condition_command, set_raw_breakpoint)
732         (create_catchpoint, update_breakpoint_locations): Replace the
733         savestring calls by xstrdup calls where possible.
734         * buildsym.c (start_subfile, patch_subfile_names, record_debugformat)
735         (record_producer): Likewise.
736         * coffread.c (coff_start_symtab, complete_symtab): Likewise.
737         * corefile.c (set_gnutarget): Likewise.
738         * dbxread.c (add_new_header_file): Likewise.
739         * demangle.c (set_demangling_command, set_demangling_style): Likewise.
740         * event-top.c (push_prompt, pop_prompt, command_line_handler)
741         (set_async_prompt): Likewise.
742         * infcmd.c (set_inferior_io_terminal, attach_command_post_wait):
743         Likewise.
744         * language.c (set_language_command, _initialize_language): Likewise.
745         * linespec.c (decode_line_2): Likewise.
746         * rs6000-nat.c (add_vmap): Likewise.
747         * top.c (set_prompt, init_history, init_main): Likewise.
748         * tracepoint.c (stringify_collection_list): Likewise.
749         * varobj.c (varobj_create): Remove variable expr_len.  Replace the 
750         savestring calls by xstrdup calls where possible.
751         (value_of_root, c_name_of_variable, c_describe_child): Replace the
752         savestring calls by xstrdup calls where possible.
753         * xcoffread.c (complete_symtab): Likewise.
754         * cli/cli-script.c (build_command_line, define_command): Likewise.
755         * cli/cli-setshow.c (do_setshow_command): Likewise.
756
757 2009-05-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
758
759         Remove already unreachable code.
760         * varobj.c (varobj_get_handle): Fix comment when error is called.
761         All callers updated.
762
763 2009-05-23  Eli Zaretskii  <eliz@gnu.org>
764
765         * README (`configure' options): Document GDB-specific options to
766         `configure'.
767
768         * symtab.c (skip_prologue_using_lineinfo): New function.
769         (find_function_start_sal): Use it to get to the first line of
770         function's body that has an entry in the lineinfo table.
771
772         * symmisc.c (dump_symtab): Switch the current language to
773         the language of the symtab we are dumping only if the symtab's
774         language is neither language_auto nor language_unknown.
775
776         * coffread.c (coff_symtab_read): Set language_minimal as the
777         language for the "_globals_" pseudo-file.
778         (process_coff_symbol): Set the symbol's language to the language
779         of current_subfile.
780
781 2009-05-22  Pedro Alves  <pedro@codesourcery.com>
782
783         * target.h (struct section_table): Rename to ...
784         (struct target_section): ... this.
785         * exec.c: Adjust all references.
786         * exec.h: Adjust all references.
787         * nto-tdep.c: Adjust all references.
788         * nto-tdep.h: Adjust all references.
789         * ppc-linux-tdep.c: Adjust all references.
790         * rs6000-nat.c: Adjust all references.
791         * s390-tdep.c: Adjust all references.
792         * solib-darwin.c: Adjust all references.
793         * solib-frv.c: Adjust all references.
794         * solib-irix.c: Adjust all references.
795         * solib-null.c: Adjust all references.
796         * solib-osf.c: Adjust all references.
797         * solib-pa64.c: Adjust all references.
798         * solib-som.c: Adjust all references.
799         * solib-sunos.c: Adjust all references.
800         * solib-svr4.c: Adjust all references.
801         * solib-target.c: Adjust all references.
802         * solib.c: Adjust all references.
803         * solist.h: Adjust all references.
804         * symfile.c: Adjust all references.
805         * symfile.h: Adjust all references.
806         * target.c: Adjust all references.
807
808 2009-05-22  Hui Zhu  <teawater@gmail.com>
809
810         Add sys_fcntl argument interfaces to linux_record_tdep.
811
812         * linux-record.h (linux_record_tdep): Add fcntl_F_GETLK,
813         fcntl_F_GETLK64, fcntl_F_SETLK64 and fcntl_F_SETLKW64 to be
814         interfaces.
815         * i386-linux-tdep.c (I386_LINUX_RECORD_FCNTL_F_GETLK,
816         I386_LINUX_RECORD_FCNTL_F_GETLK64,
817         I386_LINUX_RECORD_FCNTL_F_SETLK64,
818         I386_LINUX_RECORD_FCNTL_F_SETLKW64): New macros. The values
819         of I386 Linux sys_fcntl arguments.
820         (i386_linux_init_abi): Set macros values to linux_record_tdep.
821         * linux-record.c (record_linux_system_call): Change to use
822         the interface in linux_record_tdep in sys_fcntl and
823         sys_fcntl64.
824
825         * linux-record.c (record_linux_system_call): Fix the process
826         record build error about type in CYGWIN.
827
828 2009-05-22  Pedro Alves  <pedro@codesourcery.com>
829
830         * inflow.c (kill_command): Delete left over static declaration.
831
832 2009-05-22  Pedro Alves  <pedro@codesourcery.com>
833
834         * bfd-target.c: Don't include gdb_assert.h or gdb_string.h.
835         Include exec.h.
836         (struct section_closure): Delete.
837         (add_to_section_table): Delete.
838         (build_target_sections_from_bfd): Delete.
839         (target_bfd_xfer_partial): Use section_table_xfer_memory_partial.
840         (target_bfd_reopen): Use build_section_table.
841         * exec.c (xfer_memory): Move most code except for overlay
842         debugging support from here...
843         (section_table_xfer_memory): ... to this new function.
844         (section_table_xfer_memory_partial): New.
845         * exec.h (section_table_xfer_memory_partial): Declare.
846         * bfd-target.h (build_target_sections_from_bfd): Delete
847         declaration.
848
849 2009-05-22  Pedro Alves  <pedro@codesourcery.com>
850
851         * remote.c (compare_sections_command): Don't declare exec_bfd.
852         * tracepoint.c: Include "gdbcore.h".
853         (remote_set_transparent_ranges): Don't declare exec_bfd.
854
855 2009-05-21  Pedro Alves  <pedro@codesourcery.com>
856
857         * aix-thread.c (init_aix_thread_ops): Whitespace.
858
859 2009-05-21  Pedro Alves  <pedro@codesourcery.com>
860
861         * dec-thread.c (dec_thread_wait): Add options parameter.  Use it
862         to call the to_wait method in the target beneath.
863         * remote-m32r-sdi.c (m32r_wait): Add options parameter.
864
865 2009-05-21  Joel Brobecker  <brobecker@adacore.com>
866
867         * aix-thread.c (aix_thread_wait): Add options parameter.  Use it
868         to call the to_wait method in the target_beneath.
869
870 2009-05-21  Pedro Alves  <pedro@codesourcery.com>
871
872         * linux-nat.c (linux_nat_terminal_inferior)
873         (linux_nat_terminal_ours): Don't check sync_execution.
874         * remote.c (remote_terminal_inferior, remote_terminal_ours):
875         Don't check sync_execution.  Update comments.
876         * target.c (target_terminal_inferior): New.
877         * target.h (target_terminal_inferior): Delete macro, and declare
878         as function.
879         * event-top.c (async_disable_stdin): Make idempotent.  Don't give
880         the target the terminal here.
881         * inflow.c (terminal_ours_1): Don't return early without setting
882         `terminal_is_ours'.
883
884 2009-05-21  Pedro Alves  <pedro@codesourcery.com>
885
886         * target.h (TARGET_WNOHANG): New.
887         * target.c (target_wait): Add `options' argument.  Adjust.
888         (struct target_ops) <to_wait>: Add `options' argument.
889         (target_wait): Add `options' argument.
890         * infrun.c (wait_for_inferior): Pass 0 as options to
891         target_wait (blocking wait).
892         (fetch_inferior_event): Pass TARGET_WNOHANG as options to
893         target_wait.
894         * fork-child.c (startup_inferior): Pass 0 as options to
895         target_wait (blocking wait).
896         * linux-nat.c (linux_nat_create_inferior): Remove async masking.
897         (linux_nat_wait_1): Add `target_options' argument.  Use it instead
898         of checking on target_can_async_p.
899         (linux_nat_wait): Add `target_options' argument.  Adjust.
900         * remote.c (remote_wait_ns): Add `options' argument.  Adjust to
901         check on TARGET_WNOWAIT instead of checking on remote_is_async_p.
902         (remote_wait_as): Add `options' argument.  Adjust to check on
903         TARGET_WNOWAIT instead of checking on remote_is_async_p.  If doing
904         a blocking wait, keep waiting until an interesting event comes
905         out.
906         (remote_wait): Add `options' argument.  Don't loop here if the
907         target is in async mode, and a blocking wait has been requested.
908
909         * top.c (deprecated_target_wait_hook): Add `options' argument.
910         * linux-thread-db.c (thread_db_wait): Add `options' argument, and
911         pass it down to the layer beneath.
912         * inf-ptrace.c (inf_ptrace_wait): Add `options' argument.
913         * record.c (record_beneath_to_wait): Add `options' argument.
914         (record_wait): Add `options' argument, and pass it down to the
915         layer beneath.
916         * bsd-uthread.c (bsd_uthread_wait): Add `options' argument.
917         * darwin-nat.c (darwin_wait): Likewise.
918         * defs.h (deprecated_target_wait_hook): Likewise.
919         * gnu-nat.c (gnu_wait): Add `options' argument.
920         * go32-nat.c (go32_wait): Likewise.
921         * hpux-thread.c (hpux_thread_wait): Add `options' argument, and
922         pass it down to the layer beneath.
923         * inf-ttrace.c (inf_ttrace_wait): Add `options' argument.
924         * monitor.c (monitor_wait): Likewise.
925         * nto-procfs.c (procfs_wait): Likewise.
926         * remote-mips.c (mips_wait): Add `options' argument.
927         * remote-sim.c (gdbsim_wait): Likewise.
928         * rs6000-nat.c (rs6000_wait): Add `options' argument.
929         * sol-thread.c (sol_thread_wait): Add `options' argument, and pass
930         it down to the layer beneath.
931         * spu-linux-nat.c (spu_child_wait): Add `options' argument.
932         * windows-nat.c (windows_wait): Likewise.
933         * tui/tui-hooks.c (tui_target_wait_hook): Likewise.  Adjust.
934
935 2009-05-21  Pedro Alves  <pedro@codesourcery.com>
936
937         * mi/mi-interp.c (mi_on_resume): Account for whole process
938         resumes.
939
940 2009-05-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
941
942         * m2-exp.y (MAX_FUNC): Fix trailing UNOP_MAX.
943
944 2009-05-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
945
946         * dwarf2read.c (set_cu_language): Recognize also DW_LANG_C99.
947
948 2009-05-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
949
950         Fix parsing DW_AT_const_value using DW_FORM_string.
951         * dwarf2read.c (dwarf2_const_value <DW_FORM_string>): New.
952
953 2009-05-20  Joel Brobecker  <brobecker@adacore.com>
954
955         * aix-thread.c (giter_count): Do not count the main thread.
956         (giter_accum): Do not include the main thread.
957
958 2009-05-19  Jan Kratochvil  <jan.kratochvil@redhat.com>
959
960         Remove the PROT parameter from openp.
961         * source.c (openp): Remove the parameter PROT.  Assertion check MODE.
962         defs.h (openp): Update the prototype.
963         Update all the openp callers.
964
965 2009-05-19  Pedro Alves  <pedro@codesourcery.com>
966
967         * inflow.c (kill_command): Moved to infcmd.c.
968         (_initialize_inflow): Don't add the "kill" command or clear
969         inferior_ptid here.
970         * infcmd.c (kill_command): Moved here from inflow.c.
971         (_initialize_infcmd): Add the "kill" command here.
972
973 2009-05-19  Pedro Alves  <pedro@codesourcery.com>
974
975         * fork-child.c: Don't include frame.h.  Include terminal.h.
976         (fork_inferior): Call new_tty_postfork after forking adn adding
977         the child to the inferior list.
978         * inferior.h (new_tty_prefork, gdb_has_a_terminal): Don't declare
979         here.
980         * inflow.c (struct terminal_info): Remove const qualifier from
981         `run_terminal' field.
982         (inferior_thisrun_terminal): Tweak comment.
983         (inflow_inferior_exit): Release the `run_terminal' field.
984         (copy_terminal_info): New function.
985         (new_tty_postfork): New function.
986         * terminal.h (new_tty_prefork, new_tty, new_tty_postfork,
987         (copy_terminal_info, gdb_has_a_terminal, gdb_setpgid): Declare.
988         * inf-ptrace.c: Include terminal.h.
989         (inf_ptrace_follow_fork): Copy the parent's terminal info to the
990         child.
991         * linux-nat.c: Include terminal.h.
992         (linux_child_follow_fork): Copy the parent's terminal info to the
993         child.
994         * inf-ttrace.c: Include terminal.h.
995         (inf_ttrace_follow_fork): Copy the parent's terminal info to the
996         child.
997
998 2009-05-19  Pedro Alves  <pedro@codesourcery.com>
999
1000         * breakpoint.c (insert_breakpoints, breakpoint_init_inferior)
1001         (update_global_location_list): Use gdbarch_has_global_breakpoints
1002         instead of gdbarch_has_global_solist and
1003         target_supports_multi_process.
1004         * dicos-tdep.c (dicos_init_abi): Set
1005         gdbarch_has_global_breakpoints.
1006         * gdbarch.sh (has_global_solist): Update comment.
1007         (has_global_breakpoints): New.
1008         * remote.c (remote_start_remote): Use
1009         gdbarch_has_global_breakpoints instead of
1010         gdbarch_has_global_solist.
1011         * target.c (target_detach): Use gdbarch_has_global_breakpoints
1012         instead of gdbarch_has_global_solist.
1013         * infcmd.c (attach_command): Use gdbarch_has_global_solist instead
1014         of target_supports_multi_process.
1015
1016 2009-05-18  Paul Pluzhnikov  <ppluzhnikov@google.com>
1017
1018         * objc-lang.c (find_methods): Plug a small memory leak.
1019
1020 2009-05-18  Pedro Alves  <pedro@codesourcery.com>
1021
1022         * solib-svr4.c: Include observer.h.
1023         (debug_base, debug_loader_offset_p, debug_loader_offset)
1024         (debug_loader_name, main_lm_addr): Move these globals...
1025         (struct svr4_info): ... into this new structure.
1026         (svr4_info_p): New typedef.
1027         (svr4_info): New global.
1028         (get_svr4_info, remove_svr4_info, solib_svr4_inferior_exit): New
1029         functions.
1030         (locate_base, solib_svr4_r_map, solib_svr4_r_brk)
1031         (solib_svr4_r_ldsomap): Add svr4_info argument.  Adjust to
1032         per-inferior svr4.
1033         (open_symbol_file_object): Adjust to per-inferior svr4.
1034         (svr4_default_sos, svr4_current_sos, svr4_fetch_objfile_link_map):
1035         Ditto.
1036         (enable_break): Add svr4_info argument.  Adjust to per-inferior
1037         svr4.
1038         (enable_break, svr4_solib_create_inferior_hook, svr4_clear_solib):
1039         Adjust to per-inferior svr4.
1040         (_initialize_svr4_solib): Install the solib_svr4_inferior_exit
1041         observer.
1042
1043 2009-05-18  Pedro Alves  <pedro@codesourcery.com>
1044
1045         * linux-nat.h (linux_proc_get_tgid): Declare.
1046         * linux-nat.c (linux_proc_get_tgid): New.
1047         * linux-thread-db.c (struct thread_db_info): New field
1048         `need_stale_parent_threads_check'.
1049         (add_thread_db_info): Set it.
1050         (find_new_threads_callback): Ignore stale fork parent threads.
1051         (thread_db_resume): New.
1052         (init_thread_db_ops): Install thread_db_resume.
1053
1054 2009-05-18  Pedro Alves  <pedro@codesourcery.com>
1055
1056         * fork-child.c (fork_inferior): Only reset the thread list if this
1057         is the first inferior.
1058         (startup_inferior): If the target support multi-process, tell it
1059         to resume only the new process.
1060         * linux-nat.c (num_lwps): Delete global.
1061         (purge_lwp_list): New function.
1062         (num_lwps): New function.
1063         (add_lwp, delete_lwp): Adjust.
1064         (ptid_match): New.
1065         (iterate_over_lwps): Add filter argument.  Handle it.
1066         (linux_nat_attach): Remove FIXME note.
1067         (linux_nat_detach): Adjust to iterate over threads of the inferior
1068         we're detaching from.  Adjust to num_lwps being a function.  Don't
1069         assume the head of the lwp list is the main thread of the process
1070         we're detaching from.  Don't destroy the LWP list.
1071         (resume_callback): Add debug output.
1072         (linux_nat_resume): Handle resuming a single inferior.  Allow a
1073         wildcard resume in non-stop mode.
1074         (linux_handle_extended_wait): Don't assume inferior_ptid is the
1075         correct inferior of the parent LWP.
1076         (status_callback): Also check lp->waitstatus.
1077         (select_event_lwp): Add new filter parameter.  Handle it.
1078         (linux_nat_filter_event): Adjust to num_lwps being a function.
1079         (linux_nat_wait_1): When adding the first lwp of the inferior, use
1080         an is_lwp check instead of checking for the number of lwps.
1081         (linux_nat_wait_1): Handle waiting for a specific tgid.  Handle
1082         pending process exit statuses.
1083         (linux_nat_mourn_inferior): Don't destroy all the LWP info.
1084         Instead delete LWPs of the inferior that we're mourning.  Don't
1085         unregister from the event loop here.
1086         (linux_nat_pid_to_str): Use `num_lwps'.
1087         (linux_nat_make_corefile_notes): Adjust to walk over lwps of a
1088         single inferior.
1089         (linux_nat_is_async_p): Check if async was masked out.
1090         (linux_multi_process): New global.
1091         (linux_nat_supports_multi_process): New.
1092         (linux_nat_stop_lwp): Remove LWP filtering.  It is done by the
1093         caller.
1094         (linux_nat_stop): Adjust to make iterate_over_lwps itself do the
1095         LWP filtering.
1096         (linux_nat_close): New.
1097         (linux_nat_add_target): Register linux_nat_close and
1098         linux_nat_supports_multi_process.
1099         * linux-nat.h (iterate_over_lwps): Add filter argument.
1100         * linux-thread-db.c (thread_db_handle): Delete.
1101         (proc_handle, thread_agent, td_init_p, td_ta_new_p)
1102         (td_ta_map_id2thr_p, td_ta_map_lwp2thr_p, td_ta_thr_iter_p)
1103         (td_ta_event_addr_p, td_ta_set_event_p, td_ta_event_getmsg_p)
1104         (td_thr_validate_p, td_thr_get_info_p, td_thr_event_enable_p)
1105         (td_thr_tls_get_addr_p, td_create_bp_addr, td_death_bp_addr): No
1106         longer globals, moved to...
1107         (struct thread_db_info): ... this new structure.
1108         (thread_db_list): New.
1109         (add_thread_db_info, get_thread_db_info, delete_thread_db_info):
1110         New.
1111         (have_threads_callback): Filter out threads of all inferiors but
1112         the one specified by the ARGS argument.
1113         (have_threads): Add ptid argument specifying the inferior we're
1114         interested in.  Handle it.
1115         (struct thread_get_info_inout): New.
1116         (thread_get_info_callback, thread_from_lwp): Adjust to use it.
1117         (thread_db_attach_lwp): Check that inferior of the passed in
1118         thread is using thread-db.  Adjust.
1119         (enable_thread_event): Remove thread_agent parameter.  Instead,
1120         get it from the per-inferior thread-db info.
1121         (dladdr_to_soname): Move higher up.
1122         (enable_thread_event_reporting): Adjust to use per-inferior
1123         thread-db info.
1124         (try_thread_db_load_1): Replace `handle' parameter by a
1125         thread_db_info parameter.  Adjust to use per-inferior thread-db
1126         info.
1127         (try_thread_db_load): Adjust to use per-inferior thread-db info.
1128         (thread_db_load, disable_thread_event_reporting): Ditto.
1129         (check_for_thread_db): Remove conditional reporting of which
1130         libthread_db is in use.
1131         (thread_db_new_objfile): Add comment about inferior_ptid.
1132         (attach_thread): Adjust to use per-inferior thread-db info.
1133         (thread_db_detach): Adjust to use per-inferior thread-db info.
1134         Remove thread event breakpoints of the current inferior.  Only
1135         unpush the thread-db target if there are no more processes using
1136         it.
1137         (check_event): Adjust to use per-inferior thread-db info.
1138         (thread_db_wait): Adjust to use per-inferior thread-db info.  Only
1139         unpush the thread-db target if there are no more processes using
1140         it.
1141         (thread_db_mourn_inferior): Adjust to use per-inferior thread-db
1142         info.  Mark breakpoints of the current inferior out before
1143         deleting them.  Only unpush the thread-db target if there are no
1144         more processes using it.
1145         (find_new_threads_callback): Adjust to use per-inferior thread_db
1146         info.
1147         (thread_db_find_new_threads_1): Add new ptid argument.  Adjust to
1148         use per-inferior thread-db info.
1149         (thread_db_find_new_threads): Adjust to use per-inferior thread-db
1150         info.
1151         (thread_db_get_thread_local_address): Adjust.
1152         (thread_db_get_ada_task_ptid): Adjust.
1153         * inf-ptrace.c (inf_ptrace_mourn_inferior): Only unpush the target
1154         if there no more processes left to debug.
1155         * thread.c (set_running, set_executing): Handle resuming all
1156         threads of a single inferior.
1157         * mi/mi-interp.c (mi_output_running_pid): New.
1158         (mi_inferior_count): New.
1159         (mi_on_resume): For backwards compatibility, if resuming all
1160         threads of an inferior, and there is only one inferior, output
1161         "all".
1162
1163 2009-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
1164
1165         * ada-lang.c (ada_find_any_type): Move check for primitive types ...
1166         (to_fixed_range_type): ... to here.
1167
1168 2009-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
1169
1170         * ada-lang.c (desc_data_type): Remove, replace by ...
1171         (desc_data_target_type): ... this.
1172         (thin_data_pntr): Use desc_data_target_type instead of desc_data_type.
1173         (ada_is_array_descriptor_type): Likewise.
1174         (ada_type_of_array): Likewise.
1175         (ada_coerce_to_simple_array_type): Likewise.
1176         (ada_array_element_type): Likewise.
1177
1178 2009-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
1179
1180         * ada-valprint.c (ada_val_print_1): Use val_print_string to print
1181         result of ada_vax_float_print_function inferior call.
1182
1183 2009-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
1184
1185         * ada-lang.c (ada_coerce_to_simple_array_type): Reimplement to
1186         avoid creating a dummy value.
1187
1188 2009-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
1189
1190         * p-valprint.c (pascal_val_print): Use extract_typed_address
1191         to extract reference value.
1192
1193 2009-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
1194
1195         * doublest.c (NAN): Remove unused define.
1196         (extract_floating_by_length, deprecated_extract_floating): Remove.
1197         (store_floating_by_length, deprecated_store_floating): Remove.
1198         (extract_typed_floating): Do not call extract_floating_by_length.
1199         (store_typed_floating): Do not call store_floating_by_length.
1200         (convert_typed_floating): Remove redundant assertions.
1201         * doublest.h (deprecated_extract_floating): Remove.
1202         (deprecated_store_floating): Remove.
1203         * sh64-tdep.c (sh64_register_convert_to_raw): Call
1204         extract_typed_floating instead of deprecated_extract_floating.
1205
1206 2009-05-18  Jon Beniston <jon@beniston.com>
1207         
1208         * MAINTAINERS: Add lm32 target.        
1209         * Makefile.in: Add lm32 dependencies.        
1210         * NEWS: Indicate lm32 is a new target.
1211         * configure.tgt: Add lm32 targets.
1212         * lm32-tdep.c: New file.
1213
1214 2009-05-18  Pedro Alves  <pedro@codesourcery.com>
1215
1216         * corelow.c (core_open): Flush the register cache before doing
1217         anything with registers.
1218
1219 2009-05-18  Pedro Alves  <pedro@codesourcery.com>
1220
1221         * inflow.h (our_process_group): Remove declaration.
1222         (inferior_process_group): Delete global variable declaration.
1223         (inferior_process_group): New function declaration.
1224         * inflow.c: Include observer.h.
1225         (inferior_ttystate, our_ttystate, tflags_inferior, tflags_ours):
1226         Delete.
1227         (struct terminal_info): New struct.
1228         (our_terminal_info): New global.
1229         (inferior_process_group): New function.
1230         (inferior_thisrun_terminal): Extend description comment.
1231         (gdb_has_a_terminal): Adjust to write to our_terminal_info fields
1232         instead of globals.
1233         (terminal_init_inferior_with_pgrp): Adjust to per-inferior
1234         terminal settings.
1235         (terminal_inferior): Ditto.
1236         (terminal_ours_1): Ditto.
1237         (inflow_new_inferior, inflow_inferior_exit): New functions.
1238         (child_terminal_info): Adjust to per-inferior terminal settings.
1239         (osig_set): New global.
1240         (set_sigint_trap): Adjust to per-inferior terminal settings.  Set
1241         or clear `osig_set' accordingly.
1242         (clear_sigint_trap): Check `osig_set' to decide wheater to restore
1243         SIGINT handler, instead of checking the current inferior (which
1244         may be none).
1245         (_initialize_inflow): Attach inflow_new_inferior and
1246         inflow_inferior_exit to the "new_inferior" and "inferior_exit"
1247         notifications, respectively.
1248         * inferior.h (struct terminal_info): Forward declare.
1249         (struct inferior): Add `terminal_info' field.
1250         * inferior.c (delete_inferior_1): Notify the inferior_exit
1251         observers before removing the inferior from the lists and deleting
1252         it.
1253         * inf-ptrace.c (inf_ptrace_stop): `inferior_process_group' is now
1254         a function instead of a variable.  Adjust.
1255         * procfs.c (procfs_stop): Ditto.
1256
1257 2009-05-17  Pedro Alves  <pedro@codesourcery.com>
1258
1259         * infrun.c (handle_inferior_event): When handling a
1260         TARGET_WAITKIND_FORKED, detach breakpoints from the fork child
1261         immediatelly.
1262         * linux-nat.c (linux_child_follow_fork): Only detach breakpoints
1263         from the child if vforking.
1264         * inf-ptrace.c (inf_ptrace_follow_fork): No need to detach
1265         breakpoints from the child here.
1266
1267 2009-05-17  Pedro Alves  <pedro@codesourcery.com>
1268
1269         * infrun.c (pending_follow): Remove execd_pathname member.
1270         (resume): No longer handle TARGET_WAITKIND_EXECD pending follow.
1271         (handle_inferior_event): When handling a TARGET_WAITKIND_EXECD
1272         event, don't copy `execd_pathname' to pending_follow, use the
1273         event copy instead.  Release `execd_pathname' once done with
1274         handling the event.
1275
1276         * infrun.c (pending_follow): Remove mention of exec events.
1277
1278 2009-05-17  Hui Zhu  <teawater@gmail.com>
1279
1280         * i386-tdep.c (i386_process_record): Make it extern.
1281         (i386_gdbarch_init): Don't call set_gdbarch_process_record
1282         here.
1283         * i386-tdep.h (i386_process_record): Declare.
1284         * i386-linux-tdep.c (i386_linux_init_abi): Call
1285         set_gdbarch_process_record.
1286
1287 2009-05-17  Vladimir Prus  <vladimir@codesourcery.com>
1288
1289         Always report varobj as changed when in_scope attribute changes.
1290
1291         * varobj.c (install_new_value): If non-NULL-ness of value
1292         changed, return 1.
1293
1294 2009-05-15  Paul Pluzhnikov  <ppluzhnikov@google.com>
1295         
1296         * NEWS: Mention set/show libthread-db-search-path.
1297         * gdb_thread_db.h (LIBTHREAD_DB_SEARCH_PATH): New define.
1298         (LIBTHREAD_DB_SO): Moved from linux-thread-db.c
1299         * linux-thread-db.c (libthread_db_search_path): New setting.
1300         (thread_db_handle): New variable (replaces using_thread_db).
1301         (try_thread_db_load_1): New function.
1302         (try_thread_db_load, thread_db_load_search): Likewise.
1303         (dladdr_to_soname): Likewise.
1304         (thread_db_load): Iterate over possibly multiple libthread_db's.
1305         (check_for_thread_db): Attempt to load new libthread_db.
1306         (thread_db_detach, thread_db_wait): Unload libthread_db.
1307         (thread_db_mourn_inferior): Likewise.
1308         (_initialize_thread_db): Add new libthread-db-search-path option.
1309         Defer loading of libthread_db to check_for_thread_db.
1310         * solib.c (libpthread_name_p): New function.
1311         (libpthread_solib_p): Call it.
1312         * solib.h (libpthread_name_p): New prototype.
1313         
1314 2009-05-15  Pierre Muller  <muller@ics.u-strasbg.fr>
1315
1316         * MAINTAINERS: Update my email address.
1317         
1318 2009-05-14  Paul Pluzhnikov  <ppluzhnikov@google.com>
1319
1320         * breakpoint.h: Add breakpoint_re_set_objfile prototype.
1321         * breakpoint.c (create_overlay_event_breakpoint): Renamed
1322         from create_overlay_event_breakpoint_1, old
1323         create_overlay_event_breakpoint deleted.
1324         (breakpoint_re_set_objfile): Don't rescan all objfiles
1325         unnecessarily.
1326         (breakpoint_re_set): New function.
1327         * symfile.c (new_symfile_objfile): Call breakpoint_re_set_objfile
1328         instead of breakpoint_re_set.
1329         * objfiles.c (objfile_relocate): Likewise.
1330         
1331 2009-05-14  Joel Brobecker  <brobecker@adacore.com>
1332
1333         * gdbarch.sh: Add comment documenting the target_gdbarch global.
1334         gdbarch.h does NOT need to be regenerated as the corresponding
1335         change has already been made in a previous commit.
1336
1337 2009-05-14  Pierre Muller  <muller@ics.u-strasbg.fr>
1338
1339         Remove all i386 debug register low level macros in config nm files.
1340         (I386_DR_LOW_SET_ADDR, I386_DR_LOW_RESET_ADDR): Remove.
1341         (I386_DR_LOW_GET_STATUS, I386_DR_LOW_SET_CONTROL): Remove.
1342         (I386_USE_GENERIC_WATCHPOIINTS): Remove.
1343
1344         * i386-nat.h: New file (adapted from config/i386/nm-i386.h).
1345         (struct i386_dr_low_type): New type.
1346         (i386_dr_low): New global variable.
1347         * i386-nat.c (TARGET_HAS_DR_LEN_8): Update macro.
1348         (i386_insert_aligned_watchpoint): Replace i386 dr low macros by
1349         i386_dr_low struct variable fields.
1350         (i386_remove_aligned_watchpoint): Likewise.
1351         (i386_stopped_data_address): Likewise.
1352         (i386_stopped_by_hwbp): Likewise.
1353         (show_debug_regs_command_added): New static variable.
1354         (add_show_debug_regs_command): New static function.
1355         (i386_use_watchpoints): Call add_show_debug_regs_command if not done.
1356         (i386_set_debug_register_length): New function.
1357         (_initialize_i386_nat): Delete.
1358         
1359         * amd64-linux-nat.c: Include "i386-nat.h".
1360         (amd64_linux_dr_set_control):  Change to static.
1361         (amd64_linux_dr_get_status): Change to static.
1362         (amd64_linux_dr_set_addr,amd64_linux_dr_reset_addr): Likewise.
1363         (_initialize_amd64_linux_nat): Set i386_dr_low variable fields.
1364         
1365         * go32-nat.c: Include "i386-nat.h".
1366         (go32_set_addr): Change to static.
1367         (go32_set_dr7): Change to static. Change arg type to unisgned long.
1368         (go32_get_dr6): Change to static. Change return type to unisnged long.
1369         (init_go32_ops):  Set i386_dr_low variable fields.
1370         * i386-linux-nat.c: Include "i386-nat.h".
1371         (i386_linux_dr_set_control, i386_linux_dr_get_status): Change to static.
1372         (i386_linux_dr_set_addr, i386_linux_dr_reset_addr): Idem.
1373         (_initialize_i386_linux_nat):  Set i386_dr_low variable fields.
1374         * i386bsd-nat.h: Declare functions used for
1375         i386_dr_low fields in i386fbsd-nat.c.
1376         * i386fbsd-nat.c: Include "i386-nat.h".
1377         (_initialize_i386fbsd_nat): Set i386_dr_low variable fields.
1378         * windows-nat.c: Include "i386-nat.h".
1379         (cygwin_set_dr, cygwin_get_dr6, cygwin_set_dr7): Add prototypes.
1380         Change to static.
1381         (cygwin_get_dr6): Change return type to unisnged long.
1382         (cygwin_set_dr7): Change arg type to unisgned long.
1383         (init_windows_ops): Set i386_dr_low function fields.
1384
1385         * amd64-windows-nat.c (_initialize_amd64_windows_nat): Call 
1386         i386_set_debug_register_length.
1387         * i386-windows-nat.c (_initialize_i386_windows_nat): Likewise.
1388
1389         * config/i386/nm-cygwin.h: Remove all I386_* macros.
1390         * config/i386/nm-cygwin64.h: Likewise.
1391         * config/i386/nm-fbsd.h: Likewise.
1392         * config/i386/nm-linux.h: Likewise.
1393         * config/i386/nm-i386.h: Remove completely.
1394         * config/i386/nm-go32.h: Remove completely.
1395         * config/i386/nm-linux64.h: Remove completely.
1396         * config/i386/go32.mh (NAT_FILE): Remove entry.
1397         * config/i386/linux64.h (NAT_FILE): Change to config/nm-linux.h.
1398
1399 2009-05-14  Jon Beniston  <jon@beniston.com>
1400
1401         * MAINTAINERS: Add Jon Beniston to write after approval list.
1402
1403 2009-05-13  Paul Pluzhnikov  <ppluzhnikov@google.com>
1404
1405         * objc-lang.c (objc_objfile_data): New variable.
1406         (find_methods): Skip objfiles without Obj-C methods.
1407         (_initialize_objc_lang): New function.
1408
1409 2009-05-13  Joel Brobecker  <brobecker@adacore.com>
1410
1411         * c-lang.c (print_wchar): Remove unnecessary cast.
1412
1413 2009-05-12  Jim Blandy  <jimb@red-bean.com>
1414
1415         * MAINTAINERS: Remove self as m32c target maintainer.
1416
1417 2009-05-12  Pedro Alves  <pedro@codesourcery.com>
1418
1419         * cli/cli-decode.c (deprecated_add_set_cmd): Delete.
1420         * command.h (deprecated_add_set_cmd): Delete declaration.
1421         * gnu-nat.c (_initialize_gnu_nat): Replace 'maint gnu-debug' with
1422         'set debug gnu-nat' and 'show debug gnu-nat'.
1423         * i386-nat.c (_initialize_i386_nat): Replace 'maint
1424         show-debug-registers' with 'maint set show-debug-registers' and
1425         'maint show show-debug-registers'.
1426         * mips-linux-nat.c (_initialize_mips_linux_nat): Replace 'maint
1427         show-debug-registers' with 'maint set show-debug-registers' and
1428         'maint show show-debug-registers'.
1429
1430 2009-05-12  Joel Brobecker <brobecker@adacore.com>
1431
1432         * c-lang.c (print_wchar): Convert w into a gdb_wchar_t before
1433         pushing it on the output obstack.
1434
1435 2009-05-11  Joel Brobecker <brobecker@adacore.com>
1436
1437         Fix internal error on breaking at a multi-locations caller source line.
1438         * breakpoint.c (parse_breakpoint_sals): Set EXPLICIT_PC for the `break'
1439         command with no parameters.
1440
1441 2009-05-11  Pedro Alves  <pedro@codesourcery.com>
1442
1443         * linux-nat.c (enum sigchld_state): Delete.
1444         (linux_nat_async_events_state): Delete.
1445         (struct waitpid_result): Delete.
1446         (waitpid_queue): Delete.
1447         (queued_waitpid_1): Delete.
1448         (async_file_flush): New.
1449         (queued_waitpid, push_waitpid): Delete.
1450         (async_file_mark): New.
1451         (drain_queued_events): Delete.
1452         (my_waitpid): Remove locally queued events handling.
1453         (linux_test_for_tracefork): Upjust.
1454         (linux_child_follow_fork): Ditto.
1455         (sync_sigchld_action): Delete.
1456         (blocked_mask): Reinstate.
1457         (async_sigchld_action): Rename to...
1458         (sigchld_action): ... this.
1459         (block_child_signals): New.
1460         (restore_child_signals_mask): New.
1461         (lin_lwp_attach_lwp): Adjust.
1462         (linux_nat_create_inferior): Ditto.
1463         (linux_nat_attach): Also use lp->status in async mode.
1464         (get_pending_status): Don't use queued_waitpid.
1465         (linux_nat_detach): Don't drain locally queued events.
1466         (linux_nat_resume): Allow pending wait statuses stored lp->status
1467         in async mode.  If returning early due to a pending event,
1468         re-register the event source.
1469         (stop_wait_callback): Allow pending wait statuses stored
1470         lp->status in async mode.
1471         (pipe_to_local_event_queue, local_event_queue_to_pipe): Delete.
1472         (linux_nat_wait): Rename to ...
1473         (linux_nat_wait_1): ... this.  Allow pending wait statuses stored
1474         lp->status in async mode.  Always add WNOHANG to the waitpid
1475         options in async mode.
1476         (linux_nat_wait): New.
1477         (kill_callback): Don't drain locally queued events.
1478         (sigchld_handler): Rewrite.
1479         (linux_nat_is_async_p, linux_nat_can_async_p): Fix comments to
1480         refer to "set target-async".
1481         (linux_nat_async_mask): If in non-stop, and re-enabling async
1482         mode, re-register the target event source in the event loop.
1483         (linux_nat_event_pipe_pop, linux_nat_event_pipe_push)
1484         (get_pending_events, async_sigchld_handler)
1485         (linux_nat_async_events): Delete.
1486         (handle_target_event): New.
1487         (linux_nat_async_file_handler): Delete.
1488         (linux_async_pipe): New.
1489         (linux_nat_async): Only re-register in the event loop if not
1490         registered yet.  Always notify the event-loop once if enabling the
1491         event source.
1492         (linux_nat_stop_lwp): Rewrite to handle pending events stored in
1493         lp->status, not in the locally queued event list.
1494         (linux_nat_stop): Don't mask out async event handling.
1495         (linux_nat_setup_async): Delete.
1496         (_initialize_linux_nat): Adjust.
1497         (lin_thread_get_thread_signals): blocked_mask is global again.
1498         Adjust.
1499
1500 2009-05-11  Pierre Muller  <muller@ics.u-strasbg.fr>
1501
1502         Unify target macros.
1503
1504         * target.h (STOPPED_BY_WATCHPOINT): Delete, replaced by ...
1505         (target_stoppped_by_watchpoint): New macro.
1506         (HAVE_STEPPABLE_WATCHPOINT): Delete, replaced by ...
1507         (target_have_steppable_watchpoint): New macro.
1508         (HAVE_CONTINUABLE_WATCHPOINT): Delete, replace by ...
1509         (target_have_continuable_watchpoint): New macro.
1510         (TARGET_CAN_USE_HARDWARE_WATCHPOINT):Delete, replaced by ...
1511         (target_can_use_hardware_watchpoint): New macro.
1512         (TARGET_REGION_OK_FOR_HW_WATCHPOINT):Delete, replaced by ...
1513         (target_region_ok_for_hw_watchpoint): New macro.
1514
1515         * breakpoint.c (update_watchpoint): Use new macros.
1516         (bpstat_alloc): Likewise.
1517         (create_breakpoint): Likewise.
1518         (watch_command_1): Likewise.
1519         (can_use_hardware_watchpoint): Likewise.
1520         (do_enable_breakpoint): Likewise.
1521         * infrun.c (handle_inferior_event): Adapt to new macros.
1522         * mips-tdep.c (mips_gdbarch_init): Update comments.
1523         * procfs.c (procfs_set_watchpoint): Update comment.
1524         (procfs_insert_watchpoint): Adapt to new macros.
1525         * remote-m32r-sdi.c (m32r_stop):
1526         * remote-mips.c (mips_remove_breakpoint):
1527         * target.c (debug_to_region_ok_for_hw_watchpoint): Update to new macros.
1528         (debug_to_stopped_by_watchpoint): Likewise.
1529
1530
1531 2009-05-10  Pierre Muller  <muller@ics.u-strasbg.fr>
1532
1533         * src/gdb/target.h: Remove all tests for already defined
1534         macros. All macros defined here should not be set in config
1535         headers anymore.
1536
1537 2009-05-08  Sergio Durigan Junior <sergiodj@linux.vnet.ibm.com>
1538
1539         * ppc-linux-nat.c (have_ptrace_getsetregs): New variable.
1540         (have_ptrace_getsetfpregs): Likewise.
1541         fetch_all_gp_regs): New function.
1542         (fetch_gp_regs): New function.
1543         (fetch_all_fp_regs): Likewise.
1544         (fetch_fp_regs): New function.
1545         (fetch_ppc_registers): Using the new methods to fetch general-
1546         purpose and floating-pointer registers.
1547         (store_all_gp_regs): New function.
1548         (store_gp_regs): Likewise.
1549         (store_all_fp_regs): New function.
1550         (store_fp_regs): Likewise.
1551         (store_ppc_registers): Using the new methods to store general-
1552         purpose and floating-pointer registers.
1553
1554 2009-05-08  Doug Evans  <dje@google.com>
1555
1556         * linux-nat.c (linux_xfer_siginfo): Delete unused locals lp, n.
1557
1558 2009-05-07  Sergio Durigan Junior  <sergiodj@linux.vnet.ibm.com>
1559
1560         * MAINTAINERS (Write After Approval): Add self.
1561
1562 2009-05-07  Joel Brobecker  <brobecker@adacore.com>
1563
1564         * gdbarch.h (target_gdbarch): Add comment documenting this global.
1565
1566 2009-05-06  Joel Brobecker  <brobecker@adacore.com>
1567
1568         * acinclude.m4 (AM_ICONV): Prefer in-tree libiconv if present over
1569         system iconv.
1570         * configure: Regenerate.
1571
1572 2009-05-06  Joel Brobecker  <brobecker@adacore.com>
1573
1574         * utils.c: Add include of gdb_usleep.h.
1575         (defaulted_query): Detect false EOF conditions that happen
1576         on terminals opened with the O_NONBLOCK flag when there is
1577         nothing to read.
1578
1579 2009-05-06  Pedro Alves  <pedro@codesourcery.com>
1580
1581         * inferior.c (add_inferior): Move observer_notify_new_inferior
1582         call to ...
1583         (add_inferior_silent): ... here.
1584
1585 2009-05-06  Pierre Muller  <muller@ics.u-strasbg.fr>
1586             Pedro Alves  <pedro@codesourcery.com>
1587
1588         * procfs.c (procfs_insert_watchpoint, procfs_remove_watchpoint)
1589         (procfs_region_ok_for_hw_watchpoint, procfs_use_watchpoints): New
1590         functions.
1591         (procfs_stopped_by_watchpoint): Made static, ptid argument
1592         removed.
1593         (_initialize_procfs): Register new watchpoint related target
1594         functions.
1595         * config/i386/nm-i386sol2.h (TARGET_CAN_USE_HARDWARE_WATCHPOINT)
1596         (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT, STOPPED_BY_WATCHPOINT)
1597         (HAVE_CONTINUABLE_WATCHPOINT): Delete.
1598         (target_insert_watchpoint, target_remove_watchpoint): Delete.
1599         (procfs_stopped_by_watchpoint, procfs_set_watchpoint): Delete
1600         declarations.
1601         * config/mips/nm-irix5.h (STOPPED_BY_WATCHPOINT)
1602         (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Delete.
1603         (target_insert_watchpoint, target_remove_watchpoint): Delete.
1604         (procfs_stopped_by_watchpoint, procfs_set_watchpoint): Delete
1605         declarations.
1606         * config/sparc/nm-sol2.h (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT)
1607         (HAVE_CONTINUABLE_WATCHPOINT, STOPPED_BY_WATCHPOINT): Delete.
1608         (target_insert_watchpoint, target_remove_watchpoint): Delete.
1609         (procfs_stopped_by_watchpoint, procfs_set_watchpoint): Delete
1610         declarations.
1611
1612 2009-05-06  Hui Zhu  <teawater@gmail.com>
1613
1614         * i386-tdep.c (i386_process_record): Change bzero to memset.
1615
1616 2009-05-06  Hui Zhu  <teawater@gmail.com>
1617
1618         * NEWS: Add item for process record and replay.
1619
1620 2009-05-05  Maxim Grigoriev  <maxim2405@gmail.com>
1621
1622         * xtensa-tdep.c (xtensa_frame_cache): Use pc instead of cache->pc.
1623
1624 2009-05-05  Ulrich Weigand  <uweigand@de.ibm.com>
1625
1626         * inferior.h (read_pc, write_pc): Remove.
1627         * regcache.c (read_pc, write_pc): Remove.
1628
1629         * infrun.c (displaced_step_fixup): Use regcache_read_pc instead
1630         of read_pc.
1631         (handle_inferior_event): Use regcache_read_pc instead of read_pc
1632         when determining value of stop_pc.  Replace subsequent uses of
1633         read_pc by inspecting already-retrieved stop_pc value.
1634         (keep_going): Use regcache_read_pc instead of read_pc.
1635
1636         * breakpoint.c (watchpoint_check): Use current frame architecture
1637         and PC instead of current_gdbarch and read_pc ().
1638         * tracepoint.c (set_traceframe_context): Replace PC argument
1639         with FRAME argument.
1640         (trace_start_command, finish_tfind_command): Update calls.
1641         (finish_tfind_command): Compare frame IDs to identify transitions
1642         between frames.
1643         (trace_find_pc_command): Use regcache_read_pc instead of read_pc.
1644         * rs6000-nat.c (exec_one_dummy_insn): Pass in regcache instead
1645         of gdbarch.  Use regcache_read_pc and regcache_write_pc instead
1646         of read_pc and write_pc.
1647         (store_register): Make regcache argument non-const.  Update call
1648         to exec_one_dummy_insn.
1649
1650         * thread.c (switch_to_thread): Use regcache_read_pc instead of read_pc.
1651         * infcmd.c (post_create_inferior): Likewise.
1652         * solib-darwin.c (darwin_solib_create_inferior_hook): Likewise.
1653         * solib-pa64.c (pa64_solib_create_inferior_hook): Likewise.
1654         * solib-sunos.c (sunos_solib_create_inferior_hook): Likewise.
1655         * solib-svr4.c (enable_break, svr4_relocate_main_executable): Likewise.
1656         * linux-fork.c (fork_load_infrun_state): Likewise.
1657         * hppa-hpux-tdep.c (hppa_hpux_push_dummy_code): Likewise.
1658         * record.c (record_wait): Likewise.
1659         * procfs.c (procfs_wait): Likewise.
1660         * remote-mips.c (common_open, mips_wait): Likewise.
1661         * remote-m32r-sdi.c (m32r_resume): Likewise.
1662
1663         * symfile.c (generic_load): Use regcache_write_pc instead of write_pc.
1664         * monitor.c (monitor_create_inferior, monitor_load): Likewise.
1665         * m32r-rom.c (m32r_load, m32r_upload_command): Likewise.
1666         * remote-m32r-sdi.c (m32r_create_inferior, m32r_load): Likewise.
1667         * remote-mips.c (mips_create_inferior, mips_load): Likewise.
1668
1669         * solib-darwin.c: Include "regcache.h".
1670         * solib-pa64.c: Include "regcache.h".
1671         * solib-svr4.c: Include "regcache.h.".
1672
1673         * symfile.c: Do not mention read_pc or write_pc in comments.
1674         * dink32-rom.c: Likewise.
1675         * m32r-rom.c: Likewise.
1676         * mips-tdep.c: Likewise.
1677
1678 2009-05-05  Ulrich Weigand  <uweigand@de.ibm.com>
1679
1680         * fork-child.c (startup_inferior): Move setting stop_pc ...
1681         * infcmd.c (post_create_inferior): ... to here.
1682
1683 2009-05-04  Michael Snyder  <msnyder@vmware.com>
1684
1685         * NEWS: Add item for reverse debugging commands.
1686
1687 2009-05-04  Pedro Alves  <pedro@codesourcery.com>
1688
1689         * go32-nat.c (go32_stop): Delete.
1690         (go32_kill_inferior): Rewrite to only call go32_mourn_inferior.
1691         (go32_create_inferior): Don't call go32_stop or
1692         go32_kill_inferior.
1693         (go32_mourn_inferior): Inline go32_stop and go32_kill_inferior
1694         here.
1695         (init_go32_ops): Don't register go32_stop.
1696
1697 2009-05-02  Eli Zaretskii  <eliz@gnu.org>
1698
1699         * dbxread.c (read_dbx_symtab): Avoid compiler warnings for
1700         sym_name.
1701
1702         * infcall.c (find_function_addr): Avoid compiler warnings for
1703         funaddr.
1704
1705 2009-05-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
1706
1707         * dictionary.c (dict_hashed_vector, dict_hashed_expandable_vector)
1708         (dict_linear_vector, dict_linear_expandable_vector): Fix a comment typo.
1709
1710 2009-05-01  Doug Evans  <dje@google.com>
1711
1712         * linux-thread-db.c (thread_db_pid_to_str): Delete unused assignment
1713         to thread_info.
1714
1715 2009-05-01  Eli Zaretskii  <eliz@gnu.org>
1716
1717         * record.c (_initialize_record): Reformat and clarify doc strings
1718         for stop-at-limit and insn-number-max.
1719
1720         * go32-nat.c: Add comments about dirty secrets of DJGPP debugging.
1721
1722 2009-05-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
1723
1724         Make specifiable the make_function_type type memory ownership.
1725         * gdbtypes.c (make_function_type): New parameter `objfile', use it
1726         explicitely instead of TYPE-initialized removed local variable
1727         `objfile'.  Describe `objfile' it in the function comment.
1728         (lookup_function_type): Update make_function_type callers.
1729         * gdbtypes.h (make_function_type): Update the prototype.
1730         * jv-lang.c (java_link_class_type): Update make_function_type callers.
1731         * dwarf2read.c (read_subroutine_type): Likewise.
1732         * stabsread.c (read_type): Likewise.
1733
1734 2009-05-01  Eli Zaretskii  <eliz@gnu.org>
1735
1736         * go32-nat.c (go32_pid_to_str): Call normal_pid_to_str instead of
1737         printing a bogus "Thread <main>".
1738         (go32_thread_alive): Don't return 1 for null_ptid.
1739
1740         * i386-tdep.c (i386_go32_init_abi): Override the number of
1741         registers due to non-support of SSE.
1742
1743 2009-04-30  Anthony Green  <green@moxielogic.com>
1744
1745         * configure.tgt: Link the moxie simulator in with gdb.
1746
1747 2009-04-30  Paul Pluzhnikov  <ppluzhnikov@google.com>
1748
1749         * elfread.c (elf_symtab_read): Don't assume .data and .rodata
1750         are present.
1751
1752 2009-04-30  Hui Zhu  <teawater@gmail.com>
1753             Michael Snyder  <msnyder@vmware.com>
1754
1755         I386 Linux process record and replay support.
1756
1757         * i386-linux-tdep.c (i386_linux_record_tdep): New variable.
1758         This struct has the argument for the function
1759         "record_linux_system_call".
1760         (i386_linux_intx80_sysenter_record): New function. Parse the
1761         system call instruction and call function
1762         "record_linux_system_call" to record execute log.
1763         (i386_linux_init_abi): Initialize "i386_linux_record_tdep".
1764         Set "i386_linux_intx80_sysenter_record" to
1765         "i386_intx80_record" and "i386_sysenter_record".
1766
1767 2009-04-30  Hui Zhu  <teawater@gmail.com>
1768             Michael Snyder  <msnyder@vmware.com>
1769
1770         I386 architecture process record and replay support.
1771
1772         * i386-tdep.c (PREFIX_REPZ, PREFIX_REPNZ, PREFIX_LOCK,
1773         PREFIX_DATA, PREFIX_ADDR): New macros. Help decode the i386
1774         instruction set.
1775         (aflag, dflag, override, modrm, mod, reg, rm, ot,
1776         i386_record_pc): New variables. Ditto.
1777         (i386_record_modrm, i386_record_lea_modrm_addr,
1778         i386_record_lea_modrm): New functions. Ditto.
1779         (i386_process_record): New function. Parse the instruction in
1780         address "addr" and record the values of registers and memory
1781         that will be changed by this instruction.
1782         (i386_gdbarch_init): Set "i386_process_record" to GDBARCH
1783         "process_record" interface.
1784         * i386-tdep.h (gdbarch_tdep): New function pointers
1785         "i386_intx80_record" and "i386_sysenter_record" that point to
1786         the function that can record "intx80" and "sysenter" execute
1787         log.
1788
1789 2009-04-30  Hui Zhu  <teawater@gmail.com>
1790             Michael Snyder  <msnyder@vmware.com>
1791
1792         * infrun.c (use_displaced_stepping): Return false if process
1793         record and replay target is used.
1794         (proceed): Call function "record_not_record_set" if pocess
1795         record and replay target is used.
1796
1797 2009-04-30  Hui Zhu  <teawater@gmail.com>
1798             Michael Snyder  <msnyder@vmware.com>
1799
1800         Linux process record and replay support.
1801
1802         * Makefile.in (ALLDEPFILES): Add linux-record.c.
1803         (ALL_TARGET_OBS): Add linux-record.o.
1804         * configure.tgt (x86_64-*-linux*): Add linux-record.o.
1805         (i[34567]86-*-linux*): Add linux-record.o.
1806         * linux-record.c, linux-record.h: New file.
1807
1808 2009-04-30  Hui Zhu  <teawater@gmail.com>
1809             Michael Snyder  <msnyder@vmware.com>
1810
1811         Process record and replay target.
1812
1813         * Makefile.in (SFILES): Add record.c.
1814         (COMMON_OBS): Add record.o.
1815         * record.c, record.h: New file.
1816
1817 2009-04-30  Hui Zhu  <teawater@gmail.com>
1818             Michael Snyder  <msnyder@vmware.com>
1819
1820         * target.h (strata): New stratum "record_stratum".
1821
1822 2009-04-30  Hui Zhu  <teawater@gmail.com>
1823             Michael Snyder  <msnyder@vmware.com>
1824
1825         GDBARCH interface for process record and replay.
1826
1827         * gdbarch.sh (process_record): This interface point to the
1828         function that records the inferior execute log.
1829
1830 2009-04-29  Doug Evans  <dje@google.com>
1831
1832         * i386-nat.c (child_post_startup_inferior): Delete, unused.
1833
1834 2009-04-29  Pedro Alves  <pedro@codesourcery.com>
1835
1836         * breakpoint.c (print_exception_catchpoint): Access `b' directly
1837         instead of `b->loc->owner'.
1838         (print_mention_exception_catchpoint): Ditto.
1839
1840 2009-04-29  Jan Kratochvil  <jan.kratochvil@redhat.com>
1841
1842         * macrocmd.c (info_macro_command): Print -Dname=value if LINE is zero.
1843
1844 2009-04-27  Tom Tromey  <tromey@redhat.com>
1845
1846         * c-exp.y (yylex): Handle '[' and ']' like '(' and ')'.
1847
1848 2009-04-27  Jerome Guitton  <guitton@adacore.com>
1849
1850         * symtab.c (append_exact_match_to_sals): New function, extracted
1851         from expand_line_sal.
1852         (expand_line_sal): Use append_exact_match_to_sals to append exact
1853         matches. If none found, append all best items.
1854
1855 2009-04-27  Jerome Guitton  <guitton@adacore.com>
1856
1857         * main.c (captured_main): Move gdbinit lookups after gdb_init.
1858
1859 2009-04-27  Jan Kratochvil  <jan.kratochvil@redhat.com>
1860
1861         PR gdb/9675:
1862         * dwarf2read.c (unsigned_int_compar, inherit_abstract_dies): New.
1863         (read_func_scope): Call inherit_abstract_dies.
1864
1865 2009-04-25  Eli Zaretskii  <eliz@gnu.org>
1866
1867         * Makefile.in (ALLDEPFILES): Remove duplicate entries for
1868         sparc-sol2-nat.c and sparc-sol2-tdep.c.
1869
1870         * stack.c (_initialize_stack) <disassemble-next-line>: Doc fix.
1871
1872 2009-04-24  Pierre Muller  <muller@ics.u-strasbg.fr>
1873
1874         ARI change: Use "/* ARI: rule */" pattern.
1875         * utils.c: Update ARI patterns.
1876         * gdb_dirent.h: Likewise.
1877
1878 2009-04-23  Anthony Green  <green@moxielogic.com>
1879
1880         * MAINTAINERS: Add moxie target.
1881         * configure.tgt: Add moxie-*-elf target.
1882         * moxie-tdep.c: New file.
1883         * moxie-tdep.h: New file.
1884
1885 2009-04-23  Joel Brobecker  <brobecker@adacore.com>
1886
1887         * ada-lang.c: Remove an extra empty line. No code change.
1888
1889 2009-04-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
1890
1891         Fix double free on error inserting the breakpoint instruction.
1892         * breakpoint.c (create_breakpoints): Move the
1893         update_global_location_list call to ...
1894         (break_command_really): ... here together with the second local call
1895         both unified after all the cleanups.
1896
1897 2009-04-23  Sergio Durigan Junior <sergiodj@linux.vnet.ibm.com>
1898             Tom Tromey  <tromey@redhat.com>
1899
1900         * configure, config.in: Regenerate.
1901         * configure.ac: Support for relocatable GDB datadir.  Use
1902         GDB_AC_WITH_DIR.  Always define TARGET_SYSTEM_ROOT_RELOCATABLE.
1903         * acinclude.m4 (GDB_AC_WITH_DIR): New defun.
1904         * top.c (init_main): Add "set data-directory".
1905         * defs.h (gdb_datadir): Declare.
1906         * main.c (gdb_datadir): New global.
1907         (captured_main): Initialize gdb_datadir.  Use relocate_directory.
1908         (relocate_path): New function.
1909         (relocate_directory): Likewise.
1910         (get_init_files): Use relocate_path.
1911         (README): Mention --with-gdb-datadir.
1912
1913 2009-04-23  Joel Brobecker  <brobecker@adacore.com>
1914
1915         * ada-tasks (task_command_1): Call target_find_new_threads.
1916
1917 2009-04-23  Joel Brobecker  <brobecker@adacore.com>
1918
1919         * stack.c (do_gdb_disassembly): Print the exception message if an
1920         error was thrown while trying to perform the disassembly.
1921
1922 2009-04-22  Jan Kratochvil  <jan.kratochvil@redhat.com>
1923
1924         * varobj.c (free_variable): Replace free_current_contents by xfree.
1925
1926 2009-04-22  Kazu Hirata  <kazu@codesourcery.com>
1927
1928         * arm-linux-nat.c (fetch_register, store_register): Use
1929         ARM_CPSR_GREGNUM instead of ARM_CPSR_REGNUM.
1930         * arm-linux-tdep.c (arm_linux_supply_gregset,
1931         arm_linux_collect_gregset): Likewise.
1932         * arm-linux-tdep.h (ARM_CPSR_GREGNUM): New.
1933         * arm-tdep.h (ARM_CPSR_REGNUM): Remove.
1934
1935 2009-04-22  Hui Zhu  <teawater@gmail.com>
1936
1937         * stack.c (_initialize_stack): Set the default of
1938         disassemble-next-line to off.
1939
1940 2009-04-21  Tom Tromey  <tromey@redhat.com>
1941
1942         * acinclude.m4: Use AS_HELP_STRING, not AC_HELP_STRING.
1943         * configure.ac: Use AS_HELP_STRING, not AC_HELP_STRING.
1944
1945 2009-04-21  Andreas Schwab  <schwab@linux-m68k.org>
1946
1947         * configure.ac: Add quotes to not lose brackets in help text.
1948         * configure: Rebuild.
1949
1950 2009-04-21  Andreas Schwab  <schwab@linux-m68k.org>
1951
1952         * configure.ac: Don't postprocess Makefile in config.status.
1953         Substitute GDB_NM_FILE.  Don't substitute nm_h.
1954         * Makefile.in (GDB_NM_FILE): Substitute.
1955         (TAGS): Use $(GDB_NM_FILE) instead of $(NAT_FILE).
1956         * configure: Regenerate.
1957         * gnulib/Makefile.in: Regenerate.
1958
1959 2009-04-21  Joseph Myers  <joseph@codesourcery.com>
1960
1961         * configure.ac (--with-datarootdir, --with-docdir, --with-pdfdir,
1962         --with-htmldir): New.
1963         * configure: Regenerate.
1964
1965 2009-04-21  Tom Tromey  <tromey@redhat.com>
1966
1967         * configure: Rebuild.
1968         * configure.ac: Use lower case for start of help strings.  Clean
1969         up --with-sysroot help.
1970
1971 2009-04-21  Tom Tromey  <tromey@redhat.com>
1972
1973         * configure: Rebuild.
1974         * acinclude.m4 (AM_ICONV): Use AC_HELP_STRING.
1975         * configure.ac: Use AC_HELP_STRING.  Use upper case for variables
1976         in help.
1977
1978 2009-04-21  Pierre Muller  <muller@ics.u-strasbg.fr>
1979
1980         ARI fix: remove "%p".
1981         * ia64-tdep.c (ia64_frame_this_id): Use host_address_to_string function.
1982         (ia64_sigtramp_frame_this_id): Ditto.
1983         (ia64_libunwind_frame_this_id): Ditto.
1984         (ia64_libunwind_sigtramp_frame_this_id): Ditto.
1985         * symmisc.c (maintenance_info_psymtabs): Ditto.
1986
1987 2009-04-21  Joseph Myers  <joseph@codesourcery.com>
1988
1989         * configure.ac (--with-relocated-sources): New.
1990         * configure, config.in: Regenerate.
1991         * source.c (add_substitute_path_rule): Remove static.
1992         * source.h (add_substitute_path_rule): Declare.
1993         * main.c: Include "source.h".
1994         (captured_main): Add substitution rule if RELOC_SRCDIR.
1995
1996 2009-04-21  Pierre Muller  <muller@ics.u-strasbg.fr>
1997
1998         * gnu-nat.h (proc_debug): Add missing continuation line in macro.
1999
2000 2009-04-20  David Daney  <ddaney@caviumnetworks.com>
2001
2002         * NEWS: Mention MIPS/Linux hardware watchpoint support.
2003
2004 2009-04-20  David Daney  <ddaney@caviumnetworks.com>
2005
2006         * mips-linux-nat.c (command.h, gdbcmd.h, gdb_assert.h): New #includes.
2007         (maint_show_dr, super_close): New variables.
2008         (super_fetch_registers, super_store_registers): Make static.
2009         (PTRACE_GET_WATCH_REGS, PTRACE_SET_WATCH_REGS, W_BIT, R_BIT, I_BIT)
2010         (W_MASK, R_MASK, I_MASK, IRW_MASK, MAX_DEBUG_REGISTER): Define.
2011         (pt_watch_style): Define new enum.
2012         (mips32_watch_regs, mips64_watch_regs, pt_watch_regs, mips_watchpoint):
2013         Define new structs.
2014         (watch_readback_valid, watch_readback, current_watches, watch_mirror):
2015         New variables.
2016         (get_irw_mask, get_reg_mask, get_num_valid, get_watchlo)
2017         (set_watchlo, get_watchhi, set_watchhi, mips_show_dr)
2018         (mips_linux_read_watch_registers, mips_linux_can_use_hw_breakpoint)
2019         (mips_linux_stopped_by_watchpoint, mips_linux_stopped_data_address)
2020         (type_to_irw, fill_mask, try_one_watch)
2021         (mips_linux_region_ok_for_hw_watchpoint, write_watchpoint_regs)
2022         (mips_linux_new_thread, populate_regs_from_watches)
2023         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
2024         (mips_linux_close): New functions.
2025         (_initialize_mips_linux_nat): Register watchpoint functions with
2026         the target_ops.  Add show-debug-regs maintenance command.
2027
2028 2009-04-20  David Daney  <ddaney@caviumnetworks.com>
2029
2030         * infrun.c (handle_inferior_event): Move gegisters_changed call down.
2031
2032 2009-04-19  Pedro Alves  <pedro@codesourcery.com>
2033
2034         * NEWS: Mention gdbserver support for x86 Windows CE.
2035
2036 2009-04-19  Eli Zaretskii  <eliz@gnu.org>
2037
2038         * config/djgpp/fnchange.lst: Fix typos.
2039
2040         Set default host and target charsets in the DJGPP port.
2041
2042         * config/djgpp/config.sed (am_cv_langinfo_codeset)
2043         (bash_cv_langinfo_codeset, ac_cv_header_nl_types_h): Set to "yes"
2044         in all configure scripts that define ac_cv_env_CPP_value.
2045
2046         * go32-nat.c (dos_codepage, nl_langinfo): New functions.
2047         Include langinfo.h.
2048
2049         * config/djgpp/nl_types.h: New file.
2050
2051         * config/djgpp/langinfo.h: New file.
2052
2053         * config/i386/go32.mh (MH_CFLAGS): Add $(srcdir)/config/djgpp.
2054
2055 2009-04-18  Carlos O'Donell  <carlos@codesourcery.com>
2056
2057         * Makefile.in (MAKEHTML): Set to makeinfo --html.
2058         (MAKEHTMLFLAGS): Set to empty.
2059
2060 2009-04-18  Eli Zaretskii  <eliz@gnu.org>
2061
2062         * NEWS: Mention all new set/show commands added since GDB 6.8 was
2063         released.
2064
2065         * go32-nat.c (go32_sysinfo): Check if the call to
2066         __dpmi_get_capabilities fills the buffer with information, and
2067         don't use the buffer if not.
2068
2069 2009-04-17  Tom Tromey  <tromey@redhat.com>
2070
2071         * charset.c (_initialize_charset): Add special case for "646".
2072
2073 2009-04-17  Carlos O'Donell  <carlos@codesourcery.com>
2074
2075         * configure.ac: AC_SUBST datarootdir, docdir, htmldir, pdfdir.
2076         * configure: Regenerate.
2077         * Makefile.in: Set datarootdir, docdir, htmldir, and pdfdir from
2078         configure substitutions.
2079         (FLAGS_TO_PASS): Add datarootdir, docdir, and htmldir.
2080
2081 2009-04-17  Pierre Muller  <muller@ics.u-strasbg.fr>
2082
2083         ARI fix: Do not use %p, replace by call to host_address_to_string
2084         for host pointers.
2085         * darwin-nat.c (darwin_xfer_partial): Apply change.
2086         * gnu-nat.c (inf_continue, gnu_xfer_memory): Ditto.
2087         * gnu-nat.h (proc_debug): Ditto.
2088         * symmisc.c (maintenance_info_symtabs): Ditto.
2089         (maintenance_info_psymtabs): Ditto.
2090         * windows-nat.c (handle_load_dll): Ditto.
2091         (handle_unload_dll, info_w32_command, handle_exception): Ditto.
2092         * xtensa-tdep.c (xtensa_unwind_pc): Ditto.
2093
2094 2009-04-17  Joseph Myers  <joseph@codesourcery.com>
2095
2096         * configure.tgt (i[34567]86-*-linux*): Use 64-bit configuration if
2097         --enable-64-bit-bfd.
2098         (sparc-*-linux*): Likewise.
2099
2100 2009-04-17  Eli Zaretskii  <eliz@gnu.org>
2101
2102         * go32-nat.c (go32_sysinfo): Update list of Windows versions of
2103         the NT family.
2104
2105 2009-04-16  Pedro Alves  <pedro@codesourcery.com>
2106
2107         * remote.c (remote_query_attached): Fix pasto in packet_ok result
2108         checking.
2109
2110 2009-04-16  Joel Brobecker  <brobecker@adacore.com>
2111
2112         * procfs.c (solib_mappings_callback, find_memory_regions_callback):
2113         Revert the previous change.  Might not be correct, actually.
2114
2115 2009-04-16  Joel Brobecker  <brobecker@adacore.com>
2116
2117         * ada-lang.h (ada_adjust_exception_stop, ada_print_exception_stop)
2118         (ada_get_current_task, ada_print_exception_breakpoint_nontask)
2119         (ada_print_exception_breakpoint_task, ada_reset_thread_registers):
2120         Remove declaration. These are non-existent functions.
2121
2122 2009-04-16  Joel Brobecker  <brobecker@adacore.com>
2123
2124         * procfs.c (solib_mappings_callback, find_memory_regions_callback):
2125         Fix a compilation warning on mips-irix due to casting from
2126         a pointer of different size.
2127
2128 2009-04-16  Joel Brobecker  <brobecker@adacore.com>
2129
2130         * ada-lang.c (symtab_for_sym): Delete.
2131         (user_select_syms): Use sym->symtab instead of calling symtab_for_sym.
2132
2133 2009-04-16  Joel Brobecker  <brobecker@adacore.com>
2134
2135         * ada-lang.c (extract_string): Delete.
2136         (ada_main_name): Reimplement using target_read_string instead of
2137         extract_string.
2138
2139 2009-04-16  Andreas Schwab  <schwab@linux-m68k.org>
2140
2141         * m68klinux-nat.c: Remove obsolete comment.
2142         (fetch_register, store_register): Don't call
2143         gdbarch_cannot_fetch_register or gdbarch_cannot_store_register,
2144         which are always nops here.
2145
2146 2009-04-14  Tom Tromey  <tromey@redhat.com>
2147
2148         * c-lang.c (c_emit_char): Use INTERMEDIATE_ENCODING.
2149         (c_printstr): Likewise.
2150         * charset.c: Include gdb_wait.h.
2151         (make_wchar_iterator): Use INTERMEDIATE_ENCODING.
2152         (find_charset_names): Use pexecute.  Handle libiconv's output.
2153         Detect errors.
2154         (_initialize_charset): Use xstrdup.
2155         * gdb_wchar.h: Check HAVE_BTOWC.  Split PHONY_ICONV and wchar
2156         cases.
2157         (INTERMEDIATE_ENCODING): New define.
2158         * configure, config.in: Rebuild.
2159         * configure.ac: Check for btowc.
2160
2161 2009-04-15  Tom Tromey  <tromey@redhat.com>
2162
2163         * c-lang.c (evaluate_subexp_c): Correctly handle EVAL_SKIP.
2164
2165 2009-04-15  Eli Zaretskii  <eliz@gnu.org>
2166
2167         * utils.c (parse_escape): Initialize target_char to pacify GCC.
2168
2169 2009-04-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
2170
2171         * c-lang.c (c_get_string): Fix xfree crash on a failed string read.
2172
2173 2009-04-14  Pierre Muller  <muller@ics.u-strasbg.fr>
2174
2175         ARI fix: sprintf rule.
2176         * ada-exp.y (convert_char_literal): Replace sprintf by xsnprintf.
2177         * ada-lang.c (add_angle_brackets): Use xstrprintf.
2178         (ada_decode): Replace sprintf by xsnprintf.
2179         (find_old_style_renaming_symbol): Ditto.
2180         (ada_to_fixed_type_1, ada_enum_name): Ditto.
2181
2182
2183 2009-04-14  Joel Brobecker  <brobecker@adacore.com>
2184
2185         * target.c (target_mourn_inferior): Call bfd_cache_close_all
2186         after having executed the target mourn_inferior routine.
2187
2188 2009-04-14  Eli Zaretskii  <eliz@gnu.org>
2189
2190         * config/djgpp/djconfig.sh (DEPDIR): Define to "_deps", if
2191         undefined.
2192
2193 2009-04-13  David Daney  <ddaney@caviumnetworks.com>
2194
2195         * infrun.c (maybe_software_singlestep): New function.
2196         (resume): Call maybe_software_singlestep.
2197         (handle_inferior_event): Same.
2198
2199 2009-04-13  Tom Tromey  <tromey@redhat.com>
2200
2201         * python/python-frame.c (frapy_richcompare): Return
2202         Py_NotImplemented, not an error.  Handle Py_NE as well.
2203
2204 2009-04-13  Eli Zaretskii  <eliz@gnu.org>
2205
2206         * charset.c (EILSEQ): Define if not defined by system headers.
2207
2208 2009-04-11  Eli Zaretskii  <eliz@gnu.org>
2209
2210         * config/djgpp/config.sed: Tweak ac_config_files in intl/configure
2211         to be consistent with renaming config.intl.in into config_intl.in.
2212
2213         * go32-nat.c (go32_attach, go32_detach): Fix prototypes to be
2214         consistent with the change from 2008-11-09.
2215
2216 2009-04-10  Jan Kratochvil  <jan.kratochvil@redhat.com>
2217
2218         * gdbtypes.c: Remove excessive parentheses at the return keywords.
2219         * varobj.c (varobj_invalidate): Fix indentation.
2220         * varobj.c (varobj_invalidate): Fix formatting text width.
2221
2222 2009-04-08  Vladimir Prus  <vladimir@codesourcery.com>
2223
2224         Implement -exec-jump.
2225
2226         * mi/mi-cmds.h (mi_cmd_exec_jump): Declare.
2227         * mi/mi-main.c (mi_cmd_exec_jump): New.
2228         * mi/mi-cmds.c (mi_cmds): Register exec-jump.
2229
2230 2009-04-07  Doug Evans  <dje@google.com>
2231
2232         * symfile.c (symbol_file_clear): Fix indentation.
2233
2234 2009-04-06  Mark Kettenis  <kettenis@gnu.org>
2235
2236         * sparc64nbsd-nat.c (sparc64nbsd_supply_pcb): Fix comment.
2237
2238 2009-04-03  Ulrich Weigand  <uweigand@de.ibm.com>
2239
2240         * ppc-linux-nat.c (ppc_linux_target_wordsize): New function.
2241         (ppc_linux_auxv_parse): New function.
2242         (ppc_linux_read_description): Use ppc_linux_target_wordsize.
2243         (_initialize_ppc_linux_nat): Install ppc_linux_auxv_parse.
2244
2245 2009-04-03  Ulrich Weigand  <uweigand@de.ibm.com>
2246
2247         * spu-linux-nat.c (spu_bfd_open): Set filename of in-memory
2248         BFD to contents of SPU name note.
2249         (spu_symbol_file_add_from_memory): Call symbol_file_add_from_bfd
2250         with "from_tty" argument 1 instead of 0.
2251
2252 2009-04-02  Jan Kratochvil  <jan.kratochvil@redhat.com>
2253
2254         * dwarf2read.c
2255         (new_symbol <DW_TAG_variable> <!DW_AT_location> <DW_AT_external>):
2256         Create the symbol in local scope.
2257         * symtab.h (cu->list_in_scope <LOC_UNRESOLVED>): New comment part.
2258
2259 2009-04-02  Keith Seitz  <keiths@redhat.com>
2260
2261         * stabsread.c (read_member_functions): GCC may emit an extra space
2262         at the end of the names "__base_ctor" and "__base_dtor"; so ignore
2263         whitespace when looking for these functions.
2264
2265 2009-04-01  Joel Brobecker  <brobecker@adacore.com>
2266
2267         Change the default value for "set print frame-arguments" to scalars.
2268
2269         * stack.c (print_frame_arguments): Set initial value to "scalars".
2270
2271 2009-04-01  Aleksandar Ristovski  <aristovski@qnx.com>
2272
2273         * mips-tdep.c (mips_numeric_register_alieses): New definition.
2274         (mips_gdbarch_init): Add user registers from
2275         mips_numeric_register_aliases.
2276
2277 2009-04-01  Joel Brobecker  <brobecker@adacore.com>
2278
2279         * linux-nat.c (linux_nat_filter_event): Minor comment reformatting.
2280
2281 2009-04-01  Joel Brobecker  <brobecker@adacore.com>
2282
2283         * linux-nat.c (linux_nat_filter_events): Do not delete the lwp if
2284         this is the last one.
2285
2286 2009-04-01  Pedro Alves  <pedro@codesourcery.com>
2287
2288         * remote.c (append_resumption): New.
2289         (remote_vcont_resume): Use it.
2290
2291 2009-04-01  Joel Brobecker  <brobecker@adacore.com>
2292
2293         * windows-nat.c (+windows_get_ada_task_ptid): New function.
2294         (init_windows_ops): Set windows_ops.to_get_ada_task_ptid.
2295
2296 2009-03-31  Daniel Jacobowitz  <dan@codesourcery.com>
2297             Keith Seitz  <keiths@redhat.com>
2298             Jan Kratochvil  <jan.kratochvil@redhat.com>
2299
2300         PR gdb/6817
2301         * Makefile.in (dbxread.o): Update.
2302         * dbxread.c (read_dbx_symtab): Use cp_canonicalize_string.
2303         * dwarf2read.c (GDB_FORM_cached_string): New.
2304         (read_partial_die): Use dwarf2_canonicalize_name.
2305         (dwarf2_linkage_name): Use dwarf2_name.
2306         (dwarf2_canonicalize_name): New.
2307         (dwarf2_name): Use dwarf2_canonicalize_name.
2308         (dwarf_form_name, dump_die): Handle GDB_FORM_cached_string.
2309         * stabsread.c (define_symbol, read_type): Use cp_canonicalize_string.
2310         * symtab.c (lookup_symbol_in_language): Canonicalize input before
2311         searching.
2312         * cp-name-parser.y: operator() requires two parameters,
2313         according to libiberty.
2314         * minsyms.c (lookup_minimal_symbol): Canonicalize input
2315         before searching.
2316         * NEWS: Update.
2317
2318 2009-03-31  Joel Brobecker  <brobecker@adacore.com>
2319
2320         Provide support for (Ada) task-specific breakpoints.
2321
2322         * ada-lang.h (ada_get_task_number): Add declaration.
2323         (breakpoint_ada_task_match): Delete declaration.
2324         * ada-tasks.c (ada_get_task_number): Make non-static.
2325         * breakpoint.h (struct breakpoint): Add field "task".
2326         * breakpoint.c (print_one_breakpoint_location): Add handling of
2327         task-specific breakpoints.
2328         (create_breakpoint, create_breakpoints, find_condition_and_thread):
2329         New parameter "task".
2330         (break_command_really): Update calls to find_condition_and_thread
2331         and create_breakpoints.
2332         (breakpoint_re_set_one): Update call to find_condition_and_thread.
2333         Set b->task.
2334
2335 2009-03-31  Joel Brobecker  <brobecker@adacore.com>
2336
2337         * ada-tasks.c (short_task_info): Eliminate the "Running" task state.
2338
2339 2009-03-31  Pedro Alves  <pedro@codesourcery.com>
2340
2341         * remote.c (remote_notice_new_inferior): Use ptid_is_pid.  Check
2342         if the thread's ptid without a thread id field is in the list
2343         before calling thread_change_ptid.
2344         (extended_remote_attach_1): In non-stop mode, do not rely on
2345         querying the current thread, instead, query the thread list, and
2346         select the first thread of the process.
2347         * gdbthread.h (first_thread_of_process): Declare.
2348         * thread.c (first_thread_of_process): Define.
2349
2350 2009-03-30  Stan Shebs  <stan@codesourcery.com>
2351
2352         Make tracepoints into a type of breakpoint.
2353         * breakpoint.h (enum bptype): Add bp_tracepoint.
2354         (struct breakpoint): Add fields step_count, pass_count, actions.
2355         (get_tracepoint, get_tracepoint_by_number): Declare.
2356         (all_tracepoints): Declare.
2357         * breakpoint.c: Include tracepoint.h, readline.h.
2358         (ALL_TRACEPOINTS): Move here from tracepoint.c.
2359         (tracepoint_count): Ditto.
2360         (should_be_inserted): GDB does not insert tracepoints itself.
2361         (print_it_typical): Add tracepoint case.
2362         (bpstat_what): Ditto.
2363         (print_one_breakpoint_location): Ditto, and add printing for
2364         pass count, step count, and action list.
2365         (user_settable_breakpoint): Add tracepoint case.
2366         (allocate_bp_location): Ditto.
2367         (set_breakpoint_location_function): Ditto.
2368         (disable_breakpoints_in_shlibs): Ditto.
2369         (mention): Ditto.
2370         (break_command_really): Add argument traceflag, use to choose
2371         basic breakpoint type.
2372         (break_command_1): Pass extra argument.
2373         (set_breakpoint, handle_gnu_v3_exceptions): Ditto.
2374         (breakpoint_re_set_one): Add tracepoint case.
2375         (disable_command, enable_command): Ditto.
2376         (set_tracepoint_count): Move here from tracepoint.c.
2377         (trace_command): Move here from tracepoint.c and use
2378         break_command_really.
2379         (tracepoints_info): Move here from tracepoint.c and call
2380         breakpoints_info.
2381         (enable_trace_command): Move here from tracepoint.c and call
2382         enable_command.
2383         (disable_trace_command): Move here from tracepoint.c and call
2384         disable_command.
2385         (delete_trace_command): Move here from tracepoint.c and call
2386         delete_breakpoint.
2387         (trace_pass_command): Move here from tracepoint.c.
2388         (get_tracepoint_by_number): Ditto.
2389         (tracepoint_save_command): Ditto.
2390         (get_tracepoint): New function.
2391         (all_tracepoints): New function.
2392         (_initialize_breakpoint): Move tracepoint init from tracepoint.c,
2393         deprecate "enable trace" and "disable trace" commands.
2394         * tracepoint.h (struct tracepoint): Remove.
2395         (tracepoint_chain): Remove decl.
2396         (deprecated_create_tracepoint_hook): Remove decl.
2397         (deprecated_delete_tracepoint_hook): Remove decl.
2398         (deprecated_modify_tracepoint_hook): Remove decl.
2399         (ALL_TRACEPOINTS, ALL_TRACEPOINTS_SAFE): Remove.
2400         (free_actions): Update signature.
2401         (validate_actionline): Update signature.
2402         (end_actions_pseudocommand): Declare.
2403         (while_stepping_pseudocommand): Declare.
2404         * tracepoint.c: Include breakpoint.h.
2405         (tracepoint_chain, tracepoint_count): Remove.
2406         (free_actions, make_cleanup_free_actions): Update signature.
2407         (trace_command, set_raw_tracepoint): Remove.
2408         (trace_mention): Remove.
2409         (tracepoints_info): Remove.
2410         (tracepoint_operation, map_args_over_tracepoints): Remove.
2411         (get_tracepoint_by_number): Remove.
2412         (enable_trace_command, disable_trace_command): Remove.
2413         (delete_trace_command, trace_pass_command): Remove.
2414         (trace_actions_command, read_actions): Update signature.
2415         (validate_actionline): Update signature, use bp loc.
2416         (encode_actions): Ditto.
2417         (download_tracepoint): New function, body of trace_start_command.
2418         (trace_start_command): Call it, use all_tracepoints.
2419         (tracepoint_save_command): Remove.
2420         (tracepoint_dump_command): Use get_tracepoint.
2421         (end_actions_pseudocommand): Make globally visible.
2422         (while_stepping_pseudocommand): Ditto.
2423         (_initialize_tracepoint): Move command definitions to breakpoint.c.
2424
2425 2009-03-30  Thiago Jung Bauermann  <bauerman@br.ibm.com>
2426
2427         Expose frames to Python.
2428         * Makefile.in (SUBDIR_PYTHON_OBS): Add python-frame.o.
2429         (SUBDIR_PYTHON_SRCS): Add python-frame.c.
2430         (python-frame.o): New target.
2431         * python/python-frame.c: New file.
2432         * python/python-internal.h (gdbpy_frames, gdbpy_newest_frame,
2433         gdbpy_frame_stop_reason_string, gdbpy_selected_frame,
2434         gdbpy_initialize_frames): New prototypes.
2435         * python/python.c (_initialize_python): Call gdbpy_initialize_frames.
2436         (GdbMethods): Add `selected_frame' and `frame_stop_reason_string'
2437         entries.
2438         * stack.c (find_frame_funname): New function, factored out of
2439         print_frame.
2440         (print_frame): Call find_frame_funname.
2441         * stack.h (find_frame_funname): Add prototype.
2442
2443 2009-03-29  Thiago Jung Bauermann  <bauerman@br.ibm.com>
2444
2445         Remove unused value_object attribute `owned_by_gdb'.
2446         * python/python-value.c (value_object): Remove owned_by_gdb
2447         attribute.
2448         (valpy_dealloc): Remove reference to self->owned_by_gdb.
2449         (valpy_new): Likewise.
2450         (value_to_value_object): Likewise.
2451
2452 2009-03-29  Thiago Jung Bauermann  <bauerman@br.ibm.com>
2453
2454         Change gdb.Value.address from a method to an attribute.
2455         * python/python-value.c (value_object): Add `address' element.
2456         (valpy_dealloc): Decrement reference to self->address if set.
2457         (valpy_new): Initialize val_obj->address.
2458         (valpy_address): Rename to ...
2459         (valpy_get_address): ... this.  Change signature from method to
2460         attribute.  Update self->address if not set.
2461         (value_to_value_object): Initialize val_obj->address.
2462         (value_object_getset): Add `address' element.
2463         (value_object_methods): Remove `address' element.
2464
2465 2009-03-29  Andreas Schwab  <schwab@linux-m68k.org>
2466
2467         * observer.sh: Set LANG/LC_ALL to C, not c.
2468
2469 2009-03-28  Kevin Buettner  <kevinb@redhat.com>
2470
2471         * mn10300-tdep.c (mn10300_gdbarch_init): For mn10300, by default,
2472         `char' is unsigned.
2473
2474 2009-03-28  Pedro Alves  <pedro@codesourcery.com>
2475
2476         * remote.c (remote_stop_ns): If multi-process extensions are off,
2477         and GDB is requesting the whole process to stop, sent "vCont;t",
2478         not "vCont;t:-1"
2479
2480 2009-03-28  Pedro Alves  <pedro@codesourcery.com>
2481
2482         * inf-loop.c (inferior_event_handler): Avoid calling is_running on
2483         null inferior_ptid.
2484
2485 2009-03-27  Eli Zaretskii  <eliz@gnu.org>
2486
2487         * config/djgpp/fnchange.lst: Update to fix ARI-reported problems.
2488
2489 2009-03-26  Doug Evans  <dje@google.com>
2490
2491         * thread.c (do_restore_current_thread_cleanup): Redo test for
2492         whether to restore old->inferior_ptid.
2493
2494 2009-03-26  Tom Tromey  <tromey@redhat.com>
2495
2496         * breakpoint.c (resolve_sal_pc): Preserve original line number
2497         when skipping prologue.
2498
2499 2009-03-26  Doug Evans  <dje@google.com>
2500
2501         * thread.c (inferior_thread) Remove "extern" in definition.
2502
2503 2009-03-26  Thiago Jung Bauermann  <bauerman@br.ibm.com>
2504
2505         Add gdb.Value.is_optimized_out attribute.
2506         * python/python-value.c (valpy_get_is_optimized_out): New
2507         function.
2508         (value_object_getset): New variable.
2509         (value_object_type): Initialize tp_getset element.
2510
2511 2009-03-26  Joel Brobecker  <brobecker@adacore.com>
2512
2513         Recognize missing DW_AT_location as <value optimized out>.
2514         * dwarf2read.c
2515         (new_symbol <DW_TAG_variable> <!DW_AT_location> <!DW_AT_external>):
2516         Call add_symbol_to_list.
2517
2518 2009-03-25  Tom Tromey  <tromey@redhat.com>
2519
2520         * gdbtypes.h (CHECK_TYPEDEF): Don't yield a value.
2521         * stack.c (print_this_frame_argument_p): Use check_typedef.
2522
2523 2009-03-25  Tom Tromey  <tromey@redhat.com>
2524
2525         * configure: Rebuild.
2526         * acinclude.m4 (AM_ICONV): Set am_cv_use_build_libiconv.
2527         Rearrange flags setting.  Add comments.
2528
2529 2009-03-25  Pierre Muller  <muller@ics.u-strasbg.fr>
2530
2531         * config/i386/nm-i386.h: Remove code within
2532         I386_WATCHPOINTS_IN_TARGET_VECTOR conditional.
2533         * config/i386/nm-cygwin.h: Remove I386_WATCHPOINTS_IN_TARGET_VECTOR
2534         macro.
2535         * config/i386/nm-cygwin64.h: Ditto.
2536         * config/i386/nm-fbsd.h: Ditto.
2537         * config/i386/nm-go32.h: Ditto.
2538         * config/i386/nm-linux.h: Ditto.
2539         * config/i386/nm-linux64.h: Ditto.
2540
2541 2009-03-25  Pierre Muller  <muller@ics.u-strasbg.fr>
2542
2543         ARI fix: "xasprintf" rule.
2544         * printcmd.c (sym_info): Replace xasprintf by xstrprintf.
2545
2546 2009-03-25  Pedro Alves  <pedro@codesourcery.com>
2547
2548         * remote.c (remote_start_remote): In non-stop mode, call
2549         init_wait_for_inferior before adding threads and inferiors.
2550
2551 2009-03-25  Joel Brobecker  <brobecker@adacore.com>
2552
2553         * breakpoint.c (breakpoint_thread_match): Split a large condition
2554         into several smaller conditions.  No behavior change.
2555
2556 2009-03-25  Pedro Alves  <pedro@codesourcery.com>
2557
2558         * infrun.c (infrun_thread_thread_exit): New.
2559         (_initialize_infrun): Attach it to the thread_exit observer.
2560         * thread.c (delete_thread_1): Always call the observer, passing it
2561         the silent flag.
2562         * mi/mi-interp.c (mi_thread_exit): Add "silent" parameter.  If
2563         SILENT, return immediately.
2564
2565 2009-03-25  Pedro Alves  <pedro@codesourcery.com>
2566
2567         * infrun.c (normal_stop): Use has_stack_frames instead of
2568         target_has_stack.
2569         * mi/mi-main.c (mi_execute_command): Avoid calling inferior_thread
2570         when there is no thread selected.
2571         (mi_cmd_execute): Don't special case commands that can run without
2572         a valid selected thread.
2573         * top.c (execute_command): Don't special case commands that can
2574         run without a valid selected thread.  Use has_stack_frames.
2575         * infcmd.c (ensure_valid_thread): New.
2576         (continue_1, step_1, jump_command, signal_command): Use it.
2577         (detach_command): Error out if there's no selected thread/inferior.
2578         * thread.c (print_thread_info): Allow having no thread selected.
2579         (switch_to_thread): Don't read the PC if there is no current thread.
2580         (do_restore_current_thread_cleanup): Don't record the current
2581         frame if there is no current thread.
2582         (make_cleanup_restore_current_thread): Don't read frame info if
2583         there is no selected thread.
2584         (_initialize_thread): Don't mark commands as
2585         "no_selected_thread_ok".
2586         * frame.c (get_current_frame): Error out if there is no valid
2587         selected thread.
2588         (has_stack_frames): Return false if there is no valid
2589         selected thread.
2590         * cli/cli-cmds.c (init_cli_cmds): Don't mark commands as
2591         "no_selected_thread_ok".
2592         * cli/cli-decode.c (set_cmd_no_selected_thread_ok)
2593         (get_cmd_no_selected_thread_ok): Delete.
2594         * cli/cli-decode.h (CMD_NO_SELECTED_THREAD_OK): Delete.
2595         (set_cmd_no_selected_thread_ok, get_cmd_no_selected_thread_ok):
2596         Delete declaration.
2597         * stack.c (get_selected_block): Use has_stack_frames.
2598
2599 2009-03-25  Thiago Jung Bauermann  <bauerman@br.ibm.com>
2600
2601         Fix size of FPSCR in Power 7 processors.
2602         * ppc-linux-nat.c (PPC_FEATURE_ARCH_2_05): Remove #define.
2603         (PPC_FEATURE_HAS_DFP): New #define.
2604         (ppc_linux_read_description): Check for DFP feature instead of
2605         ISA 2.05 to decide on size of the FPSCR.
2606
2607 2009-03-25  Kevin Buettner  <kevinb@redhat.com>
2608
2609         * mn10300-tdep.c (trad-frame.h): Don't include.
2610         (prologue-value.h): Include.
2611         (mn10300_frame_unwind_cache, set_reg_offsets): Delete.
2612         (struct mn10300_prologue): Define.
2613         (push_reg, translate_rreg, check_for_saved): New functions.
2614         (mn10300_analyze_prologue): Rewrite, using prologue-value
2615         machinery.  Handle more instructions than before.  Permit
2616         instructions to occur in any order.
2617         (mn10300_skip_prologue): Find the extents of the function
2618         in question; mn10300_analyze_prologue no longer does this.
2619         (mn10300_analyze_frame_prologue): New function.
2620         (mn10300_frame_base): New function.
2621         (mn10300_frame_this_id): Rewrite, no longer using trad-frame
2622         implementation.
2623         (mn10300_frame_prev_register): Likewise.
2624         (mn10300_frame_base_address, mn10300_frame_base struct): Delete.
2625         (mn10300_unwind_pc, mn10300_unwind_sp): Rename `next_frame' to
2626         `this_frame'.
2627         (mn10300_frame_unwind_init): Don't call frame_base_set_default().
2628
2629 2009-03-25  Pierre Muller  <muller@ics.u-strasbg.fr>
2630
2631         Fix completer problem for filename completion on the first try.
2632
2633         * gdb/completer.h (gdb_completion_word_break_characters): New function.
2634         * gdb/completer.c: Include gdb_assert.h.
2635         (complete_line_internal_reason): New enum.
2636         (complete_line_internal): Change last argument type to
2637         complete_line_internal_reason.
2638         Modify function to handle the different complete_line_internal_reason
2639         argument values.
2640         (complete_line): Adapt to change in complete_line_internal.
2641         (command_completer): Ditto.
2642         (gdb_completion_word_break_characters): Implement new function.
2643         * top.c (init_main): Set  rl_completion_word_break_hook to
2644         gdb_completion_word_break_characters.
2645
2646
2647 2009-03-25  Pierre Muller  <muller@ics.u-strasbg.fr>
2648
2649         ARI fix: "strlen d_name" rule.
2650         * linux-nat.c (linux_nat_xfer_osdata): Use NAMELEN macro.
2651
2652
2653 2009-03-24  Tom Tromey  <tromey@redhat.com>
2654             Pedro Alves  <pedro@codesourcery.com>
2655
2656         * configure, config.in: Rebuild.
2657         * configure.ac: Check for libiconvlist.
2658         * charset.c: Check HAVE_LIBICONVLIST.
2659         * acinclude.m4 (AM_ICONV): Don't subst LIBICONV, LIBICONV_INCLUDE,
2660         LIBICONV_LIBDIR.  Update CPPFLAGS and LIBS.
2661         * Makefile.in (LIBICONV, LIBICONV_INCLUDE, LIBICONV_LIBDIR):
2662         Remove.
2663         (INTERNAL_CFLAGS_BASE): Update.
2664         (INTERNAL_LDFLAGS): Update.
2665         (CLIBS): Update.
2666
2667 2009-03-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
2668
2669         * configure.ac: Initialize the variable $PREFER_CURSES.
2670         * configure: Regenerated.
2671
2672 2009-03-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
2673
2674         * configure.ac: Enable $PREFER_CURSES even with default $ENABLE_TUI.
2675         * configure: Regenerated.
2676
2677 2009-03-24  Pierre Muller  <muller@ics.u-strasbg.fr>
2678
2679         ARI fix: "strerror" rule.
2680         * darwin-nat.c (darwin_ptrace): Use safe_strerror.
2681         (darwin_stop_inferior, darwin_attach, darwin_detach): Ditto.
2682
2683 2009-03-23  Joel Brobecker  <brobecker@adacore.com>
2684
2685         * ada-exp.y (get_symbol_field_type): Make sure to resolve typedefs
2686         before looking up the fields inside our struct type.
2687
2688 2009-03-23  Joel Brobecker  <brobecker@adacore.com>
2689
2690         * ada-lang.c (resolve_subexp) [UNOP_QUAL]: Resolve typedefs before
2691         trying to resolve the type qualification.
2692
2693 2009-03-23  Joel Brobecker  <brobecker@adacore.com>
2694
2695         * ada-lang.c (ada_evaluate_subexp) [UNOP_IN_RANGE]: make sure
2696         we try to apply the attribute on the real type, rather than
2697         its associated typedef.
2698
2699 2009-03-23  Joel Brobecker  <brobecker@adacore.com>
2700
2701         * ada-lang.c (ada_evaluate_subexp) [OP_ATR_MODULUS]: Use check_typdef
2702         to make sure we try to get the modulus of the actual type, not the
2703         associated typedef.
2704
2705 2009-03-23  Joel Brobecker  <brobecker@adacore.com>
2706
2707         * ada-lang.c (ada_evaluate_subexp): [OP_ATR_FIRST, OP_ATR_LAST]
2708         [OP_ATR_LENGTH]: When using the attribute on a type, make sure
2709         to get the real type, not the associated typedef.
2710
2711 2009-03-23  Joel Brobecker  <brobecker@adacore.com>
2712
2713         * ada-lang.c (ada_get_field_index): Add handling of the case
2714         when TYPE is a typedef of a struct.
2715
2716 2009-03-23  Joel Brobecker  <brobecker@adacore.com>
2717
2718         Add gdb_usleep as a portable version of usleep based on gdb_select.
2719         * gdb_usleep.h, gdb_usleep.c: New files.
2720         * Makefile.in (SFILES): Add gdb_usleep.c.
2721         (HFILES_NO_SRCDIR): Add gdb_usleep.h.
2722         (COMMON_OBS): Add gdb_usleep.o.
2723         * ser-unix.c (hardwire_send_break): Replace call to gdb_select
2724         by call to gdb_usleep.
2725
2726 2009-03-23  Joel Brobecker  <brobecker@adacore.com>
2727
2728         * buildsym.c (end_symtab): If we ignore the subfiles, then
2729         unlink the associated symtabs if they were already allocated.
2730
2731 2009-03-23  Jerome Guitton  <guitton@adacore.com>
2732
2733         Provide a way to force building of GDB with libcurses.
2734         * configure.ac: Add --with-curses.
2735         * configure: Regenerated.
2736
2737 2009-03-23  Tom Tromey  <tromey@redhat.com>
2738
2739         * dwarf2expr.c (execute_stack_op) <DW_OP_GNU_uninit>: Fix typo in
2740         error message.
2741
2742 2009-03-23  Paul Pluzhnikov  <ppluzhnikov@google.com>
2743
2744         * breakpoint.c (disable_breakpoints_in_unloaded_shlib): Use
2745         solib_contains_address_p instead of searching.
2746
2747 2009-03-23  Tom Tromey  <tromey@redhat.com>
2748
2749         * charset.c (ICONV_CONST) <PHONY_ICONV>: Define.
2750         (iconv): Make 'inbuf' argument const.
2751         (convert_between_encodings): Use ICONV_CONST.
2752         (wchar_iterate): Likewise.
2753
2754 2009-03-22  Christopher Faylor  <me+cygwin@cgf.cx>
2755
2756         * windows-nat.c (AdjustTokenPrivileges): Implement macro wraparound for
2757         dynamically loaded function.
2758         (LookupPrivilegeValueA): Ditto.
2759         (OpenProcessToken): Ditto.
2760         (AdjustTokenPrivileges): Rename and define placeholder for address of
2761         dynamically loaded function.
2762         (LookupPrivilegeValueA): Ditto.
2763         (OpenProcessToken): Ditto.
2764         (set_process_privilege): Remove check for loaded functions.
2765         (bad_OpenProcessToken): Define.
2766         (_initialize_loadable): Load token functions from advapi here, setting
2767         OpenProcessToken function to a dummy static function which always return
2768         error if OS doesn't support this functionality.
2769
2770 2009-03-22   Nicolas Roche  <roche@adacore.com>
2771              Christopher Faylor <me+cygwin@cgf.cx>
2772
2773         * win32-nat.c (ctrl_c_handler): New function.
2774         (win32_wait): Register ctrl_c_handler as Ctrl-C handler if the inferior
2775         is run in a separate console.
2776
2777 2009-03-22  Christopher Faylor  <me+cygwin@cgf.cx>
2778
2779         * windows-nat.c (DebugActiveProcessStop): Implement macro wraparound
2780         for dynamically loaded function.
2781         (DebugBreakProcess): Ditto.
2782         (DebugSetProcessKillOnExit): Ditto.
2783         (EnumProcessModules): Ditto.
2784         (GetModuleFileNameExA): Ditto.
2785         (GetModuleInformation): Ditto.
2786         (DebugActiveProcessStop): Rename and define placeholder for address of
2787         dynamically loaded function.
2788         (DebugBreakProcess): Ditto.
2789         (DebugSetProcessKillOnExit): Ditto.
2790         (EnumProcessModules): Ditto.
2791         (GetModuleFileNameExA): Ditto.
2792         (GetModuleInformation): Ditto.
2793         (psapi_loaded): Delete.
2794         (get_module_name): Don't check psapi_loaded, just rely on the fact that
2795         dynamically loaded functions will return failure if they weren't
2796         previously found.
2797         (has_detach_ability): Delete.
2798         (windows_attach): Remove call to has_detach_ability ().  Just rely on
2799         functions being callable.
2800         (bad_DebugActiveProcessStop): Define.
2801         (bad_DebugBreakProcess): Ditto.
2802         (bad_DebugSetProcessKillOnExit): Ditto.
2803         (bad_EnumProcessModules): Ditto.
2804         (bad_GetModuleFileNameExA): Ditto.
2805         (bad_GetModuleInformation): Ditto.
2806         (_initialize_loadable): Rename from _initialize_psapi.  Initialize all
2807         dynamic storage here, setting nonexistent functions to dummy static
2808         functions which always return error.
2809
2810 2009-03-22  Pedro Alves  <pedro@codesourcery.com>
2811
2812         * mi/mi-interp.c (mi_interpreter_init): Attach mi_about_to_proceed
2813         to the about_to_proceed observer notification.
2814         (mi_about_to_proceed): New.
2815         (mi_on_resume): Only output ^running and the prompt here if the
2816         target was proceeded.
2817         * breakpoint.c (breakpoint_proceeded): New static.
2818         (breakpoint_about_to_proceed): New.
2819         (_initialize_breakpoints): Attach breakpoint_about_to_proceed to
2820         the about_to_proceed observer notification.
2821         * inferior.h (breakpoint_proceeded): Delete declaration.
2822         * infrun.c (clear_proceed_status): Don't set breakpoint_proceeded.
2823         Notify the about_to_proceed observers.
2824         (struct inferior_status): Delete breakpoint_proceeded member.
2825         (save_inferior_status): Don't save it.
2826         (restore_inferior_status): Don't restore it.
2827         * mi-main.h (mi_proceeded): Declare.
2828         * mi/mi-main.c (mi_cmd_execute): Clear mi_proceeded before running
2829         a command.
2830
2831 2009-03-22  Pedro Alves  <pedro@codesourcery.com>
2832
2833         * gdbthread.h (struct thread_info): Add in_infcall member.
2834         * infcall.c (run_inferior_call): Save, set and restore in_infcall.
2835         Remove reverences to suppress_resume_observer.  Refresh
2836         `call_thread' after returning from `proceed'.
2837         * infcmd.c (suppress_resume_observer): Delete.
2838         * inferior.h (suppress_resume_observer): Delete declaration.
2839         * mi/mi-interp.c (mi_on_resume): Suppress output while calling an
2840         inferior function.
2841         * thread.c (set_running): Remove references to
2842         suppress_resume_observer.
2843         * infrun.c (struct inferior_status): Add in_infcall member.
2844         (save_inferior_status): Save it.
2845         (restore_inferior_status): Restore it.
2846
2847 2009-03-22  Pedro Alves  <pedro@codesourcery.com>
2848
2849         * infcall.c (run_inferior_call): Remove references to
2850         suppress_stop_observer.
2851         * infcmd.c (suppress_stop_observer): Delete.
2852         (finish_command_continuation): Remove NOTE.  Don't clear
2853         suppress_stop_observer anymore.
2854         (finish_command_continuation_free_arg): Likewise.
2855         (finish_forward): Remove references to suppress_stop_observer.
2856         Call normal_stop observer if we haven't already.
2857         * inferior.h (suppress_stop_observer): Delete.
2858         * infrun.c (normal_stop): When deciding to suppress the
2859         normal_stop observer, check for proceed_to_finish instead of
2860         suppress_stop_observer.
2861
2862 2009-03-22  Pedro Alves  <pedro@codesourcery.com>
2863
2864         * symfile.c (symfile_relocate_debug_section): Remove check for
2865         SEC_DEBUGGING.
2866
2867 2009-03-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
2868             Jim Blandy  <jimb@red-bean.com>
2869             Thiago Jung Bauermann  <bauerman@br.ibm.com>
2870             Tom Tromey  <tromey@redhat.com>
2871
2872         Miscellaneous fixes to the Python code.
2873         * python/python-cmd.c (cmdpy_init): Accept keyword
2874         arguments.
2875         * python/python-value.c (valpy_string): Accept keyword
2876         arguments.
2877         (valpy_binop): Use `break' to exit from the TRY_CATCH block.
2878         Do not call value_to_value_object on NULL RES_VAL.
2879         (value_object_methods): Change `string' entry to also accept
2880         keyword arguments.
2881         (convert_value_from_python): Return a copy of the value if obj is
2882         a gdb.Value object.
2883         (value_object_methods): Mark the `string' method as accepting
2884         keywords, and show method "prototype" in the doc string.
2885         * python/python.c (get_parameter): Don't return inside a
2886         TRY_CATCH.
2887
2888 2009-03-20  Tom Tromey  <tromey@redhat.com>
2889
2890         Add support for convenience functions in Python.
2891         * Makefile.in (SUBDIR_PYTHON_OBS): Add python-function.o.
2892         (SUBDIR_PYTHON_SRCS): Add python-function.c.
2893         (python-function.o): New target.
2894         * eval.c: Include "python/python.h" and <ctype.h>.
2895         (evaluate_subexp_standard): Handle values of type
2896         TYPE_CODE_INTERNAL_FUNCTION.
2897         * gdbtypes.h (type_code): Add TYPE_CODE_INTERNAL_FUNCTION.
2898         * parse.c (write_exp_string): Remove duplicate word in comment.
2899         * python/python-function.c: New file.
2900         * python/python-internal.h (gdbpy_initialize_functions): Add
2901         prototype.
2902         * python/python.c (_initialize_python): Call
2903         gdbpy_initialize_functions.
2904         * valprint.c (value_check_printable): Handle values of type
2905         TYPE_CODE_INTERNAL_FUNCTION.
2906         * value.c: Include "cli/cli-decode.h".
2907         (internal_function): New struct.
2908         (functionlist, internal_fn_type): New static variables.
2909         (lookup_only_internalvar,
2910         lookup_internalvar): Add const qualifier to name argument.
2911         (create_internalvar): Likewise.  Initialize new field.
2912         (set_internal_var): Fix typo in comment.  Don't allow assignment
2913         to canonical variable.
2914         (value_create_internal_function, value_internal_function_name,
2915         call_internal_function, function_command, function_destroyer,
2916         add_internal_function): New functions.
2917         (_initialize_values): Create `function' placeholder command.
2918         Initialize internal_fn_type.
2919         * value.h (lookup_only_internalvar, create_internalvar,
2920         lookup_internalvar): Add const qualifier to name argument.
2921         (internal_function_fn, add_internal_function, call_internal_function,
2922         value_internal_function_name): Add prototypes.
2923         (struct internalvar) <canonical>: New field.
2924
2925 2009-03-20  Tom Tromey  <tromey@redhat.com>
2926
2927         * c-lang.c (evaluate_subexp_c): Call check_typedef.
2928
2929 2009-03-20  Tom Tromey  <tromey@redhat.com>
2930             Julian Brown  <julian@codesourcery.com>
2931
2932         PR i18n/7220, PR i18n/7821, PR exp/8815, PR exp/9103,
2933         PR i18n/9401, PR exp/9613:
2934         * NEWS: Update
2935         * value.h (value_typed_string): Declare.
2936         (val_print_string): Update.
2937         * valprint.h (print_char_chars): Update.
2938         * valprint.c (print_char_chars): Add type argument.  Update.
2939         (val_print_string): Likewise.
2940         * valops.c (value_typed_string): New function.
2941         * utils.c (host_char_to_target): New function.
2942         (parse_escape): Use host_char_to_target, host_hex_value.  Update.
2943         Remove '^' case.
2944         (no_control_char_error): Remove.
2945         * typeprint.c (print_type_scalar): Update.
2946         * scm-valprint.c (scm_scmval_print): Update.
2947         * scm-lang.h (scm_printchar, scm_printstr): Update.
2948         * scm-lang.c (scm_printchar): Add type argument.
2949         (scm_printstr): Likewise.
2950         * printcmd.c (print_formatted): Update.
2951         (print_scalar_formatted): Update.
2952         (printf_command) <wide_string_arg, wide_char_arg>: New constants.
2953         Handle '%lc' and '%ls'.
2954         * parser-defs.h (struct typed_stoken): New type.
2955         (struct stoken_vector): Likewise.
2956         (write_exp_string_vector): Declare.
2957         * parse.c (write_exp_string_vector): New function.
2958         * p-valprint.c (pascal_val_print): Update.
2959         * p-lang.h (is_pascal_string_type, pascal_printchar,
2960         pascal_printstr): Update.
2961         * p-lang.c (is_pascal_string_type): Remove 'char_size' argument.
2962         Add 'char_type' argument.
2963         (pascal_emit_char): Add type argument.
2964         (pascal_printchar): Likewise.
2965         (pascal_printstr): Likewise.
2966         * objc-lang.c (objc_emit_char): Add type argument.
2967         (objc_printchar): Likewise.
2968         (objc_printstr): Likewise.
2969         * macroexp.c (get_character_constant): Handle unicode characters.
2970         Use c_parse_escape.
2971         (get_string_literal): Handle unicode strings.  Use
2972         c_parse_escape.
2973         * m2-valprint.c (print_unpacked_pointer): Update.
2974         (m2_print_array_contents): Update.
2975         (m2_val_print): Update.
2976         * m2-lang.c (m2_emit_char): Add type argument.
2977         (m2_printchar): Likewise.
2978         (m2_printstr): Likewise.
2979         * language.h (struct language_defn) <la_printchar>: Add type
2980         argument.
2981         <la_printstr, la_emitchar>: Likewise.
2982         (LA_PRINT_CHAR): Likewise.
2983         (LA_PRINT_STRING): Likewise.
2984         (LA_EMIT_CHAR): Likewise.
2985         * language.c (unk_lang_emit_char): Add type argument.
2986         (unk_lang_printchar): Likewise.
2987         (unk_lang_printstr): Likewise.
2988         * jv-valprint.c (java_val_print): Update.
2989         * jv-lang.c (java_emit_char): Add type argument.
2990         * f-valprint.c (f_val_print): Update.
2991         * f-lang.c (f_emit_char): Add type argument.
2992         (f_printchar): Likewise.
2993         (f_printstr): Likewise.
2994         * expprint.c (print_subexp_standard): Update.
2995         * charset.h (target_wide_charset): Declare.
2996         (c_target_char_has_backslash_escape, c_parse_backslash,
2997         host_char_print_literally, host_char_to_target,
2998         target_char_to_host, target_char_to_control_char): Remove.
2999         (enum transliterations): New type.
3000         (convert_between_encodings): Declare.
3001         (HOST_ESCAPE_CHAR): New define.
3002         (host_letter_to_control_character, host_hex_value): Declare.
3003         (enum wchar_iterate_result): New enum.
3004         (struct wchar_iterator): Declare.
3005         (make_wchar_iterator, make_cleanup_wchar_iterator, wchar_iterator,
3006         wchar_push_back): Declare.
3007         * charset-list.h: New file.
3008         * c-valprint.c (textual_name): New function.
3009         (textual_element_type): Handle wide character types.
3010         (c_val_print): Pass original type to textual_element_type.  Handle
3011         wide character types.
3012         (c_value_print): Use textual_element_type.  Pass original type of
3013         value to val_print.
3014         * c-lang.h (enum c_string_type): New type.
3015         (c_printchar, c_printstr): Update.
3016         * c-lang.c (classify_type): New function.
3017         (print_wchar): Likewise.
3018         (c_emit_char): Add type argument.  Handle wide characters.
3019         (c_printchar): Likewise.
3020         (c_printstr): Add type argument.  Handle wide and multibyte
3021         character sets.
3022         (convert_ucn): New function.
3023         (emit_numeric_character): Likewise.
3024         (convert_octal): Likewise.
3025         (convert_hex): Likewise.
3026         (ADVANCE): New macro.
3027         (convert_escape): New function.
3028         (parse_one_string): Likewise.
3029         (evaluate_subexp_c): Likewise.
3030         (exp_descriptor_c): New global.
3031         (c_language_defn): Use exp_descriptor_c.
3032         (cplus_language_defn): Likewise.
3033         (asm_language_defn): Likewise.
3034         (minimal_language_defn): Likewise.
3035         (charset_for_string_type): New function.
3036         * c-exp.y (%union): Add 'svec' and 'tsval'.
3037         (CHAR): New token.
3038         (exp): Add CHAR production.
3039         (string_exp): Rewrite.
3040         (exp) <string_exp>: Rewrite.
3041         (tempbuf): Now global.
3042         (tempbuf_init): New global.
3043         (parse_string_or_char): New function.
3044         (yylex) <tempbuf>: Now global.
3045         <tokptr, tempbufindex, tempbufsize, token_string, class_prefix>:
3046         Remove.
3047         Handle 'u', 'U', and 'L' prefixes.  Call parse_string_or_char.
3048         (c_parse_escape): New function.
3049         * auxv.c (fprint_target_auxv): Update.
3050         * ada-valprint.c (ada_emit_char): Add type argument.
3051         (ada_printchar): Likewise.
3052         (ada_print_scalar): Update.
3053         (printstr): Add type argument.  Update calls to ada_emit_char.
3054         (ada_printstr): Add type argument.
3055         (ada_val_print_array): Update.
3056         (ada_val_print_1): Likewise.
3057         * ada-lang.c (emit_char): Add type argument.
3058         * ada-lang.h (ada_emit_char, ada_printchar, ada_printstr): Add
3059         type arguments.
3060         * gdb_locale.h: Include langinfo.h.
3061         * charset.c (_initialize_charset): Set default host charset from
3062         the locale.  Don't register charsets.  Add target-wide-charset
3063         commands.  Call find_charset_names.
3064         (struct charset, struct translation): Remove.
3065         (GDB_DEFAULT_HOST_CHARSET): Remove.
3066         (GDB_DEFAULT_TARGET_WIDE_CHARSET): New define.
3067         (target_wide_charset_name): New global.
3068         (show_host_charset_name): Handle "auto".
3069         (show_target_wide_charset_name): New function.
3070         (host_charset_enum, target_charset_enum): Remove.
3071         (charset_enum): New global.
3072         (all_charsets, register_charset, lookup_charset, all_translations,
3073         register_translation, lookup_translation): Remove.
3074         (simple_charset, ascii_print_literally, ascii_to_control): Remove.
3075         (iso_8859_print_literally, iso_8859_to_control,
3076         iso_8859_family_charset): Remove.
3077         (ebcdic_print_literally, ebcdic_to_control,
3078         ebcdic_family_charset): Remove.
3079         (struct cached_iconv, check_iconv_cache, cached_iconv_convert,
3080         register_iconv_charsets): Remove.
3081         (target_wide_charset_be_name, target_wide_charset_le_name): New
3082         globals.
3083         (identity_either_char_to_other): Remove.
3084         (set_be_le_names, validate): New functions.
3085         (backslashable, backslashed, represented): Remove.
3086         (default_c_target_char_has_backslash_escape): Remove.
3087         (default_c_parse_backslash, iconv_convert): Remove.
3088         (ascii_to_iso_8859_1_table, ascii_to_ebcdic_us_table,
3089         ascii_to_ibm1047_table, iso_8859_1_to_ascii_table,
3090         iso_8859_1_to_ebcdic_us_table, iso_8859_1_to_ibm1047_table,
3091         ebcdic_us_to_ascii_table, ebcdic_us_to_iso_8859_1_table,
3092         ebcdic_us_to_ibm1047_table, ibm1047_to_ascii_table,
3093         ibm1047_to_iso_8859_1_table, ibm1047_to_ebcdic_us_table): Remove.
3094         (table_convert_char, table_translation, simple_table_translation):
3095         Remove.
3096         (current_host_charset, current_target_charset,
3097         c_target_char_has_backslash_escape_func,
3098         c_target_char_has_backslash_escape_baton): Remove.
3099         (c_parse_backslash_func, c_parse_backslash_baton): Remove.
3100         (host_char_to_target_func, host_char_to_target_baton): Remove.
3101         (target_char_to_host_func, target_char_to_host_baton): Remove.
3102         (cached_iconv_host_to_target, cached_iconv_target_to_host):
3103         Remove.
3104         (lookup_charset_or_error, check_valid_host_charset): Remove.
3105         (set_host_and_target_charsets): Remove.
3106         (set_host_charset, set_target_charset): Remove.
3107         (set_host_charset_sfunc, set_target_charset_sfunc): Rewrite.
3108         (set_target_wide_charset_sfunc): New function.
3109         (show_charset): Print target wide character set.
3110         (host_charset, target_charset): Rewrite.
3111         (target_wide_charset): New function.
3112         (c_target_char_has_backslash_escape): Remove.
3113         (c_parse_backslash): Remove.
3114         (host_letter_to_control_character): New function.
3115         (host_char_print_literally): Remove.
3116         (host_hex_value): New function.
3117         (target_char_to_control_char): Remove.
3118         (cleanup_iconv): New function.
3119         (convert_between_encodings): New function.
3120         (target_char_to_host): Remove.
3121         (struct wchar_iterator): Define.
3122         (make_wchar_iterator, make_cleanup_wchar_iterator, wchar_iterator,
3123         wchar_push_back): New functions.
3124         (do_cleanup_iterator): New function.
3125         (char_ptr): New typedef.
3126         (charsets): New global.
3127         (add_one, find_charset_names): New functions.
3128         (default_charset_names): New global.
3129         (auto_host_charset_name): Likewise.
3130         * aclocal.m4, config.in, configure: Rebuild.
3131         * configure.ac: Call AM_LANGINFO_CODESET.
3132         (GDB_DEFAULT_HOST_CHARSET): Default to UTF-8.
3133         (AM_ICONV): Invoke earlier.
3134         * acinclude.m4: Include codeset.m4.  Subst LIBICONV_INCLUDE and
3135         LIBICONV_LIBDIR.  Check for libiconv in build tree.
3136         * Makefile.in (LIBICONV_LIBDIR, LIBICONV_INCLUDE): New macros.
3137         (INTERNAL_CFLAGS_BASE): Add LIBICONV_INCLUDE.
3138         (INTERNAL_LDFLAGS): Add LIBICONV_LIBDIR.
3139         * gdb_obstack.h (obstack_grow_wstr): New define.
3140         * gdb_wchar.h: New file.
3141         * defs.h: Include it.
3142
3143 2009-03-20  Tom Tromey  <tromey@redhat.com>
3144             Jan Kratochvil  <jan.kratochvil@redhat.com>
3145
3146         * dwarf2read.c (process_die): Handle DW_TAG_typedef.
3147         * eval.c (evaluate_subexp_standard) <OP_TYPE>: Strip a single
3148         typedef.
3149         * ada-lang.c (decode_packed_array_type): Call CHECK_TYPEDEF on the
3150         SYMBOL_TYPE result.
3151         * ada-typeprint.c (print_array_type): Do the NULL check
3152         unconditionally.
3153
3154 2009-03-19  Tom Tromey  <tromey@redhat.com>
3155
3156         * utils.c (do_obstack_free): New function.
3157         (make_cleanup_obstack_free): Likewise.
3158         * defs.h (make_cleanup_obstack_free): Declare.
3159
3160 2009-03-18  Doug Evans  <dje@google.com>
3161
3162         * linux-nat.c (linux_nat_find_memory_regions): Result of PIDGET is an
3163         int, not a long long.
3164         (linux_nat_info_proc_cmd): Store pid in long instead of long long.
3165
3166         * expprint.c (dump_raw_expression): Print note if non-NULL.
3167
3168         * printcmd.c (display_uses_solib_p): Redo loop, scan element list
3169         backwards.
3170
3171 2009-03-18  Nathan Sidwell  <nathan@codesourcery.com>
3172
3173         * Makefile.in: Update license to GPLv3.
3174         * ada-exp.y: Update license to GPLv3.
3175         * ada-lex.l: Update license to GPLv3.
3176         * c-exp.y: Update license to GPLv3.
3177         * cp-name-parser.y: Update license to GPLv3.
3178         * darwin-nat-info.c: Update license to GPLv3.
3179         * f-exp.y: Update license to GPLv3.
3180         * gdb_thread_db.h: Update license to GPLv3.
3181         * hppanbsd-nat.c: Update license to GPLv3.
3182         * hppanbsd-tdep.c: Update license to GPLv3.
3183         * hppaobsd-tdep.c: Update license to GPLv3.
3184         * jv-exp.y: Update license to GPLv3.
3185         * m2-exp.y: Update license to GPLv3.
3186         * objc-exp.y: Update license to GPLv3.
3187         * p-exp.y: Update license to GPLv3.
3188         * reply_mig_hack.awk: Update license to GPLv3.
3189         * reverse.c: Update license to GPLv3.
3190         * xtensa-xtregs.c: Update license to GPLv3.
3191
3192 2009-03-18  Pedro Alves  <pedro@codesourcery.com>
3193
3194         * remote.c (remote_close): Don't call generic_mourn_inferior.
3195         (remote_mourn_1): Call generic_mourn_inferior after closing the
3196         target.
3197
3198 2009-03-18  Pedro Alves  <pedro@codesourcery.com>
3199
3200         * remote.c (remote_start_remote): Add missing call to
3201         init_wait_for_inferior in non-stop mode.
3202
3203 2009-03-18  Pedro Alves  <pedro@codesourcery.com>
3204
3205         * breakpoint.c (bpstat_should_step): Only consider software
3206         watchpoints that have a location.
3207
3208 2009-03-17  Joel Brobecker  <brobecker@adacore.com>
3209
3210         Add a target_ops parameter to the to_kill method in struct target_ops.
3211
3212         * target.h (struct target_ops): Add a "target_ops *" parameter to
3213         method to_kill.
3214         (target_kill): Remove macro. Add declaration.
3215         * target.c (debug_to_kill): Delete, no longer necessary.
3216         (target_kill): New function.
3217         (update_current_target):  Stop inheriting the to_kill method.
3218         Do not de_fault it to no_process either.
3219         (setup_target_debug): Do not set current_target.to_kill.
3220         * gnu-nat.c, go32-nat.c, hpux-thread.c, inf-ptrace.c, inf-ttrace.c,
3221         linux-nat.c, monitor.c, nto-procfs.c, procfs.c, remote-m32r-sdi.c,
3222         remote-mips.c, remote-sim.c, remote.c, windows-nat.c: Update
3223         accordingly.
3224
3225 2009-03-17  Doug Evans  <dje@google.com>
3226
3227         * amd64-linux-nat.c (si_timerid,si_overrun): Provide definition for
3228         glibc 2.3.2 and earlier.
3229
3230 2009-03-17  Joel Brobecker  <brobecker@adacore.com>
3231
3232         * frame.c (get_prev_frame_1): Do not perform the inner_frame
3233         sanity check if this_frame is not NORMAL.
3234         (frame_id_inner): Update the description of this function.
3235
3236 2009-03-17  Hui Zhu  <teawater@gmail.com>
3237
3238         * stack.c: Change the introduce of "disassemble-next-line".
3239
3240 2009-03-17  Pedro Alves  <pedro@codesourcery.com>
3241
3242         * mi/mi-main.h (mi_print_timing_maybe): Add strict prototype,
3243         declare as extern.
3244
3245 2009-03-17  Hui Zhu  <teawater@gmail.com>
3246
3247         * stack.c: Include valprint.h.
3248         (disassemble_next_line): New enum.
3249         (show_disassemble_next_line): New function.  Show the current
3250         value of disassemble-next-line.
3251         (gdb_disassembly_stub_args): New struct for argument passing
3252         between function do_gdb_disassembly and function
3253         gdb_disassembly_stub.
3254         (gdb_disassembly_stub): New function.  Helper for
3255         gdb_disassembly.
3256         (do_gdb_disassembly): New function.  Use TRY_CATCH to catch
3257         the exception from the gdb_disassembly because it will be
3258         broken by filter sometime.
3259         (print_frame_info): If disassemble-next-line is set to auto
3260         or on and doesn't have the line debug messages for $pc,
3261         output the next instruction.
3262         If disassemble-next-line is set to on and there is line debug
3263         messages, output assembly codes for next line.
3264         (_initialize_stack): Make the "set disassemble-next-line"
3265         command an auto-boolean command.  Change its class to
3266         class_stack.  Place it in the top level set list.  Extend help
3267         to describe the auto mode.
3268
3269 2009-03-17  Pedro Alves  <pedro@codesourcery.com>
3270
3271         * infrun.c (normal_stop): Don't overwrite old_chain.
3272
3273 2009-03-16  Joel Brobecker  <brobecker@adacore.com>
3274
3275         * remote-mips.c (mips_load): Replace call to regcache_set_valid_p,
3276         which is undefined, by call to regcache_invalidate, which should
3277         do what the original author wanted to do.
3278
3279 2009-03-16  Joel Brobecker  <brobecker@adacore.com>
3280
3281         * remote-mips.c (mips_mourn_inferior): Add missing ops parameter.
3282         (mips_create_inferior): Likewise.
3283
3284 2009-03-16  Joel Brobecker  <brobecker@adacore.com>
3285
3286         * go32-nat.c (go32_create_inferior): Add missing ops parameter.
3287
3288 2009-03-16  Joel Brobecker  <brobecker@adacore.com>
3289
3290         * darwin-nat.c (darwin_resume): Fix a compiler warning when
3291         building on x86_64-darwin.
3292
3293 2009-03-16  Tristan Gingold  <gingold@adacore.com>
3294
3295         * configure.tgt: Add handling for x86_64-darwin.
3296
3297 2009-03-16  Jan Kratochvil  <jan.kratochvil@redhat.com>
3298
3299         * auxv.c (fprint_target_auxv): New TAG for AT_RANDOM.
3300
3301 2009-03-15  Joel Brobecker  <brobecker@adacore.com>
3302
3303         * aix-thread.c (aix_thread_thread_alive, aix_thread_pid_to_str):
3304         Use the ops parameter to get to the target beneath, rather than
3305         using the current_target global.  Using the current_target global
3306         was an unintended accident.
3307
3308 2009-03-15  Joel Brobecker  <brobecker@adacore.com>
3309
3310         Fix an error happening while loading symbols from a core file
3311         (on AIX).
3312
3313         * rs6000-nat.c (xcoff_relocate_symtab): Use target_has_execution
3314         to detect whether we're debugging a core file or not.
3315
3316 2009-03-15  Joel Brobecker  <brobecker@adacore.com>
3317
3318         Modernize the aix-thread later by getting rid of the base_target
3319         global.  This brings back to life the AIX port which was otherwise
3320         crashing all the time.
3321
3322         * aix-thread.c (base_target): Delete.
3323         (pd_enable): Do not set base_target.
3324         (aix_thread_attach): Use find_target_beneath instead of base_target.
3325         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
3326         (aix_thread_fetch_registers, aix_thread_store_registers),
3327         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
3328         (aix_thread_thread_alive, aix_thread_pid_to_str): Likewise.
3329         (aix_thread_kill): Delete. Does not seem necessary.
3330         (init_aix_thread_ops): Do not set aix_thread_ops.to_kill.
3331
3332 2009-03-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
3333
3334         * stack.c (return_command <retval_exp>): New variables retval_expr
3335         and old_chain.  Inline parse_and_eval to initialize retval_expr.  Check
3336         RETVAL_EXPR for UNOP_CAST and set RETURN_TYPE to the RETURN_VALUE type
3337         if RETURN_TYPE is NULL.
3338
3339 2009-03-14  Pedro Alves  <pedro@codesourcery.com>
3340
3341         * remote.c (PACKET_qAttached): New.
3342         (remote_query_attached): New.
3343         (remote_add_inferior): Add new `attached' argument.  Handle it.
3344         (remote_notice_new_inferior, remote_start_remote): Adjust to pass
3345         -1 to remote_add_inferior in new parameter.
3346         (extended_remote_attach_1): Adjust to pass 1 to
3347         remote_add_inferior in the new parameter.
3348         (extended_remote_create_inferior_1): Adjust to pass 0 to
3349         remote_add_inferior in the new parameter.
3350         (_initialize_remote): Add "set/show remote query-attached-packet"
3351         commands.
3352
3353 2009-03-13  Tom Tromey  <tromey@redhat.com>
3354
3355         * symtab.c (lookup_symbol_in_language): Use a cleanup.
3356
3357 2009-03-13  Doug Evans  <dje@google.com>
3358
3359         * exceptions.h: Clean up some comments on catch_exceptions usage.
3360         * exceptions.c: Ditto.  Plus mark catch_errors as superseded by
3361         catch_exceptions.
3362
3363 2009-02-17  Joel Brobecker  <brobecker@adacore.com>
3364
3365         The following patch helps getting rid of a warning inside solib-som.c.
3366
3367         * source.c (source_full_path_of): Constify parameter filename.
3368         * defs.h (source_full_path_of): Update declaration accordingly.
3369
3370 2009-03-12  Joel Brobecker  <brobecker@adacore.com>
3371
3372         * ada-lang.c (ada_evaluate_subexp): Merge case BINOP_REM and
3373         BINOP_MOD cases with the handling of case BINOP_DIV and BINOP_MUL.
3374         Remove useless op value checks when EVAL_AVOID_SIDE_EFFECTS.
3375
3376 2009-03-12  Joel Brobecker  <brobecker@adacore.com>
3377
3378         * ada-lang.c (ada_evaluate_subexp) <BINOP_DIV>: make sure to
3379         promote the operands when noside is EVAL_AVOID_SIDE_EFFECTS.
3380
3381 2009-03-12  Joel Brobecker  <brobecker@adacore.com>
3382
3383         * ada-tasks.c (ada_task_is_alive): Move up and make static.
3384         * ada-lang.h (ada_task_is_alive): Remove declaration.
3385
3386 2009-03-12  Jerome Guitton  <guitton@adacore.com>
3387
3388         * ada-lang.c (ada_delta): Change the type of numerators and
3389         denominators to DOUBLEST, as they may not fit into a long.
3390         (scaling_factor): Ditto.
3391
3392 2009-03-12  Jerome Guitton  <guitton@adacore.com>
3393
3394         * language.c (lang_bool_type): Set lai->bool_type_symbol to NULL.
3395
3396 2009-03-12  Joel Brobecker  <brobecker@adacore.com>
3397
3398         * ada-lang.c (ada_evaluate_subexp) [OP_VAR_VALUE]: For tagged
3399         types, if we are unable to determine the actual symbol type
3400         from its tag, then use the static approximation instead.
3401
3402 2009-03-12  Joel Brobecker  <brobecker@adacore.com>
3403
3404         Fix crash printing packed record with packed array.
3405
3406         * ada-lang.c (ada_modulus_from_name): New function.
3407         (ada_modulus): In the case where the type length is bigger than
3408         the size of the type used to hold the bounds, try determining
3409         the modulus from the type name.
3410         (ada_value_primitive_packed_val): Fix bug in the computation of
3411         ntarg causing an out-of-buffer invalid access.
3412
3413 2009-03-12  Joel Brobecker  <brobecker@adacore.com>
3414
3415         Fix segfault when printing short_integer'last.
3416
3417         * ada-lang.c (ada_find_any_type): Search in the primitive types
3418         if a symbol could not be found.
3419
3420 2009-03-12  Joel Brobecker  <brobecker@adacore.com>
3421
3422         * ada-tasks.c (task_states,long_task_states): Add new states
3423         Activating and Acceptor_Delay_Sleep.  Update the description
3424         of state Acceptor_Sleep.
3425
3426 2009-03-12  Jonas Maebe <jonas.maebe@elis.ugent.be>  (obvious change)
3427
3428         Fix a build failure on Darwin following some changes in
3429         the profile of some target_ops methods.
3430
3431         * darwin-nat.c (darwin_kill_inferior): Add target_ops parameter
3432         where missing.
3433         (darwin_stop_inferior, darwin_detach): Likewise.
3434
3435 2009-03-12  Vladimir Prus  <vladimir@codesourcery.com>
3436
3437         Include token in ^running notification for CLI commands.
3438
3439         * mi/mi-main.c (mi_execute_command): Set current_token here.
3440         (mi_cmd_execute): Do not set current_token here.
3441
3442 2009-03-12  Vladimir Prus  <vladimir@codesourcery.com>
3443
3444         Fix MI timings.
3445
3446         * mi/mi-main.c (mi_print_timing_maybe): New.
3447         (captured_mi_execute_command): Simplify. Output timings to
3448         CLI commands, too.
3449         (mi_execute_async_cli_command): Do not print timings.
3450         * mi/mi-main.h (mi_print_timing_maybe): Declare.
3451         * mi/mi-interp.c (mi_on_normal_stop): Call mi_print_timing_maybe.
3452
3453 2009-03-12  Jerome Guitton  <guitton@adacore.com>
3454
3455         * xcoffread.c (process_linenos): Check if the line in the
3456         include table refers to the main source file and, if so,
3457         add them to the main subfile.
3458
3459 2009-03-12  Joel Brobecker  <brobecker@adacore.com>
3460
3461         Fix a build failure on AIX introduced after a change in the profile
3462         of some of the "methods" in the target_ops structure.
3463         * aix-thread.c: Add missing target_ops parameter throughout.
3464
3465         Implement Ada task switching on AIX.
3466         * aix-thread.c (aix_thread_get_ada_task_ptid): New function.
3467         (init_aix_thread_ops): Set aix_thread_ops.to_get_ada_task_ptid.
3468
3469 2009-03-11  Daniel Jacobowitz  <dan@codesourcery.com>
3470
3471         * breakpoint.c (bpstat_check_breakpoint_conditions): Use
3472         value_mark and value_free_to_mark.
3473         * objfiles.c (free_objfile): Call objfile_free_data before
3474         freeing the BFD.
3475
3476 2009-03-10  Hui Zhu  <teawater@gmail.com>
3477
3478         * disasm.c (gdb_disassembly): Remove unused argument
3479         "line_num".
3480         * disasm.h (gdb_disassembly): Ditto.
3481         * cli/cli-cmds.c (print_disassembly): Ditto.
3482         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Ditto.
3483
3484 2009-03-09  Paul Pluzhnikov  <ppluzhnikov@google.com>
3485
3486         * solib.c (solib_contains_address_p): New function.
3487         (solib_name_from_address): Use it.
3488         * printcmd.c (display_uses_solib_p): Use it.
3489         * solib.h (solib_contains_address_p): Declare it.
3490
3491 2009-03-09  Jan Kratochvil  <jan.kratochvil@redhat.com>
3492
3493         * varobj.c (free_variable): Call value_free.
3494
3495 2009-03-09  Jan Kratochvil  <jan.kratochvil@redhat.com>
3496
3497         PR gdb/9873:
3498         * dwarf2read.c (dwarf_decode_macros): New variable `at_commandline'.
3499         Move the variable `macinfo_type' out of the loop.  Create a new
3500         processing pass before the current one to pre-create `current_file'.
3501         New complaint on misplaced zero/non-zero definitions/includes.
3502         Skip first DW_MACINFO_start_file with `at_commandline' set.
3503
3504 2008-03-09  Vladimir Prus  <vladimir@codesourcery.com>
3505
3506        * solib.c (reload_shared_libraries): Give
3507        inferior a chance to reset solib breakpoint.
3508        Reinit frame cache.
3509
3510 2009-03-08  Christopher Faylor  <me+cygwin@cgf.cx>
3511
3512         * windows-nat.c (dr): Redefine to use largest possible integer which
3513         holds a pointer.
3514         (cygwin_set_dr): Avoid coercion.
3515
3516 2009-03-08  Oswald Buddenhagen  <oswald.buddenhagen@trolltech.de>
3517
3518         * windows-nat.c (windows_create_inferior): Implement --tty handling on
3519         non-cygwin.
3520
3521 2009-03-06  Paul Pluzhnikov  <ppluzhnikov@google.com>
3522
3523         Rename solib_address to solib_name_from_address.
3524         * breakpoint.c (insert_bp_location, disable_breakpoints_in_shlibs)
3525         (disable_breakpoints_in_unloaded_shlib): Update.
3526         * printcmd.c (display_uses_solib_p): Likewise.
3527         * stack.c (print_frame): Likewise.
3528         * solib.c: Rename.
3529         * solib.h: Rename.
3530
3531 2009-03-05  Paul Pluzhnikov  <ppluzhnikov@google.com>
3532
3533         * printcmd.c (do_one_display): Reparse exp_string.
3534         (display_uses_solib_p): New function.
3535         (clear_dangling_display_expressions): New function.
3536         (_initialize_printcmd): Add observer.
3537         * solib.c (no_shared_libraries): Swap order of calls to
3538         clear_solib and objfile_purge_solibs.
3539
3540 2009-03-05  Joel Brobecker  <brobecker@adacore.com>
3541
3542         Implement the target-specific part of Ada tasking support
3543         on Tru64.
3544
3545         * dec-thread.c (dec_thread_get_ada_task_ptid): New function.
3546         (init_dec_thread_ops): Set the to_get_ada_task_ptid method.
3547
3548 2009-03-05  Joel Brobecker  <brobecker@adacore.com>
3549
3550         Get rid of the global "base_target" and use "find_target_beneath"
3551         to find the underlying target.
3552         * dec-thread.c (base_target): Delete.
3553         (enable_dec_thread): Remove assignement to base_target.
3554         (dec_thread_detach, dec_thread_wait, dec_thread_wait)
3555         (dec_thread_fetch_registers, dec_thread_store_registers)
3556         (dec_thread_mourn_inferior, dec_thread_pid_to_str):
3557         Update the function profile if necessary.
3558         Use find_target_beneath to call the same method but from
3559         the underlying target, removing the need for "base_target".
3560
3561         * dec-thread.c (dec_thread_get_regsets, dec_thread_set_regsets):
3562         Fix a copy/paste error in a few debug traces...
3563
3564         * solib-osf.c (init_so): Use a simpler method for computing
3565         the size of lm_info structure. This also gets rid of warning
3566         emitted by the compiler.
3567
3568 2009-03-05  Pedro Alves  <pedro@codesourcery.com>
3569
3570         * breakpoint.c (check_duplicates_for): Skip permanent breakpoints
3571         duplicates of permanent breakpoints.
3572
3573 2009-03-04  Pedro Alves  <pedro@codesourcery.com>
3574
3575         * inferior.h (notice_new_inferior): Declare.
3576         * infcmd.c (notice_new_inferior): New.
3577         * remote.c (remote_add_inferior, remote_add_thread): New.
3578         (notice_new_inferiors): Rename to...
3579         (remote_notice_new_inferior): ... this.  Add RUNNING argument.
3580         Use remote_add_thread instead of add_thread, passing it the
3581         RUNNING argument.  Add an inferior with remote_add_inferior.  If
3582         we just learned about an inferior, call notice_new_inferior.
3583         (record_currthread): Adjust.
3584         (remote_threads_info): Adjust to use remote_notice_new_inferior.
3585         (remote_start_remote, extended_remote_attach_1): Use
3586         remote_add_inferior.
3587         (process_stop_reply): Adjust.  Call remote_notice_new_inferior
3588         after handling expedited registers and watchpoint state.
3589         (extended_remote_create_inferior_1): Use remote_add_inferior.
3590
3591 2009-03-04  Aleksandar Ristovski  <aristovski@qnx.com>
3592
3593         * infcmd.c (registers_info): Remove register number case.
3594
3595 2009-03-03  Pedro Alves  <pedro@codesourcery.com>
3596
3597         * top.c (quit_target): Check for target_has_execution before
3598         killing or detaching from inferiors.
3599
3600 2009-03-02  Joel Brobecker  <brobecker@adacore.com>
3601
3602         Remove some unused routines.
3603
3604         * ada-lang.c (is_suppressed_name, ada_suppress_symbol_printing):
3605         Delete.
3606         * ada-lang.c (ada_task_list_iterator_ftype)
3607         (iterate_over_live_ada_tasks): Delete.
3608         * ada-tasks.c (ada_get_environment_task, iterate_over_live_ada_tasks):
3609         Delete.
3610
3611 2009-03-01  Doug Evans  <dje@google.com>
3612
3613         * symtab.c: Remove trailing whitespace throughout the file.
3614         (expand_line_sal): Fix some typos and whitespace.
3615
3616         * Makefile.in (clean): rm -f $(DEPDIR)/*.
3617
3618         * Makefile.in (GDB_CFLAGS): Add -I$(srcdir)/common.
3619         (init.c): signals/ -> common/.
3620         (signals.o): Update.
3621         * target.h (target_signal_to_string,target_signal_to_string)
3622         (target_signal_from_name,target_signal_to_host_p)
3623         (target_signal_from_host,target_signal_to_host): Move to ...
3624         * common/gdb_signals.h: ... here.  New file.
3625         * common/signals.c: Moved here from signals/signals.c.
3626         #include gdb_signals.h, remove #include of target.h in gdb case.
3627         (target_signal_from_command,default_target_signal_to_host)
3628         (default_target_signal_from_host): Move inside #ifndef GDBSERVER.
3629
3630         Include thread ID in target_wait debugging output.
3631         * infrun.c (print_target_wait_results): New function.
3632         (wait_for_inferior,fetch_inferior_event): Call it.
3633
3634 2009-02-27  Pedro Alves  <pedro@codesourcery.com>
3635
3636         * gdb_proc_service.h (struct ps_prochandle): Replace pid_t field
3637         with a ptid_t field.
3638         * linux-thread-db.c (thread_get_info_callback): Build the ptid
3639         using the pid stored in proc_handle.ptid.
3640         (thread_from_lwp, thread_db_attach_lwp, enable_thread_event)
3641         (check_for_thread_db, thread_db_detach, check_event)
3642         (thread_db_mourn_inferior, find_new_threads_callback)
3643         (thread_db_find_new_threads_1): Adjust.
3644         * proc-service.c (ps_xfer_memory, ps_lgetregs, ps_lsetregs)
3645         (ps_lgetfpregs, ps_lsetfpregs, ps_getpid): Adjust.
3646
3647 2009-02-27  Phil Muldoon  <pmuldoon@redhat.com>
3648
3649         * valprint.c (read_string): Rework clean-up logic. Use
3650         free_current_contents to clean-up buffer.
3651
3652 2009-02-27  Andreas Schwab  <schwab@linux-m68k.org>
3653
3654         * MAINTAINERS: Update e-mail address.
3655
3656 2009-02-26  Phil Muldoon  <pmuldoon@redhat.com>
3657
3658         * python/python-utils.c (python_string_to_unicode): Always return
3659         a new reference.
3660         (python_string_to_target_string): Decrement transient python
3661         instance.
3662         (python_string_to_host_string): Likewise.
3663
3664 2007-02-26  Pedro Alves  <pedro@codesourcery.com>
3665
3666         * mips-linux-nat.c (mips64_linux_fetch_registers): Pass `ops' to
3667         call to super_fetch_registers.
3668         (mips64_linux_store_registers): Pass `ops' to call to
3669         super_store_registers.
3670
3671 2009-02-25  Doug Evans  <dje@google.com>
3672
3673         * breakpoint.c (insert_bp_location): Add \n to overlay breakpoint
3674         error message.
3675
3676         * breakpoint.c (disable_breakpoints_in_shlibs): Delete local
3677         disabled_shlib_breaks, unused.
3678
3679         * printcmd.c (build_address_symbolic): Fix comment.
3680
3681 2009-02-25  Hui Zhu  <teawater@gmail.com>
3682
3683         * cli/cli-script.c (define_command): Add _() to query.
3684         * gnu-nat.c (inf_validate_task_sc): Ditto.
3685         * infcmd.c (kill_if_already_running): Ditto.
3686         (jump_command): Ditto.
3687         (attach_command): Ditto.
3688         * inflow.c (kill_command): Ditto.
3689         * infrun.c (handle_command): Ditto.
3690         * maint.c (maintenance_dump_me): Ditto.
3691         * memattr.c (mem_delete_command): Ditto.
3692         * monitor.c (monitor_interrupt_query): Ditto.
3693         * nto-procfs.c (interrupt_query): Ditto.
3694         * printcmd.c (undisplay_command): Ditto.
3695         * remote-mips.c (mips_kill): Ditto.
3696         * remote.c (interrupt_query): Ditto.
3697         * solib-irix.c (irix_open_symbol_file_object): Ditto.
3698         * solib-osf.c (osf_open_symbol_file_object): Ditto.
3699         * solib-pa64.c (pa64_open_symbol_file_object): Ditto.
3700         * solib-som.c (som_open_symbol_file_object): Ditto.
3701         * solib-svr4.c (open_symbol_file_object): Ditto.
3702         * symfile.c (symbol_file_add_with_addrs_or_offsets): Ditto.
3703         * target.c (kill_or_be_killed): Ditto.
3704         * tracepoint.c (delete_trace_command): Ditto.
3705         * top.c (quit_confirm): Add _() to s that will be used
3706         in query.
3707
3708 2009-02-24  Pierre Muller  <muller@ics.u-strasbg.fr>
3709
3710         Fix windows-nat.c compilation failure.
3711
3712         * windows-nat.c (windows_thread_alive): Fix forward declaration.
3713         (get_windows_debug_event): Add ops parameter to call to windows_resume.
3714
3715 2009-02-23  Pedro Alves  <pedro@codesourcery.com>
3716
3717         * remote-sim.c (gdbsim_resume): Add target_ops* argument.
3718
3719 2009-02-23  Jay Krell  <jay.krell@cornell.edu>  (tiny change)
3720
3721         * symtab.c (find_line_symtab): Initialize exact to avoid
3722         a compiler warning.
3723
3724 2009-02-23  Pedro Alves  <pedro@codesourcery.com>
3725
3726         * i386-linux-nat.c (i386_linux_fetch_inferior_registers): Pass
3727         `ops' to recursive call.
3728
3729 2009-02-23  Pedro Alves  <pedro@codesourcery.com>
3730
3731         * corelow.c (get_core_registers): Adjust.
3732         (core_file_thread_alive): Rename to...
3733         (core_thread_alive): ... this.
3734         (core_pid_to_str): Try gdbarch_core_pid_to_str first.
3735         (init_core_ops): Adjust.
3736         (coreops_suppress_target): Delete.
3737         (_initialize_corelow): Unconditionally add core_ops.
3738         * procfs.c: Include "inf-child.h".
3739         (procfs_ops): Delete.
3740         (init_procfs_ops): Delete.  Reimplement as...
3741         (procfs_target): ... this, inheriting from inf-child.
3742         (procfs_attach, procfs_detach, procfs_fetch_registers): Adjust.
3743         (procfs_prepare_to_store): Delete.
3744         (procfs_store_registers, procfs_resume): Adjust.
3745         (procfs_open): Delete.
3746         (procfs_suppress_run): Delete.
3747         (procfs_can_run): Delete.
3748         (procfs_mourn_inferior): Adjust.
3749         (procfs_init_inferior): Add target_ops parameter.  Adjust.
3750         (procfs_create_inferior): Don't pass procfs_init_inferior to
3751         fork_inferior.  Instead call it after fork_inferior returns.
3752         (procfs_find_new_threads): Adjust.
3753         (_initialize_procfs): Adjust to use procfs_target instead of
3754         init_procfs_ops.
3755         * sol-thread.c (orig_core_ops, sol_core_ops): Delete.
3756         (lwp_to_thread): Use target_thread_alive.
3757         (sol_thread_open): Delete.
3758         (sol_thread_attach): Delete.
3759         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
3760         (sol_thread_fetch_registers, sol_thread_store_registers): Adjust
3761         to use find_target_beneath.
3762         (sol_thread_prepare_to_store, sol_thread_xfer_memory): Delete.
3763         (sol_thread_xfer_partial): Adjust to use find_target_beneath.
3764         (sol_thread_files_info, sol_thread_kill_inferior): Delete.
3765         (check_for_thread_db): New.
3766         (sol_thread_notice_signals, sol_thread_create_inferior): Delete.
3767         (sol_thread_new_objfile): Call check_for_thread_db.
3768         (sol_thread_mourn_inferior): Adjust to use find_target_beneath.
3769         (sol_thread_can_run): Delete.
3770         (sol_thread_alive): Adjust to use find_target_beneath.
3771         (sol_thread_stop): Delete.
3772         (rw_common): Use target_write_memory or target_read_memory.
3773         (ps_lgetregs, ps_lgetfpregs): Use target_fetch_registers.
3774         (ps_lsetregs, ps_lsetfpregs): Use target_store_registers.
3775         (solaris_pid_to_str): Remove check for libthread_db initialization
3776         failing.
3777         (sol_find_new_threads): Remove check for libthread_db
3778         initialization failing, or for an invalid inferior_ptid.  Adjust
3779         to use find_target_beneath.
3780         (sol_core_open, sol_core_close, sol_core_detach,
3781         sol_core_files_info, sol_find_memory_regions,
3782         sol_make_note_section, ignore): Delete.
3783         (init_sol_thread_ops): Make it a thread_stratum target.  Remove
3784         unneeded callback settings.
3785         (init_sol_core_ops): Delete.
3786         (_initialize_sol_thread): No longer call init_sol_core_ops, set
3787         procfs_suppress_run, or hack with core_ops.
3788
3789         * target.h (struct target_ops): Add a target_ops * parameter to
3790         to_resume, to_fetch_registers, to_store_registers, to_thread_alive
3791         and to_find_new_threads.
3792         (target_fetch_registers, target_store_registers)
3793         (target_thread_alive, target_find_new_threads): Redeclare as
3794         function.
3795
3796         * target.c (update_current_target): Do not inherit or de_fault
3797         to_resume, to_fetch_registers, to_store_registers,
3798         to_thread_alive, to_find_new_threads.
3799         (target_resume): Adjust.
3800         (target_thread_alive, target_find_new_threads): New.
3801         (debug_to_resume, debug_to_fetch_registers): Delete.
3802         (target_fetch_registers): New.
3803         (debug_to_store_registers): Delete.
3804         (target_store_registers): New.
3805         (debug_to_thread_alive, debug_to_find_new_threads): Delete.
3806         (setup_target_debug): Adjust.
3807
3808         * gdbcore.h (core_ops): Delete declaration.
3809
3810         * inf-ptrace.c, linux-nat.c, remote.c, amd64-linux-nat.c,
3811         inf-child.c, linux-thread-db.c, bsd-uthread.c, inf-ttrace.c,
3812         i386-sol2-tdep.c, darwin-nat.c, gnu-nat.c, go32-nat.c,
3813         hpux-thread.c, i386-linux-nat.c, i386fbsd-nat.c, monitor.c,
3814         nto-procfs.c, remote-m32r-sdi.c, remote-mips.c, windows-nat.c,
3815         alphabsd-nat.c, amd64bsd-nat.c, arm-linux-nat.c, armnbsd-nat.c,
3816         bsd-kvm.c, hppa-hpux-nat.c, hppa-linux-nat.c, hppabsd-nat.c,
3817         hppanbsd-nat.c, i386-darwin-nat.c, i386bsd-nat.c,
3818         ia64-linux-nat.c, m32r-linux-nat.c, m68kbsd-nat.c,
3819         m68klinux-nat.c, m88kbsd-nat.c, mips-linux-nat.c,
3820         mips64obsd-nat.c, mipsnbsd-nat.c, ppc-linux-nat.c, ppcnbsd-nat.c,
3821         ppcobsd-nat.c, remote-sim.c, rs6000-nat.c, s390-nat.c,
3822         shnbsd-nat.c, sparc-nat.c, sparc-nat.h, spu-linux-nat.c,
3823         vaxbsd-nat.c, xtensa-linux-nat.c: Adjust to target_ops changes.
3824
3825         * gdbarch.sh (core_pid_to_str): New gdbarch callback.
3826         * gdbarch.h, gdbarch.c: Regenerate.
3827
3828         * sol2-tdep.c: Include "inferior.h".
3829         (sol2_core_pid_to_str): New.
3830         * sol2-tdep.h (sol2_core_pid_to_str): Declare.
3831
3832         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Set it.
3833         * sparc-sol2-tdep.c (sparc32_sol2_init_abi): Set it.
3834         * sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Set it.
3835         * i386-sol2-tdep.c (i386_sol2_init_abi): Set it.
3836
3837 2009-02-22  Doug Evans  <dje@google.com>
3838
3839         * exec.c (exec_file_attach): Fix comment.
3840
3841 2009-02-22  Pedro Alves  <pedro@codesourcery.com>
3842
3843         Silence a few -Wmissing-prototypes warnings.
3844
3845         PR build/9877:
3846         * alpha-linux-tdep.c (alpha_linux_regset_from_core_section): Make
3847         it static.
3848         * alpha-osf1-tdep.c (_initialize_alpha_osf1_tdep): Declare.
3849         * amd64fbsd-tdep.c (amd64fbsd_init_abi): Make it static.
3850         * amd64nbsd-tdep.c (_initialize_amd64nbsd_ndep): Rename to ...
3851         (_initialize_amd64nbsd_tdep): ... this.
3852         * arm-linux-tdep.c (arm_linux_software_single_step): Make it static.
3853         (_initialize_arm_linux_tdep): Declare.
3854         * armbsd-tdep.c (armbsd_fpreg_offset): Make it static.
3855         * armnbsd-tdep.c (_initialize_arm_netbsd_tdep): Declare.
3856         * armobsd-tdep.c (_initialize_armobsd_tdep): Declare.
3857         * avr-tdep.c (avr_return_value): Make it static.
3858         (avr_frame_unwind_cache): Ditto.
3859         * bsd-uthread.c (bsd_uthread_inferior_created): Ditto.
3860         (bsd_uthread_solib_loaded): Ditto.
3861         (bsd_uthread_solib_unloaded): Ditto.
3862         (bsd_uthread_target): Ditto.
3863         (_initialize_bsd_uthread): Declare.
3864         * cris-tdep.c (crisv32_single_step_through_delay): Make it static.
3865         (cris_frame_unwind_cache): Ditto.
3866         * frv-tdep.c (frv_return_value): Ditto.
3867         * h8300-tdep.c (h8300_use_struct_convention): Ditto.
3868         (h8300h_use_struct_convention): Ditto.
3869         * hppa-tdep.c (hppa_sign_extend, hppa_low_hppa_sign_extend):
3870         Ditto.
3871         * hppa-tdep.h (hppa_low_sign_extend, hppa_sign_extend): Delete
3872         declarations.
3873         * hppabsd-tdep.c: Include hppabsd-tdep.h.
3874         (hppabsd_find_global_pointer): Make it static.
3875         * hppabsd-tdep.h: New.
3876         * hppanbsd-tdep.c: Include hppabsd-tdep.h.
3877         (hppabsd_init_abi): Remove declaration.
3878         (_initialize_hppabsd_tdep): Remove declaration.
3879         (_initialize_hppanbsd_tdep): Declare.
3880         * hppaobsd-tdep.c: Include hppabsd-tdep.h.
3881         (hppabsd_init_abi): Delete declaration.
3882         (hppaobsd_init_abi): Make it static.
3883         * i386-nto-tdep.c (_initialize_i386nto_tdep): Declare.
3884         * i386nbsd-tdep.c (_initialize_i386nbsd_tdep): Declare.
3885         * ia64-linux-tdep.c (_initialize_ia64_linux_tdep): Declare.
3886         * ia64-tdep.c (ia64_register_reggroup_p): Make it static.
3887         * iq2000-tdep.c (_initialize_iq2000_tdep): Declare.
3888         * m32c-tdep.c (m32c_register_reggroup_p): Make it static.
3889         (m32c_analyze_prologue, m32c_virtual_frame_pointer): Ditto.
3890         (_initialize_m32c_tdep): Declare.
3891         * m32r-rom.c (_initialize_m32r_rom): Declare.
3892         * m32r-tdep.c (m32r_skip_prologue): Make it static.
3893         (m32r_return_value): Ditto.
3894         * m68hc11-tdep.c (m68hc11_frame_unwind_cache): Make it static.
3895         (m68hc11_return_value): Ditto.
3896         * m68klinux-tdep.c (_initialize_m68k_linux_tdep): Declare.
3897         * m88k-tdep.c (m88k_frame_cache): Make it static.
3898         * mep-tdep.c (mep_gdb_print_insn): Ditto.
3899         (mep_return_value): Ditto.
3900         (_initialize_mep_tdep): Declare.
3901         * mips-irix-tdep.c (_initialize_mips_irix_tdep): Declare.
3902         * mips-linux-tdep.c (supply_64bit_reg): Make it static.
3903         (mips_linux_syscall_next_pc): Ditto.
3904         (_initialize_mips_linux_tdep): Declare.
3905         * mips-tdep.c (mips_single_step_through_delay): Make it static.
3906         * mipsnbsd-tdep.c (_initialize_mipsnbsd_tdep): Declare.
3907         * mn10300-linux-tdep.c (_initialize_mn10300_linux_tdep): Declare.
3908         * mn10300-tdep.c (_initialize_mn10300_tdep): Declare.
3909         * mt-tdep.c (_initialize_mt_tdep): Declare.
3910         * nbsd-tdep.c: Include nbsd-tdep.h.
3911         * nto-tdep.c (find_load_phdr): Make it static.
3912         (_initialize_nto_tdep): Declare.
3913         * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Make it
3914         static.
3915         (_initialize_ppc_linux_tdep): Declare.
3916         * remote-m32r-sdi.c (m32r_can_use_hw_watchpoint)
3917         (m32r_insert_watchpoint, m32r_remove_watchpoint)
3918         (m32r_stopped_data_address, m32r_stopped_by_watchpoint): Make
3919         static.
3920         * rs6000-aix-tdep.c (_initialize_rs6000_aix_tdep): Declare.
3921         * rs6000-nat.c: Include xcoffread.h.
3922         (find_toc_address): Don't extern declare get_toc_offset.  Adjust
3923         to call xcoff_get_to_offset.
3924         * rs6000-tdep.c (ppc_vsx_support_p, ppc_displaced_step_fixup)
3925         (rs6000_skip_main_prologue, rs6000_in_solib_return_trampoline)
3926         (rs6000_skip_trampoline_code): Make static.
3927         * s390-tdep.c (s390_regset_from_core_section): Ditto.
3928         * sh-tdep.c (sh_register_reggroup_p): Ditto.
3929         * shnbsd-tdep.c (shnbsd_regset_from_core_section): Ditto.
3930         (_initialize_shnbsd_tdep): Declare.
3931         * solib-frv.c (displacement_from_map): Make static.
3932         (_initialize_frv_solib): Declare.
3933         * solib-irix.c (fetch_lm_info): Make static.
3934         (_initialize_irix_solib): Declare.
3935         * solib-som.c: Include solib-som.h.
3936         (som_solib_select): Line break.
3937         * sparc-tdep.c (sparc_regset_from_core_section): Make static.
3938         * sparcnbsd-tdep.c (_initialize_sparnbsd_tdep): Rename to ...
3939         (_initialize_sparcnbsd_tdep): ... this.
3940         * spu-tdep.c (spu_software_single_step): Make it static.
3941         (_initialize_spu_tdep): Declare.
3942         * vax-tdep.c (vax_frame_cache): Make it static.
3943         * xcoffread.c: Include xcoffread.h.
3944         (get_toc_offset): Rename to ...
3945         (xcoff_get_toc_offset): ... this.
3946         (_initialize_xcoffread): Declare.
3947         * xcoffread.h: New.
3948         * xtensa-linux-tdep.c (_initialize_xtensa_linux_tdep): Declare.
3949         * xtensa-tdep.c (xtensa_skip_prologue, xtensa_derive_tdep): Make
3950         static.
3951         (_initialize_xtensa_tdep): Declare.
3952
3953 2008-02-21  Pedro Alves  <pedro@codesorcery.com>
3954
3955         Silence a few -Wmissing-prototypes warnings.
3956
3957         PR build/9877:
3958         * amd64-nat.c: Include "amd64-nat.h".
3959         * fork-child.c (_initialize_fork_child): Ditto.
3960         * gcore.c (_initialize_gcore): Ditto.
3961         * inf-ptrace.c: Include "inf-ptrace.h".
3962         (inf_ptrace_store_registers): Make it static.
3963         * linux-nat.c (linux_nat_terminal_ours): Make it static.
3964         (_initialize_linux_nat): Declare before definition.
3965         * linux-tdep.c: Include "linux-tdep.h".
3966         * linux-thread-db.c (_initialize_thread_db): Declare before
3967         definition.
3968         * proc-service.c (_initialize_proc_service): Ditto.
3969         * remote.c (remote_send_printf): Make it static.
3970         * solib.c: Include "solib.h".
3971         * symfile-mem.c (_initialize_symfile_mem): Declare before
3972         definition.
3973         * ada-lang.c (ada_la_decode, ada_match_name)
3974         (ada_suppress_symbol_printing, ada_is_array_type)
3975         (ada_value_ptr_subscript, ada_array_length)
3976         (ada_to_static_fixed_value): Make them static.
3977         (_initialize_ada_language): Declare before definition.
3978         * ada-tasks.c (ada_get_task_number, ada_get_environment_task)
3979         (ada_task_list_changed, ada_new_objfile_observer): Make them
3980         static.
3981         (_initialize_tasks): Declare before definition.
3982         * addrmap.c (_initialize_addrmap): Declare before definition.
3983         * auxv.c (default_auxv_parse): Make it static.
3984         * bfd-target.c (target_bfd_xfer_partial, target_bfd_xclose): Make
3985         them static.
3986         * breakpoint.c (remove_sal): Add line break.
3987         (expand_line_sal_maybe): Make it static.
3988         * cp-name-parser.y: Include "cp-support.h".
3989         * cp-valprint.c (cp_find_class_member): Make it static.
3990         * eval.c (value_f90_subarray): Ditto.
3991         * exceptions.c (print_any_exception): Ditto.
3992         * findcmd.c (_initialize_mem_search): Declare before definition.
3993         * frame.c (frame_observer_target_changed): Make it static.
3994         * gnu-v3-abi.c (gnuv3_find_method_in): Make it static.
3995         * inf-child.c: Include "inf-child.h".
3996         * inferior.h (valid_inferior_id): Rename to ...
3997         (valid_gdb_inferior_id): ... this.
3998         * infrun.c (infrun_thread_stop_requested, siginfo_make_value):
3999         Make them static.
4000         * jv-lang.c (java_language_arch_info): Make it static.
4001         * m2-typeprint.c (m2_get_discrete_bounds): Ditto.
4002         * osdata.c (info_osdata_command): Make it static.
4003         * regcache.c (regcache_observer_target_changed): Make it static.
4004         * reverse.c (_initialize_reverse): Declare before definition.
4005         * stabsread.c (cleanup_undefined_types_noname)
4006         (cleanup_undefined_types_1): Make them static.
4007         * symfile.c (place_section): Make it static.
4008         * symtab.c (find_pc_sect_psymtab_closer): Make it static.
4009         * target-descriptions.c (_initialize_target_descriptions): Declare
4010         before definition.
4011         * target.c (default_get_ada_task_ptid, find_default_can_async_p)
4012         (find_default_is_async_p, find_default_supports_non_stop): Make
4013         them static.
4014         (target_supports_non_stop): Add prototype.
4015         (dummy_pid_to_str): Make it static.
4016         * utils.c (_initialize_utils): Declare before definition.
4017         * ada-exp.y (_initialize_ada_exp): Declare before definition.
4018         * solib-svr4.c (HAS_LM_DYNAMIC_FROM_LINK_MAP): Add a prototype.
4019         * target.h (struct target_ops): Add a prototype to the
4020         to_can_execute_reverse callback.
4021         * macroscope.c (_initialize_macroscope): Declare before definition.
4022         * cp-namespace.c (_initialize_cp_namespace): Declare before definition.
4023         * python/python.c (_initialize_python): Declare before definition.
4024         * tui/tui-command.c: Include "tui/tui-command.h".
4025         * tui/tui-data.c (init_content_element, init_win_info): Make them
4026         static.
4027         * tui/tui-disasm.c: Include "tui/tui-disasm.h".
4028         * tui/tui-interp.c (_initialize_tui_interp): Declare before
4029         definition.
4030         * tui/tui-layout.c: Include "tui/tui-layout.h".
4031         (_initialize_tui_layout): Declare before definition.
4032         * tui/tui-regs.c: Include "tui/tui-regs.h".
4033         (tui_display_reg_element_at_line): Make it static.
4034         (_initialize_tui_regs): Declare before definition.
4035         * tui/tui-stack.c (_initialize_tui_stack): Declare before
4036         definition.
4037         * tui/tui-win.c: Include "tui/tui-win.h".
4038         (_initialize_tui_win): Declare before definition.
4039         (tui_sigwinch_handler): Make it static.  Wrap in ifdef SIGWINCH.
4040         * tui/tui-win.h (tui_sigwinch_handler): Delete declaration.
4041         (tui_get_cmd_list): Add a prototype.
4042         * tui/tui-windata.c: Include tui-windata.h.
4043         * tui/tui-wingeneral.c (box_win): Make it static.
4044         * cli/cli-logging.c (show_logging_command): Make it static.
4045         (_initialize_cli_logging): Declare before definition.
4046         * mi/mi-common.c (_initialize_gdb_mi_common): Declare before
4047         definition.
4048
4049 2009-02-20  Pierre Muller  <muller@ics.u-strasbg.fr>
4050
4051         Extend use of i386_use_watchpoints to all i386 native files
4052         using hardware watchpoints.
4053         * go32-nat.c (init_go32_ops): Call i386_use_watchpoints.
4054         * i386fbsd-nat.c (_initialize_i386fbsd_nat): Ditto.
4055         * windows-nat.c (init_windows_ops): Ditto.
4056         * config/i386/nm-cygwin.h: Define I386_WATCHPOINTS_IN_TARGET_VECTOR.
4057         * config/i386/nm-cygwin64.h: Ditto.
4058         * config/i386/nm-fbsd.h: Ditto.
4059         * config/i386/nm-go32.h: Ditto.
4060
4061 2009-02-19  Joel Brobecker  <brobecker@adacore.com>
4062
4063         * ada-typeprint.c (ada_typedef_print): Remove.  Unused.
4064
4065 2009-02-18  Vladimir Prus  <vladimir@codesourcery.com>
4066
4067         * mi/mi-interp.c (mi_solib_loaded, mi_solib_unloaded): New.
4068         (mi_interpreter_init): Register the above.
4069         * solib.c (clear_solib): Notify solib unload.
4070         * breakpoint.c (disable_breakpoints_in_unloaded_shlib): Do not
4071         disable breakpoints on a.out targets.
4072
4073 2009-02-17  Vladimir Prus  <vladimir@codesourcery.com>
4074
4075         * observer.c (observer_test_first_notification_function)
4076         (observer_test_second_notification_function)
4077         (observer_test_third_notification_function): Adjust prototype.
4078
4079 2009-02-17  Pedro Alves  <pedro@codesourcery.com>
4080
4081         * Makefile.in (ALL_64_TARGET_OBS): Add amd64-dicos-tdep.o.
4082         (ALL_TARGET_OBS): Add dicos-tdep.o.
4083         (ALLDEPFILES): Add amd64-dicos-tdep.c and dicos-tdep.c.
4084         * configure.tgt (i[34567]86-*-dicos*): Add dicos-tdep.o to
4085         gdb_target_obs.
4086         (x86_64-*-dicos*): Add dicos-tdep.o and amd64-dicos-tdep.o to
4087         gdb_target_obs.
4088         * dicos-tdep.h, dicos-tdep.c: New.
4089         * amd64-dicos-tdep.c: New.
4090         * i386-dicos-tdep.c: Don't include solib.h, solib-target.h or
4091         inferior.h.  Include dicos-tdep.h.
4092         (i386_dicos_init_abi): Call dicos_init_abi.
4093         (i386_dicos_bfd_has_symbol_p): Delete.
4094         (i386_dicos_osabi_sniffer): Use dicos_load_module_p.
4095
4096         * NEWS: Mention x86-64 DICOS target support.
4097
4098 2009-02-16  Doug Evans  <dje@google.com>
4099
4100         * amd64-tdep.c (amd64_skip_prefixes): Renamed from skip_prefixes.
4101         All callers updated.
4102         (amd64_get_insn_details): Handle more 3-byte opcode insns.
4103         (amd64_breakpoint_p): Delete.
4104         (amd64_displaced_step_fixup): When fixing up after stepping an int3,
4105         don't back up pc to the start of the int3.
4106         * i386-tdep.c: #include opcode/i386.h.
4107         (i386_skip_prefixes): New function.
4108         (i386_absolute_jmp_p): Constify argument.
4109         (i386_absolute_call_p,i386_ret_p,i386_call_p,i386_syscall_p): Ditto.
4110         (i386_breakpoint_p): Delete.
4111         (i386_displaced_step_fixup): Handle unnecessary or redundant prefixes.
4112         When fixing up after stepping an int3, don't back up pc to the start
4113         of the int3.
4114
4115 2009-02-16  Pedro Alves  <pedro@codesourcery.com>
4116
4117         * corelow.c (core_close): Don't hardcode the core's pid.
4118         (core_open): Find core threads before calling
4119         post_create_inferior.
4120         (add_to_thread_list, get_core_register_section): Take into account
4121         systems where the regset section names encode the pid of the
4122         inferior.
4123
4124         * gdbarch.sh (core_reg_section_encodes_pid): New gdbarch setting.
4125         * gdbarch.h, gdbarch.c: Regenerate.
4126
4127         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Set it.
4128         * i386-sol2-tdep.c (i386_sol2_init_abi): Set it.
4129         * sparc-sol2-tdep.c (sparc32_sol2_init_abi): Set it.
4130         * sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Set it.
4131
4132 2009-02-14  Vladimir Prus  <vladimir@codesourcery.com>
4133
4134         Include frame information for *stopped due to CLI commands.
4135
4136         * ada-tasks.c (ada_normal_stop_observer): Adjust prototype.
4137         * infcmd.c (finish_command_continuation): Pass '1' for
4138         'print_frame' parameter to the observer.
4139         * infrun.c (normal_stop): Don't print mi-specific information
4140         here. Pass 'stop_print_frame' to the 'print_frame' parameter
4141         of the observer.
4142         * mi/mi-interp.c (mi_on_normal_stop): Adjust prototype.
4143         If we need to print frame, and current uiout is not the MI one,
4144         print frame again.
4145
4146 2009-02-13  Pierre Muller  <muller@ics.u-strasbg.fr>
4147
4148         * xtensa-tdep.c (call0_analyze_prologue): Delete BSZ macro.
4149         Replace BSZ macro uses by XTENSA_ISA_BSZ macro.
4150
4151 2009-02-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
4152
4153         PR fortran/9806
4154         * dwarf2read.c (process_die <DW_TAG_module>, read_module)
4155         (scan_partial_symbols <DW_TAG_module>, add_partial_module): New.
4156
4157 2009-02-11  Pierre Muller  <muller@ics.u-strasbg.fr>
4158
4159         * dwarf2read.c (read_base_type): Set code to TYPE_CODE_CHAR
4160         for DW_ATE_signed_char and DW_ATE_unsigned_char
4161         for pascal language.
4162
4163 2009-02-11  Jim Meyering  <meyering@redhat.com>
4164             Jan Kratochvil  <jan.kratochvil@redhat.com>
4165
4166         Avoid NULL dereference.
4167         * stack.c (return_command): Guard use of SYMBOL_TYPE (thisfun).
4168         New variable func_type.
4169
4170 2009-02-11  Pedro Alves  <pedro@codesourcery.com>
4171
4172         * gdbarch.c: Regenerate.
4173
4174 2009-02-10  Pierre Muller  <muller@ics.u-strasbg.fr>
4175
4176         * p-lang.c (is_pascal_string_type): Fix comment.
4177         Determine exact size of char elements for GPC
4178         strings.
4179         (pascal_printstr): Handle char width of 2 or 4.
4180         * p-valprint.c (pascal_val_print): Handle char
4181         of width 2 or 4.
4182
4183 2009-02-07  Daniel Jacobowitz  <dan@codesourcery.com>
4184
4185         * dwarf2read.c (dwarf2_build_psymtabs_hard): Move lowpc and highpc
4186         inside the loop.  Only call addrmap_set_empty if the compilation unit
4187         had DW_AT_high_pc and DW_AT_low_pc.  Update call to
4188         scan_partial_symbols.
4189         (scan_partial_symbols): Take NEED_PC argument and pass it along with
4190         LOWPC and HIGHPC.
4191         (add_partial_namespace): Take NEED_PC argument and pass it through.
4192         (add_partial_subprogram): Take NEED_PC argument.  Update the addrmap
4193         if necessary.
4194
4195 2009-02-07  Pedro Alves  <pedro@codesourcery.com>
4196
4197         * NEWS: Mention inspecting extra signal information, $_siginfo,
4198         and the qXfer:siginfo:read and qXfer:siginfo:write packets.
4199
4200 2009-02-07  Pedro Alves  <pedro@codesourcery.com>
4201
4202         * linux-nat.c (PTRACE_SETSIGINFO): Define if PTRACE_GETSIGINFO
4203         isn't defined.
4204
4205 2009-02-06  Pedro Alves  <pedro@codesourcery.com>
4206
4207         * amd64-linux-nat.c (compat_int_t, compat_uptr_t, compat_time_t)
4208         (compat_timer_t, compat_clock_t, struct compat_timeval)
4209         (compat_sigval_t, compat_siginfo_t): New types.
4210         (cpt_si_pid, cpt_si_uid, cpt_si_timerid, cpt_si_overrun)
4211         (cpt_si_status, cpt_si_utime, cpt_si_stime, cpt_si_ptr)
4212         (cpt_si_addr, cpt_si_band, cpt_si_fd): New defines.
4213         (compat_siginfo_from_siginfo, siginfo_from_compat_siginfo)
4214         (amd64_linux_siginfo_fixup): New.
4215         * linux-nat.c (linux_nat_siginfo_fixup): New.
4216         (siginfo_fixup): New.
4217         (linux_xfer_siginfo): Use siginfo_fixup to convert between the
4218         siginfo layout expected by ptrace and the siginfo layout of the
4219         inferior.
4220         (linux_nat_set_siginfo_fixup): New.
4221         * linux-nat.h (linux_nat_set_siginfo_fixup): Declare.
4222
4223 2009-02-06  Pedro Alves  <pedro@codesourcery.com>
4224
4225         * target.h (enum target_object): Add new TARGET_OBJECT_SIGNAL_INFO.
4226         * infrun.c (siginfo_value_read, siginfo_value_write): New.
4227         (siginfo_value_funcs): New.
4228         (siginfo_make_value): New.
4229         (_initialize_infrun): Create the $_siginfo convenience variable.
4230         * gdbtypes.h (append_composite_type_field_aligned): Declare.
4231         * gdbtypes.c (append_composite_type_field): Rename to...
4232         (append_composite_type_field_aligned): ... this.  Add ALIGNMENT
4233         argument.  Handle it.
4234         (append_composite_type_field): Rewrite on top of
4235         append_composite_type_field_aligned.
4236         * value.h (internalvar_make_value): New typedef.
4237         (struct internalvar) <make_value>: New field.
4238         (create_internalvar_type_lazy): Declare.
4239         * value.c (create_internalvar): Clear make_value.
4240         (create_internalvar_type_lazy): New.
4241         (value_of_internalvar): If make_value is set use it.
4242         (preserve_values): Skip internal variables that don't have a
4243         value.
4244         * gdbarch.sh (get_siginfo_type): New.
4245         * gdbarch.h, gdbarch.c: Regenerate.
4246
4247         * linux-tdep.h, linux-tdep.c: New.
4248         * amd64-linux-tdep.c: Include "linux-tdep.h".
4249         (amd64_linux_init_abi): Register linux_get_siginfo_type and
4250         linux_get_siginfo_mapper.
4251         * i386-linux-tdep.c: Include "linux-tdep.h".
4252         (i386_linux_init_abi): Register linux_get_siginfo_type and
4253         linux_get_siginfo_mapper.
4254         * arm-linux-tdep.c: Include "linux-tdep.h".
4255         (i386_linux_init_abi): Register linux_get_siginfo_type and
4256         linux_get_siginfo_mapper.
4257
4258         * linux-nat.c (linux_xfer_siginfo): New.
4259         (linux_nat_xfer_partial): Handle TARGET_OBJECT_SIGNAL_INFO.
4260         * remote.c (PACKET_qXfer_siginfo_read)
4261         (PACKET_qXfer_siginfo_write): New.
4262         (feature remote_protocol_features): Add "qXfer:siginfo:read" and
4263         "qXfer:siginfo:write" features.
4264         (remote_xfer_partial): Handle TARGET_OBJECT_SIGNAL_INFO.
4265         (_initialize_remote): Add "set/show remote read-siginfo-object"
4266         and "set/show remote write-siginfo-object" commands.
4267
4268         * Makefile.in (ALL_TARGET_OBS): Add linux-tdep.o.
4269         (HFILES_NO_SRCDIR): Add linux-tdep.h.
4270         (ALLDEPFILES): Add linux-tdep.c.
4271
4272         * configure.tgt (arm*-*-linux* | arm*-*-uclinux*)
4273         (i[34567]86-*-linux*, x86_64-*-linux*): Add linux-tdep.o to
4274         gdb_target_obs.
4275
4276 2009-02-06  Jim Blandy  <jimb@codesourcery.com>
4277             Daniel Jacobowitz  <dan@codesourcery.com>
4278             Vladimir Prus  <vladimir@codesourcery.com>
4279             Pedro Alves  <pedro@codesourcery.com>
4280
4281         * defs.h (enum lval_type): New value: lval_computed.
4282         * value.h (struct lval_funcs): New type.
4283         (allocate_computed_value, value_computed_funcs)
4284         (value_computed_closure): New declarations.
4285         * value.c (struct value): Add a structure to the location union
4286         for computed lvalues, containing 'funcs' and 'closure' members.
4287         (allocate_computed_value, value_computed_funcs)
4288         (value_computed_closure): New functions.
4289         (value_free): For computed lvalues, call the closure's
4290         'free_closure' function before freeing the value itself.
4291         (value_copy): If we're copying an lval_computed value, call the
4292         closure's 'copy_closure' function.
4293         (set_value_component_location): If the original value is a
4294         computed lvalue, then call the closure's 'copy_closure' function.
4295         (value_of_internalvar): If an internal variable's value is a
4296         computed lvalue, make retrieving its value produce an equivalent
4297         computed lvalue.
4298         * valops.c (value_fetch_lazy): Unlazy computed lvalues by calling
4299         their read function.
4300         (value_assign): Assign to computed lvalues by calling their write
4301         function.
4302
4303 2009-02-06  Pedro Alves  <pedro@codesourcery.com>
4304
4305         * linux-nat.c (linux_nat_wait): Adjust.
4306         (linux_nat_pid_to_str): Adjust.  Remove call to thread_db_init.
4307         * linux-nat.h (thread_db_init): Delete declaration.
4308         * linux-thread-db.c (target_beneath): Delete.
4309         (thread_db_init): Delete.
4310         (thread_db_detach): Use find_target_beneath.
4311         (thread_db_wait): Adjust interface.  Use find_target_beneath.
4312         (thread_db_mourn_inferior): Use find_target_beneath.
4313         (thread_db_can_async_p, thread_db_is_async_p, thread_db_async)
4314         (thread_db_async_mask): Delete.
4315         (thread_db_pid_to_str): Adjust interface.  Use
4316         find_target_beneath.
4317         (thread_db_get_thread_local_address): Adjust interface.  Use
4318         find_target_beneath.
4319         (init_thread_db_ops): Delete references to delete functions.
4320         * target.c (update_current_target): Don't inherit or default
4321         to_wait.  Don't inherit to_pid_to_str and
4322         to_get_thread_local_address.
4323         (target_translate_tls_address): Look for a pushed target that
4324         implements to_get_thread_local_address, and use it instead of
4325         checking for target_get_thread_local_address_p.
4326         (target_wait, target_pid_to_str): Reimplement as functions.
4327         (dummy_pid_to_str): New.
4328         (init_dummy_target): Register it.
4329         (debug_to_wait): Delete.
4330         * target.h (struct target_ops): Make to_wait, to_pid_to_str and
4331         to_get_thread_local_address accept a pointer to struct target_ops.
4332         (target_wait): Delete macro, and declare as function.
4333         (target_pid_to_str): Likewise.
4334         (target_get_thread_local_address)
4335         (target_get_thread_local_address_p): Delete.
4336         (noprocess): Add NORETURN and ATTR_NORETURN tags.
4337         * inf-ptrace.c (inf_ptrace_wait): Adjust.
4338         (inf_ptrace_pid_to_str): New.
4339         (inf_ptrace_target): Use inf_ptrace_pid_to_str.
4340         * aix-thread.c (aix_thread_wait, aix_thread_pid_to_str): Adjust.
4341         * bsd-kvm.c (bsd_kvm_pid_to_str): Adjust.
4342         * bsd-uthread.c (bsd_uthread_wait, bsd_uthread_pid_to_str):
4343         Adjust.
4344         * corelow.c (core_pid_to_str): Adjust.
4345         * darwin-nat.c (darwin_wait, darwin_pid_to_str): Adjust.
4346         * dec-thread.c (dec_thread_wait, dec_thread_pid_to_str): Adjust.
4347         * gnu-nat.c (gnu_wait, gnu_pid_to_str): Adjust.
4348         * go32-nat.c (go32_wait, go32_pid_to_str): Adjust.
4349         * hpux-thread.c (hpux_thread_wait): Adjust.
4350         * inf-ttrace.c (inf_ttrace_wait, inf_ttrace_pid_to_str): Adjust.
4351         * monitor.c (monitor_wait, monitor_pid_to_str): Adjust.
4352         * nto-procfs.c (procfs_wait, procfs_pid_to_str): Adjust.
4353         * procfs.c (procfs_pid_to_str): Adjust.
4354         * remote-m32r-sdi.c (m32r_wait, m32r_pid_to_str): Adjust.
4355         * remote-mips.c (mips_wait): Adjust.
4356         * remote-sim.c (gdbsim_wait, gdbsim_pid_to_str): Adjust.
4357         * remote.c (remote_wait, remote_pid_to_str)
4358         (remote_get_thread_local_address): Adjust.
4359         * rs6000-nat.c (rs6000_wait): Adjust.
4360         * sol-thread.c (procfs_pid_to_str): Adjust declaration.
4361         (sol_thread_wait, solaris_pid_to_str): Adjust.
4362         * spu-linux-nat.c (spu_child_wait): Adjust.
4363         * windows-nat.c (windows_wait, windows_pid_to_str): Adjust.
4364
4365 2009-02-06  Tom Tromey  <tromey@redhat.com>
4366
4367         * Makefile.in (SUBDIR_PYTHON_OBS): Add python-cmd.o.
4368         (SUBDIR_PYTHON_SRCS): Add python-cmd.c.
4369         (python-cmd.o): New target.
4370         * cli/cli-decode.c (set_cmd_completer): Add self parameter to
4371         completer prototype.
4372         (add_cmd): Initialize destroyer member of cmd_list_element. Use
4373         make_symbol_completion_list_fn as completer.
4374         (delete_cmd): Call destroyer if one is set.
4375         * cli/cli-decode.h (cmd_list_element): Add cmd parameter to
4376         completer member.  Add destroyer member.
4377         (set_cmd_completer): Add self parameter to
4378         completer prototype.
4379         * command.h (set_cmd_completer): Add cmd parameter to
4380         completer prototype.
4381         * completer.c (noop_completer, filename_completer,
4382         location_completer, expression_completer, command_completer): Adapt
4383         to new completer prototype.
4384         (complete_line_internal): Pass new parameter to completer function.
4385         * completer.h (noop_completer, filename_completer,
4386         location_completer, expression_completer, command_completer): Adapt
4387         prototypes to new completer prototype.
4388         * interps.c (interpreter_completer): Adapt to new completer
4389         prototype.
4390         * python/python-cmd.c: New file.
4391         * python/python-internal.h (gdbpy_initialize_commands): Add
4392         prototype.
4393         (gdbpy_doc_cst): Add forward declaration.
4394         * python/python.c (gdbpy_doc_cst): Declare.
4395         (_initialize_python): Call gdbpy_initialize_commands.  Initialize
4396         gdbpy_doc_cst.
4397         * symtab.c (make_symbol_completion_list_fn): New function.
4398         * symtab.h (make_symbol_completion_list_fn): Add prototype.
4399
4400 2009-02-06  Pedro Alves  <pedro@codesourcery.com>
4401
4402         * target.c (target_get_osdata): Check for equal or higher than
4403         process_stratum, not dummy_stratum.
4404
4405 2009-02-06  Pedro Alves  <pedro@codesourcery.com>
4406
4407         * remote.c (extended_remote_can_run): Delete.
4408         (init_remote_ops): Don't register it.
4409         * target.c (target_get_osdata): Don't check for target_can_run.
4410         Instead any target that has already been pushed, otherwise
4411         fallback to the default run target.
4412
4413 2009-02-06  Pedro Alves  <pedro@codesourcery.com>
4414
4415         * target.c (target_create_inferior, target_detach)
4416         (target_mourn_inferior, target_attach, target_close): Do target
4417         debug output.
4418         (debug_to_attach, debug_to_detach, debug_to_create_inferior)
4419         (debug_to_mourn_inferior, debug_to_close): Delete.
4420         (setup_target_debug): Adjust.
4421
4422 2009-02-05  Pedro Alves  <pedro@codesourcery.com>
4423
4424         * target.h (target_stopped_data_address_p): Delete declaration,
4425         and don't define as macro.
4426         * target.c (target_stopped_data_address_p): Delete.
4427
4428 2009-02-05  Thiago Jung Bauermann  <bauerman@br.ibm.com>
4429             Tom Tromey  <tromey@redhat.com>
4430
4431         * python/python-utils.c (target_string_to_unicode): New function.
4432         * python/python-internal.h (target_string_to_unicode): New prototype.
4433         * python/python-value.c (valpy_string): New function.
4434         (value_object_methods): Add `string' entry.
4435
4436 2009-02-05  Pedro Alves  <pedro@codesourcery.com>
4437
4438         * target.h (target_tid_to_str): Delete.
4439         * thread.c (print_thread_info, thread_apply_all_command)
4440         (thread_apply_command, thread_command, do_captured_thread_select):
4441         Use target_pid_to_str instead of target_tid_to_str.
4442         * linux-fork.c (delete_fork_command): Likewise.
4443
4444 2009-02-05  Pedro Alves  <pedro@codesourcery.com>
4445
4446         * frame.c (has_stack_frames): Make public.
4447         (get_prev_frame): Don't allow a NULL this_frame anymore.
4448         * frame.h (has_stack_frames): Declare.
4449         * varobj.c (find_frame_addr_in_frame_chain): Don't ever pass NULL
4450         to get_prev_frame, instead start at get_current_frame.
4451         (varobj_create): Check has_stack_frames before getting any frame;
4452         eliminate one usage of deprecated_safe_get_selected_frame.
4453
4454 2009-02-05  Tom Tromey  <tromey@redhat.com>
4455             Thiago Jung Bauermann  <bauerman@br.ibm.com>
4456
4457         * python/python.c (GdbMethods): Move to bottom of file.
4458         (get_parameter, execute_gdb_command, gdbpy_write,
4459         gdbpy_flush): Remove forward declarations.
4460         (eval_python_from_control_command): Fix error checking of function
4461         PyRun_SimpleString.  Fix error string.
4462         (python_command): Likewise.
4463         (execute_gdb_command): Added from_tty argument.
4464
4465 2009-02-05  Thiago Jung Bauermann  <bauerman@br.ibm.com>
4466
4467         * language.h (language_dfn): Add la_get_string member.
4468         (LA_GET_STRING): New macro.
4469         (default_get_string): New prototype.
4470         * language.c (default_get_string): New function.
4471         (unknown_language_defn, auto_language_defn, local_language_defn): Use
4472         default_get_string for la_get_string.
4473         * c-lang.c (c_get_string): New function.
4474         (c_language_defn, cplus_language_defn, asm_language_defn): Use
4475         c_get_string for la_get_string.
4476         (minimal_language_defn): Likewise
4477         * ada-lang.c (ada_language_defn): Likewise.
4478         * f-lang.c (f_language_defn): Use default_get_string for
4479         la_get_string.
4480         * jv-lang.c (java_language_defn): Likewise.
4481         * m2-lang.c (m2_language_defn): Likewise.
4482         * objc-lang.c (objc_language_defn): Likewise.
4483         * p-lang.c (p_language_defn): Likewise.
4484         * scm-lang.c (scm_language_defn): Likewise.
4485         * typeprint.c (type_to_string): New function.
4486         * value.h (type_to_string): New prototype.
4487         * valprint.c (val_print_string): Factor out code for reading string
4488         from the inferior into its own function.  Put 2 spaces after period
4489         in comments.
4490         (read_string): New function.
4491         * valprint.h (read_string): New prototype.
4492
4493 2009-01-07  Pierre Muller  <muller@ics.u-strasbg.fr>
4494             Tom Tromey  <tromey@redhat.com>
4495
4496         PR breakpoints/8079:
4497         * breakpoint.c (print_one_breakpoint): Use exp_string field
4498         to display expression of watchpoints.
4499         (mention): Likewise.
4500         (watch_command_1): Remove trailing whitespace from expression.
4501         * printcmd.c (struct display) <exp_string>: New field.
4502         (display_command): Set exp_string.
4503         (free_display): Free exp_string.
4504         (clear_displays): Use free_display.
4505         (do_one_display): Print exp_string.
4506         (display_info): Likewise.
4507
4508 2009-02-04  Tom Tromey  <tromey@redhat.com>
4509             Thiago Jung Bauermann  <bauerman@br.ibm.com>
4510             Phil Muldoon  <pmuldoon@redhat.com>
4511
4512         * python/python-internal.h (gdbpy_get_value_from_history): Rename
4513         prototype to gdbpy_history.
4514         (gdbpy_is_string): Declare.
4515         (python_string_to_host_string): Declare.
4516         * python/python-utils.c (gdbpy_is_string): New function.
4517         (unicode_to_encoded_string): New function.
4518         (unicode_to_target_string): Use it.
4519         (python_string_to_host_string): New function.
4520         * python/python-value.c (valpy_address): New function.
4521         (convert_value_from_python): Use gdbpy_is_string.  Change to throw
4522         Python exception instead of a GDB exception on error.  Properly check
4523         Python booleans.
4524         (valpy_getitem): Convert field name to host string.  Handle array
4525         accesses.  Adapt to new behaviour of convert_value_from_python.
4526         (valpy_new): Adapt to new behaviour of convert_value_from_python.
4527         (enum valpy_opcode) <VALPY_LSH, VALPY_RSH, VALPY_BITAND,
4528         VALPY_BITXOR, VALPY_BITOR>: New constants.
4529         (valpy_binop): Update.  Adapt to new behaviour of
4530         convert_value_from_python.
4531         (valpy_invert): New function.
4532         (valpy_lsh): Likewise.
4533         (valpy_rsh): Likewise.
4534         (valpy_and): Likewise.
4535         (valpy_or): Likewise.
4536         (valpy_xor): Likewise.
4537         (valpy_richcompare): Call convert_value_from_python instead of doing
4538         conversions itself.
4539         (is_intlike, valpy_int, valpy_long, valpy_float): New functions.
4540         (gdbpy_get_value_from_history): Rename
4541         function to gdbpy_history.
4542         (gdbpy_initialize_values): Don't set tp_new.
4543         (value_object_type): Add valpy_new.
4544         (value_object_methods): Add `address' entry.
4545         (value_object_as_number): Update for new methods.
4546         * python/python.c (GdbMethods): Rename entry from
4547         `get_value_from_history' to `history'.
4548
4549 2009-02-04  Jerome Guitton  <guitton@adacore.com>
4550
4551         * ada-lang.c (ada_template_to_fixed_record_type_1): Check size
4552         of type to guard against a crash.
4553
4554 2009-02-04  Jerome Guitton  <guitton@adacore.com>
4555
4556         * value.c (value_from_contents_and_address): Always return
4557         a lval_memory value, even if address is null.
4558
4559 2009-02-04  Tristan Gingold  <gingold@adacore.com>
4560
4561         * i386-darwin-tdep.c (i386_darwin_sigcontext_addr): New function.
4562         (amd64_darwin_sigcontext_addr): Ditto.
4563         (darwin_dwarf_signal_frame_p): Ditto.
4564         (i386_darwin_init_abi): Handle signal frames, use the const for
4565         sc_num_regs.
4566         (x86_darwin_init_abi_64): Ditto.
4567
4568 2009-02-04  Tristan Gingold  <gingold@adacore.com>
4569
4570         * i386-tdep.c (i386_sigtramp_p): Make it public.
4571         * i386-tdep.h (i386_sigtramp_p): Declare.
4572
4573 2009-02-04  Tristan Gingold  <gingold@adacore.com>
4574
4575         * machoread.c (macho_symfile_read): Read minsymtab also from
4576         shared libraries.
4577         (macho_symfile_read): Try to read dwarf2 frame info from main
4578         object file, but not from OSO files.
4579         (macho_symfile_offsets): Update section names for latest BFD
4580         changes.
4581         * i386-darwin-tdep.c (i386_darwin_init_abi): Call set_solib_ops.
4582         (x86_darwin_init_abi_64): Ditto.
4583         * solib-darwin.c: New file.
4584         * solib-darwin.h: New file.
4585         * configure.tgt: Add solib.o solib-darwin.o for Darwin.
4586
4587 2009-02-04  Tristan Gingold  <gingold@adacore.com>
4588
4589         * solist.h (struct target_so_ops): Comment fallback behavior for
4590         operation same.
4591
4592 2009-02-03  Tom Tromey  <tromey@redhat.com>
4593
4594         * completer.c (add_struct_fields): Check type_name against NULL
4595         before use.
4596
4597 2009-02-03  Joel Brobecker  <brobecker@adacore.com>
4598
4599         * MAINTAINERS: Update Elena's email address.
4600
4601 2009-02-02  Joel Brobecker  <brobecker@adacore.com>
4602
4603         * breakpoint (update_watchpoint): Minor comment adjustment.
4604
4605 2009-02-02  Tom Tromey  <tromey@redhat.com>
4606
4607         PR gdb/9594:
4608         * completer.c (count_struct_fields): Count method names.
4609         (add_struct_fields): Add matching method names.
4610
4611 2009-02-02  Doug Evans  <dje@google.com>
4612
4613         * configure.ac (gdbkt): Check both no_tcl/no_tk first, before
4614         doing any further tcl/tk configury.  Don't configure gdbtk if
4615         tcl or tk check fails.
4616         * aclocal.m4: Regenerate.
4617         * configure: Regenerate.
4618
4619 2009-02-02  Tom Tromey  <tromey@redhat.com>
4620
4621         PR exp/9059:
4622         * valops.c (find_overload_match): Follow typedefs before taking
4623         address of object argument.
4624
4625 2009-02-01  Doug Evans  <dje@google.com>
4626
4627         * target.h (target_waitstatus_to_string): Declare.
4628         * target.c (target_waitstatus_to_string): New function.  Copied from
4629         debug_to_wait.  Add missing entries for TARGET_WAITKIND_SYSCALL_ENTRY,
4630         TARGET_WAITKIND_SYSCALL_RETURN, TARGET_WAITKIND_IGNORE,
4631         TARGET_WAITKIND_NO_HISTORY.
4632         (debug_to_wait): Call it.
4633         * infrun.c (wait_for_inferior): If debug_infrun, print result of
4634         target_wait.
4635         (fetch_inferior_event): Ditto.
4636
4637 2009-01-30  Tom Tromey  <tromey@redhat.com>
4638
4639         * Makefile.in (HFILES_NO_SRCDIR): Remove i386-cygwin-tdep.h.
4640
4641 2009-01-30  Vladimir Prus  <vladimir@codesourcery.com>
4642
4643         PR 8145.
4644         * thread.c (do_captured_list_thread_ids): Report the current
4645         thread id.
4646
4647 2009-01-30  Vladimir Prus  <vladimir@codesourcery.com>
4648
4649         * breakpoint.c (create_breakpoint, create_breakpoints)
4650         (break_command_really, set_breakpoint): New parameter enabled.
4651         (create_breakpoint, break_command_really): Make breakpoint
4652         disabled if so requested.
4653         * breakpoint.h (set_breakpoint): New parameter enabled.
4654         * mi/mi-cmd-break.c (mi_cmd_break_insert): Handle the -d option.
4655
4656 2009-01-28  Doug Evans  <dje@google.com>
4657
4658         * amd64-tdep.h (amd64_displaced_step_copy_insn): Declare.
4659         (amd64_displaced_step_fixup): Declare.
4660         * amd64-tdep.c: #include opcode/i386.h, dis-asm.h.
4661         (amd64_arch_regmap): Move out of amd64_analyze_stack_align
4662         and make static global.
4663         (amd64_arch_regmap_len): New static global.
4664         (amd64_arch_reg_to_regnum): New function.
4665         (struct amd64_insn): New struct.
4666         (struct displaced_step_closure): New struct.
4667         (onebyte_has_modrm,twobyte_has_modrm): New static globals.
4668         (rex_prefix_p,skip_prefixes)
4669         (amd64_insn_length_fprintf,amd64_insn_length_init_dis)
4670         (amd64_insn_length,amd64_get_unused_input_int_reg)
4671         (amd64_get_insn_details,fixup_riprel,fixup_displaced_copy)
4672         (amd64_displaced_step_copy_insn)
4673         (amd64_absolute_jmp_p,amd64_absolute_call_p,amd64_ret_p)
4674         (amd64_call_p,amd64_breakpoint_p,amd64_syscall_p)
4675         (amd64_displaced_step_fixup): New functions.
4676         * amd64-linux-tdep.c: #include arch-utils.h.
4677         (amd64_linux_init_abi): Install displaced stepping support.
4678
4679 2009-01-28  Daniel Jacobowitz  <dan@codesourcery.com>
4680             Jerome Guitton  <guitton@adacore.com>
4681
4682         * configure, config.in: Regenerated.
4683         * configure.ac: Add --with-system-gdbinit.
4684         * main.c (get_init_files): New.
4685         (captured_main): Use get_init_files.  Load system gdbinit before
4686         $HOME/.gdbinit.
4687         (print_gdb_help): Print location of init files.
4688
4689 2009-01-28  Pedro Alves  <pedro@codesourcery.com>
4690
4691         * corefile.c (generic_search): Delete disabled code.
4692         * gdbcore.h (generic_search): Delete declaration.
4693
4694 2009-01-26  Pedro Alves  <pedro@codesourcery.com>
4695
4696         * linux-nat.c (linux_child_follow_fork): Copy attach_flag from the
4697         parent to the child.
4698         * inf-ttrace.c (inf_ttrace_follow_fork): Likewise.
4699         * inf-ptrace.c (inf_ptrace_follow_fork): Likewise.  Use
4700         remove_breakpoints to remove breakpoints from the parent.
4701
4702 2009-01-26  Pedro Alves  <pedro@codesourcery.com>
4703
4704         PR backtrace/9458, PR backtrace/8864:
4705         * frame.c (create_new_frame): Update the frame's cached PC before
4706         finding its unwinder.  Use frame_id_build to build the new frame's
4707         id.
4708         * stack.c (parse_frame_specification_1): Correct setting ``addrs''
4709         array values from the ``args'' array values.
4710
4711 2009-01-26  Pedro Alves  <pedro@codesourcery.com>
4712
4713         * gdbtypes.c (alloc_type, alloc_type_instance, create_range_type)
4714         (create_array_type, create_set_type, init_flags_type)
4715         (copy_type_recursive): Replace pairs of calls to XALLOC and memset
4716         with a call to XZALLOC or XCALLOC, and pairs of calls to
4717         obstack_alloc and memset with a call to OBSTACK_ZALLOC.
4718
4719 2009-01-26  Pedro Alves  <pedro@codesourcery.com>
4720
4721         Add "maint set|show internal-error|internal-warning quit|corefile
4722         ask|yes|no" commands.
4723
4724         PR gdb/7580:
4725         * utils.c (internal_problem_ask, internal_problem_yes)
4726         (internal_problem_no, internal_problem_modes): New.
4727         (struct internal_problem): Remove FIXME.  Make should_quit and
4728         should_dump_core types to char *.
4729         (internal_vproblem, internal_error_problem)
4730         (internal_warning_problem): Adjust.
4731         (set_internal_problem_cmd, show_internal_problem_cmd): New dummy
4732         functions.
4733         (add_internal_problem_command): New.
4734         (_initialize_utils): New.
4735
4736 2009-01-25  Pedro Alves  <pedro@codesourcery.com>
4737
4738         * infcmd.c (program_info): Use paddress instead of casting stop_pc
4739         to unsigned long.
4740
4741 2009-01-24  Pedro Alves  <pedro@codesourcery.com>
4742
4743         * infrun.c (normal_stop): Don't call
4744         deprecated_update_frame_pc_hack.
4745         * frame.c (deprecated_update_frame_pc_hack)
4746         (deprecated_update_frame_base_hack): Delete, and ...
4747         (create_new_frame): ... inline here.
4748         * frame.h (deprecated_update_frame_pc_hack)
4749         (deprecated_update_frame_base_hack): Delete declarations.
4750
4751 2009-01-23  Pedro Alves  <pedro@codesourcery.com>
4752
4753         * cli/cli-decode.c (add_setshow_zuinteger_cmd): New.
4754         * cli/cli-setshow.c (do_setshow_command): Handle it.
4755         * command.h (enum var_types): Add var_zuinteger.
4756         (add_setshow_zuinteger_cmd): Declare.
4757
4758         * valprint.c (_initialize_valprint): Change the set input-radix
4759         and set output-radix commands to zuinteger type.
4760
4761 2009-01-23  Pedro Alves  <pedro@codesourcery.com>
4762
4763         PR gdb/9664:
4764         * infrun.c (normal_stop): Tag threads as stopped, and run the
4765         hook-stop before printing the stack frame.
4766
4767 2009-01-22  Pedro Alves  <pedro@codesourcery.com>
4768
4769         PR c++/9631:
4770         * gnu-v3-abi.c (gnuv3_baseclass_offset): Call check_typedef on
4771         vbasetype.
4772
4773 2009-01-20  Kazu Hirata  <kazu@codesourcery.com>
4774
4775         * gdb/procfs.c (info_mappings_callback): Cast map->pr_size to
4776         unsigned long.
4777
4778 2009-01-20  Daniel Jacobowitz  <dan@codesourcery.com>
4779
4780         PR gdb/9346
4781         * infcmd.c (signal_command): Do not specify a resume PC.
4782
4783 2009-01-19  Doug Evans  <dje@google.com>
4784
4785         * dummy-frame.c (dummy_frame): Replace regcache member with
4786         caller_state.
4787         (dummy_frame_push): Replace caller_regcache arg with caller_state.
4788         All callers updated.
4789         (remove_dummy_frame,pop_dummy_frame,lookup_dummy_frame): New fns.
4790         (dummy_frame_pop): Rewrite.  Verify requested frame is in the
4791         dummy frame stack.  Restore program state.
4792         (cleanup_dummy_frames): Rewrite.
4793         (dummy_frame_sniffer): Update.  Make static.
4794         * dummy-frame.h (regcache,frame_info): Delete forward decls.
4795         (inferior_thread_state): New forward decl.
4796         (dummy_frame_push): Update prototype.
4797         * frame.c (frame_pop): dummy_frame_pop now does all the work for
4798         DUMMY_FRAMEs.
4799         * infcall.c (breakpoint_auto_delete_contents): Delete.
4800         (get_function_name,run_inferior_call): New fns.
4801         (call_function_by_hand): Simplify by moving some code to
4802         get_function_name, run_inferior_call.  Inferior function call wrapped
4803         in TRY_CATCH so there's less need for cleanups and all exits from
4804         proceed are handled similarily.  Detect program exit.
4805         Detect program stopping in a different thread.
4806         Make error messages more consistent.
4807         * inferior.h (inferior_thread_state): Declare (opaque type).
4808         (save_inferior_thread_state,restore_inferior_thread_state,
4809         make_cleanup_restore_inferior_thread_state,
4810         discard_inferior_thread_state, get_inferior_thread_state_regcache):
4811         Declare.
4812         (save_inferior_status): Update prototype.
4813         * infrun.c: (normal_stop): When stopped for the completion of an
4814         inferior function call, verify the expected stack frame kind.
4815         (inferior_thread_state): New struct.
4816         (save_inferior_thread_state,restore_inferior_thread_state,
4817         do_restore_inferior_thread_state_cleanup,
4818         make_cleanup_restore_inferior_thread_state,
4819         discard_inferior_thread_state,
4820         get_inferior_thread_state_regcache): New functions.
4821         (inferior_status): Move stop_signal, stop_pc, registers to
4822         inferior_thread_state.  Remove restore_stack_info.
4823         (save_inferior_status): Remove arg restore_stack_info.
4824         All callers updated.  Remove saving of state now saved by
4825         save_inferior_thread_state.
4826         (restore_inferior_status): Remove restoration of state now done by
4827         restore_inferior_thread_state.
4828         (discard_inferior_status): Remove freeing of registers, now done by
4829         discard_inferior_thread_state.
4830
4831 2009-01-18  Pedro Alves  <pedro@codesourcery.com>
4832
4833         * tui/tui-disasm.c (tui_vertical_disassem_scroll): Scroll one line
4834         at a time, times NUM_TO_SCROLL.
4835         * tui/tui-winsource.c (tui_horizontal_source_scroll): Don't try to
4836         fetch the selected frame if there is no stack.
4837
4838 2009-01-18  Pedro Alves  <pedro@codesourcery.com>
4839
4840         PR gdb/9747:
4841         * gdbthread.h (finish_thread_state, finish_thread_state_cleanup):
4842         Declare.
4843         * thread.c (finish_thread_state, finish_thread_state_cleanup): New.
4844         * infrun.c (wait_for_inferior, fetch_inferior_event): If an error
4845         is thrown while handling an event, finish the thread state.
4846         (normal_stop): Use finish_thread_state cleanup.
4847         * infcmd.c (run_command_1): If an error is thrown while starting
4848         the inferior, finish the thread state.
4849
4850 2009-01-18  Pedro Alves  <pedro@codesourcery.com>
4851
4852         * tui/tui-winsource.c (tui_update_breakpoint_info): In asm layout,
4853         skip breakpoints without a location (pending breakpoints).
4854
4855 2009-01-18  Pedro Alves  <pedro@codesourcery.com>
4856
4857         PR build/9186:
4858         * hppa-hpux-tdep.c (hppa_hpux_write_pc): Remove 'return'.
4859
4860 2009-01-18  Nick Roberts  <nickrob@snap.net.nz>
4861
4862         * thread.c (thread_command): Move call to annotate_thread_changed
4863         to...
4864         (do_captured_thread_select): ... here, to avoid printing an
4865         annotation if the thread change generates an exception.
4866
4867 2009-01-16  Joel Brobecker  <brobecker@adacore.com>
4868
4869         * NEWS: Document x86_64/MinGW as a new native configuration.
4870
4871 2009-01-16  Joel Brobecker  <brobecker@adacore.com>
4872
4873         * NEWS: Move the documentation of "info os processes" to
4874         the appropriate section (documenting the new commands).
4875
4876 2009-01-15  Doug Evans  <dje@google.com>
4877
4878         * target.h (target_signal_to_string): Make return type const char *.
4879         (target_signal_to_name): Ditto.
4880         (target_signal_from_name): Make arg const char *.
4881         * infrun.c (sig_print_info): Update.
4882         * signals/signals.c (signals): Make array and struct members const.
4883         (target_signal_to_string): Make return type const char *.
4884         (target_signal_to_name): Ditto.
4885         (target_signal_from_name): Make arg const char *.
4886
4887 2009-01-15  Ulrich Weigand  <uweigand@de.ibm.com>
4888             Tristan Gingold  <gingold@adacore.com>
4889
4890         * solist.h (struct target_so_ops): New member bfd_open.
4891         (solib_find): Add prototype.
4892         (solib_bfd_fopen): Add prototype.
4893         * solib.c (solib_find, solib_bfd_fopen): New functions, extracted
4894         from solib_bfd_open.
4895         (solib_bfd_open): Use ops->bfd_open override if present.  Call
4896         solib_find and solib_bfd_open otherwise.
4897
4898         * objfiles.h (OBJF_KEEPBFD): New define.
4899         * objfiles.c (free_objfile): Do not close BFD if OBJF_KEEPBFD
4900         objfile flag is set.
4901         * solib.c (symbol_add_stub): Do not allocate second BFD for
4902         shared library; use OBJF_KEEPBFD flag on solib objfile.
4903
4904 2009-01-15  Ulrich Weigand  <uweigand@de.ibm.com>
4905
4906         * frame.c (get_frame_arch): Abort if called with NULL this_frame.
4907
4908 2009-01-15  Ulrich Weigand  <uweigand@de.ibm.com>
4909
4910         * value.h (address_of_variable): Add prototype.
4911         (locate_var_value): Remove prototype.
4912
4913         * findvar.c (read_var_value): Do not attempt to default frame
4914         to selected frame.
4915         (locate_var_value): Remove function.
4916         * valops.c (value_of_variable): Retrieve selected frame for
4917         symbols that require a frame when called with NULL block.
4918         * valops.c (address_of_variable): New function.
4919
4920         * eval.c (evaluate_subexp_for_address): Call address_of_variable
4921         instead of calling locate_var_value.
4922         (evaluate_subexp_with_coercion): Likewise.
4923
4924 2009-01-14  Daniel Jacobowitz  <dan@codesourcery.com>
4925
4926         * NEWS: Document "define" for prefixed commands.
4927         * cli/cli-cmds.c (show_user): Update calls to show_user_1.  Call
4928         show_user_1 for prefix commands.
4929         * cli/cli-decode.c (help_cmd_list): Recurse for "help user-defined".
4930         * cli/cli-script.c (validate_comname): Rewrite to handle prefix
4931         commands.  Return the containing command list.
4932         (define_command, document_command): Update to handle prefix commands.
4933         (show_user_1): Add prefix and name arguments.  Handle prefix
4934         commands.
4935         * cli/cli-script.h (show_user_1): Update prototype.
4936
4937 2009-01-14  Kai Tietz  <kai.tietz@onevision.com>
4938
4939         * ser-mingw.c (console_select_thread): Add return to make
4940         compiler happy.
4941         (pipe_select_thread): Likewise.
4942         (file_select_thread): Likewise.
4943
4944 2009-01-14  Pedro Alves  <pedro@codesourcery.com>
4945
4946         * mi/mi-main.c (mi_cmd_execute): Clean up parenthesis mess from
4947         previous change.
4948
4949 2009-01-14  Pedro Alves  <pedro@codesourcery.com>
4950
4951         * remote.c (extended_remote_mourn_1): Invalidate our notion of
4952         current general thread.
4953
4954 2009-01-14  Pedro Alves  <pedro@codesourcery.com>
4955
4956         * mi/mi-main.c (mi_cmd_execute): Also allow -list-thread-groups
4957         without a live selected thread.
4958
4959 2009-01-14  Joel Brobecker  <brobecker@adacore.com>
4960
4961         Update the copyright notice of some of the files I missed
4962         in the previous copyright update.
4963
4964 2009-01-14  Joel Brobecker  <brobecker@adacore.com>
4965
4966         * windows-nat.c (handle_unload_dll): Use %p to print the DLL
4967         base address instead of casting it to DWORD.
4968
4969 2009-01-13  Ulrich Weigand  <uweigand@de.ibm.com>
4970
4971         * dwarf2loc.c (dwarf2_evaluate_loc_desc): Do not call get_frame_arch
4972         for NULL frame pointers.
4973
4974 2009-01-13  Mark Kettenis  <kettenis@gnu.org>
4975
4976         * utils.c (host_address_to_string): Reimplement in a way that
4977         avoids the cast of the address to long.
4978
4979 2009-01-13  Joel Brobecker  <brobecker@adacore.com>
4980
4981         * mdebugread.c (parse_symbol): Save the symbol private data
4982         using SYMBOL_VALUE_BYTES instead of SYMBOL_VALUE.
4983         (psymtab_to_symtab_1): Likewise.
4984         (parse_procedure): Declare variable "e" only in the scope
4985         where it is used. Extract the symbol private data using
4986         SYMBOL_VALUE_BYTES.
4987
4988 2009-01-13  Jim Blandy  <jimb@codesourcery.com>
4989
4990         Abstract out common code for copying value locations.
4991
4992         * value.h (set_value_component_location): New declaration.
4993         * value.c (set_value_component_location): New function.
4994         (value_primitive_field): Use it.
4995         * valarith.c (value_subscript, value_subscripted_rvalue): Same.
4996         * valops.c (search_struct_field, value_slice): Same.
4997         * ada-lang.c (coerce_unspec_val_to_type)
4998         (ada_value_primitive_packed_val): Same.
4999
5000 2009-01-13  Joel Brobecker  <brobecker@adacore.com>
5001
5002         * MAINTAINERS (GLOBAL MAINTAINERS): Add Tom Tromey.
5003
5004 2009-01-12  Christopher Faylor  <me+cygwin@cgf.cx>
5005
5006         * amd64-windows-nat.c Rename gdb-specific win32_* to windows_*
5007         throughout.
5008         * i386-cygwin-tdep.c: Ditto.
5009         * i386-windows-nat.c: Ditto.
5010         * windows-nat.h: Ditto.
5011         * windows-tdep.c: Ditto.
5012         * windows-tdep.h: Ditto.
5013         * windows-nat.c: Ditto.
5014         (cygwin_load_start): Redefine as CORE_ADDR.
5015         (cygwin_load_end): Ditto.
5016         (windows_make_so): Coerce result of address arithmetic to uintptr_t
5017         before coercing to CORE_ADDR to avoid a compiler warning.
5018         (handle_exception): Define addr as CORE_ADDR and coerce
5019         ExceptionAddress to uintptr_t before assigining to avoid a compiler
5020         warning.
5021         * config/djgpp/fnchange.lst: Add mappings for recently renamed windows
5022         files.
5023
5024 2009-01-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
5025
5026         Fix linking with --enable-targets=all:
5027         * Makefile.in (ALL_TARGET_OBS): Add windows-tdep.o.
5028         (HFILES_NO_SRCDIR): Add windows-tdep.h.
5029         (ALLDEPFILES): Add windows-tdep.c.
5030
5031 2009-01-11  Chris Faylor  <me.gdb@cgf.cx>
5032
5033         * win32-nat.h: Delete.
5034         * windows-nat.h: Rename from win32-nat.h.
5035         * win32-nat.c: Delete.
5036         * windows-nat.c: Rename from win32-nat.c.
5037         * win32-termcap.c: Delete.
5038         * windows-termcap.c: Rename from win32-termcap.c.
5039         * amd64-windows-nat.c: Handle rename from win32-nat.h -> windows-nat.h.
5040         * configure.ac: Handle rename from win32-termcap.c ->
5041         windows-termcap.c.
5042         * configure: Regenerate.
5043         * gdb_curses.h: Change comment to reflect rename from win32-termcap.c
5044         -> windows-termcap.c.
5045         * i386-cygwin-tdep.c: Handle rename from win32-tdep.h ->
5046         windows-tdep.h.
5047         * i386-windows-nat.c: Refect rename from win32-nat.h -> windows-nat.h.
5048         * windows-nat.c: Ditto.  Also reflect rename from from win32-tdep.h ->
5049         windows-tdep.h.
5050         (win32_make_so): Handle cygwin compiler warning due to change of
5051         load_addr from DWORD to LPVOID.
5052         (handle_load_dll): Use %p in format string to properly print address
5053         and avoid a compiler warning.
5054         (DEBUG_EXCEPTION_SIMPLE): Ditto.
5055         (handle_exception): Ditto.
5056         * windows-tdep.c: Handle rename from win32-tdep.h -> windows-tdep.h.
5057         * config/i386/cygwin.mh: Handle rename from win32-nat.o ->
5058         windows-nat.o.
5059         * config/i386/mingw.mh: Ditto.
5060         * config/i386/mingw64.mh: Ditto.
5061
5062 2009-01-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
5063
5064         * f-typeprint.c (f_type_print_varspec_suffix): Convert the autovariable
5065         arrayprint_recurse_level to a parameter.  Update all the callers.  New
5066         comment at autovariables.
5067
5068 2009-01-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
5069
5070         * gdbtypes.c (make_qualified_type, replace_type): Reformat to the GNU
5071         coding style.
5072
5073 2009-01-11  Joel Brobecker  <brobecker@adacore.com>
5074
5075         * target.c (target_xfer_partial): Use host_address_to_string to
5076         print the address of readbuf and writebuf. Cast the address of
5077         elements inside the myaddr buffer into intptr_t.
5078         (deprecated_debug_xfer_memory): Use paddress to print memaddr.
5079         Cast the address of elements inside the myaddr buffer into
5080         intptr_t.
5081
5082 2009-01-11  Joel Brobecker  <brobecker@adacore.com>
5083
5084         * amd64-windows-nat.c, amd64-windows-tdep.c: New files.
5085         * config/i386/mingw64.mh, config/i386/nm-cygwin64.h: New files.
5086         * configure.host, configure.tgt: Add handling for x86_64/windows.
5087         * config/djgpp/fnchange.lst: Add entries for amd64-windows-nat.c
5088         and amd64-windows-tdep.c.
5089
5090 2009-01-11  Joel Brobecker  <brobecker@adacore.com>
5091
5092         * win32-tdep.h, win32-tdep.c: New files.
5093         * i386-cygwin-tdep.h: Delete.
5094         * i386-cygwin-tdep.c: Include win32-tdep.h instead of
5095         i386-cygwin-tdep.h.
5096         (win32_xfer_shared_library): Delete.  Moved to win32-tdep.c.
5097         * win32-nat.c: Likewise.
5098         * configure.tgt: Add win32-tdep.o to the list of target object
5099         files for i386-cygwin and i386-mingw targets.
5100
5101 2009-01-11  Joel Brobecker  <brobecker@adacore.com>
5102
5103         * win32-nat.h: New file.
5104         * win32-nat.c (mappings): Initialize to NULL.
5105         (win32_set_context_register_offsets): New function.
5106         * i386-windows-nat.c: New file.
5107         (mappings): Moved here from win32-nat.c.
5108         (_initialize_i386_windows_nat): New function.
5109         * config/i386/mingw.mh (NATDEPFILES): Add i386-windows-nat.o.
5110         * config/i386/cygwin.mh (NATDEPFILES): Likewise.
5111
5112 2009-01-09  Andreas Schwab  <schwab@suse.de>
5113
5114         * Makefile.in (init.c): Set LANG/LC_ALL to C, not c.
5115
5116 2009-01-09  Daniel Jacobowitz  <dan@codesourcery.com>
5117
5118         * gdbtypes.c (append_composite_type_field): Correct the location of
5119         appended fields.
5120
5121 2009-01-09  Pedro Alves  <pedro@codesourcery.com>
5122
5123         * defs.h (deprecated_error_hook): Delete declaration.
5124         * interps.c (clear_interpreter_hooks): Adjust.
5125         * remote-sim.c (gdb_os_error): Don't try to call
5126         deprecated_error_hook.  No need to call exit anymore.
5127         * top.c (deprecated_error_hook): Delete.
5128
5129 2009-01-09  Joel Brobecker  <brobecker@adacore.com>
5130
5131         * arch-utils.c (gdbarch_update_p): Use host_address_to_string
5132         to print the address of the gdbarch pointer.
5133
5134 2009-01-09  Joel Brobecker  <brobecker@adacore.com>
5135
5136         * gdbarch.sh: Fix all the compilation errors on amd64-windows
5137         due to casting a pointer to a long when printing a function
5138         address. Instead, use host_address_to_string to convert our
5139         address to a string.
5140         * gdbarch.c: Regenerate.
5141
5142 2009-01-09  Joel Brobecker  <brobecker@adacore.com>
5143
5144         * event-top.c (async_disconnect, async_stop_sig): use "raise"
5145         instead of "kill" to raise a signal.
5146
5147 2009-01-09  Joel Brobecker  <brobecker@adacore.com>
5148
5149         * win32-nat.c (get_module_name): Change the type of parameter
5150         "base_address" to LPVOID.  Remove unnecessary cast.
5151         (struct lm_info): Change type of load_addr to LPVOID.
5152         (win32_make_so): Change the type of parameter "load_addr"
5153         to LPVOID.  Remove some unnecessary casts.
5154         (handle_unload_dll): Change the type of "lpBaseOfDll" to LPVOID.
5155         (win32_xfer_shared_libraries): Add missing cast.
5156
5157 2009-01-09  Joel Brobecker  <brobecker@adacore.com>
5158
5159         * win32-nat.c (has_detach_ability, set_process_privilege):
5160         Cast the result of GetProcAddress to (void *) to avoid
5161         a compilation warning.
5162
5163 2009-01-09  Joel Brobecker  <brobecker@adacore.com>
5164
5165         * win32-nat.c (CONTEXT_EXTENDED_REGISTERS): Define to 0 if not
5166         already defined.
5167
5168 2009-01-09  Joel Brobecker  <brobecker@adacore.com>
5169
5170         * win32-nat.c (get_image_name, win32_xfer_memory): Fix type
5171         definition of local variable "done".
5172         (info_w32_command, handle_exception): Remove unnecessary cast.
5173
5174 2009-01-09  Joel Brobecker  <brobecker@adacore.com>
5175
5176         * win32-nat.c (kernel32_DebugSetProcessKillOnExit): Renames
5177         DebugSetProcessKillOnExit.  Update all uses in this file.
5178         (kernel32_DebugActiveProcessStop): Renames DebugActiveProcessStop.
5179         Update all uses in this file.
5180
5181 2009-01-09  Joel Brobecker  <brobecker@adacore.com>
5182
5183         * win32-nat.c (do_initial_win32_stuff): Add new ops parameter,
5184         and use it when pushing the target.
5185         (win32_attach, win32_create_inferior): Update call to
5186         do_initial_win32_stuff.
5187         (win32_detach, win32_mourn_inferior): Use our ops parameter
5188         instead of the global win32_ops to unpush the target.
5189
5190 2009-01-09  Joel Brobecker  <brobecker@adacore.com>
5191
5192         * ser-mingw.c (ser_windows_open): Use proper type when casting
5193         in call to _open_osfhandle.
5194
5195 2009-01-09  Kai Tietz  <kai.tietz@onevision.com>
5196
5197         * coff-pe-read.c (read_pe_exported_syms): Fix typo.
5198
5199 2009-01-09  Joel Brobecker  <brobecker@adacore.com>
5200
5201         * CONTRIBUTE: Minor reformatting.
5202
5203 2009-01-08  Kai Tietz  <kai.tietz@onevision.com>
5204
5205         * MAINTAINERS: Add myself to Write After Approval.
5206         * coff-pe-read.c (read_pe_exported_syms): Enable read of PE+
5207         export directory.
5208
5209 2009-01-08  Nathan Froyd  <froydnj@codesourcery.com>
5210
5211         * remote-sim.c (gdb_os_error): Mark as a noreturn function.
5212         Call exit to make it obvious to GCC.
5213
5214 2009-01-08  Tom Tromey  <tromey@redhat.com>
5215
5216         PR breakpoints/9350:
5217         * varobj.c (varobj_invalidate): Unconditionally free
5218         all_rootvarobj.
5219         * symfile.c (syms_from_objfile): Free local_addr when returning
5220         normally.
5221         * exec.c (exec_file_attach): Do cleanups before returning.
5222         (exec_file_command): Likewise.
5223         * corefile.c (reopen_exec_file): Do cleanups before returning.
5224         * breakpoint.c (insert_breakpoint_locations): Do cleanups before
5225         returning.
5226         (do_vec_free): New function.
5227         (update_global_location_list): Make a cleanup for old_locations.
5228         Do cleanups before returning.  Remove unused variable 'e'.
5229         (find_condition_and_thread): Free result of parsing the
5230         expression.
5231         (print_it_typical): Do cleanups before returning.
5232         (breakpoint_re_set_one): Always free sals.sals.
5233
5234 2009-01-08  Joel Brobecker  <brobecker@adacore.com>
5235             Emi Suzuki  <emi-suzuki@tjsys.co.jp>
5236
5237         * breakpoint.c (do_enable_breakpoint): Use update_watchpoint for
5238         watchpoints.
5239
5240 2009-01-07  Doug Evans  <dje@google.com>
5241
5242         * top.c (gdb_prompt_string): Delete, unused.
5243
5244 2009-01-07  Pedro Alves  <pedro@codesourcery.com>
5245
5246         Delete ONE_PROCESS_WRITETEXT leftovers.
5247
5248         * breakpoint.c (insert_bp_location): Delete process_warning
5249         argument.  Adjust.
5250         (insert_breakpoint_locations): Adjust.
5251         (reattach_breakpoints): Adjust.
5252         * infrun.c (normal_stop): Drop "It might be running in another
5253         process" notice.
5254
5255 2009-01-07  Stan Shebs  <stan@codesourcery.com>
5256
5257         * config/pa/linux.mh (XDEPFILES): Remove.
5258
5259 2009-01-07  Doug Evans  <dje@google.com>
5260
5261         * cli/cli-cmds.c (set_debug): Fix cut-n-paste error.
5262
5263 2009-01-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
5264
5265         * f-typeprint.c (f_type_print_base <TYPE_CODE_STRUCT>): Fix output
5266         spacing, a regression from 2008-04-22.
5267
5268 2009-01-07  Joel Brobecker  <brobecker@adacore.com>
5269
5270         * utils.c (gdb_print_host_address): Adjust implementation to
5271         reuse host_address_to_string. Move comment explaining the conversion
5272         from host address to string from here...
5273         (host_address_to_string): ... to there.
5274
5275 2009-01-07  Emi Suzuki  <emi-suzuki@tjsys.co.jp>
5276
5277         * MAINTAINERS: Add myself for write after approval privileges.
5278
5279 2009-01-06  Tom Tromey  <tromey@redhat.com>
5280
5281         * value.c (set_internalvar): Use value_free, not xfree.
5282
5283 2009-01-06  Jim Blandy  <jimb@red-bean.com>
5284
5285         Check return values of functions declared with warn_unused_result
5286         attribute in GLIBC 2.8.
5287         * cli/cli-cmds.c (pwd_command): Check return value from getcwd.
5288         * inflow.c (check_syscall): New function.
5289         (new_tty): Use check_syscall to check return values from open and dup.
5290         * linux-nat.c (linux_nat_info_proc_cmd): Check return value from fgets.
5291         * main.c (captured_main): Call cwd after setting up gdb_stderr;
5292         check for errors from getcwd.
5293         * mi/mi-cmd-env.c (mi_cmd_env_pwd): Check return value from getcwd.
5294         * ui-file.c (stdio_file_write): Ignore return value from fwrite.
5295         (stdio_file_fputs): Same.
5296         * utils.c (internal_vproblem): abort if last-ditch error message
5297         write fails.
5298
5299         * top.c (gdb_init): Don't set the current directory here; that's
5300         already been done in captured_main.
5301
5302 2009-01-06  Sandra Loosemore  <sandra@codesourcery.com>
5303
5304         * ser-tcp.c: Adjust includes.
5305         (tcp_set_cmdlist, tcp_show_cmdlist): Declare.
5306         (tcp_auto_retry, tcp_retry_limit): Declare.
5307         (TIMEOUT): Remove, in favor of tcp_retry_limit.
5308         (POLL_INTERVAL): Increase to 5, in favor of backoff logic.
5309         (wait_for_connect): New function.
5310         (net_open): Use it.  Add auto-retry logic.
5311         (set_tcp_cmd, show_tcp_cmd): New functions.
5312         (_initialize_ser_tcp): Initialize new "set/show tcp auto-retry"
5313         and "set/show tcp connect-timeout" commands.
5314         * NEWS: Document new commands.
5315
5316 2009-01-05  Tom Tromey  <tromey@redhat.com>
5317
5318         * python/python-internal.h (Py_ssize_t): Define as int.
5319
5320 2009-01-05  Jim Blandy  <jimb@red-bean.com>
5321
5322         * MAINTAINERS: Fix my e-mail address as steering committee member.
5323
5324 2009-01-03  Joel Brobecker  <brobecker@adacore.com>
5325
5326         Updated copyright notices for most files.
5327
5328 2009-01-03  Joel Brobecker  <brobecker@adacore.com>
5329
5330         * top.c (print_gdb_version): Update copyright year.
5331
5332 2009-01-03  Joel Brobecker  <brobecker@adacore.com>
5333
5334         * config/djgpp/fnchange.lst: Add entry for ChangeLog-2008.
5335
5336 2009-01-01  Pedro Alves  <pedro@codesourcery.com>
5337
5338         PR breakpoints/9681:
5339         * exceptions.h (enum errors): New error type, MEMORY_ERROR.
5340         * corefile.c (memory_error): Rewrite to throw a MEMORY_ERROR.
5341         * breakpoint.c (fetch_watchpoint_value): Ignore MEMORY_ERRORs, but
5342         retrow all other exceptions.
5343
5344 For older changes see ChangeLog-2008.
5345 \f
5346 Local Variables:
5347 mode: change-log
5348 left-margin: 8
5349 fill-column: 74
5350 version-control: never
5351 coding: utf-8
5352 End: