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
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
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,
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
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
56 * top.c (kill_or_detach): Don't try to kill core inferiors.
57 (quit_target): Don't check for target_has_execution.
59 * corelow.c (core_has_memory, core_has_stack, core_has_registers):
61 (init_core_ops): Install core_has_memory, core_has_stack and
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
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.
97 * linux-nat.c (linux_nat_xfer_partial): If reading memory, and
98 there's no inferior selected, defer to a lower stratum.
102 * varobj.c (update_dynamic_varobj_children): Wrap error text in
104 (install_visualizer): Likewise.
105 (varobj_set_visualizer): Likewise.
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.
115 * corelow.c (core_open): Check for core_gdbarch before calling
116 gdbarch_target_signal_from_host.
120 * c-exp.y (parse_number): Don't use K&R definition.
126 * varobj.c (varobj_update): Fix out of scope varobjs to not to change.
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.
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.
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.
166 * symfile.c (reread_symbols): Reset psymtabs_addrmap to NULL
167 after discarding its contents.
171 * target.c: Include "exec.h".
172 (update_current_target): Don't inherit to_sections or
174 (target_get_section_table): New.
175 (target_section_by_addr): Fetch the section table from the passed
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>:
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
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
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
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
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
238 * infrun.c (handle_inferior_event): Update comments around
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.
251 * value.h (struct internalvar): Remove.
252 (get_internalvar_integer): Add prototype.
253 (set_internalvar_integer): Add prototype.
254 (clear_internalvar): Add prototype.
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.
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.
277 * printcmd.c (x_command): Call clear_internalvar instead of
279 * tracepoint.c (set_traceframe_context): Likewise.
281 * breakpoint.c (get_number_trailer): Call get_internalvar_integer
282 instead of value_of_internalvar.
283 * linespec.c (decode_dollar): Likewise.
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.
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
296 (evaluate_exp): Pass expression architecture to scm_lookup_name.
298 (scm_get_field): Add SIZE parameter. Use it instead of
299 TYPE_LENGTH (builtin_type_scm).
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.
307 * scm-exp.c (scm_lreadr): Use per-architecture builtin_scm_type
308 instead of builtin_type_scm.
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.
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.
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):
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.
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.
350 (_initialize_mdebugread): Do not initialize mdebug_type_ variables.
351 Initialize basic_type_data.
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.
361 * valarith.c (value_binop): Pass desired result type length
366 * configure.tgt (avr): Set gdb_sim to use the simulator.
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.
376 * mi/mi-interp.c (mi_on_resume): Initialize `count' to 0.
380 * i386-tdep.c (i386_go32_init_abi): Use SVR4 register numbering
381 for stabs and COFF debug info.
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
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).
399 * python/python.c (gdbpy_parameter): Rename. Fix error message.
400 (GdbMethods): Change "get_parameter" to "parameter".
405 * configure.ac (!have_libpython): Add python-prettyprint source
407 * configure: Regenerate.
408 * python/python-prettyprint.c: Move "#ifdef HAVE_PYTHON" before
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
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):
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
451 (c_value_of_variable): Update.
452 (varobj_invalidate): Always free all_rootvarobj.
453 * python/python-prettyprint.c (apply_varobj_pretty_printer): New
455 (gdbpy_get_varobj_pretty_printer): Likewise.
456 (gdbpy_default_visualizer): Likewise.
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):
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
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
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.
503 * mi/mi-main.c (mi_cmd_data_evaluate_expression): Use
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
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
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.
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.
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.
638 * infrun.c (follow_exec): Clear the stop_requested flag.
639 * linux-nat.c (linux_handle_extended_wait) <PTRACE_EVENT_EXEC>:
644 * nto-procfs.c (get_regset): Pass correct pointer.
648 * dwarf2read.c (follow_die_ref): Add comment.
649 (dwarf2_mark_helper): Tweak comment.
650 (dwarf2_mark): Move description to its proper place.
654 * procfs.c (procfs_wait): Add options parameter.
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.
663 * infrun.c (follow_fork): Initialize new step_* locals
664 to avoid "may be used uninitialized" warnings.
668 * inflow.c (copy_terminal_info): Deep copy `run_terminal'.
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
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
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,
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.
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.
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.
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
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.
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):
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.
759 Remove already unreachable code.
760 * varobj.c (varobj_get_handle): Fix comment when error is called.
765 * README (`configure' options): Document GDB-specific options to
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.
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.
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
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.
810 Add sys_fcntl argument interfaces to linux_record_tdep.
812 * linux-record.h (linux_record_tdep): Add fcntl_F_GETLK,
813 fcntl_F_GETLK64, fcntl_F_SETLK64 and fcntl_F_SETLKW64 to be
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
825 * linux-record.c (record_linux_system_call): Fix the process
826 record build error about type in CYGWIN.
830 * inflow.c (kill_command): Delete left over static declaration.
834 * bfd-target.c: Don't include gdb_assert.h or gdb_string.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
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.
857 * aix-thread.c (init_aix_thread_ops): Whitespace.
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.
867 * aix-thread.c (aix_thread_wait): Add options parameter. Use it
868 to call the to_wait method in the target_beneath.
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
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
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
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
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.
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
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.
937 * mi/mi-interp.c (mi_on_resume): Account for whole process
942 * m2-exp.y (MAX_FUNC): Fix trailing UNOP_MAX.
946 * dwarf2read.c (set_cu_language): Recognize also DW_LANG_C99.
950 Fix parsing DW_AT_const_value using DW_FORM_string.
951 * dwarf2read.c (dwarf2_const_value <DW_FORM_string>): New.
955 * aix-thread.c (giter_count): Do not count the main thread.
956 (giter_accum): Do not include the main thread.
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.
967 * inflow.c (kill_command): Moved to infcmd.c.
968 (_initialize_inflow): Don't add the "kill" command or clear
970 * infcmd.c (kill_command): Moved here from inflow.c.
971 (_initialize_infcmd): Add the "kill" command here.
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
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
991 * linux-nat.c: Include terminal.h.
992 (linux_child_follow_fork): Copy the parent's terminal info to the
994 * inf-ttrace.c: Include terminal.h.
995 (inf_ttrace_follow_fork): Copy the parent's terminal info to the
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.
1018 * objc-lang.c (find_methods): Plug a small memory leak.
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
1030 (locate_base, solib_svr4_r_map, solib_svr4_r_brk)
1031 (solib_svr4_r_ldsomap): Add svr4_info argument. Adjust to
1033 (open_symbol_file_object): Adjust to per-inferior svr4.
1034 (svr4_default_sos, svr4_current_sos, svr4_fetch_objfile_link_map):
1036 (enable_break): Add svr4_info argument. Adjust to per-inferior
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
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.
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.
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
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
1094 (linux_nat_stop): Adjust to make iterate_over_lwps itself do the
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):
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
1124 (try_thread_db_load_1): Replace `handle' parameter by a
1125 thread_db_info parameter. Adjust to use per-inferior thread-db
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
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
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
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
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
1165 * ada-lang.c (ada_find_any_type): Move check for primitive types ...
1166 (to_fixed_range_type): ... to here.
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.
1180 * ada-valprint.c (ada_val_print_1): Use val_print_string to print
1181 result of ada_vax_float_print_function inferior call.
1185 * ada-lang.c (ada_coerce_to_simple_array_type): Reimplement to
1186 avoid creating a dummy value.
1190 * p-valprint.c (pascal_val_print): Use extract_typed_address
1191 to extract reference value.
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.
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.
1216 * corelow.c (core_open): Flush the register cache before doing
1217 anything with registers.
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):
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
1233 (terminal_init_inferior_with_pgrp): Adjust to per-inferior
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
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
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.
1259 * infrun.c (handle_inferior_event): When handling a
1260 TARGET_WAITKIND_FORKED, detach breakpoints from the fork child
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.
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
1276 * infrun.c (pending_follow): Remove mention of exec events.
1280 * i386-tdep.c (i386_process_record): Make it extern.
1281 (i386_gdbarch_init): Don't call set_gdbarch_process_record
1283 * i386-tdep.h (i386_process_record): Declare.
1284 * i386-linux-tdep.c (i386_linux_init_abi): Call
1285 set_gdbarch_process_record.
1289 Always report varobj as changed when in_scope attribute changes.
1291 * varobj.c (install_new_value): If non-NULL-ness of value
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.
1316 * MAINTAINERS: Update my email address.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
1401 * MAINTAINERS: Add Jon Beniston to write after approval list.
1405 * objc-lang.c (objc_objfile_data): New variable.
1406 (find_methods): Skip objfiles without Obj-C methods.
1407 (_initialize_objc_lang): New function.
1411 * c-lang.c (print_wchar): Remove unnecessary cast.
1415 * MAINTAINERS: Remove self as m32c target maintainer.
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'.
1432 * c-lang.c (print_wchar): Convert w into a gdb_wchar_t before
1433 pushing it on the output obstack.
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.
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
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.
1502 Unify target macros.
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.
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.
1533 * src/gdb/target.h: Remove all tests for already defined
1534 macros. All macros defined here should not be set in config
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.
1556 * linux-nat.c (linux_xfer_siginfo): Delete unused locals lp, n.
1560 * MAINTAINERS (Write After Approval): Add self.
1564 * gdbarch.h (target_gdbarch): Add comment documenting this global.
1568 * acinclude.m4 (AM_ICONV): Prefer in-tree libiconv if present over
1570 * configure: Regenerate.
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
1581 * inferior.c (add_inferior): Move observer_notify_new_inferior
1583 (add_inferior_silent): ... here.
1588 * procfs.c (procfs_insert_watchpoint, procfs_remove_watchpoint)
1589 (procfs_region_ok_for_hw_watchpoint, procfs_use_watchpoints): New
1591 (procfs_stopped_by_watchpoint): Made static, ptid argument
1593 (_initialize_procfs): Register new watchpoint related target
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
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
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
1614 * i386-tdep.c (i386_process_record): Change bzero to memset.
1618 * NEWS: Add item for process record and replay.
1622 * xtensa-tdep.c (xtensa_frame_cache): Use pc instead of cache->pc.
1626 * inferior.h (read_pc, write_pc): Remove.
1627 * regcache.c (read_pc, write_pc): Remove.
1629 * infrun.c (displaced_step_fixup): Use regcache_read_pc instead
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.
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
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.
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.
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.
1669 * solib-darwin.c: Include "regcache.h".
1670 * solib-pa64.c: Include "regcache.h".
1671 * solib-svr4.c: Include "regcache.h.".
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.
1680 * fork-child.c (startup_inferior): Move setting stop_pc ...
1681 * infcmd.c (post_create_inferior): ... to here.
1685 * NEWS: Add item for reverse debugging commands.
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
1693 (go32_mourn_inferior): Inline go32_stop and go32_kill_inferior
1695 (init_go32_ops): Don't register go32_stop.
1699 * dbxread.c (read_dbx_symtab): Avoid compiler warnings for
1702 * infcall.c (find_function_addr): Avoid compiler warnings for
1707 * dictionary.c (dict_hashed_vector, dict_hashed_expandable_vector)
1708 (dict_linear_vector, dict_linear_expandable_vector): Fix a comment typo.
1712 * linux-thread-db.c (thread_db_pid_to_str): Delete unused assignment
1717 * record.c (_initialize_record): Reformat and clarify doc strings
1718 for stop-at-limit and insn-number-max.
1720 * go32-nat.c: Add comments about dirty secrets of DJGPP debugging.
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.
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.
1740 * i386-tdep.c (i386_go32_init_abi): Override the number of
1741 registers due to non-support of SSE.
1745 * configure.tgt: Link the moxie simulator in with gdb.
1749 * elfread.c (elf_symtab_read): Don't assume .data and .rodata
1755 I386 Linux process record and replay support.
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".
1770 I386 architecture process record and replay support.
1772 * i386-tdep.c (PREFIX_REPZ, PREFIX_REPNZ, PREFIX_LOCK,
1773 PREFIX_DATA, PREFIX_ADDR): New macros. Help decode the i386
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
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.
1800 Linux process record and replay support.
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.
1811 Process record and replay target.
1813 * Makefile.in (SFILES): Add record.c.
1814 (COMMON_OBS): Add record.o.
1815 * record.c, record.h: New file.
1820 * target.h (strata): New stratum "record_stratum".
1825 GDBARCH interface for process record and replay.
1827 * gdbarch.sh (process_record): This interface point to the
1828 function that records the inferior execute log.
1832 * i386-nat.c (child_post_startup_inferior): Delete, unused.
1836 * breakpoint.c (print_exception_catchpoint): Access `b' directly
1837 instead of `b->loc->owner'.
1838 (print_mention_exception_catchpoint): Ditto.
1842 * macrocmd.c (info_macro_command): Print -Dname=value if LINE is zero.
1846 * c-exp.y (yylex): Handle '[' and ']' like '(' and ')'.
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.
1857 * main.c (captured_main): Move gdbinit lookups after gdb_init.
1862 * dwarf2read.c (unsigned_int_compar, inherit_abstract_dies): New.
1863 (read_func_scope): Call inherit_abstract_dies.
1867 * Makefile.in (ALLDEPFILES): Remove duplicate entries for
1868 sparc-sol2-nat.c and sparc-sol2-tdep.c.
1870 * stack.c (_initialize_stack) <disassemble-next-line>: Doc fix.
1874 ARI change: Use "/* ARI: rule */" pattern.
1875 * utils.c: Update ARI patterns.
1876 * gdb_dirent.h: Likewise.
1880 * MAINTAINERS: Add moxie target.
1881 * configure.tgt: Add moxie-*-elf target.
1882 * moxie-tdep.c: New file.
1883 * moxie-tdep.h: New file.
1887 * ada-lang.c: Remove an extra empty line. No code change.
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.
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.
1915 * ada-tasks (task_command_1): Call target_find_new_threads.
1919 * stack.c (do_gdb_disassembly): Print the exception message if an
1920 error was thrown while trying to perform the disassembly.
1924 * varobj.c (free_variable): Replace free_current_contents by xfree.
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.
1937 * stack.c (_initialize_stack): Set the default of
1938 disassemble-next-line to off.
1942 * acinclude.m4: Use AS_HELP_STRING, not AC_HELP_STRING.
1943 * configure.ac: Use AS_HELP_STRING, not AC_HELP_STRING.
1947 * configure.ac: Add quotes to not lose brackets in help text.
1948 * configure: Rebuild.
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.
1961 * configure.ac (--with-datarootdir, --with-docdir, --with-pdfdir,
1962 --with-htmldir): New.
1963 * configure: Regenerate.
1967 * configure: Rebuild.
1968 * configure.ac: Use lower case for start of help strings. Clean
1969 up --with-sysroot help.
1973 * configure: Rebuild.
1974 * acinclude.m4 (AM_ICONV): Use AC_HELP_STRING.
1975 * configure.ac: Use AC_HELP_STRING. Use upper case for variables
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.
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.
1998 * gnu-nat.h (proc_debug): Add missing continuation line in macro.
2002 * NEWS: Mention MIPS/Linux hardware watchpoint support.
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):
2014 (watch_readback_valid, watch_readback, current_watches, watch_mirror):
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.
2030 * infrun.c (handle_inferior_event): Move gegisters_changed call down.
2034 * NEWS: Mention gdbserver support for x86 Windows CE.
2038 * config/djgpp/fnchange.lst: Fix typos.
2040 Set default host and target charsets in the DJGPP port.
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.
2046 * go32-nat.c (dos_codepage, nl_langinfo): New functions.
2049 * config/djgpp/nl_types.h: New file.
2051 * config/djgpp/langinfo.h: New file.
2053 * config/i386/go32.mh (MH_CFLAGS): Add $(srcdir)/config/djgpp.
2057 * Makefile.in (MAKEHTML): Set to makeinfo --html.
2058 (MAKEHTMLFLAGS): Set to empty.
2062 * NEWS: Mention all new set/show commands added since GDB 6.8 was
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.
2071 * charset.c (_initialize_charset): Add special case for "646".
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.
2083 ARI fix: Do not use %p, replace by call to host_address_to_string
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.
2096 * configure.tgt (i[34567]86-*-linux*): Use 64-bit configuration if
2097 --enable-64-bit-bfd.
2098 (sparc-*-linux*): Likewise.
2102 * go32-nat.c (go32_sysinfo): Update list of Windows versions of
2107 * remote.c (remote_query_attached): Fix pasto in packet_ok result
2112 * procfs.c (solib_mappings_callback, find_memory_regions_callback):
2113 Revert the previous change. Might not be correct, actually.
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.
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.
2130 * ada-lang.c (symtab_for_sym): Delete.
2131 (user_select_syms): Use sym->symtab instead of calling symtab_for_sym.
2135 * ada-lang.c (extract_string): Delete.
2136 (ada_main_name): Reimplement using target_read_string instead of
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.
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.
2154 (_initialize_charset): Use xstrdup.
2155 * gdb_wchar.h: Check HAVE_BTOWC. Split PHONY_ICONV and wchar
2157 (INTERMEDIATE_ENCODING): New define.
2158 * configure, config.in: Rebuild.
2159 * configure.ac: Check for btowc.
2163 * c-lang.c (evaluate_subexp_c): Correctly handle EVAL_SKIP.
2167 * utils.c (parse_escape): Initialize target_char to pacify GCC.
2171 * c-lang.c (c_get_string): Fix xfree crash on a failed string read.
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.
2185 * target.c (target_mourn_inferior): Call bfd_cache_close_all
2186 after having executed the target mourn_inferior routine.
2190 * config/djgpp/djconfig.sh (DEPDIR): Define to "_deps", if
2195 * infrun.c (maybe_software_singlestep): New function.
2196 (resume): Call maybe_software_singlestep.
2197 (handle_inferior_event): Same.
2201 * python/python-frame.c (frapy_richcompare): Return
2202 Py_NotImplemented, not an error. Handle Py_NE as well.
2206 * charset.c (EILSEQ): Define if not defined by system headers.
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.
2213 * go32-nat.c (go32_attach, go32_detach): Fix prototypes to be
2214 consistent with the change from 2008-11-09.
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.
2224 Implement -exec-jump.
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.
2232 * symfile.c (symbol_file_clear): Fix indentation.
2236 * sparc64nbsd-nat.c (sparc64nbsd_supply_pcb): Fix comment.
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.
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.
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.
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.
2267 Change the default value for "set print frame-arguments" to scalars.
2269 * stack.c (print_frame_arguments): Set initial value to "scalars".
2273 * mips-tdep.c (mips_numeric_register_alieses): New definition.
2274 (mips_gdbarch_init): Add user registers from
2275 mips_numeric_register_aliases.
2279 * linux-nat.c (linux_nat_filter_event): Minor comment reformatting.
2283 * linux-nat.c (linux_nat_filter_events): Do not delete the lwp if
2284 this is the last one.
2288 * remote.c (append_resumption): New.
2289 (remote_vcont_resume): Use it.
2293 * windows-nat.c (+windows_get_ada_task_ptid): New function.
2294 (init_windows_ops): Set windows_ops.to_get_ada_task_ptid.
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
2312 * cp-name-parser.y: operator() requires two parameters,
2313 according to libiberty.
2314 * minsyms.c (lookup_minimal_symbol): Canonicalize input
2320 Provide support for (Ada) task-specific breakpoints.
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.
2337 * ada-tasks.c (short_task_info): Eliminate the "Running" task state.
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.
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.
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
2381 (enable_trace_command): Move here from tracepoint.c and call
2383 (disable_trace_command): Move here from tracepoint.c and call
2385 (delete_trace_command): Move here from tracepoint.c and call
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.
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'
2438 * stack.c (find_frame_funname): New function, factored out of
2440 (print_frame): Call find_frame_funname.
2441 * stack.h (find_frame_funname): Add prototype.
2445 Remove unused value_object attribute `owned_by_gdb'.
2446 * python/python-value.c (value_object): Remove owned_by_gdb
2448 (valpy_dealloc): Remove reference to self->owned_by_gdb.
2449 (valpy_new): Likewise.
2450 (value_to_value_object): Likewise.
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.
2467 * observer.sh: Set LANG/LC_ALL to C, not c.
2471 * mn10300-tdep.c (mn10300_gdbarch_init): For mn10300, by default,
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",
2482 * inf-loop.c (inferior_event_handler): Avoid calling is_running on
2487 * config/djgpp/fnchange.lst: Update to fix ARI-reported problems.
2491 * thread.c (do_restore_current_thread_cleanup): Redo test for
2492 whether to restore old->inferior_ptid.
2496 * breakpoint.c (resolve_sal_pc): Preserve original line number
2497 when skipping prologue.
2501 * thread.c (inferior_thread) Remove "extern" in definition.
2505 Add gdb.Value.is_optimized_out attribute.
2506 * python/python-value.c (valpy_get_is_optimized_out): New
2508 (value_object_getset): New variable.
2509 (value_object_type): Initialize tp_getset element.
2513 Recognize missing DW_AT_location as <value optimized out>.
2515 (new_symbol <DW_TAG_variable> <!DW_AT_location> <!DW_AT_external>):
2516 Call add_symbol_to_list.
2520 * gdbtypes.h (CHECK_TYPEDEF): Don't yield a value.
2521 * stack.c (print_this_frame_argument_p): Use check_typedef.
2525 * configure: Rebuild.
2526 * acinclude.m4 (AM_ICONV): Set am_cv_use_build_libiconv.
2527 Rearrange flags setting. Add comments.
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
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.
2543 ARI fix: "xasprintf" rule.
2544 * printcmd.c (sym_info): Replace xasprintf by xstrprintf.
2548 * remote.c (remote_start_remote): In non-stop mode, call
2549 init_wait_for_inferior before adding threads and inferiors.
2553 * breakpoint.c (breakpoint_thread_match): Split a large condition
2554 into several smaller conditions. No behavior change.
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
2562 * mi/mi-interp.c (mi_thread_exit): Add "silent" parameter. If
2563 SILENT, return immediately.
2567 * infrun.c (normal_stop): Use has_stack_frames instead of
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
2588 (has_stack_frames): Return false if there is no valid
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):
2597 * stack.c (get_selected_block): Use has_stack_frames.
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.
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
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
2627 (mn10300_frame_unwind_init): Don't call frame_base_set_default().
2631 Fix completer problem for filename completion on the first try.
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
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.
2649 ARI fix: "strlen d_name" rule.
2650 * linux-nat.c (linux_nat_xfer_osdata): Use NAMELEN macro.
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):
2663 (INTERNAL_CFLAGS_BASE): Update.
2664 (INTERNAL_LDFLAGS): Update.
2669 * configure.ac: Initialize the variable $PREFER_CURSES.
2670 * configure: Regenerated.
2674 * configure.ac: Enable $PREFER_CURSES even with default $ENABLE_TUI.
2675 * configure: Regenerated.
2679 ARI fix: "strerror" rule.
2680 * darwin-nat.c (darwin_ptrace): Use safe_strerror.
2681 (darwin_stop_inferior, darwin_attach, darwin_detach): Ditto.
2685 * ada-exp.y (get_symbol_field_type): Make sure to resolve typedefs
2686 before looking up the fields inside our struct type.
2690 * ada-lang.c (resolve_subexp) [UNOP_QUAL]: Resolve typedefs before
2691 trying to resolve the type qualification.
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.
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
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.
2713 * ada-lang.c (ada_get_field_index): Add handling of the case
2714 when TYPE is a typedef of a struct.
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.
2728 * buildsym.c (end_symtab): If we ignore the subfiles, then
2729 unlink the associated symtabs if they were already allocated.
2733 Provide a way to force building of GDB with libcurses.
2734 * configure.ac: Add --with-curses.
2735 * configure: Regenerated.
2739 * dwarf2expr.c (execute_stack_op) <DW_OP_GNU_uninit>: Fix typo in
2744 * breakpoint.c (disable_breakpoints_in_unloaded_shlib): Use
2745 solib_contains_address_p instead of searching.
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.
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.
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.
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
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.
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
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
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.
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.
2864 * symfile.c (symfile_relocate_debug_section): Remove check for
2872 Miscellaneous fixes to the Python code.
2873 * python/python-cmd.c (cmdpy_init): Accept keyword
2875 * python/python-value.c (valpy_string): Accept keyword
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
2881 (convert_value_from_python): Return a copy of the value if obj is
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
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
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.
2927 * c-lang.c (evaluate_subexp_c): Call check_typedef.
2932 PR i18n/7220, PR i18n/7821, PR exp/8815, PR exp/9103,
2933 PR i18n/9401, PR exp/9613:
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.
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.
2971 (get_string_literal): Handle unicode strings. Use
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
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
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
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'.
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>:
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
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
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):
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):
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.
3146 * dwarf2read.c (process_die): Handle DW_TAG_typedef.
3147 * eval.c (evaluate_subexp_standard) <OP_TYPE>: Strip a single
3149 * ada-lang.c (decode_packed_array_type): Call CHECK_TYPEDEF on the
3151 * ada-typeprint.c (print_array_type): Do the NULL check
3156 * utils.c (do_obstack_free): New function.
3157 (make_cleanup_obstack_free): Likewise.
3158 * defs.h (make_cleanup_obstack_free): Declare.
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.
3166 * expprint.c (dump_raw_expression): Print note if non-NULL.
3168 * printcmd.c (display_uses_solib_p): Redo loop, scan element list
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.
3194 * remote.c (remote_close): Don't call generic_mourn_inferior.
3195 (remote_mourn_1): Call generic_mourn_inferior after closing the
3200 * remote.c (remote_start_remote): Add missing call to
3201 init_wait_for_inferior in non-stop mode.
3205 * breakpoint.c (bpstat_should_step): Only consider software
3206 watchpoints that have a location.
3210 Add a target_ops parameter to the to_kill method in struct target_ops.
3212 * target.h (struct target_ops): Add a "target_ops *" parameter to
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
3227 * amd64-linux-nat.c (si_timerid,si_overrun): Provide definition for
3228 glibc 2.3.2 and earlier.
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.
3238 * stack.c: Change the introduce of "disassemble-next-line".
3242 * mi/mi-main.h (mi_print_timing_maybe): Add strict prototype,
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
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.
3271 * infrun.c (normal_stop): Don't overwrite old_chain.
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.
3281 * remote-mips.c (mips_mourn_inferior): Add missing ops parameter.
3282 (mips_create_inferior): Likewise.
3286 * go32-nat.c (go32_create_inferior): Add missing ops parameter.
3290 * darwin-nat.c (darwin_resume): Fix a compiler warning when
3291 building on x86_64-darwin.
3295 * configure.tgt: Add handling for x86_64-darwin.
3299 * auxv.c (fprint_target_auxv): New TAG for AT_RANDOM.
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.
3310 Fix an error happening while loading symbols from a core file
3313 * rs6000-nat.c (xcoff_relocate_symtab): Use target_has_execution
3314 to detect whether we're debugging a core file or not.
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.
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.
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.
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"
3355 * symtab.c (lookup_symbol_in_language): Use a cleanup.
3359 * exceptions.h: Clean up some comments on catch_exceptions usage.
3360 * exceptions.c: Ditto. Plus mark catch_errors as superseded by
3365 The following patch helps getting rid of a warning inside solib-som.c.
3367 * source.c (source_full_path_of): Constify parameter filename.
3368 * defs.h (source_full_path_of): Update declaration accordingly.
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.
3378 * ada-lang.c (ada_evaluate_subexp) <BINOP_DIV>: make sure to
3379 promote the operands when noside is EVAL_AVOID_SIDE_EFFECTS.
3383 * ada-tasks.c (ada_task_is_alive): Move up and make static.
3384 * ada-lang.h (ada_task_is_alive): Remove declaration.
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.
3394 * language.c (lang_bool_type): Set lai->bool_type_symbol to NULL.
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.
3404 Fix crash printing packed record with packed array.
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.
3415 Fix segfault when printing short_integer'last.
3417 * ada-lang.c (ada_find_any_type): Search in the primitive types
3418 if a symbol could not be found.
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.
3428 Fix a build failure on Darwin following some changes in
3429 the profile of some target_ops methods.
3431 * darwin-nat.c (darwin_kill_inferior): Add target_ops parameter
3433 (darwin_stop_inferior, darwin_detach): Likewise.
3437 Include token in ^running notification for CLI commands.
3439 * mi/mi-main.c (mi_execute_command): Set current_token here.
3440 (mi_cmd_execute): Do not set current_token here.
3446 * mi/mi-main.c (mi_print_timing_maybe): New.
3447 (captured_mi_execute_command): Simplify. Output timings to
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.
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.
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.
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.
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
3478 * disasm.c (gdb_disassembly): Remove unused argument
3480 * disasm.h (gdb_disassembly): Ditto.
3481 * cli/cli-cmds.c (print_disassembly): Ditto.
3482 * mi/mi-cmd-disas.c (mi_cmd_disassemble): Ditto.
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.
3493 * varobj.c (free_variable): Call value_free.
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.
3506 * solib.c (reload_shared_libraries): Give
3507 inferior a chance to reset solib breakpoint.
3512 * windows-nat.c (dr): Redefine to use largest possible integer which
3514 (cygwin_set_dr): Avoid coercion.
3518 * windows-nat.c (windows_create_inferior): Implement --tty handling on
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.
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.
3542 Implement the target-specific part of Ada tasking support
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.
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".
3561 * dec-thread.c (dec_thread_get_regsets, dec_thread_set_regsets):
3562 Fix a copy/paste error in a few debug traces...
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.
3570 * breakpoint.c (check_duplicates_for): Skip permanent breakpoints
3571 duplicates of permanent breakpoints.
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.
3593 * infcmd.c (registers_info): Remove register number case.
3597 * top.c (quit_target): Check for target_has_execution before
3598 killing or detaching from inferiors.
3602 Remove some unused routines.
3604 * ada-lang.c (is_suppressed_name, ada_suppress_symbol_printing):
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):
3613 * symtab.c: Remove trailing whitespace throughout the file.
3614 (expand_line_sal): Fix some typos and whitespace.
3616 * Makefile.in (clean): rm -f $(DEPDIR)/*.
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.
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.
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.
3649 * valprint.c (read_string): Rework clean-up logic. Use
3650 free_current_contents to clean-up buffer.
3654 * MAINTAINERS: Update e-mail address.
3658 * python/python-utils.c (python_string_to_unicode): Always return
3660 (python_string_to_target_string): Decrement transient python
3662 (python_string_to_host_string): Likewise.
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.
3673 * breakpoint.c (insert_bp_location): Add \n to overlay breakpoint
3676 * breakpoint.c (disable_breakpoints_in_shlibs): Delete local
3677 disabled_shlib_breaks, unused.
3679 * printcmd.c (build_address_symbolic): Fix comment.
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
3710 Fix windows-nat.c compilation failure.
3712 * windows-nat.c (windows_thread_alive): Fix forward declaration.
3713 (get_windows_debug_event): Add ops parameter to call to windows_resume.
3717 * remote-sim.c (gdbsim_resume): Add target_ops* argument.
3721 * symtab.c (find_line_symtab): Initialize exact to avoid
3726 * i386-linux-nat.c (i386_linux_fetch_inferior_registers): Pass
3727 `ops' to recursive call.
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
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
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.
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
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.
3808 * gdbcore.h (core_ops): Delete declaration.
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.
3825 * gdbarch.sh (core_pid_to_str): New gdbarch callback.
3826 * gdbarch.h, gdbarch.c: Regenerate.
3828 * sol2-tdep.c: Include "inferior.h".
3829 (sol2_core_pid_to_str): New.
3830 * sol2-tdep.h (sol2_core_pid_to_str): Declare.
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.
3839 * exec.c (exec_file_attach): Fix comment.
3843 Silence a few -Wmissing-prototypes warnings.
3846 * alpha-linux-tdep.c (alpha_linux_regset_from_core_section): Make
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):
3871 * hppa-tdep.h (hppa_low_sign_extend, hppa_sign_extend): Delete
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
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
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.
3948 * xtensa-linux-tdep.c (_initialize_xtensa_linux_tdep): Declare.
3949 * xtensa-tdep.c (xtensa_skip_prologue, xtensa_derive_tdep): Make
3951 (_initialize_xtensa_tdep): Declare.
3955 Silence a few -Wmissing-prototypes warnings.
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
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
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
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
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):
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
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
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
4027 * tui/tui-disasm.c: Include "tui/tui-disasm.h".
4028 * tui/tui-interp.c (_initialize_tui_interp): Declare before
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
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
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.
4063 * ada-typeprint.c (ada_typedef_print): Remove. Unused.
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.
4075 * observer.c (observer_test_first_notification_function)
4076 (observer_test_second_notification_function)
4077 (observer_test_third_notification_function): Adjust prototype.
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
4086 (x86_64-*-dicos*): Add dicos-tdep.o and amd64-dicos-tdep.o to
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.
4096 * NEWS: Mention x86-64 DICOS target support.
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
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
4124 * gdbarch.sh (core_reg_section_encodes_pid): New gdbarch setting.
4125 * gdbarch.h, gdbarch.c: Regenerate.
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.
4134 Include frame information for *stopped due to CLI commands.
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
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,
4148 * xtensa-tdep.c (call0_analyze_prologue): Delete BSZ macro.
4149 Replace BSZ macro uses by XTENSA_ISA_BSZ macro.
4154 * dwarf2read.c (process_die <DW_TAG_module>, read_module)
4155 (scan_partial_symbols <DW_TAG_module>, add_partial_module): New.
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.
4166 Avoid NULL dereference.
4167 * stack.c (return_command): Guard use of SYMBOL_TYPE (thisfun).
4168 New variable func_type.
4172 * gdbarch.c: Regenerate.
4176 * p-lang.c (is_pascal_string_type): Fix comment.
4177 Determine exact size of char elements for GPC
4179 (pascal_printstr): Handle char width of 2 or 4.
4180 * p-valprint.c (pascal_val_print): Handle char
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
4191 (add_partial_namespace): Take NEED_PC argument and pass it through.
4192 (add_partial_subprogram): Take NEED_PC argument. Update the addrmap
4197 * NEWS: Mention inspecting extra signal information, $_siginfo,
4198 and the qXfer:siginfo:read and qXfer:siginfo:write packets.
4202 * linux-nat.c (PTRACE_SETSIGINFO): Define if PTRACE_GETSIGINFO
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
4220 (linux_nat_set_siginfo_fixup): New.
4221 * linux-nat.h (linux_nat_set_siginfo_fixup): Declare.
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
4244 * gdbarch.sh (get_siginfo_type): New.
4245 * gdbarch.h, gdbarch.c: Regenerate.
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.
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.
4268 * Makefile.in (ALL_TARGET_OBS): Add linux-tdep.o.
4269 (HFILES_NO_SRCDIR): Add linux-tdep.h.
4270 (ALLDEPFILES): Add linux-tdep.c.
4272 * configure.tgt (arm*-*-linux* | arm*-*-uclinux*)
4273 (i[34567]86-*-linux*, x86_64-*-linux*): Add linux-tdep.o to
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
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
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):
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.
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
4390 * python/python-cmd.c: New file.
4391 * python/python-internal.h (gdbpy_initialize_commands): Add
4393 (gdbpy_doc_cst): Add forward declaration.
4394 * python/python.c (gdbpy_doc_cst): Declare.
4395 (_initialize_python): Call gdbpy_initialize_commands. Initialize
4397 * symtab.c (make_symbol_completion_list_fn): New function.
4398 * symtab.h (make_symbol_completion_list_fn): Add prototype.
4402 * target.c (target_get_osdata): Check for equal or higher than
4403 process_stratum, not dummy_stratum.
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.
4415 * target.c (target_create_inferior, target_detach)
4416 (target_mourn_inferior, target_attach, target_close): Do target
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.
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.
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.
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.
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.
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.
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
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
4490 (read_string): New function.
4491 * valprint.h (read_string): New prototype.
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.
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
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
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'.
4551 * ada-lang.c (ada_template_to_fixed_record_type_1): Check size
4552 of type to guard against a crash.
4556 * value.c (value_from_contents_and_address): Always return
4557 a lval_memory value, even if address is null.
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
4566 (x86_darwin_init_abi_64): Ditto.
4570 * i386-tdep.c (i386_sigtramp_p): Make it public.
4571 * i386-tdep.h (i386_sigtramp_p): Declare.
4575 * machoread.c (macho_symfile_read): Read minsymtab also from
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
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.
4589 * solist.h (struct target_so_ops): Comment fallback behavior for
4594 * completer.c (add_struct_fields): Check type_name against NULL
4599 * MAINTAINERS: Update Elena's email address.
4603 * breakpoint (update_watchpoint): Minor comment adjustment.
4608 * completer.c (count_struct_fields): Count method names.
4609 (add_struct_fields): Add matching method names.
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.
4622 * valops.c (find_overload_match): Follow typedefs before taking
4623 address of object argument.
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
4635 (fetch_inferior_event): Ditto.
4639 * Makefile.in (HFILES_NO_SRCDIR): Remove i386-cygwin-tdep.h.
4644 * thread.c (do_captured_list_thread_ids): Report the current
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.
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.
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
4687 (print_gdb_help): Print location of init files.
4691 * corefile.c (generic_search): Delete disabled code.
4692 * gdbcore.h (generic_search): Delete declaration.
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.
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
4708 * stack.c (parse_frame_specification_1): Correct setting ``addrs''
4709 array values from the ``args'' array values.
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.
4721 Add "maint set|show internal-error|internal-warning quit|corefile
4722 ask|yes|no" commands.
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
4733 (add_internal_problem_command): New.
4734 (_initialize_utils): New.
4738 * infcmd.c (program_info): Use paddress instead of casting stop_pc
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.
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.
4758 * valprint.c (_initialize_valprint): Change the set input-radix
4759 and set output-radix commands to zuinteger type.
4764 * infrun.c (normal_stop): Tag threads as stopped, and run the
4765 hook-stop before printing the stack frame.
4770 * gnu-v3-abi.c (gnuv3_baseclass_offset): Call check_typedef on
4775 * gdb/procfs.c (info_mappings_callback): Cast map->pr_size to
4781 * infcmd.c (signal_command): Do not specify a resume PC.
4785 * dummy-frame.c (dummy_frame): Replace regcache member with
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
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):
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.
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.
4841 * gdbthread.h (finish_thread_state, finish_thread_state_cleanup):
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.
4852 * tui/tui-winsource.c (tui_update_breakpoint_info): In asm layout,
4853 skip breakpoints without a location (pending breakpoints).
4858 * hppa-hpux-tdep.c (hppa_hpux_write_pc): Remove 'return'.
4862 * thread.c (thread_command): Move call to annotate_thread_changed
4864 (do_captured_thread_select): ... here, to avoid printing an
4865 annotation if the thread change generates an exception.
4869 * NEWS: Document x86_64/MinGW as a new native configuration.
4873 * NEWS: Move the documentation of "info os processes" to
4874 the appropriate section (documenting the new commands).
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 *.
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.
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.
4906 * frame.c (get_frame_arch): Abort if called with NULL this_frame.
4910 * value.h (address_of_variable): Add prototype.
4911 (locate_var_value): Remove prototype.
4913 * findvar.c (read_var_value): Do not attempt to default 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.
4920 * eval.c (evaluate_subexp_for_address): Call address_of_variable
4921 instead of calling locate_var_value.
4922 (evaluate_subexp_with_coercion): Likewise.
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
4935 * cli/cli-script.h (show_user_1): Update prototype.
4939 * ser-mingw.c (console_select_thread): Add return to make
4941 (pipe_select_thread): Likewise.
4942 (file_select_thread): Likewise.
4946 * mi/mi-main.c (mi_cmd_execute): Clean up parenthesis mess from
4951 * remote.c (extended_remote_mourn_1): Invalidate our notion of
4952 current general thread.
4956 * mi/mi-main.c (mi_cmd_execute): Also allow -list-thread-groups
4957 without a live selected thread.
4961 Update the copyright notice of some of the files I missed
4962 in the previous copyright update.
4966 * windows-nat.c (handle_unload_dll): Use %p to print the DLL
4967 base address instead of casting it to DWORD.
4971 * dwarf2loc.c (dwarf2_evaluate_loc_desc): Do not call get_frame_arch
4972 for NULL frame pointers.
4976 * utils.c (host_address_to_string): Reimplement in a way that
4977 avoids the cast of the address to long.
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
4990 Abstract out common code for copying value locations.
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.
5002 * MAINTAINERS (GLOBAL MAINTAINERS): Add Tom Tromey.
5006 * amd64-windows-nat.c Rename gdb-specific win32_* to windows_*
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
5021 * config/djgpp/fnchange.lst: Add mappings for recently renamed windows
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.
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 ->
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 ->
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 ->
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 ->
5059 * config/i386/mingw.mh: Ditto.
5060 * config/i386/mingw64.mh: Ditto.
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.
5070 * gdbtypes.c (make_qualified_type, replace_type): Reformat to the GNU
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
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.
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
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.
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.
5114 * Makefile.in (init.c): Set LANG/LC_ALL to C, not c.
5118 * gdbtypes.c (append_composite_type_field): Correct the location of
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.
5131 * arch-utils.c (gdbarch_update_p): Use host_address_to_string
5132 to print the address of the gdbarch pointer.
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.
5144 * event-top.c (async_disconnect, async_stop_sig): use "raise"
5145 instead of "kill" to raise a signal.
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.
5159 * win32-nat.c (has_detach_ability, set_process_privilege):
5160 Cast the result of GetProcAddress to (void *) to avoid
5161 a compilation warning.
5165 * win32-nat.c (CONTEXT_EXTENDED_REGISTERS): Define to 0 if not
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.
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.
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.
5192 * ser-mingw.c (ser_windows_open): Use proper type when casting
5193 in call to _open_osfhandle.
5197 * coff-pe-read.c (read_pe_exported_syms): Fix typo.
5201 * CONTRIBUTE: Minor reformatting.
5205 * MAINTAINERS: Add myself to Write After Approval.
5206 * coff-pe-read.c (read_pe_exported_syms): Enable read of PE+
5211 * remote-sim.c (gdb_os_error): Mark as a noreturn function.
5212 Call exit to make it obvious to GCC.
5216 PR breakpoints/9350:
5217 * varobj.c (varobj_invalidate): Unconditionally free
5219 * symfile.c (syms_from_objfile): Free local_addr when returning
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
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
5231 (print_it_typical): Do cleanups before returning.
5232 (breakpoint_re_set_one): Always free sals.sals.
5237 * breakpoint.c (do_enable_breakpoint): Use update_watchpoint for
5242 * top.c (gdb_prompt_string): Delete, unused.
5246 Delete ONE_PROCESS_WRITETEXT leftovers.
5248 * breakpoint.c (insert_bp_location): Delete process_warning
5250 (insert_breakpoint_locations): Adjust.
5251 (reattach_breakpoints): Adjust.
5252 * infrun.c (normal_stop): Drop "It might be running in another
5257 * config/pa/linux.mh (XDEPFILES): Remove.
5261 * cli/cli-cmds.c (set_debug): Fix cut-n-paste error.
5265 * f-typeprint.c (f_type_print_base <TYPE_CODE_STRUCT>): Fix output
5266 spacing, a regression from 2008-04-22.
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.
5277 * MAINTAINERS: Add myself for write after approval privileges.
5281 * value.c (set_internalvar): Use value_free, not xfree.
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
5299 * top.c (gdb_init): Don't set the current directory here; that's
5300 already been done in captured_main.
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.
5318 * python/python-internal.h (Py_ssize_t): Define as int.
5322 * MAINTAINERS: Fix my e-mail address as steering committee member.
5326 Updated copyright notices for most files.
5330 * top.c (print_gdb_version): Update copyright year.
5334 * config/djgpp/fnchange.lst: Add entry for ChangeLog-2008.
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.
5344 For older changes see ChangeLog-2008.
5350 version-control: never