3 * annotate.c: Comment cleanup, shorten long lines.
10 * ax-general.c: Ditto.
11 * breakpoint.h: Ditto.
18 * coff-pe-read.c: Ditto.
19 * coff-pe-read.h: Ditto.
22 * complaints.c: Ditto.
23 * complaints.h: Ditto.
28 * core-regset.c: Ditto.
31 * cp-namespace.c: Ditto.
32 * cp-support.c: Ditto.
33 * cp-support.h: Ditto.
34 * cp-valprint.c: Ditto.
35 * cp-typeprint.c: Ditto.
36 * c-valprint.c: Ditto.
40 * bfin-tdep.c (bfin_register_type): Move || to start of line.
44 * bcache.c: Comment clean-up, shorten long lines..
46 * blockframe.c: Ditto.
47 * breakpoint.c: Ditto.
53 * configure.tgt (bfin-*-*): Set build_gdbserver to yes.
54 * NEWS: Mention new Blackfin support.
55 * regformats/reg-bfin.dat: New file.
60 * Makefile.in (ALLDEPFILES): Add bfin-linux-tdep.c and bfin-tdep.c.
61 (HFILES_NO_SRCDIR): Add bfin-tdep.h.
62 (ALL_TARGET_OBS): Add bfin-linux-tdep.o and bfin-tdep.o.
63 * NEWS: Mention new Blackfin port.
64 * bfin-tdep.c, bfin-tdep.h, bfin-linux-tdep.c,
65 syscalls/bfin-linux.xml: New files.
66 * configure.tgt (bfin-*-*): Handle bfin targets.
70 * ax-gdb.c (gen_expr): Change error message.
74 * gdb.c: Revert the previous change, which was probably committed
79 * ada-lang.c: Fix typo in comment.
83 * ada-valprint.c (ada_val_print_1): Print null array pointers as
84 `0x0' rather than `(null)'. Add assertion.
88 * ada-lang.h (ada_coerce_to_simple_array): Add declaration.
89 * ada-lang.c (ada_typedef_target_type): New function.
90 (desc_base_type): Add handling of fat pointer typedefs.
91 (ada_coerce_to_simple_array): Make non-static.
92 (decode_packed_array_bitsize): Add handling of fat pointer typedefs.
94 (ada_template_to_fixed_record_type_1, ada_to_fixed_type)
95 (ada_check_typedef): Add handling of fat pointer typedefs.
96 (ada_evaluate_subexp) [OP_FUNCALL]: Likewise.
97 * ada-typeprint.c (ada_print_type): Add handling of fat pointer
99 * ada-valprint.c (ada_val_print_1): Convert fat pointers that are not
100 array accesses to simple arrays rather than simple array pointers.
101 (ada_value_print): In the case of array descriptors, do not print
102 the value type description unless it is an array access.
106 * target.h (enum target_object): Expand the documentation of
107 TARGET_OBJECT_OSDATA a bit.
111 * command.h: Comment clean-up, shorten long lines.
112 * cli/cli-cmds.c: Ditto.
113 * cli/cli-cmds.h: Ditto.
114 * cli/cli-decode.c: Ditto.
115 * cli/cli-decode.h: Ditto.
116 * cli/cli-dump.c: Ditto.
117 * cli/cli-interp.c: Ditto.
118 * cli/cli-logging.c: Ditto.
119 * cli/cli-script.c: Ditto.
120 * cli/cli-setshow.c: Ditto.
121 * cli/cli-setshow.h: Ditto.
125 * event-loop.c: Comment clean-up, shorten long lines.
126 * event-loop.h: Ditto.
127 * event-top.c: Ditto.
136 * ax-gdb.c (gen_expr) <OP_REGISTER>: Error out if trying to
137 collect a user register.
141 * gdbarch.sh (ax_pseudo_register_collect,
142 ax_pseudo_register_push_stack): new callbacks.
143 (agent_expr): Forward declare.
144 * gdbarch.h, gdbarch.c: Regenerate.
145 * ax-gdb.c (gen_expr): Remove pseudo-register check code.
146 * ax-general.c (user-regs.h): New include.
147 (ax_reg): Call gdbarch_ax_pseudo_register_push_stack.
148 (ax_reg_mask): Call gdbarch_ax_pseudo_register_collect.
149 * mips-tdep.c (ax.h): New include.
150 (mips_ax_pseudo_register_collect,
151 mips_ax_pseudo_register_push_stack): New functions.
152 (mips_gdbarch_init): Set mips_ax_pseudo_register_collect and
153 mips_ax_pseudo_register_push_stack.
157 * arm-tdep.c (arm_register_aliases): Remove sp, pc, and fp.
161 * inf-child.c (inf_child_acknowledge_created_inferior): Delete.
162 (inf_child_target): Do not set t->to_acknowledge_created_inferior.
163 * inf-ptrace.c (inf_ptrace_create_inferior): Remove call to
164 target_acknowledge_created_inferior.
165 * inf-ttrace.c (inf_ttrace_him): Likewise.
166 * target.h (struct target_ops): Delete to_acknowledge_created_inferior
168 (target_acknowledge_created_inferior): Delete.
169 * target.c (update_current_target): Remove setting of
170 to_acknowledge_created_inferior field. Do default value for that
172 (debug_to_acknowledge_created_inferior): Delete.
173 (setup_target_debug): Remove setting of
174 current_target.to_acknowledge_created_inferior.
179 * breakpoint.c (breakpoint_restore_shadows): When looking for the
180 location with the lowest address that overlaps the memory range we
181 want to restore shadows for, account for multiple locations at the
186 Code cleanup - renaming.
187 * breakpoint.c: Use bl for `*bp_location' variables, blp_tmp for
188 `**bp_location' helper variables, b_tmp for `*breakpoint' helper
194 * mips-tedp.c (mips_register_name): Add comments.
198 * arm-tdep.c (thumb_analyze_prologue): Move some code ...
199 (EXTRACT_MOVW_MOVT_IMM_T): ... here. New macro.
200 (EXTRACT_MOVW_MOVT_IMM_A): New macro.
201 (arm_analyze_load_stack_chk_guard): New.
202 (arm_skip_stack_protector): New.
203 (arm_skip_prologue): Adjust post_prologue_pc by
204 arm_skip_stack_protector.
209 * arm-tdep.c (arm_gdbarch_init): Remove invoke to
210 set_gdbarch_deprecated_fp_regnum.
214 * inferior.c (remove_inferior_command): Don't remove an active inferior.
215 * mi/mi-main.c (mi_cmd_remove_inferior): Ditto.
219 * thread.c (print_thread_info): Make a ui-out table in CLI mode.
223 * arm-tdep.c (arm_register_reggroup_p): New.
224 (arm_gdbarch_init): Set arm_register_reggroup_p for hook
229 * features/arm-core.xml: Add attribute type to reg from r0 to r12.
230 * features/arm-with-iwmmxt.c: Regenerate.
231 * features/arm-with-neon.c: Regenerate.
232 * features/arm-with-vfpv2.c: Regenerate.
233 * features/arm-with-vfpv3.c: Regenerate.
237 * mi/mi-main.c (mi_cmd_remove_inferior): Don't delete current inferior.
238 (get_other_inferior): New.
242 * python/py-progspace.c (py_free_pspace): Obtain arch another
243 way to avoid dereferencing a null pointer.
247 * utils.c (do_my_cleanups): Comment fix-up.
251 * mips-tdep.c (make_mips16_addr): New function.
252 (mips_elf_make_msymbol_special): Don't set the low bit in the
254 (mips_read_pc, mips_unwind_pc, mips_addr_bits_remove): Strip bit
255 indicating mips16 address, if present.
256 (mips_write_pc): Set bit indicating mips16 address when in a mips16
258 (mips_eabi_push_dummy_call, mips_o64_push_dummy_call): Likewise,
259 but for each function pointer argument to inferior function call.
263 * psympriv.h (struct partial_symtab) <readin>: Move field
268 * mips-tdep.c (mips_convert_register_float_case_p)
269 (mips_convert_register_gpreg_case_p): New functions.
270 (mips_convert_register_p): Invoke new functions above.
271 (mips_register_to_value): Add case for fetching value shorter
272 than 64 bits from a 64-bit register.
273 (mips_value_to_register): Add case for storing value shorter
274 than 64 bits into a 64-bit register.
278 * python/py-value.c (value_object_type) <tp_flags>: Add
283 * NEWS: Mention new sim --map-info flag.
287 * dwarf2read.c (_initialize_dwarf2_read): Fix help text of
288 "save gdb-index" command.
292 * infrun.c (save_infcall_control_state): Handle the
293 exception-resume breakpoint.
294 (restore_infcall_control_state): Likewise.
295 (discard_infcall_control_state): Likewise.
299 * mips-tdep.c (mips_pseudo_register_write): Sign extend 32-bit
300 cooked values that are being transferred to 64-bit raw registers.
301 (mips_pseudo_register_read): Revise to preserve symmetry with
302 mips_pseudo_register_write().
306 * f-exp.y (yylex): Check entire token against keywords.
310 Rename "maint set python auto-load" to "set auto-load-scripts".
312 * python/py-auto-load.c (auto_load_scripts): Renamed from
314 (load_auto_scripts_for_objfile): Update.
315 (gdbpy_initialize_auto_load): Rename "maint set python auto-load" to
316 "set auto-load-scripts".
320 * mips-tdep.c (mips_eabi_push_dummy_call): Place signed, rather
321 than unsigned, values in registers.
325 * valops.c (value_one): Use get_array_bounds to compute the number
326 of array elements instead of dividing the length of the array by the
327 length of the element types.
328 * valarith.c (value_complement, value_neg): Likewise.
332 * irix5-nat.c: Replace fp_r, fp_regs and fp_scr by __fp_r, __fp_regs
333 and __fp_scr respectively throughout.
334 * configure.ac: Compile with -Dsiginfo=__siginfo if building with
335 Python using GCC on IRIX.
336 * configure: Regenerate.
340 * solib-svr4.c (enable_break): Don't attempt to place breakpoints,
341 when attaching, on the names in bkpt_names: _start, __start, and
346 * value.c (value_of_internalvar): Add case for trace state
351 * dwarf2read.c (dwarf2_per_objfile): New member quick_file_names_table.
352 (dwarf2_per_cu_quick_data): Move definition down to "quick functions"
353 section. Delete members lines full_names. Rename read_lines to
355 (quick_file_names): New struct.
356 (hash_file_name_entry, eq_file_name_entry): New functions.
357 (delete_file_name_entry, create_quick_file_names_table): New functions.
358 (dwarf2_read_index): Initialize quick_file_names_table.
359 (dw2_get_file_names): Renamed from dw2_require_line_header.
360 Return pointer to quick_file_names entry. All callers updated.
361 (dw2_get_real_path): Renamed from dw2_require_full_path.
362 Replace per_cu arg with pointer to quick_file_names entry.
364 (dw2_free_cached_file_names): New function.
365 (dw2_forget_cached_source_info): Call it (via htab_traverse_noresize).
366 (dwarf2_initialize_objfile): Initialize quick_file_names_table in
367 the OBJF_READNOW case.
368 (dwarf2_free_objfile): Rewrite freeing of quick file names tables.
372 * mips64obsd-tdep.c (floatformats_mips64_quad): New define.
373 (mips64obsd_init_abi): Set long_double_bit and long_double_format.
377 * sparc-tdep.c: Fix typo in comment.
381 * dwarf2read.c: Whitespace cleanup, plus comment additions.
386 * NEWS: Document exception-handling change.
390 * mi/mi-parse.c (mi_parse): Wrong error message.
394 * symfile.h (quick_symbol_functions): Clarify usage of
395 map_symbol_filenames.
399 * mi/mi-parse.h (mi_parse): Update.
400 * mi/mi-parse.c (mi_parse_cleanup): New function.
401 (mi_parse): Add 'token' argument. Throw exception on error.
402 * mi/mi-main.c (mi_print_exception): New function.
403 (mi_execute_command): Use mi_print_exception. Catch exceptions
409 * thread.c (clear_thread_inferior_resources): Call
410 delete_longjmp_breakpoint.
411 * infrun.c (handle_inferior_event): Handle exception breakpoints.
412 (handle_inferior_event): Likewise.
413 (insert_exception_resume_breakpoint): New function.
414 (check_exception_resume): Likewise.
415 * inferior.h (delete_longjmp_breakpoint_cleanup): Declare.
416 * infcmd.c (delete_longjmp_breakpoint_cleanup): No longer static.
417 (step_1): Set thread's initiating frame.
418 (until_next_continuation): New function.
419 (until_next_command): Support exception breakpoints.
420 (finish_command_continuation): Delete longjmp breakpoint.
421 (finish_forward): Support exception breakpoints.
422 * gdbthread.h (struct thread_info) <initiating_frame>: New field.
423 * breakpoint.h (enum bptype) <bp_exception, bp_exception_resume,
424 bp_exception_master>: New constants.
425 (struct bpstat_what) <is_longjmp>: New field.
426 (set_longjmp_breakpoint): Update.
427 * breakpoint.c (create_exception_master_breakpoint): New function.
428 (update_breakpoints_after_exec): Handle bp_exception_master. Call
429 create_exception_master_breakpoint.
430 (print_it_typical): Handle bp_exception_master, bp_exception.
431 (bpstat_stop_status): Handle bp_exception_master.
432 (bpstat_what): Handle bp_exception_master, bp_exception,
434 (bptype_string): Likewise.
435 (print_one_breakpoint_location): Likewise.
436 (allocate_bp_location): Likewise.
437 (set_longjmp_breakpoint): Handle exception breakpoints. Change
439 (delete_longjmp_breakpoint): Handle exception breakpoints.
441 (struct until_break_command_continuation_args) <thread_num>: New
443 (until_break_command_continuation): Call
444 delete_longjmp_breakpoint.
445 (until_break_command): Support exception breakpoints.
446 (delete_command): Likewise.
447 (breakpoint_re_set_one): Likewise.
448 (breakpoint_re_set): Likewise.
452 * gdbtypes.h (TYPE_IS_OPAQUE): Reformat.
454 * gdbtypes.c (check_typedef): Tweak comment.
457 * dwarf2read.c (struct psymtab_cu_index_map): New struct.
458 (hash_psymtab_cu_index, eq_psymtab_cu_index): New functions.
459 (struct addrmap_index_data): New struct.
460 (add_address_entry): Remove arg `pst', new args `start', `end'.
461 (add_address_entry_worker, write_address_map): New functions.
462 (write_psymtabs_to_index): Address table generation moved to
463 write_address_map. Build a table mapping psymtab to CU index
466 * dwarf2read.c (write_psymtabs_to_index): When stat fails, pass file
469 * symfile.h (quick_symbol_functions): Clarify usage of
470 expand_symtabs_with_filename.
471 * dwarf2read.c (dw2_expand_symtabs_with_filename): Only iterate over
472 comp units, ignore type units.
474 * dwarf2read.c (dw2_expand_symtabs_with_filename): Use FILENAME_CMP.
478 * dwarf2read.c (dw2_lookup_symtab): Remove duplicate call to
482 * NEWS: Mention -data-directory.
483 * main.c (captured_main): Recognize -data-directory.
487 * mi/mi-parse.c (mi_parse): Missing else.
491 * configure.tgt: Accept microblaze*-*-linux* for linux target
492 and microblaze*-*-* for as target.
496 * linespec.c (find_method): Move name canonicalization outside
498 Be paranoid and use a cleanup.
502 * dwarf2read.c (save_gdb_index_command): Add comment.
506 * valops.c (value_assign): Returned value is never lazy. If a
507 C++ class type is returned, fix incorrect enclosing type / embedded
508 offset. If internal variable is returned, allocate new internalvar
509 value using value_of_internalvar.
511 * NEWS: Document changes in behavior of "print x = 0" and similar
516 * python/lib/gdb/printing.py (register_pretty_printer): Change
517 printer-name:subprinter-name to printer-name;subprinter-name.
518 * python/lib/gdb/command/pretty_printers.py (parse_printer_regexps):
520 (InfoPrettyPrinter, EnablePrettyPrinter, DisablePrettyPrinter): Ditto.
524 * opencl-lang.c (lval_func_check_synthetic_pointer): New
526 * value.h (struct lval_funcs) <indirect, check_synthetic_pointer>:
528 (value_bits_synthetic_pointer): Declare.
529 * value.c (value_bits_synthetic_pointer): New function.
530 * valprint.c (valprint_check_validity): Handle synthetic
532 * valops.c (value_ind): Use new 'indirect' lval_funcs method.
533 * valarith.c (value_ptradd): Use set_value_component_location.
534 * p-valprint.c (pascal_object_print_value_fields): Handle
536 * jv-valprint.c (java_print_value_fields): Handle synthetic
538 * dwarf2read.c (dwarf_stack_op_name): Add
539 DW_OP_GNU_implicit_pointer.
540 (dwarf2_fetch_die_location_block): Add get_frame_pc, baton
541 arguments. Handle location lists.
542 (fill_in_loclist_baton): New function.
543 (dwarf2_symbol_mark_computed): Use it.
544 * dwarf2loc.h (dwarf2_find_location_expression): Declare.
545 (dwarf2_fetch_die_location_block): Add get_frame_pc, baton
547 * dwarf2loc.c (dwarf2_find_location_expression): Rename from
548 find_location_expression. No longer static. Update all callers.
549 (dwarf_expr_frame_pc): New function.
550 (per_cu_dwarf_call): Add get_frame_pc, baton arguments. Update
552 (struct piece_closure) <per_cu>: New field.
553 (allocate_piece_closure): Add per_cu argument.
554 (read_pieced_value): Handle DWARF_VALUE_IMPLICIT_POINTER.
555 (check_pieced_value_bits): Remove validity argument, add check_for
556 argument. Handle DWARF_VALUE_IMPLICIT_POINTER.
557 (check_pieced_value_validity, check_pieced_value_invalid):
559 (check_pieced_synthetic_pointer): New function.
560 (get_frame_address_in_block_wrapper): New function.
561 (indirect_pieced_value): New function.
562 (pieced_value_funcs): Update.
563 (invalid_synthetic_pointer): New function.
564 (dwarf2_evaluate_loc_desc_full): Rename from
565 dwarf2_evaluate_loc_desc. Add byte_offset argument.
566 (dwarf2_evaluate_loc_desc): Rewrite.
567 (dwarf2_loc_desc_needs_frame): Set new field on context.
568 (get_ax_pc): New function.
569 (disassemble_dwarf_expression): Handle
570 DW_OP_GNU_implicit_pointer.
571 * dwarf2expr.h (enum dwarf_value_location)
572 <DWARF_VALUE_IMPLICIT_POINTER>: New constant.
573 (struct dwarf_expr_context) <get_frame_pc>: New field.
574 (struct dwarf_expr_piece) <v.ptr>: New field.
575 * dwarf2expr.c (add_piece): Handle DWARF_VALUE_IMPLICIT_POINTER.
576 (execute_stack_op): Handle DW_OP_GNU_implicit_pointer.
577 * dwarf2-frame.c (no_get_frame_pc): New function.
578 (execute_stack_op): Set new field on context.
579 * cp-valprint.c (cp_print_value_fields): Handle synthetic
586 * python/py-breakpoint.c (bppy_delete_breakpoint): New function.
590 Fix step_resume_breakpoint unsaved during an infcall.
591 * gdbthread.h (struct thread_control_state): Move here field
592 step_resume_breakpoint ...
593 (struct thread_info): ... from here.
594 * infrun.c (save_infcall_control_state): Reset
595 control.step_resume_breakpoint to NULL.
596 (restore_infcall_control_state, discard_infcall_control_state): Delete
597 control.step_resume_breakpoint.
598 * arm-linux-tdep.c, infrun.c, thread.c: Update all the references to
603 Rename and move inferior_thread_state and inferior_status.
604 * gdbthread.h (struct thread_control_state): New struct, move fields
605 step_range_start, step_range_end, step_frame_id, step_stack_frame_id,
606 trap_expected, proceed_to_finish, in_infcall, step_over_calls,
607 stop_step and stop_bpstat here from struct thread_info.
608 (struct thread_suspend_state): New struct, move field stop_signal here
609 from struct thread_info.
610 (struct thread_info): Move the fields above from this struct.
611 * inferior.h: Move the inferior_thread_state and inferior_status
612 declarations comment to their definitions at infrun.c.
613 (struct inferior_control_state): New struct, move field stop_soon from
614 struct inferior here.
615 (struct inferior_suspend_state): New empty struct.
616 (struct inferior): New fields control and suspend. Move out field
618 * infrun.c (struct inferior_thread_state): Rename to ...
619 (infcall_suspend_state): ... here. Replace field stop_signal by
620 fields thread_suspend and inferior_suspend.
621 (save_inferior_thread_state): Rename to ...
622 (save_infcall_suspend_state): ... here. New variable inf. Update the
624 (restore_inferior_thread_state): Rename to ...
625 (restore_infcall_suspend_state): ... here. New variable inf. Update
626 the code for new fields.
627 (do_restore_inferior_thread_state_cleanup): Rename to ...
628 (do_restore_infcall_suspend_state_cleanup): ... here.
629 (make_cleanup_restore_inferior_thread_state): Rename to ...
630 (make_cleanup_restore_infcall_suspend_state): ... here.
631 (discard_inferior_thread_state): Rename to ...
632 (discard_infcall_suspend_state): ... here.
633 (get_inferior_thread_state_regcache): Rename to ...
634 (get_infcall_suspend_state_regcache): ... here.
635 (struct inferior_status): Rename to ...
636 (struct infcall_control_state): ... here. Replace fields
637 step_range_start, step_range_end, step_frame_id, step_stack_frame_id,
638 trap_expected, proceed_to_finish, in_infcall, step_over_calls,
639 stop_step, stop_bpstat and stop_soon by fields thread_control and
641 (save_inferior_status): Rename to ...
642 (save_infcall_control_state): ... here. Update the code for new
644 (restore_inferior_status): Rename to ...
645 (restore_infcall_control_state): ... here. Update the code for new
647 (do_restore_inferior_status_cleanup): Rename to ...
648 (do_restore_infcall_control_state_cleanup): ... here.
649 (make_cleanup_restore_inferior_status): Rename to ...
650 (make_cleanup_restore_infcall_control_state): ... here.
651 (discard_inferior_status): Rename to ...
652 (discard_infcall_control_state): ... here.
653 * alpha-tdep.c, breakpoint.c, dummy-frame.c, dummy-frame.h,
654 exceptions.c, fbsd-nat.c, gdbthread.h, infcall.c, infcmd.c,
655 inferior.c, inferior.h, infrun.c, linux-nat.c, mi/mi-interp.c,
656 mips-tdep.c, procfs.c, solib-irix.c, solib-osf.c, solib-spu.c,
657 solib-sunos.c, solib-svr4.c, thread.c, windows-nat.c: Update all the
658 references to the moved fields and renamed functions.
662 * infcall.c (struct inferior_thread_state) <siginfo_gdbarch>: Fix up
664 (save_inferior_thread_state): Reset tp->stop_signal.
668 * infcall.c (call_function_by_hand): Remove variable
669 caller_state_cleanup.
675 * breakpoint.c (is_marker_spec): Check for NULL.
679 * breakpoint.h: No longer include python.h or python-internal.h.
680 (struct breakpoint_object): Forward declare.
681 * defs.h (PyObject) [!HAVE_PYTHON]: Don't define.
682 * varobj.c (PyObject) [!HAVE_PYTHON]: Define.
683 * python/py-breakpoint.c (build_bp_list): Cast py_bp_object to
685 (gdbpy_breakpoint_created): Remove casts around py_bp_object
690 * rs6000-tdep.c (bfd_uses_spe_extensions): Use bfd_elf_get_obj_attr_int
691 only if HAVE_ELF is defined.
696 * infrun.c (struct inferior_status) <stepping_over_breakpoint>
697 (save_inferior_status) <stepping_over_breakpoint>
698 (restore_inferior_status) <stepping_over_breakpoint>: Rename to
700 (struct inferior_status) <step_resume_break_address>: Remove.
705 * infrun.c (struct inferior_status, save_inferior_status)
706 (restore_inferior_status): Group and reorder the fields, comment their
713 (struct dict_vector) <iter_match_first, iter_match_next>
714 (iter_match_first_hashed, iter_match_next_hashed)
715 (iter_match_first_linear, iter_match_next_linear)
716 (dict_iter_match_first, dict_iter_match_next, iter_match_first_hashed)
717 (iter_match_next_hashed, iter_match_first_linear)
718 (iter_match_next_linear): Use symbol_compare_ftype.
719 * dictionary.h: Include symfile.h.
720 (dict_iter_match_first, dict_iter_match_next): Use
721 symbol_compare_ftype.
722 * dwarf2read.c (dw2_map_matching_symbols): Likewise.
723 * psymtab.c (match_partial_symbol, match_partial_symbol, map_block)
724 (map_matching_symbols_psymtab): Likewise.
725 * symfile.h (symbol_compare_ftype): New typedef.
726 (struct quick_symbol_functions) <map_matching_symbols): Use
727 symbol_compare_ftype.
731 * configure: Rebuild.
732 * configure.ac (READLINE_TEXI_INCFLAG): New subst.
736 * Makefile.in (SUBDIRS): Add doc.
737 * configure: Rebuild.
738 * configure.ac: Don't configure in doc. Create doc/Makefile.
744 * python/py-inferior.c (find_thread_object): Check if PIDGET
749 * ada-lang.c (ada_template_to_fixed_record_type_1): Delete bit_incr.
753 * ada-lang.c (ada_to_fixed_type): Expand function documentation.
754 Return the original type if the main type portions match rather
755 than when the type themselves match.
759 * ada-lang.c (ada_template_to_fixed_record_type_1):
760 For dynamic fields, check the field size against the maximum
765 * mips-irix-tdep.c (mips_irix_n32_stack_tramp_frame_init): New
767 (mips_irix_n32_stack_tramp_frame): New static global.
768 (mips_irix_init_abi): Add mips_irix_n32_stack_tramp_frame to
773 * ada-tasks.c (get_tcb_types_info): Use C lookups to get
778 * ada-lang.c (ada_check_typedef): Call ada_check_typedef only
779 if type1 is a typedef.
783 * ada-lang.h (ADA_KNOWN_AUXILIARY_FUNCTION_NAME_PATTERNS): Add
784 "_finalizer" to the list.
788 * symfile.c: Remove all "#if 0"/"#endif" blocks.
792 * symfile.c: Add missing second space after period in various comments.
796 * ada-typeprint.c (print_array_type): Fix formatting in comment.
797 (print_selected_record_field_types): Fix formatting in function
802 * ravenscar-thread.c (_initialize_ravenscar): Fix copy/paste typo
803 in name of "show ravenscar" prefix command name.
807 * ravenscar-thread.c (show_ravenscar_task_switching_command):
808 Add missing '\n' in output.
812 * ravenscar-thread.c (running_thread_name): Change value.
813 (read_thread_id): Remove advance declaration.
814 (get_running_thread_msymbol): New function.
815 (has_ravenscar_runtime): Use get_running_thread_msymbol to
816 compute msym_running_thread.
817 (get_running_thread_id): Renames read_thread_id. Slight modifications
818 to not take any argument anymore, using get_running_thread_msymbol
819 to determine which symbol to use instead.
820 (ravenscar_running_thread): Use get_running_thread_id instead of
825 * ravenscar-sparc-thread.c (supply_register_at_address):
826 Fix passing of buf in call to regcache_raw_supply.
830 * dwarf2read.c (dwarf2_read_index): Ignore higher .gdb_index versions.
834 * Makefile.in (.PRECIOUS): Reference ada-lex.c.
838 * data-directory/Makefile.in (SYSCALLS_INSTALL_DIR):
839 Remove extraneous '/' after $(DESTDIR).
840 (PYTHON_INSTALL_DIR): Likewise.
844 Fix stale memory references.
845 * elfread.c (elf_symfile_read): Replace xmalloc by bfd_alloc, drop
851 * Makefile.in (.y.c): Directly create $@ from YLWRAP.
852 (.PHONY): Remove for .y outputs.
858 * dwarf2read.c (decode_locdesc): Enforce location description stack
863 * arm-tdep.c (arm_in_function_epilogue_p): Fix code when "MOV SP"
864 instruction is found.
868 * value.c (value_entirely_optimized_out): Check the
869 'check_any_valid' field.
873 * ada-lang.c (modify_general_field): Remove.
874 (make_array_descriptor): Replace all modify_general_field calls by
876 * value.c (modify_field): Update comment. New variable bytesize.
877 Normalize BITPOS. Initialize BYTESIZE, use it.
881 * dwarf2read.c (dw2_forget_cached_source_info): Clear the FULL_NAMES
882 elements after xfree.
886 * gdb-add-index.sh: Really remove.
891 * dwarf2read.c (alloc_one_comp_unit): Rename prototype to ...
892 (init_one_comp_unit): ... this one.
893 (prepare_one_comp_unit): New prototype.
894 (dw2_require_line_header, process_psymtab_comp_unit): Use
896 (process_psymtab_comp_unit): Use prepare_one_comp_unit.
897 (load_partial_comp_unit): Remove variable attr. Use
898 init_one_comp_unit with xmalloc. Use prepare_one_comp_unit.
899 (load_full_comp_unit): Use init_one_comp_unit with xmalloc. Use
900 prepare_one_comp_unit.
901 (read_signatured_type): Remove variable attr. Use init_one_comp_unit.
902 Use prepare_one_comp_unit.
903 (alloc_one_comp_unit): Rename to ...
904 (init_one_comp_unit): ... here and remove there calloc, new parameter
906 (prepare_one_comp_unit): New function.
910 * arm-tdep.c (arm_in_function_epilogue_p): Fix code to avoid
911 possible used of uninitialized variable.
915 * rs6000-tdep.c (bfd_uses_spe_extensions): New function.
916 (rs6000_gdbarch_init): Call it.
920 * rs6000-tdep.c (gdb_print_insn_powerpc): Disassemble e500
921 instructions if debugging an E500 binary.
925 * varobj.c (value_get_print_value): Rearrange. Pass stream to
926 apply_varobj_pretty_printer.
927 * c-lang.c: Include exceptions.h.
928 (c_get_string): Throw MEMORY_ERROR when appropriate.
929 * python/py-prettyprint.c (enum string_repr_result): New.
930 (print_stack_unless_memory_error): New function.
931 (print_string_repr): Change return type. Use
932 print_stack_unless_memory_error.
933 (print_children): Use print_stack_unless_memory_error.
934 (apply_val_pretty_printer): Update. Don't print children if
935 string representation threw an exception.
936 (apply_varobj_pretty_printer): Add 'stream' argument. Use
937 print_stack_unless_memory_error.
938 * python/python.c (gdbpy_gdb_error, gdbpy_gdb_memory_error): New
940 (_initialize_python): Initialize them.
941 * python/python-internal.h (GDB_PY_HANDLE_EXCEPTION): Use
942 gdbpy_convert_exception.
943 (GDB_PY_SET_HANDLE_EXCEPTION): Likewise.
944 (gdbpy_gdb_error, gdbpy_gdb_memory_error): Declare.
945 (gdbpy_convert_exception): Declare.
946 (apply_varobj_pretty_printer): Update.
947 * python/py-utils.c (gdbpy_convert_exception): New function.
951 * mi/mi-main.c (mi_cmd_target_detach): Accept new
952 thread-group id format.
956 * spu-tdep.c (spu_catch_start): Fix compilation error typo.
960 * python/py-breakpoint.c (BPPY_REQUIRE_VALID): Check if bp is
962 (BPPY_SET_REQUIRE_VALID): Ditto.
963 (bpnum_is_valid): Delete function.
964 (bppy_get_visibility): New function.
965 (bppy_new): Parse for, and validate internal keyword. Pass
966 internal keyword to breakpoint or watchpoint functions.
967 (build_bp_list): New function.
968 (gdbpy_breakpoints): Rewrite. Use build_bp_list and
969 iterate_over_breakpoints.
970 (gdbpy_breakpoint_created): Rewrite. Do not store breakpoints in a
972 (gdbpy_breakpoint_deleted): Rewrite, defer breakpoint management
973 to internal breakpoint chain.
975 * breakpoint.c (set_breakpoint_number): New function.
976 (breakpoint_1): Check if breakpoint number is more than zero.
977 (set_raw_breakpoint_without_location): Set py_bp_object to NULL.
978 (create_breakpoint_sal): Take a new parameter called internal.
979 Call set_breakpoint_number with internal parameter. Do not
980 mention internal breakpoints. All callers updated.
981 (create_breakpoint): Ditto.
982 (create_breakpoints_sal): Ditto.
983 (watch_command_1): Ditto.
984 (watch_command_wrapper): Take a new parameter called internal.
986 (rwatch_command_wrapper): Ditto.
987 (awatch_command_wrapper): Ditto.
988 (save_breakpoints): Update breakpoint save condition check.
989 (iterate_over_breakpoints): New function.
990 * breakpoint.h: Add conditional python includes. Add py_bp_object
991 and comment to struct breakpoint. Update all callers.
992 * defs.h: Add PyObject definition for GDB builds without Python.
996 * python/lib/gdb/command/pretty_printers.py
997 (do_enable_pretty_printer_1): Handle printer.subprinters is None.
999 * value.c (set_value_enclosing_type): Renamed from
1000 value_change_enclosing_type. All callers updated.
1001 * value.h (set_value_enclosing_type): Update.
1002 * valops.c (value_full_object): Always return a copy if we need to
1003 make changes to the input value.
1007 * breakpoint.c (watch_command_1): Get a pointer of the lazy
1008 version of the expression's value, even if reading the value from
1009 memory fails. When creating a -location watchpoint, get the
1010 value's address from the lazy value pointer.
1014 * infrun.c (restore_inferior_thread_state): Use
1015 discard_inferior_thread_state to free the data.
1016 (discard_inferior_thread_state): xfree also siginfo_data.
1020 Make gdb.parameter("directories") work.
1021 New command "set directories".
1022 * NEWS: Document them.
1023 * source.c (set_directories_command): New function.
1024 (show_directories_1): Renamed from show_directories.
1025 All callers updated.
1026 (show_directories_command): New function.
1027 (_initialize_source): Install "directories" as a set/show
1028 variable instead of just a show command.
1032 * NEWS: Mention OpenCL C language support.
1033 * Makefile.in (SFILES): Add opencl-lang.c.
1034 (COMMON_OBS): Add opencl-lang.o.
1035 * opencl-lang.c: New File
1036 * defs.h (enum language): Add language_opencl.
1037 * dwarf2read.c (read_file_scope): Handle DW_AT_producer for the
1038 IBM XL C OpenCL compiler.
1039 * c-lang.h: Include "parser-defs.h".
1040 (evaluate_subexp_c): Declare.
1041 * c-lang.c (evaluate_subexp_c): Remove the static qualifier.
1042 (c_op_print_tab): Add declaration.
1043 * eval.c (binop_promote): Handle language_opencl.
1044 * c-exp.y: Lookup the primitive types instead of referring to the
1049 Fix configure --enable-plugins --without-python.
1050 * configure.ac (for ELF support in BFD) <"$plugins" = "yes">: New.
1051 * configure: Regenerate.
1055 * solib.c (solib_read_symbols): Call exception_fprintf even without
1056 FROM_TTY. Print also so->so_name.
1060 * gdbtypes.h (struct rank): Created subrank.
1061 * gdbtypes.c: Initialized subrank for all
1062 'BADNESS' constants.
1063 (distance_to_ancestor): New function.
1064 (is_ancestor): Use distance_to_ancestor.
1065 (is_public_ancestor): Ditto.
1066 (sum_ranks): Handle subrank.
1067 (compare_ranks): Ditto.
1068 (rank_one_type): Subrank base conversions.
1072 * gdbtypes.h: Create struct rank.
1073 Convert all 'BADNESS' macros to const struct rank declarations.
1074 (sum_ranks): New function.
1075 (compare_ranks): New function.
1076 * valops.c (find_oload_champ): Updated.
1077 (classify_oload_match): Use compare_ranks.
1079 (compare_parameters): Use compare_ranks.
1080 * gdbtypes.c: Initialize 'BADNESS' constants.
1081 (sum_ranks): New function.
1082 (compare_ranks): New function.
1083 (compare_badness): Use compare_ranks.
1084 (rank_function): Use global constants instead of literals.
1085 (rank_one_type): Ditto.
1091 * python/py-prettyprint.c (find_pretty_printer_from_gdb): Fix comment.
1092 (find_pretty_printer): Fix comments.
1096 * tracepoint.c (remote_trace_set_readonly_regions): Change lma to vma.
1100 * ada-valprint.c (ada_val_print_array): Move variables `eltlen'
1101 and `len' declaration and computation inside block where they
1106 * valprint.c (val_print_array_elements): Put back handling of
1111 * dwarf2read.c (read_array_type): Read the DW_AT_byte_size from the
1112 DIE and set the length of the type.
1113 * gdbtypes.h (get_array_bounds): Move here from valprint.h.
1114 * gdbtypes.c (get_array_bounds): Move here from valprint.c and
1115 return 0 if the corresponding bounds of the type are undefined.
1116 * valprint.h (get_array_bounds): Move declaration to gdbtypes.h.
1117 * valprint.c (get_array_bounds): Move implementation to gdbtypes.c.
1118 (val_print_array_elements): Use get_array_bounds to compute the number
1119 of array elements instead of dividing the length of the array by the
1120 length of the element types.
1121 * valarith.c (vector_binop): Likewise.
1122 * valops.c (value_cast): Likewise.
1123 * c-valprint.c (c_val_print): Likewise.
1124 * c-typeprint.c (c_type_print_varspec_suffix): Likewise.
1128 * valarith.c (value_pos, value_neg, value_complement): Handle
1130 * valops.c (value_one): Likewise.
1134 * value.h (value_non_lval): Declare.
1135 * value.c (value_non_lval): New function.
1136 * eval.c (evaluate_subexp_standard) <UNOP_POSTINCREMENT,
1137 UNOP_POSTDECREMENT>: Call value_non_lval to ensure to return a
1142 New python module gdb.printing, and new commands info pretty-printer,
1143 enable pretty-printer, disable pretty-printer.
1144 * NEWS: Mention them.
1145 * data-directory/Makefile.in (PYTHON_FILES): Add gdb/printing.py,
1146 gdb/command/__init__.py, gdb/command/pretty_printers.py.
1147 * python/lib/gdb/__init__.py: Install pretty-printer commands.
1148 * python/lib/gdb/printing.py: New file.
1149 * python/lib/gdb/command/__init__.py: New file.
1150 * python/lib/gdb/command/pretty_printers.py: New file.
1154 * NEWS: Mention Guile removal.
1155 * defs.h (enum language) <language_scm>: Remove.
1156 * Makefile.in (SFILES): Remove scm-exp.c, scm-lang.c,
1158 (HFILES_NO_SRCDIR): Remove scm-lang.h, scm-tags.h.
1159 (COMMON_OBS): Remove scm-exp.o, scm-lang.o, scm-valprint.o.
1160 * scm-exp.c, scm-lang.c, scm-valprint.c, scm-lang.h, scm-tags.h:
1165 * top.c: #include "python/python.h".
1166 (gdb_init): Add a comment regarding initialize_all_files.
1167 Call finish_python_initialization at the end.
1168 * python/python.h (finish_python_initialization): Declare.
1169 * python/python.c (finish_python_initialization): New function.
1170 (_initialize_python): Move python-implemented initialization there
1172 (GdbMethods): Use #ifdef HAVE_PYTHON for consistency.
1179 * gdbthread.h (currently_stepping): New declaration.
1180 * infrun.c (currently_stepping): Remove the forward declaration.
1181 (currently_stepping): Make it global.
1182 * linux-nat.c (resume_callback) <lp->stopped && lp->status == 0>: New
1183 variables tp and step, initialized them. Pass STEP to to_resume.
1184 Print also possibly "PTRACE_SINGLESTEP" if STEP. Initialize LP->STEP.
1185 * remote.c (currently_stepping_callback): New.
1186 (remote_vcont_resume)
1187 <ptid_equal (ptid, minus_one_ptid) || ptid_is_pid (ptid)>:
1188 New variable tp. Call currently_stepping_callback and step such
1193 * tracepoint.c (tfile_xfer_partial): Change lma to vma.
1197 * tracepoint.c (trace_save): Change utp->actions to
1202 * (_FILE_OFFSET_BITS): Fix typo in comment.
1206 * python/python-internal.h (_FILE_OFFSET_BITS): Undefine.
1207 (PyEval_InitThreads): Remove duplicate. Define as nothing.
1208 (PyEval_ReleaseLock): Define as nothing.
1212 * dwarf2read.c (psymtab_include_file_name): Replace call to strcmp
1213 by call to FILENAME_CMP.
1217 * dictionary.c (dict_hash): Move assignment out of if condition.
1221 * Makefile.in (install): Remove dependency of install-only and
1222 recursively invoke make for install-only.
1223 * data-directory/Makefile.in: Add FLAGS_TO_PASS variable.
1224 (install): Pass FLAGS_TO_PASS when recursively make install-only.
1228 * tracepoint.c (tfile_get_traceframe_address): Call
1229 extract_signed_integer.
1230 (tfile_trace_find): Call extract_signed_integer and
1231 extract_unsigned_integer. Change data_size to unsigned int.
1232 (tfile_fetch_registers): Call extract_unsigned_integer.
1233 (tfile_xfer_partial): Ditto.
1234 (tfile_get_trace_state_variable_value): Call
1235 extract_signed_integer and extract_unsigned_integer.
1239 * remote.c (remote_get_threadlist): If we got empty
1240 response, bail out immediately, and don't emit any
1245 * arm-tdep.c (thumb_get_next_pc_raw): Handle Thumb-16 encoding
1246 for "mov pc, REG" as well.
1247 (thumb_instruction_changes_pc): Likewise.
1252 * valarith.c (value_x_unop): Handle STRUCTOP_PTR.
1253 * eval.c (evaluate_subexp_standard): Check for overload of
1255 * valarith.c (value_x_binop): Throw NOT_FOUND_ERROR.
1256 (value_x_unop): Ditto.
1257 * valops.c: Include "exceptions.h".
1258 (find_overload_match): Throw NOT_FOUND_ERROR.
1259 (value_struct_elt): Ditto.
1263 * python/py-cmd.c (cmdpy_function): Unreference exception state.
1267 * gdbtypes.h: Introduce BOOL_PTR_CONVERSION_BADNESS.
1268 * gdbtypes.c (rank_one_type): Use BOOL_PTR_CONVERSION_BADNESS
1270 Make all other conversions illegal.
1274 * c-typeprint.c (c_type_print_base, case TYPE_CODE_TYPEDEF): Verify
1275 assumptions of when this case happens. Print "<unnamed typedef>".
1279 * valprint.c (val_print_string): Pass 'encoding' to
1284 Fix the `stopped language detection' testcase for gcc-4.5.
1285 * dwarf2read.c (read_partial_die): Set also LANGUAGE_OF_MAIN.
1286 * symfile.c (set_initial_language): Move variable filename to a more
1287 inner block. Prefer LANGUAGE_OF_MAIN.
1288 * symtab.c (language_of_main): New variable.
1289 (set_main_name): Always reset LANGUAGE_OF_MAIN.
1290 * symtab.h (language_of_main): New declaration.
1295 * gdbthread.h (currently_stepping): New declaration.
1296 * infrun.c (currently_stepping): Remove the forward declaration.
1297 (currently_stepping): Make it global.
1298 * linux-nat.c (resume_callback) <lp->stopped && lp->status == 0>: New
1299 variables tp and step, initialized them. Pass STEP to to_resume.
1300 Print also possibly "PTRACE_SINGLESTEP" if STEP. Initialize LP->STEP.
1301 * remote.c (currently_stepping_callback): New.
1302 (remote_vcont_resume)
1303 <ptid_equal (ptid, minus_one_ptid) || ptid_is_pid (ptid)>:
1304 New variable tp. Call currently_stepping_callback and step such
1309 * infrun.c (follow_exec): Replace symbol_file_add_main by
1310 symbol_file_add with SYMFILE_DEFER_BP_RESET, set_initial_language and
1312 * m32r-rom.c (m32r_load, m32r_upload_command): Use parameter 0 for
1314 * objfiles.c (free_all_objfiles): Likewise.
1315 * remote-m32r-sdi.c (m32r_load): Likewise.
1316 * solib-som.c (som_solib_create_inferior_hook): Likewise.
1317 * symfile.c (new_symfile_objfile): New comment for add_flags. Call
1318 clear_symtab_users with ADD_FLAGS.
1319 (reread_symbols): Use parameter 0 for clear_symtab_users.
1320 (clear_symtab_users): New parameter add_flags. Do not call
1321 breakpoint_re_set if SYMFILE_DEFER_BP_RESET.
1322 (clear_symtab_users_cleanup): Use parameter 0 for clear_symtab_users.
1323 * symtab.h (clear_symtab_users): New parameter add_flags.
1327 Fix GCC false warning.
1328 * varobj.c (value_get_print_value) <str_addr>: Initialize it.
1332 * p-typeprint.c (pascal_type_print_method_args): Fix problem in
1333 display of type of method arguments.
1338 * varobj.c (value_get_print_value): Use val_print_string to print
1340 * python/py-prettyprint.c (print_string_repr): Use
1341 val_print_string to print lazy strings. Fix cleanup logic.
1342 (print_children): Likewise.
1343 * python/python-internal.h (gdbpy_extract_lazy_string): Update.
1344 * python/py-lazy-string.c (gdbpy_extract_lazy_string): Rewrite.
1345 Change return type to 'void', add 'addr' argument.
1346 * value.h (val_print_string): Update.
1347 * valprint.c (val_print_string): Add 'encoding' argument.
1348 * printcmd.c (print_formatted): Update.
1349 * p-valprint.c (pascal_val_print): Update.
1350 * m2-valprint.c (print_unpacked_pointer): Update.
1351 (m2_print_array_contents): Likewise.
1352 * jv-valprint.c (java_value_print): Update.
1353 * f-valprint.c (f_val_print): Update.
1354 * c-valprint.c (c_val_print): Update.
1355 * auxv.c (fprint_target_auxv): Update.
1361 * gdbtypes.c (check_typedef): Clean up function comment.
1362 Keep track of instance flags as we strip typedefs and create a new
1363 type to preserve them if necessary.
1364 * gdbtypes.h (type) <instance_flags>: Extend the comment.
1368 * p-lang.c (is_pascal_string_type): Use TYPE_FIELD_NAME accessor.
1372 * gdbtypes.h: Create BASE_PTR_CONVERSION_BADNESS.
1373 * gdbtypes.c (rank_one_type): Move type comparison code out of here
1375 (types_equal): ...here. And changed it as follows:
1376 Outside of typedefs type must be of the same TYPE_CODE.
1377 When compairing two pointers or references they are equal if their
1379 Correct pointer conversions.
1383 * p-lang.c (is_pascal_string_type): Avoid crashes on structures
1384 having fields without names.
1388 * language.h (LA_PRINT_ARRAY_INDEX): Fix argument name.
1392 New python module gdb.types.
1393 * NEWS: Document it.
1394 * data-directory/Makefile.in (PYTHON_FILES): Add gdb/types.py.
1395 * python/lib/gdb/types.py: New file.
1397 * c-typeprint.c: Whitespace cleanup.
1398 (cp_type_print_method_args): Remove unnecessary forward decl.
1399 (cp_type_print_derivation_info): Ditto.
1400 (c_type_print_varspec_prefix): Mark as static at definition.
1401 (c_type_print_modifier): Fix arg descriptions.
1405 * python/py-breakpoint.c (bppy_set_condition): New comment.
1406 * python/py-cmd.c (cmdpy_function): Call also gdbpy_print_stack for
1407 failed PyUnicode_Decode.
1408 (cmdpy_completer): Skip element for failed
1409 python_string_to_host_string.
1410 (cmdpy_init): Return -1 on failed python_string_to_host_string.
1411 * python/py-frame.c (frapy_read_var): Extend the function comment.
1412 * python/py-function.c (fnpy_init): Return -1 on failed
1413 python_string_to_host_string.
1414 * python/py-inferior.c (infpy_read_memory, infpy_write_memory): Extend
1415 the function comment.
1416 (infpy_search_memory): Extend the function comment. Remove the
1417 PyErr_SetString call on already set error state.
1418 * python/py-param.c (set_parameter_value): Extend the function
1419 comment. Return -1 on failed python_string_to_host_string, twice.
1420 (set_attr): Extend the function comment.
1421 (compute_enum_values): Extend the function comment. New variable
1422 back_to. Protect self->enumeration by BACK_TO cleanups. Return 0 on
1423 failed python_string_to_host_string.
1424 (get_doc_string): Call gdbpy_print_stack on failed
1425 python_string_to_host_string.
1426 (parmpy_init): Extend the function comment.
1427 * python/py-prettyprint.c (pretty_print_one_value): Likewise.
1428 (gdbpy_get_display_hint, print_children): Call gdbpy_print_stack on
1429 failed python_string_to_host_string.
1430 * python/py-value.c (valpy_new, valpy_getitem, valpy_call)
1431 (valpy_binop, valpy_richcompare): Extend the function comment.
1433 (struct python_env) <error_type, error_value, error_traceback>: New
1435 (restore_python_env): Handle PyErr_Occurred. Call PyErr_Restore.
1436 (ensure_python_env): Call PyErr_Fetch.
1437 * varobj.c (update_dynamic_varobj_children): Call gdbpy_print_stack on
1438 failed convert_value_from_python.
1439 (value_get_print_value): Call gdbpy_print_stack on failed
1440 python_string_to_target_python_string.
1444 * python/py-prettyprint.c (search_pp_list): Fix error checking.
1448 * gdbtypes.c (do_is_ancestor): New function.
1449 (is_ancestor): Use do_is_ancestor.
1450 (is_public_ancestor): Use do_is_ancestor.
1454 * ser-go32.c (struct dos_ops): Add missing fdopen field.
1458 * arm-tdep.c (arm_mode_strings): Add NULL entry at end of array.
1462 * c-typeprint.c (c_type_print_modifier): Add note that this prints
1463 the address space id too.
1467 Fix attaching to re-prelinked executables on ppc64.
1468 * solib-svr4.c (svr4_exec_displacement): New variable plt2_asect,
1469 initialize it, try to adjust FILESZ field by it.
1473 * tracepoint.c (merge_uploaded_trace_state_variables): Only print
1474 messages if info_verbose.
1478 * valops.c (value_cast): Handle vector types.
1479 * valarith.c (value_binop): Widen scalar to vector if appropriate.
1483 * arm-tdep.c (thumb_expand_immediate): New function.
1484 (thumb_instruction_changes_pc): Likewise.
1485 (thumb2_instruction_changes_pc): Likewise.
1486 (thumb_analyze_prologue): Handle 32-bit Thumb instructions during
1487 prologue parsing. Improved support for optimized code.
1488 (thumb_scan_prologue): Do not reply on line-number information,
1489 use same heuristics as arm_scan_prologue insead.
1490 (skip_prologue_function): Accept functions
1491 "__tls_get_addr" and "__aeabi_read_tp".
1496 * arm-tdep.c (thumb_in_function_epilogue_p)
1497 (arm_in_function_epilogue_p): New.
1498 (arm_gdbarch_init): Install arm_in_function_epilogue_p as
1499 gdbarch_in_function_epilogue_p callback.
1503 * cc-with-index.sh (output_file): Default to a.out.
1505 * dwarf2read.c (mapped_index): Rename member index_table to
1506 symbol_table and index_table_slots to symbol_table_slots.
1508 (create_symbol_hash_table): Renamed from create_index_table.
1509 All callers updated.
1510 (add_indices_to_cpool): Rename arg index_table to symbol_hash_table.
1511 (write_hash_table): Rename local index_table to symbol_hash_table.
1513 * addrmap.h (addrmap_foreach_fn): New typedef.
1514 (addrmap_foreach): Declare.
1515 * addrmap.c (struct addrmap_funcs): New member foreach.
1516 (addrmap_foreach): New function.
1517 (addrmap_fixed_foreach): New function.
1518 (addrmap_fixed_funcs): Update.
1519 (struct mutable_foreach_data): New struct.
1520 (addrmap_mutable_foreach_worker): New function.
1521 (addrmap_mutable_foreach): New function.
1522 (addrmap_mutable_funcs): Update.
1526 * dictionary.c (dict_hash): Revert to msymbol_hash_iw in
1531 * ada-lang.c (full_match): Declare.
1532 (ada_match_name): Rename to match_name (we should avoid prefixing static
1533 symbols with "ada_").
1534 (match_name): New name for ada_match_name.
1535 (struct ada_psym_data): Remove and replace with...
1536 (struct match_data): User data for map_matching_symbols.
1537 (ada_add_psyms): Remove.
1538 (aux_add_nonlocal_symbols): New function, used as callback for
1539 map_matching_symbols.
1540 (compare_names): Ordering function adopted from strcmp_iw for Ada-encoded
1542 (ada_add_non_local_symbols): Rename to add_nonlocal_symbols.
1543 (add_nonlocal_symbols): Renamed from ada_add_non_local_symbols.
1544 Rework to use map_matching_symbols instead of map_ada_symtabs.
1545 (ada_lookup_symbol_list): Use add_nonlocal_symbols.
1546 * psymtab.c: Include dependency on dictionary.h.
1547 (match_partial_symbol): New function.
1548 (ada_lookup_partial_symbol): Remove.
1549 (map_block): New function, auxiliary to map_matching_symbols_psymtab.
1550 (map_matching_symbols_psymtab): New function.
1551 (psym_functions): Replace map_ada_symtabs with map_matching_symbols_psymtab.
1552 * symfile.h: Replace map_ada_symtabs definition with map_matching_symbols.
1556 * ada-lang.c (ada_match_name): Use new API for wild_match.
1557 (wild_match): Change API to be consistent with that of strcmp_iw;
1558 return 0 for a match, and switch operand order.
1559 (full_match): New function.
1560 (ada_add_block_symbols): Use dict_iter_match_{first,next} for
1561 matching to allow use of hashing.
1562 * dictionary.c (struct dict_vector): Generalize iter_name_first,
1563 iter_name_next ot iter_match_first, iter_match_next.
1564 (iter_name_first_hashed): Replace with iter_match_first_hashed.
1565 (iter_name_next_hashed): Replace with iter_match_next_hashed.
1566 (iter_name_first_linear): Replace with iter_match_first_linear.
1567 (iter_name_next_linear): Replace with iter_match_next_linear.
1568 (dict_iter_name_first): Re-implement to use dict_iter_match_first.
1569 (dict_iter_name_next): Re-implement to use dict_iter_match_next.
1570 (dict_iter_match_first): New function.
1571 (dict_iter_match_next): New function.
1572 (dict_hash): New function.
1573 * dictionary.h (dict_iter_match_first, dict_iter_match_next): Declare.
1574 * psymtab.c (ada_lookup_partial_symbol): Use new wild_match API.
1578 * data-directory/Makefile.in: Remove @host_makefile_frag@, @frags@.
1582 * dwarf2read.c (read_tag_const_type): Handle const arrays.
1586 * Makefile.in (REQUIRED_SUBDIRS): New var.
1587 (subdir_do): Verify required subdir Makefiles exist.
1589 Create subdir data-directory.
1590 * Makefile.in (XML_SYSCALL_DIR, XML_SYSCALL_FILES): Moved to
1591 data-directory/Makefile.in.
1592 (SUBDIRS): Add data-directory.
1593 (all): Remove xml-syscall-copy dependency.
1594 (xml-syscall-copy): Moved to data-directory/Makefile.in as
1596 (xml-syscall-install): Moved to data-directory/Makefile.in as
1598 (install-only): Remove xml-syscall-install dependency.
1599 (all-data-directory): New rule.
1600 (data-directory/Makefile): New rule.
1601 * configure.ac (AC_OUTPUT): Add data-directory/Makefile.
1602 * configure: Regenerate.
1603 * data-directory/Makefile.in: New file.
1604 * python/lib/gdb/__init__.py: New file.
1608 Fix ARI warnings in advance_wild_match.
1609 * ada-lang.c (advance_wild_match): Delete local variable t2.
1610 Adjust code accordingly. Minor reformatting.
1614 * gdbtypes.h (struct main_type): Remove flag_nottext.
1615 (enum type_flag_value): Remove TYPE_FLAG_NOTTEXT.
1616 (enum type_instance_flag_value): Add TYPE_INSTANCE_FLAG_NOTTEXT.
1617 (TYPE_NOTTEXT): Use TYPE_INSTANCE_FLAG_NOTTEXT instead of flag_nottext.
1618 * gdbtypes.c (make_vector_type): Use TYPE_INSTANCE_FLAG_NOTTEXT instead
1619 of TYPE_FLAG_NOTTEXT.
1620 (init_type): Remove the initialization of the flag_nottext field.
1621 (gdbtypes_post_init): Use TYPE_INSTANCE_FLAG_NOTTEXT instead of
1623 * c-valprint.c (c_val_print): Remove TYPE_VECTOR check.
1627 * cc-with-index.sh: New file.
1629 * dwarf2read.c (dw2_do_instantiate_symtab): Insert blank line after
1631 (dw2_instantiate_symtab, dw2_get_cu, extract_cu_value): Ditto.
1632 (create_cus_from_index, create_addrmap_from_index): Ditto.
1633 (mapped_index_string_hash, find_slot_in_mapped_hash): Ditto.
1634 (dw2_setup, dw2_require_line_header, dw2_require_full_path): Ditto.
1635 (dw2_do_expand_symtabs_matching): Ditto.
1636 (eq_strtab_entry, create_strtab, add_string): Ditto.
1637 (hash_strtab_entry): Ditto.
1638 (hash_symtab_entry, eq_symtab_entry, delete_symtab_entry): Ditto.
1639 (create_index_table, create_mapped_symtab, find_slot): Ditto.
1640 (hash_expand, add_index_entry, add_indices_to_cpool): Ditto.
1641 (write_hash_table, add_address_entry, write_psymbols): Ditto.
1642 (write_obstack, unlink_if_set, write_one_signatured_type): Ditto.
1643 (write_psymtabs_to_index): Ditto.
1647 * ada-lang.c: #include "value.h".
1648 (ensure_lval): Delete advance declaration. Remove gdbarch and sp
1649 arguments. Implement using value_allocate_space_in_inferior
1650 instead of allocating memory from the stack.
1651 (make_array_descriptor): Remove gdbarch and sp parameters. Update
1652 calls to ensure_lval.
1653 (ada_convert_actual): Remove gdbarch and sp parameters. Update
1654 calls to make_array_descriptor and ensure_lval.
1655 * ada-lang.h (ada_convert_actual): Update declaration.
1656 * infcall.c (value_arg_coerce): Update call to ada_convert_actual.
1660 * python/python.c (_initialize_python): Define new function
1661 GdbSetPythonDirectory in python. Use it to update sys.path and
1666 * ada-typeprint.c (print_selected_record_field_types): New function,
1667 incorporating and generalizing print_record_field_types.
1668 (print_record_field_types): Change return value and update comment.
1669 Re-implement using print_selected_record_field_types.
1670 (print_choices): Print "=>" here.
1671 Handle case of unencoded variant branch.
1672 (print_variant_clauses): Reformat comment.
1673 Special-case unencoded variant branch.
1677 * ada-lang.c (wild_match): Reimplement.
1678 Change API to eliminate unused length argument, reverse arguments and
1679 make 0 the 'true' return value.
1680 (advance_wild_match): New auxiliary function for wild_match to improve
1682 (ada_match_name, ada_add_block_symbols): Use new API for wild_match.
1683 * psymtab.c (ada_lookup_partial_symbol, map_ada_symtabs): Use new
1685 * symfile.h (map_ada_symtabs): Modify declaration to use new API for
1687 * dwarf2read.c (dw2_map_ada_symtabs): Ditto.
1691 * dwarf2read.c (_initialize_dwarf2_read): Add usage info to help text
1692 for `save gdb-index' command.
1696 * symfile.h (allocate_symtab): Update.
1697 * symfile.c (allocate_symtab): Make 'filename' const.
1698 * psymtab.c (add_psymbol_to_bcache): Make 'name' const.
1699 (add_psymbol_to_list): Likewise.
1700 * psympriv.h (struct partial_symtab) <filename, dirname>: Now
1702 (add_psymbol_to_list): Update.
1703 * mdebugread.c (new_symtab): Make 'name' const.
1704 (psymtab_to_symtab_1): Make 'filename' const.
1705 * elfread.c (elfstab_offset_sections): Update.
1706 * dwarf2read.c (dwarf_decode_lines): Make 'comp_dir' const.
1707 (dwarf2_start_subfile): Make 'dirname' and 'comp_dir' const.
1708 (psymtab_include_file_name): Update.
1709 * dbxread.c (find_stab_function_addr): Make 'filename' const.
1710 * buildsym.h (start_subfile): Update.
1711 * buildsym.c (start_subfile): Make arguments const.
1715 * fork-child.c (breakup_args): Fix crash if shell forking is
1716 disabled at compile time.
1720 * ada-lang.c (desc_bounds): Add handling of the case where
1721 the P_BOUNDS field is a pointer to a stub.
1722 (desc_data_target_type): Same for P_ARRAY field.
1723 (ada_check_typedef): Strip the typedef layers from the type
1724 found by ada_find_any_type.
1728 * sparc-tdep.c (sparc32_frame_align): New function.
1729 (sparc32_gdbarch_init): Set the frame_align gdbarch method.
1730 * sparc64-tdep.c (sparc64_frame_align): New function.
1731 (sparc64_gdbarch_init): Set the frame_align gdbarch method.
1735 * defs.h (MAX_REGISTER_SIZE): Set to 64.
1739 * symfile.h (struct sym_fns) <next>: Remove.
1740 (add_symtab_fns): Update.
1741 * symfile.c (sym_fns_ptr): New typedef.
1742 (symtab_fns): Now a VEC.
1743 (add_symtab_fns): Update. Change argument type.
1744 (find_sym_fns): Update. Change return type.
1745 (get_symfile_segment_data): Update.
1746 * objfiles.h (struct objfile) <sf>: Now const.
1747 * somread.c (som_sym_fns): Now const. Update.
1748 * xcoffread.c (xcoff_sym_fns): Now const. Update.
1749 * mipsread.c (ecoff_sym_fns): Now const. Update.
1750 * machoread.c (macho_sym_fns): Now const. Update.
1751 * elfread.c (elf_sym_fns): Now const. Update.
1752 (elf_sym_fns_gdb_index): Likewise.
1753 * dbxread.c (aout_sym_fns): Now const. Update.
1754 * coffread.c (coff_sym_fns): Now const. Update.
1758 * value.c (value_primitive_field): Take 'offset' into account for
1763 * completer.c (count_struct_fields): Handle anonymous structs and
1765 (add_struct_fields): Likewise.
1769 Fix printing parameters of inlined functions.
1770 * ada-lang.c (is_known_support_routine)
1771 (ada_unhandled_exception_name_addr_from_raise): Provide NULL parameter
1772 for find_frame_funname.
1773 * python/py-frame.c (frapy_name): Likewise.
1774 * stack.c (find_frame_funname): New parameter funcp. Update the
1775 function comment. Fill it in.
1776 (print_frame): New variable func. Initialize it by
1777 find_frame_funname. Print arguments only if FUNC is not NULL. Use
1778 FUNC as the parameter of print_args_stub.
1779 * stack.h (find_frame_funname): New parameter funcp. Remove the
1780 function declaration comment.
1785 * inferior.c (have_live_inferiors): New variables old_chain, inf and
1786 tp. Iterate INFERIOR_LIST and call target_has_execution.
1790 Fix GDB crash on inferior calls with self-referencing classes.
1791 * gnu-v3-abi.c (gnuv3_pass_by_reference): Do not call itself on static
1796 Workaround for gcc/45682.
1797 * dwarf2read.c (partial_die_info): New fields fixup_called,
1799 (guess_partial_die_structure_name): Renamed from guess_structure_name.
1800 Move definition next to use. Use linkage_name to determine if class
1801 is in a namespace. All callers updated.
1802 (fixup_partial_die): Return early if already called.
1803 Set fixup_called when done.
1804 (guess_full_die_structure_name): New function.
1805 (determine_prefix): Call it for class/struct/union dies if c++ and
1806 .debug_types section is present and parent is DW_TAG_compile_unit.
1810 * configure.tgt (sparc-*-*): Set gdb_sim to ../sim/erc32/libsim.a.
1811 (sparc-*-rtems*): Delete. Now redundant with sparc-*-*.
1815 * NEWS: Announce Ravenscar Profile support.
1820 * ravenscar-thread.c, ravenscar-thread.h, ravenscar-sparc-thread.c:
1822 * configure.tgt (sparc-*-*): Add ravenscar-thread.o and
1823 ravenscar-sparc-thread.o to gdb_target_obs.
1827 * ada-tasks.c (iterate_over_live_ada_tasks): New function.
1828 * ada-lang.h (iterate_over_live_ada_tasks): Declare.
1832 * amd64-windows-tdep.c (amd64_skip_main_prologue): New function.
1833 (amd64_windows_init_abi): Register amd64_skip_main_prologue as gdbarch
1834 skip_main_prologue method.
1838 * dwarf2read.c (dwarf2_read_index): Only allow version 3.
1839 (write_psymbols): Add 'psyms_seen' and 'is_static' arguments.
1840 Only emit a given psymbol once.
1841 (struct signatured_type_index_data) <psyms_seen>: New field.
1842 (write_one_signatured_type): Update.
1843 (cleanup_htab): New function.
1844 (write_psymtabs_to_index): Update. Create psyms_seen hash. Bump
1846 (save_gdb_index_command): Update index documentation.
1850 * bcache.c (expand_hash_table): Use hash_function, not hash.
1854 * gdb_wchar.h: Change minimum libiconv to 0x108.
1858 Fix lost siginfo_t for inferior calls.
1860 (struct inferior_thread_state) <siginfo_gdbarch, siginfo_data>: New.
1861 (save_inferior_thread_state): New variables regcache, gdbarch and
1862 siginfo_data. Initialize SIGINFO_DATA if gdbarch_get_siginfo_type_p.
1863 Move INF_STATE allocation later, pre-clear it. Initialize REGISTERS
1865 (restore_inferior_thread_state): New variables regcache and gdbarch.
1866 Restore SIGINFO_DATA for matching GDBARCH. Restore REGISTERS using
1867 REGCACHE. Free also SIGINFO_DATA.
1871 * dwarf2read.c (dw2_expand_symtabs_matching): Add missing
1873 (dw2_map_symbol_names): Likewise.
1877 * valops.c (find_oload_champ_namespace_loop): replace incorrect
1878 discard_cleanups do_cleanups.
1884 * amd64-linux-nat.c (compat_siginfo_from_siginfo)
1885 (siginfo_from_compat_siginfo): Also copy si_pid and si_uid when
1886 si_code is < 0. Check for si_code == SI_TIMER before checking for
1891 * objfiles.h (ALL_OBJSECTIONS): Handle breaks in the inner loop.
1895 * ada-tasks.c (read_atcb): Do not compute the task ptid when
1896 debugging a core file.
1901 * objfiles.c (allocate_objfile) <objfile->name != NULL>: Remove.
1902 (free_objfile) <objfile->name != NULL>: Remove the conditional around
1904 * objfiles.h (struct objfile) <name>: New comment it is never NULL.
1905 * python/py-auto-load.c (auto_load_new_objfile) <!objfile->name>:
1907 * python/py-objfile.c (objfpy_get_filename) <obj->objfile->name>
1908 Remove the conditional.
1909 * python/py-progspace.c (pspy_get_filename) <objfile->name>: Likewise.
1913 * main.c: Include objfiles.h.
1914 (captured_main): New variable objfile. Call
1915 load_auto_scripts_for_objfile for ALL_OBJFILES.
1919 * dwarf2read.c (die_needs_namespace) <DW_TAG_variable>: Add also
1924 * dwarf2read.c (scan_partial_symbols): Add handling of
1925 DW_TAG_constant DIEs.
1926 (add_partial_symbol, load_partial_dies, new_symbol): Likewise.
1930 * configure.ac: Add support for --enable-gdbserver.
1931 * configure: Regenerate.
1936 * valops.c (find_oload_champ_namespace_loop): removed incorrect
1937 'old_cleanups' reassignment.
1941 * charset.c (wchar_iterate) <EILSEQ>: Return any possibly converted
1947 * mi/mi-cmd-stack.c (list_args_or_locals): Catch exceptions from
1948 read_var_value and common_val_print and print a warning.
1952 * MAINTAINERS (GLOBAL MAINTAINERS) <Jan Kratochvil>: Move the entry to
1953 keep the list in alphabetical order. Use longer e-mail address.
1957 * MAINTAINERS (GLOBAL MAINTAINERS): Add Jan Kratochvil.
1961 * charset.c (iconv_open): New define.
1963 (iconv_close): Likewise.
1964 (phony_iconv_open): Add "phony_" prefix.
1965 (phony_iconv_close): Likewise.
1966 (phony_iconv): Likewise.
1967 * gdb_wchar.h: Check _LIBICONV_VERSION, __STDC_ISO_10646__.
1968 Change how INTERMEDIATE_ENCODING is defined.
1972 * dwarf2read.c (struct die_info): Fix comment.
1977 * gcore.c (gcore_create_callback): Clear SEC_HAS_CONTENTS rather
1978 than setting SEC_NEVER_LOAD on sections that need not be copied.
1982 * psympriv.h (add_psymbol_to_list, init_psymbol_list)
1983 (start_psymtab_common, allocate_psymtab, discard_psymtab):
1985 * symfile.h (extend_psymbol_list): Remove.
1986 (add_psymbol_to_list, init_psymbol_list, start_psymtab_common)
1987 (allocate_psymtab, discard_psymtab): Move to psympriv.h.
1988 * psymtab.c (extend_psymbol_list): Move earlier. Now static.
1992 * dwarf2read.c (dw2_map_ada_symtabs): Remove the internal_error.
1998 * dwarf2loc.c (locexpr_describe_location_piece): Don't call error
1999 for unrecognized frame base expression.
2004 * value.c (value_static_field): Use value_of_variable.
2008 * m32r-rom.c: Replace winsock.h with winsock2.h header.
2009 * remote-m32r-sdi.c: Replace winsock.h by winsock2.h.
2014 * c-exp.y (classify_name): Check is_a_member_of_this before returning
2019 * NEWS: Add x86-lynxos to the list of platforms supported by
2024 * NEWS: Announce GDBserver support for version 5.x of ppc-lynxos.
2028 * Makefile.in (HFILES_NO_SRCDIR): Add progspace.h.
2032 * i386-tdep.c (i386_ymm_type): Set type name to
2033 builtin_type_vec256i.
2037 * i386-tdep.c (i386_gdbarch_init): Fix typo in comments.
2041 * i386-tdep.c (i386_gdbarch_init): Fix typo in comments.
2045 * amd64-tdep.c (amd64_register_name): Removed.
2046 (amd64_init_abi): Don't call set_gdbarch_register_name.
2048 * i386-tdep.c (i386_ymmh_regnum_p): Make it static.
2050 * i386-tdep.h (i386_ymmh_regnum_p): Removed.
2055 Redirect also uiout and stdtarg{,err} in execute_command_to_string.
2056 * cli-logging.c (struct saved_output_files) <targerr>: New.
2057 (set_logging_redirect, pop_output_files, handle_redirections):
2058 Redirect also gdb_stdtargerr.
2059 * defs.h (struct ui_out, make_cleanup_ui_out_redirect_pop): New
2061 * event-top.c (gdb_setup_readline, gdb_disable_readline): Redirect
2062 also gdb_stdtargerr.
2063 * top.c (execute_command_to_string): Move make_cleanup_ui_file_delete
2064 to the top. Redirect also gdb_stdlog, gdb_stdtarg and gdb_stdtargerr.
2065 Use ui_out_redirect, register make_cleanup_ui_out_redirect_pop.
2066 * tui/tui-io.c (tui_setup_io): Redirect also gdb_stdtargerr.
2067 * utils.c (do_ui_out_redirect_pop, make_cleanup_ui_out_redirect_pop):
2072 * hppa-tdep.c (unwind_command): Use host_address_to_string function
2073 to display a host address.
2074 * monitor.c (monitor_read_memory): Likewise.
2075 * xtensa-tdep.c (xtensa_push_dummy_call): Likewise.
2079 * coffread.c (struct coff_symbol): Change c_value type from `long' to
2080 `CORE_ADDRESS' as it might contain target addresses.
2084 * alpha-mdebug-tdep.c (find_proc_desc): Use SYMBOL_VALUE_BYTES macro
2085 before cast to pointer to avoid warning.
2089 * v850-tdep.c (v850_gdbarch_init): Change the v850's `char'
2094 * dwarf2read.c (fixup_partial_die): Do not set dummy name for
2095 anonymous class partial DIEs.
2099 * dwarf2read.c (dwarf2_compute_name): Check that the first
2100 argument is a pointer.
2104 * dwarf2read.c (read_func_scope, read_structure_type)
2105 (read_common_block): Check for a NULL return from new_symbol.
2109 * dwarf2read.c (dwarf2_read_index): Return on no SEC_HAS_CONTENTS.
2113 * dwarf2read.c (read_structure_type): Move processing of
2114 fields and member functions from here...
2115 (process_structure_scope): ... to here.
2119 * gnu-v3-abi.c (gnuv3_print_method_ptr): Do not use
2121 (gnuv3_make_method_ptr): Likewise.
2125 * breakpoint.c (create_breakpoint): Add missing _().
2129 * dwarf2-frame.h (dwarf2_frame_build_info): Delete, unused.
2135 * dwarf2read.c, gdbtypes.c, psymtab.c, symfile.h, symtab.c,
2136 symtab.h: Revert earlier change.
2140 * psymtab.c (add_psymbol_to_bcache): Initialize
2142 memset psymbol.ginfo.value to 0.
2146 * infrun.c (resume): Extend comment on ignoring single-step
2147 requests on vfork parents waiting for a vfork-done.
2152 * corelow.c (core_open): Use target_signal_from_host if CORE_GDBARCH
2154 * fork-child.c (startup_inferior) <resume_signal>: Use enum
2156 * linux-nat.c (linux_nat_resume): Use target_signal_to_host before
2157 calling strsignal. Use enum target_signal type for saved_signo.
2158 (linux_handle_extended_wait) <signo>: Use enum target_signal type.
2159 (linux_nat_wait_1): Use enum target_signal type for signo. Use
2160 target_signal_to_host before calling strsignal.
2161 * remote-m32r-sdi.c (m32r_wait, m32r_detach): Replace 0 by
2167 * common/signals.c (ANY): Remove.
2168 (SET): No longer use ANY.
2172 * infrunc(resume): When inferior is waiting_for_vfork_done,
2173 clear step and don't use displaced stepping.
2177 * breakpoint.c (can_use_hardware_watchpoint): Handle the first
2182 Code cleanup - split print_stop_reason.
2183 * infrun.c (enum inferior_stop_reason): Remove.
2184 (print_stop_reason): Remove by splitting into ...
2185 (print_exited_reason, print_signal_exited_reason)
2186 (print_no_history_reason, print_signal_received_reason)
2187 (print_end_stepping_range_reason): ... these new functions. Update
2188 the preceding comment.
2189 (handle_inferior_event): Change the calls to print_exited_reason,
2190 print_signal_exited_reason, print_no_history_reason,
2191 print_signal_received_reason, print_end_stepping_range_reason.
2192 (handle_step_into_function, handle_step_into_function_backward):
2193 Change the calls to print_end_stepping_range_reason.
2197 * breakpoint.c (save_breakpoints): Use RETURN_MASK_ALL.
2198 * cli-out.c: Include vec.h.
2199 (cli_field_fmt, cli_spaces, cli_text, cli_message, cli_flush): New
2200 variable stream, initialize it, use it.
2201 (cli_redirect): New function comment. Replace the stream and
2202 original_stream fields by the new streams field. Remove the
2203 original_stream != NULL conditional, assert error on NULL instead.
2204 (out_field_fmt, field_separator): New variable stream, initialize it, use it.
2205 (cli_out_data_ctor): Assert non-NULL stream. Replace the stream and
2206 original_stream fields by the new streams field.
2207 (cli_out_set_stream): Replace the stream field by the new streams
2209 * cli-out.h: Include vec.h.
2210 (ui_filep): New typedef, call DEF_VEC_P for it.
2211 (struct cli_ui_out_data): Replace the stream and original_stream
2212 fields by the new streams field.
2213 * cli/cli-logging.c (set_logging_redirect): Call ui_out_redirect with
2214 NULL first. Extend the comment.
2215 (handle_redirections): Call ui_out_redirect with output.
2216 * python/py-breakpoint.c (bppy_get_commands): Move ui_out_redirect
2217 calls outside of the TRY_CATCH block.
2225 Back out the following change:
2227 | * record.c (set_record_pic_cmdlist,
2228 | show_record_pic_cmdlist): New variables.
2229 | (set_record_pic_command,
2230 | show_record_pic_command): New functions.
2231 | (record_pic_function, record_pic_line, record_pic_enum,
2232 | set_record_pic_type, record_pic_hide_nofunction,
2233 | record_pic_hide_nosource, record_pic_hide_same): New variables.
2234 | (record_pic_fputs): New function.
2235 | (function_list, node_list, edge_list): New struct.
2236 | (function_list, node_list, edge_list): New variables.
2237 | (record_pic_cleanups, record_pic_node,
2238 | record_pic_edge, cmd_record_pic): New functions.
2239 | (_initialize_record): Add new commands for record pic.
2243 * config.in, configure: Regenerated.
2244 * configure.ac: Check for waitpid.
2245 * ser-pipe.c (pipe_close): Wait for the program to exit.
2249 * cli/cli-logging.c: Include gdb_assert.h.
2250 (set_logging_overwrite): New function.
2251 (logging_redirect): New comment.
2252 (logging_no_redirect_file, set_logging_redirect)
2253 (pop_output_files) <logging_no_redirect_file>: New.
2254 (handle_redirections) <!logging_redirect>: New variable
2255 no_redirect_file. Remove file autoclose for tee_file_new. No longer
2256 discard cleanup for the close of former OUTPUT. Set
2257 LOGGING_NO_REDIRECT_FILE.
2258 (handle_redirections) <logging_redirect>: gdb_assert
2259 LOGGING_NO_REDIRECT_FILE.
2260 (show_logging_command) <logging_redirect handling>: Adjust messages
2261 for SAVED_FILENAME not NULL.
2262 (_initialize_cli_logging): Install set_logging_overwrite and
2263 set_logging_redirect.
2267 * iq2000-tdep.c (iq2000_scan_prologue): Initialize SAL.END.
2271 * Makefile.in (GDB_WARN_CFLAGS_NO_FORMAT): Convert it to the no- form.
2272 (monitor.o): Replace $(INTERNAL_WARN_CFLAGS) by $(INTERNAL_CFLAGS) and
2273 add $(GDB_WARN_CFLAGS_NO_FORMAT).
2274 (printcmd.o): Replace $(INTERNAL_CFLAGS_BASE) by $(INTERNAL_CFLAGS).
2278 * linux-nat.c (status_to_str): Use WTERMSIG to extract the signal
2279 number from a WIFSIGNALED status.
2283 * symtab.h (lookup_type_symbol): Declare.
2284 * symtab.c (lookup_symbol_in_language_full): Rename from
2285 lookup_symbol_in_language. Add 'for_type' argument.
2286 (lookup_symbol_in_language): New function.
2287 (lookup_type_symbol): Likewise.
2288 (lookup_symbol_aux): Add 'for_type' argument.
2289 (match_symbol_aux): New function.
2290 (lookup_symbol_aux_symtabs): Use expand_one_symtab_matching.
2291 (match_transparent_type): New function.
2292 (basic_lookup_transparent_type): Use expand_one_symtab_matching.
2293 * symfile.h (struct quick_symbol_functions)
2294 <pre_expand_symtabs_matching>: Remove.
2295 <expand_one_symtab_matching>: New field.
2296 * psymtab.c (expand_one_symtab_matching_psymtabs): New function.
2297 (pre_expand_symtabs_matching_psymtabs): Remove.
2298 (psym_functions): Update.
2299 * gdbtypes.c (lookup_typename): Use lookup_type_symbol.
2300 * dwarf2read.c (dw2_lookup_symbol): Update comment.
2301 (dw2_pre_expand_symtabs_matching): Remove.
2302 (dw2_expand_one_symtab_matching): New function.
2303 (dwarf2_gdb_index_functions): Update.
2307 * NEWS: Add entry announcing GDBserver support on powerpc-lynxos.
2311 * mi/mi-main.c (mi_cmd_list_target_features): Add `reverse'
2312 as a feature reported by -list-target-features.
2316 * features/Makefile (WHICH): Add rs6000/powerpc-32.
2317 (powerpc-32.o, powerpc-32.c): New rules.
2318 (clean): Also remove powerpc-32.c.
2319 * regformats/rs6000/powerpc-32.dat: Generate.
2323 * symfile.c (reread_symbols): Use psymbol_bcache_free, and
2324 psymbol_bcache_init.
2325 * psymtab.h (psymbol_bcache_init): New function prototype.
2326 (psymbol_bcache_free): New function prototype.
2327 (psymbol_bcache_get_bcache): New function prototype.
2328 * psymtab.c (psymbol_bcache_init): New function.
2329 (psymbol_bcache_free): New function.
2330 (psymbol_bcache_full): New function.
2331 (psymbol_bcache_get_bcache): New function.
2332 (add_psymbol_to_bcache): use psymbol_bcache_full.
2333 * objfiles.h (psymbol_cache): Change type of psymbol_cache to
2335 * symmisc.c (print_symbol_bcache_statistics): Updated.
2336 (print_objfile_statistics): Updated.
2337 * objfiles.c (allocate_objfile): Use psymbol_bcache_init to initialize
2339 (free_objfile): Use psymbol_bcache_free.
2344 * dwarf2read.c (new_symbol_full) <DW_TAG_template_type_param>:
2345 Don't set TYPE_NAME on the type.
2349 * infrun.c (set_exec_direction_func): Error out if target does not
2350 support reverse execution.
2354 Make linux_get_siginfo_type `type *' unique.
2355 * linux-tdep.c (linux_gdbarch_data_handle, struct linux_gdbarch_data)
2356 (init_linux_gdbarch_data, get_linux_gdbarch_data): New.
2357 (linux_get_siginfo_type): New variable linux_gdbarch_data. Initialize
2358 it. Use linux_gdbarch_data->siginfo_type as a persistent storage.
2359 (_initialize_linux_tdep): New.
2364 * defs.h (find_memory_region_ftype): New typedef.
2365 (exec_set_find_memory_regions): Use it.
2366 * exec.c (exec_set_find_memory_regions): Use find_memory_region_ftype.
2367 * fbsd-nat.c (fbsd_find_memory_regions): Likewise.
2368 * gcore.c (objfile_find_memory_regions): Likewise.
2369 * gnu-nat.c (gnu_find_memory_regions): Likewise.
2370 * linux-nat.c (linux_nat_find_memory_regions): Likewise.
2371 * procfs.c (iterate_over_mappings_cb_ftype): Remove.
2372 (iterate_over_mappings): Rename iterate_over_mappings_cb_ftype to
2373 find_memory_region_ftype.
2374 (insert_dbx_link_bpt_in_region): Likewise.
2375 (iterate_over_mappings): Likewise. Drop the comment part about the
2377 (find_memory_regions_callback): Use find_memory_region_ftype.
2378 (proc_find_memory_regions): Likewise.
2379 (info_mappings_callback): Rename iterate_over_mappings_cb_ftype to
2380 find_memory_region_ftype.
2381 * target.c (dummy_find_memory_regions): Use find_memory_region_ftype.
2382 * target.h (struct target_ops) <to_find_memory_regions>: Likewise.
2386 * psymtab.c (add_psymbol_to_bcache): Remove 'static' from
2387 'static partial_symbol psymbol'.
2388 (psymbol_hash): New function.
2389 (psymbol_compare): New function.
2390 * bcache.c (hash_continue): New.
2391 (hash): Use hash_continue.
2392 * bcache.c: Add hash_function and compare_function
2393 pointers to bcache struct.
2394 (bcache_full): Use bcache->hash_function, and
2395 bcache->compare_function.
2396 (bcache_compare): New function.
2397 (bcache_xmalloc): Take hash_function and
2398 compare_function arguments and initialize the
2401 * objfiles.c (allocate_objfile): Updated.
2402 * symfile.c (reread_symbols): Updated.
2403 * python/py-type.c (typy_richcompare): Updated.
2409 * python/py-value.c (valpy_get_dynamic_type): New function.
2410 (value_object_getset): Add "dynamic_type".
2411 (valpy_get_type): Fail on error.
2415 * arm-linux-tdep.c (arm_linux_sigreturn_return_addr): New.
2416 (arm_linux_syscall_next_pc): New.
2417 (arm_linux_copy_svc): Use arm_linux_sigreturn_return_addr instead.
2418 (arm_linux_init_abi): Initialize syscall_next_pc.
2419 * arm-tdep.c (thumb_get_next_pc_raw): Get next pc of SWI in Thumb mode.
2420 (arm_get_next_pc_raw): Get next pc of SWI in ARM mode.
2421 * arm-tdep.h (struct gdbarch_tdep): Add a function pointer syscall_next_pc.
2422 Declare arm_frame_is_thumb.
2427 * breakpoint.c (bpstat_alloc): Remove unused prototype.
2428 (bpstat_alloc): Change parameters cbs to bs_link_pointer. Adjust the
2430 (bpstat_stop_status): Change root_bs into bs_head and bs_link. Adjust
2431 calls of bpstat_alloc. Remove explicit bs chain termination.
2436 * linux-nat.c (pull_pid_from_list): Rename status to statusp.
2437 (my_waitpid): Likewise.
2441 * dwarf2read.c (dw2_require_line_header): Read from .debug_types
2446 * dwarf2read.c (dwarf2_attach_fields_to_type): Don't set
2447 TYPE_FIELD_IGNORE_BITS.
2451 * dwarf2read.c (dwarf2_per_objfile_free): Reorganize buffers to match
2452 the order they're defined in. munmap .debug_types buffer.
2456 * dwarf2read.c (dw2_require_full_path): Rename parameter cu to per_cu.
2457 (dw2_forget_cached_source_info): Rename local cu to per_cu.
2458 (dw2_lookup_symtab, dw2_do_expand_symtabs_matching): Ditto.
2459 (dw2_print_stats, dw2_expand_all_symtabs): Ditto.
2460 (dw2_expand_symtabs_with_filename, dw2_find_symbol_file): Ditto.
2461 (dw2_find_symbol_file, dw2_expand_symtabs_matching): Ditto.
2462 (dw2_map_symbol_filenames, dwarf2_initialize_objfile): Ditto.
2463 (dwarf2_free_objfile, write_one_signatured_type): Ditto.
2464 (write_psymtabs_to_index): Ditto.
2468 * NEWS: Mention libthread_db debugging with core files.
2472 * dwarf2read.c (dwarf2_build_include_psymtabs): Remove unnecessary
2473 forward decl. Pass pst->dirname to dwarf_decode_lines.
2474 (psymtab_include_file_name): New function.
2475 (dwarf_decode_lines): Call it. Update comments.
2479 * dwarf2read.c (inherit_abstract_dies): Handle origin die's
2480 compilation unit being different from target die's.
2485 * dwarf2read.c (dwarf2_per_objfile): New members debug_info_type_hash,
2486 debug_types_type_hash.
2487 (dwarf2_cu, dwarf2_per_cu_data): Delete member type_hash.
2489 (lookup_die_type): Renamed from tag_type_to_tag. First look in
2490 appropriate type_hash table. All callers updated.
2491 (allocate_signatured_type_table): Renamed from
2492 allocate_signatured_type_hash_table. All callers updated.
2493 (create_signatured_type_table_from_index): Renamed from
2494 create_signatured_type_hash_from_index. All callers updated.
2495 (read_die_type): Add comment. Move actual reading to ...
2496 (read_die_type_1): ... here. New function.
2497 (follow_die_ref_or_sig): Tweak comment.
2498 (set_die_type): Rewrite to use appropriate choice of
2499 debug_info_type_hash or debug_types_type_hash.
2500 (get_die_type_at_offset): New function.
2501 (get_die_type): Call it.
2505 * python/py-type.c (typy_richcompare): Initialize worklist.
2511 * arm-tdep.c: Include features/arm-with-m.c.
2512 (arm_psr_thumb_bit): New. Update all uses of CPSR_T to
2514 (arm_pc_is_thumb): Add a gdbarch argument. Update all callers.
2515 Check is_m after force-mode.
2516 (arm_gdbarch_init): Check the binary before the target description.
2517 Add check for M profile attribute. If we have an M-profile device,
2518 but no target register description, use arm-with-m. Recognize the
2519 new org.gnu.gdb.arm.m-profile feature and its xpsr register.
2520 (_initialize_arm_tdep): Call initialize_tdesc_arm_with_m.
2521 * arm-tdep.h (XPSR_T): Define.
2522 (struct gdbarch_tdep): Add is_m member.
2523 * features/arm-m-profile.xml, features/arm-with-m.c,
2524 features/arm-with-m.xml: New files.
2528 * dwarf2read.c (read_structure_type): Add comment.
2529 (read_enumeration_type): Add comment.
2530 (process_enumeration_scope): Move definition of some locals
2531 closer to their use.
2532 (read_namespace_type): Add comment.
2533 (set_die_type): Fix typo in comment.
2538 * python/py-value.c: Include expression.h.
2539 (valpy_do_cast): New function.
2540 (valpy_cast): Use it.
2541 (valpy_dynamic_cast): New function.
2542 (valpy_reinterpret_cast): Likewise.
2543 (value_object_methods): Add dynamic_cast, reinterpret_cast.
2548 * python/py-value.c (valpy_nonzero): Don't throw error for other
2554 * python/py-type.c: Include bcache.h, vec.h.
2555 (struct type_equality_entry): New.
2556 (compare_strings): New function.
2557 (check_types_equal): Likewise.
2558 (check_types_worklist): Likewise.
2559 (typy_richcompare): Likewise.
2560 (type_object_type): Set tp_richcompare field.
2565 * python/py-type.c (typy_fields): Call check_typedef.
2566 (typy_template_argument): Add TRY_CATCH.
2571 * python/py-type.c (typy_array): New function.
2572 (type_object_methods): Add "array".
2576 * python/python.c: Include "serial.h".
2577 (gdbpy_event_fds): Change type to `struct serial *' a array from
2579 (gdbpy_run_events): Change parameters. Use serial_readchar in
2581 (gdbpy_post_event): Use serial_write in place of write.
2582 (gdbpy_initialize_events): Use serial_pipe instead of pipe, and
2583 serial_async in place of add_file_handler.
2587 * serial.h (gdb_pipe, serial_pipe): Declare.
2588 * serial.c (serial_interface_lookup): Take a const char pointer.
2589 (serial_fdopen): Rename to ...
2590 (serial_fdopen_ops): ... this. Add an OPS parameter and use it.
2591 Call the OPS' fdopen function if there is one.
2592 (serial_fdopen): Rewrite as wrapper to serial_fdopen_ops.
2594 (struct serial_ops) <fdopen>: New field.
2596 * ser-mingw.c (free_pipe_state):
2597 (free_pipe_state): Close output on non-pex pipes.
2598 (pipe_windows_fdopen): New.
2600 (_initialize_ser_windows): Register pipe_windows_fdopen.
2601 * ser-go32.c (gdb_pipe): New.
2602 * ser-pipe.c (pipe_close): Close file descriptor even if there's
2610 * dwarf2read.c (struct delayed_method_info): New struct.
2611 (struct dwarf2_cu): Add vector method_list.
2612 (scan_partial_symbols): Count methods for union, class, structure,
2613 and interface types.
2614 (add_to_method_list): New function.
2615 (free_delayed_list): New function.
2616 (compute_delayed_physnames): New function.
2617 (process_full_comp_unit): Make a cleanup for the CU's delayed
2618 physname list, compute the delayed physnames, and free the
2620 (dwarf2_add_member_fn): For C++ and Java, delay the computation
2621 of the physname until after the CU is read.
2623 * dwarf2read.c (read_structure_type): Check if the current
2624 DIE's type was already completed after dwarf2_full_name
2629 * NEWS: Mention some additional changes.
2633 * Makefile.in (install-python): Add DESTDIR.
2638 * parser-defs.h (parse_float, parse_c_float): Declare.
2639 * parse.c (parse_float, parse_c_float): New function.
2640 * c-exp.y (parse_number): Call parse_c_float.
2641 * objc-exp.y (parse_number): Ditto.
2642 * p-exp.y (parse_number): Ditto. Use ANSI/ISO-style definition.
2643 * jv-exp.y (parse_number): Call parse_float, fix suffix handling.
2647 * psymtab.c (map_symbol_filenames_psymtab): Call FUN with
2648 the arguments in the correct order.
2649 * symtab.c (maybe_add_partial_symtab_filename): Declare
2650 the arguments in the correct order.
2654 * varobj.c (varobj_create): Replace variable old_fi with old_id,
2655 initialize it by null_frame_id, wrap its usage by get_frame_id,
2656 frame_id_p and frame_find_by_id.
2661 * configure: Rebuild.
2662 * configure.ac: Add install-python to CONFIG_INSTALL.
2663 * Makefile.in (install-python): New.
2667 * gdb_assert.h (gdb_assert_not_reached): New macro.
2668 (gdb_assert_fail): Fix typo in comment.
2669 * avr-tdep.c (avr_return_value): Use gdb_assert_not_reached instead of
2671 * darwin-nat.c (darwin_check_new_threads): Ditto.
2672 * dwarf2read.c (dwarf2_get_section_info): Ditto.
2673 (munmap_section_buffer): Ditto.
2674 * m32c-tdep.c (make_types): Ditto.
2675 (m32c_decode_srcdest4, m32c_decode_sd23, m32c_frame_base): Ditto.
2676 * macroexp.c (get_character_constant): Ditto.
2677 (get_string_literal): Ditto.
2678 * mep-tdep.c (mep_pseudo_cr_size): Ditto.
2679 (mep_pseudo_cr_index, mep_register_type): Ditto.
2680 (mep_pseudo_register_read, mep_pseudo_register_write): Ditto.
2681 (mep_get_insn, mep_analyze_prologue): Ditto.
2682 * objfiles.c (qsort_cmp): Ditto.
2683 * prologue-value.c (pv_is_identical): Ditto.
2684 * record.c (record_get_loc): Ditto.
2685 * value.c (value_static_field): Ditto.
2686 * xtensa-tdep.c (call0_track_op): Ditto.
2691 * gdbtypes.c (lookup_struct_elt_type): Clean up error emission.
2692 * parse.c (parse_field_expression): Use RETURN_MASK_ERROR. Move
2693 name-copying lower. Document exception behavior.
2694 * completer.c (expression_completer): Catch exceptions from
2695 parse_field_expression.
2701 * linux-thread-db.c (add_thread_db_info): Skip glibc/BZ5983
2702 workaround on core files.
2703 (try_thread_db_load_1): Don't try enabling thread event reporting
2705 (thread_db_load): Allow thread_db on core files.
2706 (attach_thread): Don't check thread signals on core files, nor try
2707 really attaching to the thread, nor enabling thread event event
2709 (thread_db_detach): Don't try disabing thread event reporting or
2710 removing thread event breakpoints when debugging a core file.
2711 (find_new_threads_callback): Don't try enabling thread event
2712 reporting on core files.
2713 (thread_db_find_new_threads_2): Don't look for a stopped lwp when
2714 debugging a core file.
2715 (thread_db_find_new_threads): Don't update thread
2716 cores (processors) when debugging a core (dump).
2722 * corelow.c (add_to_thread_list): Don't use
2723 gdbarch_core_reg_section_encodes_pid. Use bfd_core_file_pid.
2724 (get_core_register_section): Don't use
2725 gdbarch_core_reg_section_encodes_pid.
2727 * gdbarch.sh (core_reg_section_encodes_pid): Delete.
2728 * gdbarch.h, gdbarch.c: Regenerate.
2729 * amd64-sol2-tdep.c (amd64_sol2_init_abi): Don't set
2730 gdbarch_core_reg_section_encodes_pid.
2731 * i386-sol2-tdep.c (i386_sol2_init_abi): Ditto.
2732 * sparc-sol2-tdep.c (sparc32_sol2_init_abi): Ditto.
2733 * sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Ditto.
2737 * MAINTAINERS : Add myself under Write After Approval.
2741 * NEWS: Mention template parameter support.
2745 PR breakpoints/11371
2747 * breakpoint.c (decref_bp_location): Assert the reference count is
2752 PR breakpoints/11371
2754 * breakpoint.c (breakpoint_init_inferior): Decrement the
2755 location's reference count instead of deleting right away.
2756 (bpstat_free): Decrement the location's reference count. Make
2758 (bpstat_copy): Increment the location's reference count.
2759 (bpstat_find_breakpoint): Adjust.
2760 (bpstat_num): Adjust.
2761 (print_it_typical): Adjust. Use the breakpoint pointer in the
2762 bpstat instead of the location's owner.
2763 (bpstat_alloc): Remove const qualifier from the 'bl' parameter.
2764 Adjust to record the location's owner in the bpstat.
2765 (watchpoint_check): Use the breakpoint pointer in the bpstat
2766 instead of the location's owner.
2767 (bpstat_check_breakpoint_conditions): Don't handle
2768 bp_watchpoint_scope here. Use the breakpoint pointer in the
2769 bpstat instead of the location's owner.
2770 (bpstat_stop_status): Defer inferior function calls to after
2771 building the bpstat list. Handle bp_watchpoint_scope here. Use
2772 the breakpoint pointer in the bpstat instead of the location's
2774 (bpstat_what): Use the breakpoint pointer in the bpstat instead of
2775 the location's owner.
2776 (free_bp_location): Don't walk bpstats clearing locations.
2777 (incref_bp_location): New.
2778 (decref_bp_location): New.
2779 (breakpoint_auto_delete): Use the breakpoint pointer in the bpstat
2780 instead of the location's owner.
2781 (update_global_location_list): Clear the location's owner, and
2782 decrement the location's reference count instead of deleting it
2784 (breakpoint_retire_moribund): Decrement the location's reference
2785 count instead of deleting it right away.
2786 (bpstat_remove_bp_location): Delete.
2787 (bpstat_remove_breakpoint): New.
2788 (bpstat_remove_bp_location_callback): Delete.
2789 (bpstat_remove_breakpoint_callback): New.
2790 (delete_breakpoint): Iterate over all threads' stop_bpstat's
2791 clearing references to the breakpoint that is being deleted.
2793 * breakpoint.h (struct bp_location) <refc>: New field.
2794 <owner>: Update comments.
2795 (bpstat_free): Delete declaration.
2796 (struct bpstats): Change the type of the breakpoint_at field to
2797 struct breakpoint point, from struct bp_location pointer. Add new
2798 field bp_location_at.
2806 * NEWS: Mention watch -location.
2810 * breakpoint.c (update_watchpoint): Add source empty line. Prefer
2811 EXP_STRING_REPARSE to EXP_STRING.
2812 (watch_command_1): Set also EXP_STRING_REPARSE.
2813 (delete_breakpoint): Free also EXP_STRING_REPARSE.
2814 * breakpoint.h (struct breakpoint): New field exp_string_reparse.
2815 Update comment for exp_string.
2819 * value.c (release_value): Clear 'next' pointer.
2820 * breakpoint.c (watch_command_1): Add 'just_location' argument.
2821 (watch_command_wrapper): Update.
2822 (watch_maybe_just_location): New function.
2823 (watch_command): Update.
2824 (rwatch_command_wrapper): Update.
2825 (rwatch_command): Update.
2826 (awatch_command_wrapper): Update.
2827 (awatch_command): Update.
2828 (check_for_argument): New function.
2829 (_initialize_breakpoint): Update help text.
2833 * arm-tdep.c (arm_push_dummy_call): Handle pointers to
2834 typedef'ed function types correctly.
2838 * python/python-internal.h (gdbpy_get_hook_function): Don't
2843 * cli/cli-logging.c (logging_overwrite, logging_redirect): Make them
2848 * python/python.c (gdbpy_solib_name): Remove the const qualifier of
2849 the format strings to be compatible with Python 2.4.
2853 Easier and more stubborn MI memory read commands.
2855 * mi/mi-cmds.c (mi_cmds): Register data-read-memory-bytes
2856 and data-write-memory-bytes.
2857 * mi/mi-cmds.h (mi_cmd_data_read_memory_bytes)
2858 (mi_cmd_data_write_memory_bytes): New.
2859 * mi/mi-main.c (mi_cmd_data_read_memory): Use regular target_read.
2860 (mi_cmd_data_read_memory_bytes, mi_cmd_data_write_memory_bytes):
2862 (mi_cmd_list_features): Add "data-read-memory-bytes" feature.
2863 * target.c (target_read_until_error): Remove.
2864 (read_whatever_is_readable, free_memory_read_result_vector)
2865 (read_memory_robust): New.
2866 * target.h (target_read_until_error): Remove.
2867 (struct memory_read_result, free_memory_read_result_vector)
2868 (read_memory_robust): New.
2872 * dwarf2read.c (load_partial_comp_unit): Initialize free_cu_cleanup.
2873 (read_comp_unit): Initialize back_to.
2878 * dwarf2read.c: Include "c-lang.h" and "valprint.h".
2879 (struct dwarf2_per_objfile) <reading_partial_symbols>: New field.
2880 (struct partial_die_info) <has_template_arguments>: New field.
2881 <num_attrs>: Change type to unsigned char.
2882 <building_fullname>: New field.
2883 (dwarf2_build_psymtabs_hard): Set reading_partial_symbols. Only
2884 allocate a CU if we don't have one already. Add a cleanup for the
2886 (partial_die_full_name): Handle template arguments not in
2888 (dwarf2_psymtab_to_symtab): Clear reading_partial_symbols.
2889 (load_full_comp_unit): Only allocate a CU if we don't have one
2891 (do_ui_file_peek_last): New.
2892 (dwarf2_compute_name): Handle template parameters not in
2894 (read_comp_unit): Read and free abbrevs if not read yet.
2895 (load_partial_dies): Handle template arguments not in DW_AT_name.
2896 (find_partial_die): If we have a CU, but no a partial dies yet,
2897 also read in the CU.
2898 (dwarf2_const_value_attr): New, abstracted out from
2900 (dwarf2_const_value, dwarf2_const_value_data): Adjust to use
2901 dwarf2_const_value_attr.
2902 (determine_prefix): Detect and break loops created by RCVT's debug
2904 (maybe_queue_comp_unit): Bail out early if reading partial
2906 (follow_die_offset): Load full CU if we have no dies.
2907 * dwarf2loc.c (dwarf2_evaluate_loc_desc): Make public.
2908 * dwarf2loc.h (dwarf2_evaluate_loc_desc): Declare.
2913 * python/python.c (gdbpy_run_events): New function.
2914 (gdbpy_post_event): Likewise.
2915 (gdbpy_initialize_events): Likewise.
2916 (_initialize_python): Call gdbpy_initialize_events.
2920 * valarith.c (vector_binop): New function.
2921 (scalar_binop): Likewise.
2922 (value_binop): Call scalar_binop or vector_binop depending on the types.
2923 * eval.c (ptrmath_type_p): Return 0 in case of TYPE_VECTOR.
2924 (evaluate_subexp_with_coercion): Add vector check to not convert vectors
2926 * value.c (coerce_array): Add vector check to not coerce vectors.
2930 * d-lang.c (extract_identifiers): Handle multiple digits.
2935 * dummy-frame.c (dummy_frame_unwinder): Remove its static qualifier.
2936 Rename to dummy_frame_unwind.
2937 (dummy_frame_unwind): Remove.
2938 * dummy-frame.h (dummy_frame_unwind): Reference directly the struct.
2939 * frame-unwind.c (frame_unwind_init): Use address of
2940 dummy_frame_unwind and inline_frame_unwind.
2941 * frame.c (create_sentinel_frame): Use address of
2942 sentinel_frame_unwind.
2943 * inline-frame.c (inline_frame_unwinder): Rename to
2944 inline_frame_unwind.
2945 (inline_frame_unwind): Remove.
2946 * inline-frame.h (inline_frame_unwind): Reference directly the struct.
2947 * sentinel-frame.c (sentinel_frame_unwinder): Rename to
2948 sentinel_frame_unwind.
2949 (sentinel_frame_unwind): Remove.
2950 * sentinel-frame.h (sentinel_frame_unwind): Reference directly the
2956 * frame-unwind.c (frame_unwind_find_by_frame): Remove the return type
2957 and returned value. New comment from frame-unwind.h.
2958 * frame-unwind.h (frame_unwind_find_by_frame): Remove the return type.
2960 * frame.c (get_frame_id, frame_unwind_register_value)
2961 (create_new_frame, get_prev_frame_1, frame_unwinder_is)
2962 (get_frame_type, frame_unwind_arch): Do not use the return value of
2963 frame_unwind_find_by_frame.
2969 * python/python.c (gdbpy_solib_address): New function.
2970 (gdbpy_decode_line): Likewise.
2974 Revert gdb-add-index addition:
2975 * Makefile.in (install-only): Don't install gdb-add-index.
2976 * gdb-add-index.sh: Remove.
2980 * remote-sim.c (gdbsim_xfer_inferior_memory): Replace
2981 `target_has_execution' check with `to_has_memory' check.
2982 (gdbsim_has_all_memory, gdbsim_has_memory): New functions.
2983 (init_gdbsym_ops): Initialize relevant fields of `gdbsim_ops'
2984 with `gdbsim_has_all_memory' and `gdbsim_has_memory'.
2988 * remote-sim.c (program_loaded, gdbsim_desc, remote_sim_ptid)
2989 (resume_siggnal, resume_step): Move these static globals...
2990 (struct sim_inferior_data): ...into this new struct.
2991 (sim_inferior_data_key, next_pid, sim_argv, gdbsim_is_open):
2993 (gdb_callback, callbacks_initialized): Move these globals to
2994 a point earlier in the file.
2995 (check_for_duplicate_sim_descriptor, get_sim_inferior_data)
2996 (get_sim_inferior_data_by_ptid, sim_inferior_data_cleanup)
2997 (gdbsim_close_inferior, gdbsim_resume_inferior)
2998 (gdbsim_stop_inferior): New functions.
2999 (SIM_INSTANCE_NOT_NEEDED, SIM_INSTANCE_NEEDED, INITIAL_PID):
3001 (gdbsim_fetch_register, gdbsim_store_register, gdbsim_load)
3002 (gdbsim_create_inferior, gdbsim_open, gdbsim_close, gdbsim_resume)
3003 (gdbsim_stop, gdbsim_cntrl_c, gdbsim_wait)
3004 (gdbsim_xfer_inferior_memory, gdbsim_files_info)
3005 (gdbsim_mourn_inferior, simulator_command, gdbsim_thread_alive,
3006 (gdbsim_pid_to_str): Invoke `get_sim_inferior_data' to set
3007 new local variable `sim_data' in each of these functions. Use
3008 `sim_data' to reference former globals `program_loaded',
3009 `gdbsim_desc', `remote_sim_ptid', `resume_siggnal', and
3011 (gdbsim_open): Remove local variable `argv'. Put results of call
3012 to `gdb_buildargv' in `sim_argv' rather than in `argv'. Don't
3013 make a cleanup for it. Free it though when a sim instance cannot
3015 (gdbsim_close): Free sim_argv and null it out as appropriate.
3016 Close sim instances in all inferiors.
3017 (gdbsim_cntrl_c): Stop all inferiors.
3019 (_initialize_remote_sim): Initialize `sim_inferior_data_key'.
3023 * dwarf2read.c (new_symbol): Add symbol to variable list at end of
3024 function after symbol construction is complete.
3025 Do the same for template symbol addition to template_symbols list.
3029 * symtab.c (symbol_get_demangled_name): Remove assertion and
3030 return NULL when language_specific.cplus_specific is not initialized.
3031 * stabsread.c (define_symbol): Set the name before calling
3032 cp_scan_for_anonymous_namespaces.
3036 * symtab.h: Renamed SYMBOL_INIT_LANGUAGE_SPECIFIC to
3037 SYMBOL_SET_LANGUAGE.
3038 (symbol_init_language_specific): Renamed to symbol_set_language.
3039 * symtab.c (symbol_init_language_specific): Removed redundant check
3041 Renamed to symbol_set_language.
3042 * stabsread.c (define_symbol): Updated.
3043 (read_enum_type): Updated
3044 * psymtab.c (add_psymbol_to_bcache): Updated.
3045 * minsyms.c (install_minimal_symbols): Updated.
3046 * coffread.c (process_coff_symbol): SYMBOL_SET_LANGUAGE instead of
3047 SYMBOL_LANGUAGE to set the language.
3048 * minsyms.c (prim_record_minimal_symbol_full): Ditto.
3049 * mdebugread.c (new_symbol): Ditto.
3050 * cp-namespace.c (check_one_possible_namespace_symbol): Ditto.
3051 * dwarf2read.c (new_symbol_full): Ditto.
3052 * jv-lang.c (add_class_symbol): Ditto.
3056 * defs.h (make_cleanup_restore_uinteger, make_cleanup_restore_ui_file)
3057 (make_cleanup_restore_page_info)
3058 (set_batch_flag_and_make_cleanup_restore_page_info): New declarations.
3059 * gdbcmd.h (execute_command_to_string): New declaration.
3060 * python/python.c (struct restore_ui_file_closure, restore_ui_file)
3061 (make_cleanup_restore_ui_file): Move to utils.c
3062 (execute_gdb_command) <to_string>: Move ...
3063 * top.c (execute_command_to_string): ... here. Call
3064 set_batch_flag_and_make_cleanup_restore_page_info.
3065 * utils.c (make_cleanup_restore_integer): New source file blank line.
3066 (make_cleanup_restore_uinteger): New.
3067 (struct restore_ui_file_closure, do_restore_ui_file)
3068 (make_cleanup_restore_ui_file): Move here from python/python.c.
3069 (init_page_info) <batch_flag>
3070 (do_restore_page_info_cleanup, make_cleanup_restore_page_info)
3071 (set_batch_flag_and_make_cleanup_restore_page_info): New.
3075 * thread.c (add_thread_silent): Use null_ptid instead of
3076 minus_one_ptid while getting rid of stale inferior_ptid.
3080 * dwarf2-frame.c (struct dwarf2_cie): Add ptr_size member.
3081 Throughout, call read_encoded_value with ptr_size rather than addr_size.
3082 (decode_frame_entry_1): Remove redundant setting of
3083 addr_size. Call gdbarch_dwarf2_addr_size rather than gdbarch_ptr_bit
3084 to determine addr_size in Dwarf versions < 4. Set ptr_size dependent
3085 on examined frame section. Add comment to explain why.
3086 * gdbarch.sh (dwarf2_addr_size): Define as variable. Add lengthy
3087 comment to explain usage.
3088 * gdbarch.c: Regenerate.
3089 * gdbarch.h: Regenerate.
3091 * xstormy16-tdep.c (xstormy16_gdbarch_init): Set dwarf2_addr_size to 4.
3096 * varobj.c (varobj_create): Move variables fi, old_fi and block to
3101 * configure.tgt (alpha*-*-linux*, am33_2.0*-*-linux*, frv-*-*)
3102 (hppa*-*-linux*, ia64-*-linux*, m32r*-*-linux*, m68*-*-linux*)
3103 (microblaze*-linux-*, mips*-*-linux*, sh*-*-linux*)
3104 (sparc-*-linux*, sparc64-*-linux*, xtensa*-*-linux*): Add
3105 linux-tdep.o to gdb_target_obs.
3109 * mi/mi-main.c (mi_cmd_remove_inferior): Properly access first
3114 * mips-linux-tdep.c(regset.h): New include.
3115 (mips_supply_gregset_wrapper, mips_fill_gregset_wrapper,
3116 mips_supply_fpregset_wrapper, mips_fill_fpregset_wrapper,
3117 mips64_supply_gregset_wrapper, mips64_fill_gregset_wrapper,
3118 mips64_supply_fpregset_wrapper, mips64_fill_fpregset_wrapper,
3119 mips_linux_regset_from_core_section): New functions.
3120 (fetch_core_registers, regset_core_fns): Deleted.
3121 (mips_linux_init_abi): Add mips_linux_regset_from_core_section.
3122 Deleted regset_core_fns.
3123 * mips-tdep.c(mips_gdbarch_init): Initialize tdep->gregset,
3124 tdep->gregset64, tdep->fpregset and tdep->fpregset64.
3125 * mips-tdep.h(gdbarch_tdep): Add gregset, gregset64, fpregset
3130 * s390-tdep.c: Include linux-tdep.h.
3131 (s390_gdbarch_init): Call linux_init_abi.
3135 * corelow.c (core_pid_to_str): Default to using normal_pid_to_str
3136 instead of printing "Thread" here.
3137 * linux-tdep.c: Include inferior.h.
3138 (linux_core_pid_to_str): New.
3139 (linux_init_abi): New.
3140 * linux-tdep.h (linux_init_abi): Declare.
3141 * alpha-linux-tdep.c: Include linux-tdep.h.
3142 (alpha_linux_init_abi): Call linux_init_abi.
3143 * amd64-linux-tdep.c (amd64_linux_init_abi): Call linux_init_abi.
3144 * arm-linux-tdep.c (arm_linux_init_abi): Call linux_init_abi.
3145 * frv-linux-tdep.c: Include linux-tdep.h
3146 (frv_linux_init_abi): Call linux_init_abi.
3147 * hppa-linux-tdep.c: Include linux-tdep.h
3148 (hppa_linux_init_abi): Call linux_init_abi.
3149 * i386-linux-tdep.c (i386_linux_init_abi): Call linux_init_abi.
3150 * ia64-linux-tdep.c: Include linux-tdep.h.
3151 (ia64_linux_init_abi): Call linux_init_abi.
3152 * m32r-linux-tdep.c: Include linux-tdep.h.
3153 (m32r_linux_init_abi): Call linux_init_abi.
3154 * m68klinux-tdep.c: Include linux-tdep.h.
3155 (m68k_linux_init_abi): Call linux_init_abi.
3156 * microblaze-linux-tdep.c: Include linux-tdep.h.
3157 (microblaze_linux_init_abi): Call linux_init_abi.
3158 * mips-linux-tdep.c: Include linux-tdep.h.
3159 (mips_linux_init_abi): Call linux_init_abi.
3160 * mn10300-linux-tdep.c: Include linux-tdep.h.
3161 (am33_linux_init_osabi): Call linux_init_abi. Rename the
3162 'gdbinfo' parameter to 'info'.
3163 * ppc-linux-tdep.c: Include linux-tdep.h.
3164 (ppc_linux_init_abi): Call linux_init_abi.
3165 * sh-linux-tdep.c: Include linux-tdep.h.
3166 (sh_linux_init_abi): Call linux_init_abi.
3167 * sparc-linux-tdep.c: Include linux-tdep.h.
3168 (sparc32_linux_init_abi): Call linux_init_abi.
3169 * sparc64-linux-tdep.c: Include linux-tdep.h.
3170 (sparc64_linux_init_abi): Call linux_init_abi.
3171 * xtensa-linux-tdep.c: Include linux-tdep.h.
3172 (xtensa_linux_init_abi): Call linux_init_abi.
3173 * i386-cygwin-tdep.c (i386_windows_core_pid_to_str): New.
3174 (i386_cygwin_init_abi): Install it as gdbarch_core_pid_to_str
3179 * breakpoint.c (bpdisp_text): Constify bpdisps.
3180 * solib-svr4.c (solib_break_names): Constify.
3181 (bkpt_names, main_name_list): Constify.
3182 (match_main): Constify soname arg.
3183 (bfd_lookup_symbol): Remove unnecessary forward decl.
3184 Constify symname arg.
3185 (enable_break): Constify bkpt_namep.
3186 * symtab.c (search_symbols): Constify types, types2, types3, types4.
3187 (symtab_symbol_info): Constify classnames.
3191 * NEWS: Document Python value inferior function calls.
3195 * dwarf2read.c (dwarf_attr_name): Add DW_AT_GNU_odr_signature.
3199 * linux-thread-db.c (libthread_db_debug): New variable.
3200 (thread_db_find_new_threads_silently): Control verbosity with it.
3201 (try_thread_db_load_1, try_thread_db_load): Likewise.
3202 (find_new_threads_once): Likewise.
3203 (_initialize_thread_db): Set/show it.
3207 * common/signals.c (signals): Move the content to signals.def.
3208 Include it. Remove the INDENT comments.
3212 * Makefile.in (install-only): Install gdb-add-index.
3213 * gdb-add-index.sh: New file.
3217 * MAINTAINERS: Add myself for write after approval privileges.
3221 * symfile.c (addr_section_name): New function.
3222 (addrs_section_compar): Use it.
3223 (addr_info_make_relative): Use it. Move variable sect_name into a more
3224 inner block. Make ".dynbss" and ".sdynbss" checks more strict.
3228 * configure: Rebuild.
3229 * configure.ac: Add missing case for Python 2.7.
3233 * rx-tdep.c (rx_analyze_prologue): Don't require branches to have
3238 * PROBLEMS: Remove mention of all problems.
3243 * configure.ac: Check for wresize.
3244 * configure, config.in: Regenerate.
3245 * tui/tui-win.c (make_visible_with_new_height): Wrap wresize call
3251 * python/py-type.c (typy_legacy_template_argument): New function,
3252 extracted from typy_template_argument.
3253 (typy_template_argument): Use TYPE_TEMPLATE_ARGUMENT. Return a
3258 * remote.c (readchar): Call pop_target in case of SERIAL_ERROR.
3262 * dwarf2read.c (dwarf2_const_value_data): Never sign extend.
3266 * dwarf2read.c (read_subroutine_type): Improve THIS detection,
3267 handling DW_AT_object_pointer, and workaround GCC PR 43053.
3271 * Makefile.in (HFILES_NO_SRCDIR): Remove link-warning.h.
3275 * remote.c (remote_download_tracepoint): Add missing gettext markup.
3276 * tracepoint.c (parse_static_tracepoint_marker_definition): Likewise.
3280 * breakpoint.c (breakpoint_re_set_one): Move call to set_language
3281 down, just before the block that parse the breakpoint addr_string.
3286 * symfile.c (reread_symbols): Clear template_symbols.
3287 * symtab.h (struct symbol) <is_cplus_template_function>: New
3289 (SYMBOL_IS_CPLUS_TEMPLATE_FUNCTION): New macro.
3290 (struct template_symbol): New.
3291 * symtab.c (lookup_symbol_aux_local): Use
3292 cp_lookup_symbol_imports_or_template.
3293 * objfiles.h (struct objfile) <template_symbols>: New field.
3294 * objfiles.c (relocate_one_symbol): New function.
3295 (objfile_relocate1): Use it. Relocate isolated symbols.
3296 * gdbtypes.h (struct cplus_struct_type) <n_template_arguments,
3297 template_arguments>: New fields.
3298 (TYPE_N_TEMPLATE_ARGUMENTS): New macro.
3299 (TYPE_TEMPLATE_ARGUMENTS): Likewise.
3300 (TYPE_TEMPLATE_ARGUMENT): Likewise.
3301 (lookup_typename): Update.
3302 * gdbtypes.c (lookup_typename): Constify "block" argument.
3303 * dwarf2read.c: Include vec.h.
3304 (symbolp): New typedef.
3305 (read_func_scope): Read template arguments. Allocate a
3306 template_symbol when needed.
3307 (read_structure_type): Read template arguments.
3308 (new_symbol_full): New function, from new_symbol. Handle
3309 DW_TAG_template_type_param and DW_TAG_template_value_param.
3310 (new_symbol): Rewrite as wrapper.
3311 * cp-support.h (cp_lookup_symbol_imports_or_template): Declare.
3312 * cp-namespace.c: Include language.h.
3313 (search_symbol_list): New function.
3314 (cp_lookup_symbol_imports_or_template): Likewise.
3318 * tui/tui-win.c (make_visible_with_new_height): Resize and move
3319 the command window to the new size and position.
3323 * tui/tui-win.c (tui_resize_all): Update the locator's origin's
3328 * tui/tui-io.c (tui_handle_resize_during_io): Call tui_resize_all
3329 after a detecting a resize.
3330 * tui/tui-win.c (tui_resize_all): Remove tui_set_win_resized_to
3335 * configure.ac: Check for resize_term.
3336 * configure, config.in: Regenerate.
3340 * MAINTAINERS (Write After Approval): Reorder a couple of entries.
3344 * dwarf2read.c (read_string): Rename to ...
3345 (read_direct_string): ... this.
3346 (skip_one_die, read_attribute_value, dwarf_decode_line_header)
3347 (dwarf_decode_lines, dwarf_decode_macros): Adjust.
3351 * linux-nat.c (linux_nat_lp_status_is_event): New function.
3352 (count_events_callback, select_event_lwp_callback)
3353 (cancel_breakpoints_callback, linux_nat_wait_1): Use it.
3357 * ia64-linux-nat.c (ia64_linux_status_is_event): New function.
3358 (_initialize_ia64_linux_nat): Install it.
3359 * linux-nat.c (sigtrap_is_event, linux_nat_status_is_event)
3360 (linux_nat_set_status_is_event): New.
3361 (stop_wait_callback, count_events_callback, select_event_lwp_callback)
3362 cancel_breakpoints_callback, linux_nat_filter_event)
3363 (linux_nat_wait_1): Use linux_nat_status_is_event.
3364 * linux-nat.h (linux_nat_set_status_is_event): New prototype.
3368 * NEWS: Mention labels, .gdb_index.
3372 * cli/cli-cmds.c (disassemble_command): Add support of disassemble
3373 "start,+length" form of arguments.
3374 * NEWS: Add "Changed commands" (disassemble) section for "Changes
3375 since GDB 7.1"; and merge two separated paragraphs of disassemble
3376 description in "Changes in GDB 7.0".
3380 * top.c (input_from_terminal_p): Return 0 on BATCH_FLAG.
3381 * utils.c (defaulted_query): Do not explicitly check for BATCH_FLAG.
3382 (fputs_maybe_filtered): Do not do filtering also on
3383 ! INPUT_FROM_TERMINAL_P.
3387 * dwarf2read.c (dw2_find_pc_sect_symtab): Remove trailing newline
3392 * python/py-value.c (valpy_call): New Function.
3396 * dwarf2read.c (dwarf2_read_index): Initialize the types_list and
3397 types_list_elements variables.
3401 * dwarf2loc.c (locexpr_describe_location_piece): Also recognize
3402 TLS with DW_OP_const4u or DW_OP_const8u.
3406 * ppc-linux-nat.c (store_vsx_register): Use PTRACE_GETVSXREGS to get
3407 VSX registers contents.
3411 * dwarf2read.c (add_partial_symbol): Do not add a global variable if
3412 its adress is null. Add comment to explain why.
3413 (new_symbol): Ditto.
3417 * linux-nat.c (linux_nat_do_thread_registers): Convert STOP_SIGNAL to
3418 the host signal first.
3422 * dwarf2read.c (struct dwarf2_per_objfile) <n_type_comp_units,
3423 type_comp_units>: New fields.
3424 (dw2_get_cu): New function.
3425 (create_cus_from_index): Remove unused argument.
3426 (create_signatured_type_hash_from_index): New function.
3427 (create_addrmap_from_index): Update.
3428 (dwarf2_read_index): Handle version 2.
3429 (dw2_find_last_source_symtab, dw2_forget_cached_source_info)
3430 (dw2_lookup_symtab, dw2_do_expand_symtabs_matching)
3431 (dw2_print_stats, dw2_expand_all_symtabs)
3432 (dw2_expand_symtabs_with_filename, dw2_find_symbol_file)
3433 (dw2_expand_symtabs_matching, dw2_map_symbol_filenames): Update.
3434 (dwarf2_initialize_objfile): Call create_debug_types_hash_table.
3435 (allocate_signatured_type_hash_table): New function.
3436 (add_signatured_type_cu_to_list): Likewise.
3437 (create_debug_types_hash_table): Use them. Set type_comp_units.
3438 (read_signatured_type): Ensure section data is available.
3439 (add_address_entry): Don't record empty ranges.
3440 (struct signatured_type_index_data): New.
3441 (write_one_signatured_type): New function.
3442 (write_psymtabs_to_index): Write type CUs.
3443 (save_gdb_index_command): Update comment.
3444 (process_type_comp_unit): Move inititalization of
3446 (create_debug_types_hash_table): ... here.
3450 * gdb_gcore.sh (tmpfile): Remove the variable, its initialization,
3451 cleanup and generating of gdb script to it.
3452 (gdb): Use redirection from /dev/null. Use --nx. Turn off pagination
3453 and terminal size. Convert $tmpfile to a series of -ex-es.
3457 * symtab.c (basic_lookup_transparent_type): Call pre-expand
3458 hook for STATIC_BLOCK types, too.
3462 * dwarf2read.c: Remove unused typedef dwarf2_cu_per_cu_data_ptr
3463 and vector definition.
3467 * linux-nat.c (cancel_breakpoint): Remove unused forward declaration.
3471 * dwarf2read.c: Include completer.h.
3472 (save_gdb_index_command): Use matching usage command name.
3473 (_initialize_dwarf2_read): New variable c, initialize it by add_cmd.
3474 Set filename_completer for it.
3478 * dwarf2read.c (create_debug_types_hash_table): Set objfile on
3479 type signature's per-CU data.
3483 * NEWS: Mention target reported shared libraries support by
3492 * dwarf2read.c (process_die): Also allow DW_TAG_const_type
3493 and DW_TAG_volatile_type.
3494 (new_symbol): Likewise.
3498 * eval.c (evaluate_subexp_standard): Disabled evaluation of C++
3499 function symbols before overload resolution.
3503 * breakpoint.c (bptype_string): New, abstracted out from
3504 print_one_breakpoint_location.
3505 (print_one_breakpoint_location): Adjust.
3506 (breakpoint_1): Adjust the type column width dynamically.
3510 * symfile.c (find_separate_debug_file_by_debuglink): Remove
3511 a gdb_assert call, new comment.
3515 * linux-nat.c (linux_handle_extended_wait): Handle case when
3516 event == PTRACE_EVENT_CLONE && stopping && WSTOPSIG (status) != SIGSTOP.
3521 * linux-nat.c (linux_nat_wait_1): Reset STATUS after calling
3522 linux_nat_wait_1. Use always LP->STATUS afterwards.
3526 * inf-ptrace.c (inf_ptrace_create_inferior): Initialize back_to.
3527 (inf_ptrace_attach): Ditto.
3531 Make core files the process_stratum.
3532 * corefile.c (core_target): New variable.
3533 (core_file_command): Remove variable t, use core_target.
3534 * corelow.c (core_ops): Make it static.
3535 (init_core_ops): Change to process_stratum. Initialize CORE_TARGET.
3536 * defs.h (make_cleanup_unpush_target): New prototype.
3537 * gdbarch.h: Regenerate.
3538 * gdbarch.sh (core_pid_to_str): Remove core_stratum from its comment.
3539 * gdbcore.h (core_target): New declaration.
3540 * inf-ptrace.c (inf_ptrace_create_inferior, inf_ptrace_attach): New
3541 variables ops_already_pushed and back_to. Use push_target,
3542 make_cleanup_unpush_target and discard_cleanups calls.
3543 * record.c (record_open): Replace core_stratum by a core_bfd check.
3544 * target.c (target_is_pushed): New function.
3545 (find_core_target): Remove.
3546 * target.h (enum strata) <core_stratum>: Remove.
3547 (target_is_pushed): New declaration.
3548 (find_core_target): Remove declaration.
3549 * tracepoint.c (init_tfile_ops) <to_stratum>: Remove comment.
3550 * utils.c (do_unpush_target, make_cleanup_unpush_target): New functions.
3554 * breakpoint.c (single_step_breakpoints_inserted): New
3556 * breakpoint.h (single_step_breakpoints_inserted): Extern.
3557 * infrun.c (maybe_software_singlestep): Add check code.
3558 * record.c (record_resume): Add code for software single step.
3559 (record_wait): Ditto.
3563 * linux-nat.c (linux_handle_extended_wait): Move variable new_lp into
3564 a more inner block. Remove its unused declaration initializer.
3568 * NEWS: Mention support for the new ptrace interface and hardware
3569 accelerated watchpoint conditions on powerpc-linux.
3573 * target.c (debug_to_insert_breakpoint): Instead of casting to unsigned
3574 long and %ld, use core_addr_to_string() and %s to print CORE_ADDR vars
3575 and host_address_to_string() and %s for pointers.
3576 (debug_to_remove_breakpoint): Likewise.
3577 (debug_to_region_ok_for_hw_watchpoint): Likewise.
3578 (debug_to_can_accel_watchpoint_condition): Likewise.
3579 (debug_to_stopped_data_address): Likewise.
3580 (debug_to_watchpoint_addr_within_range): Likewise.
3581 (debug_to_insert_hw_breakpoint): Likewise.
3582 (debug_to_remove_hw_breakpoint): Likewise.
3583 (debug_to_insert_watchpoint): Likewise.
3584 (debug_to_remove_watchpoint): Likewise.
3588 * symtab.h (symbol_set_demangled_name): Now takes an optional objfile*
3590 (cplus_specific): New struct.
3591 * symtab.c (symbol_set_demangled_name): Updated.
3592 Use cplus_specific for cplus symbols.
3593 (symbol_get_demangled_name): Retrive the name from the cplus_specific
3594 struct for cplus symbols.
3595 (symbol_init_language_specific): Set cplus_specific for cplus symbols.
3596 (symbol_set_names): Pass objfile to symbol_set_demangled_name.
3597 * symtab.c (symbol_init_cplus_specific): New function.
3601 * symtab.h (symbol_set_demangled_name): New function.
3602 (symbol_get_demangled_name): New function.
3603 * symtab.c (symbol_set_demangled_name): New function.
3604 (symbol_get_demangled_name): New function.
3605 (symbol_init_language_specific): Use demangled_name setter and getter.
3606 (symbol_set_names): Ditto.
3607 (symbol_natural_name): Ditto.
3608 (symbol_demangled_name): Ditto.
3609 * dwarf2read.c (new_symbol): Ditto.
3613 * symtab.h: Renamed cplus_specific to mangled_lang.
3614 * symtab.c (symbol_init_language_specific): Updated.
3615 (symbol_set_names): Updated.
3616 (symbol_natural_name): Updated.
3617 (symbol_demangled_name): Updated.
3618 * ada-lang.c (ada_decode_symbol): Updated.
3619 * dwarf2read.c (new_symbol): Updated.
3623 * valops.c (value_assign): Do not call to value_coerce_to_target.
3624 (value_must_coerce_to_target): Return 0 in case of TYPE_VECTOR.
3628 * MAINTAINERS: Add myself for write after approval privileges.
3632 * c-valprint.c (c_val_print): Add embedded_offset to address in
3633 call to val_print_array_elements.
3637 * dwarf2read.c (dwarf2_read_index): Correctly set 'total_size'.
3641 * dwarf2read.c (dwarf2_per_cu_text_offset): Fix reference to
3646 * symfile.c (set_initial_language): Update.
3647 (deduce_language_from_filename): Argument type now const.
3648 * symtab.h (find_main_filename): Update.
3649 (deduce_language_from_filename): Update.
3650 * symtab.c (find_main_filename): Make result const.
3651 * dwarf2read.c (dw2_find_symbol_file): Change return type.
3652 * psymtab.c (find_symbol_file_from_partial): Change return type.
3653 * symfile.h (struct quick_symbol_functions) <find_symbol_file>:
3658 * breakpoint.c (save_cmdlist): No longer static.
3659 * gdbcmd.h (save_cmdlist): Declare.
3660 * symfile.c (symbol_file_add_with_addrs_or_offsets): Set
3661 OBJF_READNOW on objfile if readnow_symbol_files.
3662 * elfread.c (elf_symfile_read): Use dwarf2_initialize_objfile.
3663 (elf_sym_fns_gdb_index): New global.
3664 * dwarf2read.c: Include exceptions.h.
3666 (struct mapped_index): New.
3667 (dwarf2_per_cu_data_ptr): New typedef.
3668 (struct dwarf2_per_objfile) <using_index, index_table, gdb_index>:
3670 (GDB_INDEX_SECTION): New define.
3671 (struct dwarf2_per_cu_quick_data): New.
3672 (struct dwarf2_per_cu_data) <objfile>: New field.
3675 (byte_swap): New function.
3676 (MAYBE_SWAP): New macro.
3677 (INDEX_SUFFIX): New macro.
3678 (dw2_do_instantiate_symtab): New function.
3679 (dw2_instantiate_symtab): Likewise.
3680 (create_cus_from_index): Likewise.
3681 (create_addrmap_from_index): Likewise.
3682 (mapped_index_string_hash): Likewise.
3683 (find_slot_in_mapped_hash): Likewise.
3684 (dwarf2_read_index): Likewise.
3685 (dw2_setup): Likewise.
3686 (dw2_require_line_header): Likewise.
3687 (dw2_require_full_path): Likewise.
3688 (dw2_find_last_source_symtab): Likewise.
3689 (dw2_forget_cached_source_info): Likewise.
3690 (dw2_lookup_symtab): Likewise.
3691 (dw2_lookup_symbol): Likewise.
3692 (dw2_do_expand_symtabs_matching): Likewise.
3693 (dw2_pre_expand_symtabs_matching): Likewise.
3694 (dw2_print_stats): Likewise.
3695 (dw2_dump): Likewise.
3696 (dw2_relocate): Likewise.
3697 (dw2_expand_symtabs_for_function): Likewise.
3698 (dw2_expand_all_symtabs): Likewise.
3699 (dw2_expand_symtabs_with_filename): Likewise.
3700 (dw2_find_symbol_file): Likewise.
3701 (dw2_map_ada_symtabs): Likewise.
3702 (dw2_expand_symtabs_matching): Likewise.
3703 (dw2_find_pc_sect_symtab): Likewise.
3704 (dw2_map_symbol_names): Likewise.
3705 (dw2_map_symbol_filenames): Likewise.
3706 (dw2_has_symbols): Likewise.
3707 (dwarf2_gdb_index_functions): New global.
3708 (dwarf2_initialize_objfile): New function.
3709 (process_psymtab_comp_unit): Update.
3710 (add_partial_subprogram): Likewise.
3711 (dwarf2_psymtab_to_symtab): Likewise.
3712 (psymtab_to_symtab_1): Use dw2_do_instantiate_symtab.
3713 (process_full_comp_unit): Update.
3714 (find_file_and_directory): New function.
3715 (read_file_scope): Use find_file_and_directory.
3716 (dwarf2_per_cu_objfile): Update.
3717 (dwarf2_per_cu_addr_size): Update.
3718 (dwarf2_per_cu_offset_size): Update.
3719 (dwarf2_free_objfile): Free the index, if needed.
3720 (dwarf2_per_objfile_free): Unmap the index, if needed.
3721 (struct strtab_entry): New.
3722 (hash_strtab_entry): New function.
3723 (eq_strtab_entry): Likewise.
3724 (create_strtab): Likewise.
3725 (add_string): Likewise.
3726 (struct symtab_index_entry): New.
3727 (struct mapped_symtab): New.
3728 (hash_symtab_entry): New function.
3729 (eq_symtab_entry): Likewise.
3730 (delete_symtab_entry): Likewise.
3731 (create_index_table): Likewise.
3732 (create_mapped_symtab): Likewise.
3733 (cleanup_mapped_symtab): Likewise.
3734 (find_slot): Likewise.
3735 (hash_expand): Likewise.
3736 (add_index_entry): Likewise.
3737 (add_indices_to_cpool): Likewise.
3738 (write_hash_table): Likewise.
3739 (add_address_entry): Likewise.
3740 (write_psymbols): Likewise.
3741 (write_obstack): Likewise.
3742 (unlink_if_set): Likewise.
3743 (write_psymtabs_to_index): Likewise.
3744 (save_gdb_index_command): Likewise.
3745 (_initialize_dwarf2_read): Install "save gdb-index"
3747 (create_all_comp_units): Initialize 'objfile' field of CU.
3748 (dwarf2_locate_sections): Check for .gdb_index.
3749 * psymtab.h (dwarf2_gdb_index_functions): Declare.
3750 * symfile.h (dwarf2_initialize_objfile): Declare.
3754 * symtab.c (lookup_symbol_aux_symtabs): Call pre-expand hook.
3755 (basic_lookup_transparent_type): Likewise.
3756 * symfile.h (struct quick_symbol_functions)
3757 <pre_expand_symtabs_matching>: New field.
3758 * psymtab.c (pre_expand_symtabs_matching_psymtabs): New function.
3759 (psym_functions): Update.
3763 PR breakpoints/8357:
3764 * symtab.h (domain_enum_tag) <LABEL_DOMAIN>: Update comment.
3765 * linespec.c (decode_line_1): Update comment. Call decode_label.
3766 (decode_label): New function.
3767 (symbol_found): Handle LOC_LABEL.
3768 * dwarf2read.c (new_symbol) <DW_TAG_label>: Set symbol's type and
3769 domain. Call add_symbol_to_list.
3773 * dwarf2loc.h (dwarf2_per_cu_text_offset): Declare.
3774 * dwarf2loc.c (find_location_expression): Use
3775 dwarf2_per_cu_text_offset.
3776 (dwarf2_evaluate_loc_desc): Likewise.
3777 (dwarf2_loc_desc_needs_frame): Likewise.
3778 (compile_dwarf_to_ax): Likewise.
3779 (loclist_describe_location): Likewise.
3780 * dwarf2read.c (dwarf2_per_cu_text_offset): New function.
3781 (dwarf2_per_cu_objfile): Update comment.
3785 * dwarf2read.c (read_subrange_type): Call read_subrange_type.
3786 * p-lang.c (pascal_printstr): Likewise.
3790 * python/py-prettyprint.c (gdbpy_get_display_hint): Don't use
3791 'hint' if it is NULL.
3795 * source.c (print_source_lines_base): Add check for noprint.
3799 * python/python-config.py: Resync with Python 2.7 version of this
3804 * NEWS: Fix typo in section name (s/GDB 7.1/GDB 7.2).
3808 * NEWS: Create a new section for the next release branch.
3809 Rename the section of the current branch, now that it has
3814 GDB 7.2 branch created (branch timestamp: 2010-07-07 17:00 UTC)
3815 * version.in: Bump version to 7.2.50.20100707-cvs.
3819 * dwarf2read.c (dwarf2_const_value) <DW_form_addr>: Create a
3820 LOC_COMPUTED symbol.
3821 * dwarf2loc.c (dwarf2_evaluate_loc_desc): Set new field.
3822 (dwarf2_loc_desc_needs_frame): Likewise.
3823 (compile_dwarf_to_ax) <DW_OP_addr>: Use offset.
3824 * dwarf2expr.h (struct dwarf_expr_context) <offset>: New field.
3825 * dwarf2expr.c (execute_stack_op) <DW_OP_addr>: Use offset.
3826 * dwarf2-frame.c (execute_stack_op): Set 'offset' field. Add
3828 (struct dwarf2_frame_cache) <text_offset>: New field.
3829 (dwarf2_frame_cache): Set new field.
3830 (dwarf2_frame_prev_register): Update.
3831 (dwarf2_frame_sniffer): Update.
3832 (dwarf2_frame_base_sniffer): Update.
3833 (dwarf2_frame_find_fde): Add 'out_offset' argument.
3838 Support for hw accelerated condition watchpoints in booke powerpc.
3840 * breakpoint.c (fetch_watchpoint_value): Rename to fetch_subexp_value
3841 and move to eval.c. Change callers.
3842 (insert_bp_location): Pass watchpoint condition in
3843 target_insert_watchpoint.
3844 (remove_breakpoint_1) Pass watchpoint condition in
3845 target_remove_watchpoint.
3846 (watchpoint_locations_match): Call
3847 target_can_accel_watchpoint_condition.
3848 * eval.c: Include wrapper.h.
3849 (fetch_subexp_value): Moved from breakpoint.c.
3850 * ppc-linux-nat.c (ppc_linux_region_ok_for_hw_watchpoint):
3852 (can_use_watchpoint_cond_accel): New function.
3853 (calculate_dvc): Likewise.
3854 (num_memory_accesses): Likewise.
3855 (check_condition): Likewise.
3856 (ppc_linux_can_accel_watchpoint_condition): Likewise
3857 (ppc_linux_insert_watchpoint): Call can_use_watchpoint_cond_accel,
3858 check_condition and calculate_dvc.
3859 (ppc_linux_remove_watchpoint): Likewise.
3860 (_initialize_ppc_linux_nat): Set to_can_accel_watchpoint_condition to
3861 ppc_linux_can_accel_watchpoint_condition
3862 * target.c (debug_to_insert_watchpoint): Add argument for watchpoint
3864 (debug_to_remove_watchpoint): Likewise.
3865 (debug_to_can_accel_watchpoint_condition): New function.
3866 (update_current_target): Set to_can_accel_watchpoint_condition.
3867 (setup_target_debug): Set to_can_accel_watchpoint_condition.
3868 * target.h: Add opaque declaration for struct expression.
3869 (struct target_ops) <to_insert_watchpoint>,
3870 <to_remove_watchpoint>: Add new arguments to pass the watchpoint
3871 <to_can_accel_watchpoint_condition>: New member.
3872 condition. Update all callers and implementations.
3873 (target_can_accel_watchpoint_condition): New macro.
3874 * value.c (free_value_chain): New function.
3875 * value.h (fetch_subexp_value): New prototype.
3876 (free_value_chain): Likewise.
3880 * linux-nat.c (linux_nat_do_thread_registers): Use section size
3881 from gdbarch_core_regset_sections also for .reg if present.
3883 * amd64-linux-tdep.c (amd64_linux_regset_sections): Fix incorrect
3884 section size for .reg.
3885 * ppc-linux-tdep.c (ppc_linux_vsx_regset_sections): Likewise.
3886 (ppc_linux_vmx_regset_sections): Likewise.
3887 (ppc_linux_fp_regset_sections): Likewise.
3888 (ppc64_linux_vsx_regset_sections): New variable.
3889 (ppc64_linux_vmx_regset_sections): Likewise.
3890 (ppc64_linux_fp_regset_sections): Likewise.
3891 (ppc_linux_init_abi): Install core_regset_section lists appropriate
3892 for current word size.
3896 * server.c (myresume): Make static.
3900 * configure, config.in: Rebuild.
3901 * configure.ac (HAVE_LIBPYTHON2_7): New define.
3902 * python/python-internal.h: Handle HAVE_LIBPYTHON2_7.
3906 * breakpoint.c (_initialize_breakpoint): Add "cl" as alias for
3911 * gdbtypes.h (floatformats_ieee_half): Add declaration.
3912 * gdbtypes.c (floatformats_ieee_half): New variable.
3913 * doublest.c (floatformat_from_length): Set format to
3914 gdbarch_half_format if length matches.
3915 * gdbarch.sh (half_bit): New architecture method.
3916 (half_format): Likewise.
3917 * gdbarch.h: Regenerate.
3918 * gdbarch.c: Likewise.
3923 Fix re-run of PIE executable, PR shlibs/11776.
3924 * solib-svr4.c (svr4_relocate_main_executable) <symfile_objfile>: Remove
3925 the part of pre-set SYMFILE_OBJFILE->SECTION_OFFSETS.
3930 * auxv.c (memory_xfer_auxv): Update attach comment.
3931 * solib-svr4.c (svr4_special_symbol_handling): Remove the call to
3932 svr4_relocate_main_executable.
3933 (svr4_solib_create_inferior_hook): Make the call to
3934 svr4_relocate_main_executable unconditional.
3939 * auxv.c (ld_so_xfer_auxv): Do not error on failed read of data_address.
3944 Fix attaching to PIEs prelinked on the disk after the process was
3946 * solib-svr4.c (svr4_exec_displacement): New variable arch_size.
3947 Verify it against bfd_get_arch_size. Try to match arbitrary
3948 displacement for the phdrs comparison.
3953 * libunwind-frame.c (libunwind_frame_prev_register): Don't set
3954 value as optimized-out.
3959 * breakpoint.c (can_use_hardware_watchpoint): Answer "what does this
3960 represent?" question in comment. Change comment to a proper sentence.
3964 * c-valprint.c (c_val_print): Fix printing of character vectors.
3968 * spu-tdep.c (spu_catch_start): Adjust the caller of changed
3969 create_breakpoint prototype.
3973 * breakpoint.c (BREAK_ARGS_HELP, _initialize_breakpoint): Clarify
3974 usefulness suggestion of multiple breakpoints at same location.
3978 * breakpoint.c (BREAK_ARGS_HELP): Add missing `the'.
3982 * dwarf2loc.c (locexpr_tracepoint_var_ref)
3983 (loclist_tracepoint_var_ref): Handle optimized out values.
3987 * breakpoint.c (update_watchpoint, _initialize_breakpoint): Remove
3988 unnecessary space in string.
3989 * filesystem.c (_initialize_filesystem): Ditto.
3990 * frame.c (_initialize_frame): Ditto.
3991 * infcmd.c (step_once): Ditto.
3992 * infrun.c (_initialize_infrun): Ditto.
3993 * linux-nat.c (linux_child_follow_fork): Ditto.
3994 * maint.c (maintenance_deprecate): Ditto.
3995 * memattr.c (_initialize_mem): Ditto.
3996 * mips-tdep.c (_initialize_mips_tdep): Ditto.
3997 * monitor.c (monitor_open): Ditto.
3998 * procfs.c (procfs_xfer_memory): Ditto.
3999 * reverse.c (bookmarks_info): Ditto.
4000 * sh64-tdep.c (sh64_show_media_regs, sh64_show_compact_regs): Ditto.
4001 * stack.c (_initialize_stack): Ditto.
4002 * tracepoint.c (_initialize_tracepoint): Ditto.
4003 * xtensa-tdep.c (xtensa_supply_gregset,
4004 xtensa_regset_from_core_section): Ditto.
4008 * value.h (struct lval_funcs) <check_any_valid>: Rename from
4010 * value.c (value_entirely_optimized_out): Invert result. Update
4011 for new function name.
4015 Static tracepoints support.
4017 * NEWS: Mention new support for static tracepoints.
4018 (New packets): Mention qTfSTM, qTsSTM, qTSTMat and
4019 qXfer:statictrace:read.
4020 (New features in the GDB remote stub, GDBserver): Mention static
4021 tracepoints support using an UST based backend.
4022 (New commands): Mention "info static-tracepoint-markers" and
4024 * breakpoint.c (is_marker_spec): New.
4025 (is_tracepoint): Handle static tracepoints.
4026 (validate_commands_for_breakpoint): Static tracepoints can't do
4028 (static_tracepoints_here): New.
4029 (bpstat_what): Handle static tracepoints.
4030 (print_one_breakpoint_location, allocate_bp_location, mention):
4032 (create_breakpoint_sal): Ditto.
4033 (decode_static_tracepoint_spec): New.
4034 (create_breakpoint): Replace `hardwareflag', and `traceflag' with
4035 `type_wanted'. Adjust. Handle static tracepoint marker
4037 (break_command_1): Adjust.
4038 (update_static_tracepoint): New.
4039 (update_breakpoint_locations): Handle static tracepoints.
4040 (breakpoint_re_set_one): Handle static tracepoint marker
4042 (disable_command, enable_command): Handle static tracepoints.
4043 (trace_command, ftrace_command): Adjust.
4044 (strace_command): New.
4045 (create_tracepoint_from_upload): Adjust.
4046 (save_breakpoints): Handle static tracepoints.
4047 (_initialize_breakpoint): Install the "strace" command.
4048 * breakpoint.h (enum bptype): New bp_static_tracepoint type.
4049 (struct breakpoint): New fields static_trace_marker_id and
4050 static_trace_marker_id_idx.
4051 (breakpoints_here_p): Declare.
4052 (create_breakpoint): Adjust.
4053 (static_tracepoints_here): Declare.
4054 * remote.c (struct remote_state) <static_tracepoints>: New field.
4055 (PACKET_qXfer_statictrace_read, PACKET_StaticTracepoints): New.
4056 (remote_static_tracepoint_marker_at): New.
4057 (remote_static_tracepoint_markers_by_strid): New.
4058 (remote_static_tracepoint_feature): New.
4059 (remote_disconnected_tracing_feature): Handle "StaticTracepoints".
4060 (remote_xfer_partial): Handle TARGET_OBJECT_STATIC_TRACE_DATA.
4061 (remote_supports_static_tracepoints): New.
4062 (remote_download_tracepoint): Download static tracepoints.
4063 (init_remote_ops): Install remote_static_tracepoint_marker_at and
4064 remote_static_tracepoint_markers_by_strid.
4065 (_initialize_remote): Install set|show remote static-tracepoints,
4066 and set|show remote read-sdata-object commands.
4067 * target.c (update_current_target): Inherit and default
4068 to_static_tracepoint_marker_at, and
4069 to_static_tracepoint_markers_by_strid.
4070 * target.h (static_tracepoint_marker): Forward declare.
4071 (enum target_object): New object TARGET_OBJECT_STATIC_TRACE_DATA.
4072 (static_tracepoint_marker_p): New typedef.
4073 (DEF_VEC_P(static_tracepoint_marker_p)): New VEC type.
4074 (struct target_ops): New fields to_static_tracepoint_marker_at and
4075 to_static_tracepoint_markers_by_strid.
4076 (target_static_tracepoint_marker_at)
4077 (target_static_tracepoint_markers_by_strid): New.
4078 * tracepoint.c: Include source.h.
4079 (validate_actionline): Handle $_sdata.
4080 (struct collection_list): New field strace_data.
4081 (add_static_trace_data): New.
4082 (clear_collection_list): Clear strace_data.
4083 (stringify_collection_list): Account for a possible static trace
4085 (encode_actions_1): Encode an $_sdata collection.
4086 (parse_tracepoint_definition): Handle static tracepoints.
4087 (parse_static_tracepoint_marker_definition): New.
4088 (release_static_tracepoint_marker): New.
4089 (print_one_static_tracepoint_marker): New.
4090 (info_static_tracepoint_markers_command): New.
4091 (sdata_make_value): New.
4092 (_initialize_tracepoint): Create the $_sdata convenience variable.
4093 Add the "info static-tracepoint-markers" command.
4094 Mention $_sdata in the "collect" command's help output.
4095 * tracepoint.h (struct static_tracepoint_marker): New.
4096 (parse_static_tracepoint_marker_definition)
4097 (release_static_tracepoint_marker): Declare.
4098 * mi/mi-cmd-break.c (mi_cmd_break_insert): Adjust.
4099 * python/py-breakpoint.c (bppy_new): Adjust.
4103 * python/python-internal.h (_XOPEN_SOURCE): Undefine before
4109 * dwarf2read.c (dwarf2_add_field): Only create a symbol if
4110 DW_AT_external is present.
4114 * dwarf2read.c (dwarf2_add_field): If DW_AT_const_value is present,
4115 create a symbol for the field and record the value.
4116 (new_symbol): Handle DW_TAG_member.
4117 * gdbtypes.c (field_is_static): Remove FIXME.
4118 * symtab.c (search_symbols): When searching for VARIABLES_DOMAIN,
4119 only ignore LOC_CONST symbols that are enums.
4121 * dwarf2read.c: Remove trailing whitespace.
4123 Delete FIELD_LOC_KIND_DWARF_BLOCK, unused.
4124 * gdbtypes.h (enum field_loc_kind): Delete FIELD_LOC_KIND_DWARF_BLOCK.
4125 (struct main_type, field loc): Delete dwarf_block.
4126 (FIELD_DWARF_BLOCK): Delete.
4127 (SET_FIELD_DWARF_BLOCK): Delete.
4128 (TYPE_FIELD_DWARF_BLOCK): Delete.
4129 * gdb-gdb.py (StructMainTypePrettyPrinter.struct_field_location_img):
4134 * record.c (set_record_pic_cmdlist,
4135 show_record_pic_cmdlist): New variables.
4136 (set_record_pic_command,
4137 show_record_pic_command): New functions.
4138 (record_pic_function, record_pic_line, record_pic_enum,
4139 set_record_pic_type, record_pic_hide_nofunction,
4140 record_pic_hide_nosource, record_pic_hide_same): New variables.
4141 (record_pic_fputs): New function.
4142 (function_list, node_list, edge_list): New struct.
4143 (function_list, node_list, edge_list): New variables.
4144 (record_pic_cleanups, record_pic_node,
4145 record_pic_edge, cmd_record_pic): New functions.
4146 (_initialize_record): Add new commands for record pic.
4150 * dwarf2read.c (read_structure_type) <fi.typedef_field_list>: Call
4151 ALLOCATE_CPLUS_STRUCT_TYPE.
4157 * value.c (pack_unsigned_long): New function.
4158 (value_from_ulongest): New function.
4159 * value.h (value_from_ulongest): Declare.
4160 * python/python.c (_initialize_python): Call
4161 gdbpy_initialize_thread and gdbpy_initialize_inferior.
4162 * python/python-internal.h: Define thread_object.
4163 (gdbpy_inferiors, gdbpy_selected_thread)
4164 (frame_info_to_frame_object, create_thread_object)
4165 (find_thread_object, find_inferior_object)
4166 (gdbpy_initialize_thread, gdbpy_initialize_inferiors)
4167 (gdbpy_is_value_object, get_addr_from_python): Declare.
4168 * python/py-value.c (builtin_type_upylong): Define.
4169 (convert_value_from_python): Add logic for ulongest.
4170 (gdbpy_is_value_object): New function.
4171 * python/py-utils.c (get_addr_from_python): New function.
4172 * python/py-frame.c (frame_info_to_frame_object): Return a PyObject.
4173 (gdbpy_selected_frame): Use PyObject over frame_info.
4174 * Makefile.in (SUBDIR_PYTHON_OBS): Add py-inferior and
4176 (SUBDIR_PYTHON_SRCS): Likewise.
4177 (py-inferior.o): New Rule.
4178 (py-infthread.o): New Rule.
4179 * python/py-inferior.c: New File.
4180 * python/py-infthread.c: New File.
4184 * c-typeprint.c (c_type_print_base): For no fields check include also
4185 TYPE_TYPEDEF_FIELD_COUNT. Print new typedefs section.
4186 * dwarf2read.c (struct typedef_field_list)
4187 (struct field_info) <typedef_field_list, typedef_field_list_count>: New.
4188 (dwarf2_add_typedef): New.
4189 (read_structure_type): Call dwarf2_add_typedef for DW_TAG_typedef.
4190 Copy also FI.TYPEDEF_FIELD_LIST.
4191 * gdbtypes.h (struct typedef_field)
4192 (struct cplus_struct_type) <typedef_field, typedef_field_count>
4193 (TYPE_TYPEDEF_FIELD_ARRAY, TYPE_TYPEDEF_FIELD, TYPE_TYPEDEF_FIELD_NAME)
4194 (TYPE_TYPEDEF_FIELD_TYPE, TYPE_TYPEDEF_FIELD_COUNT): New.
4198 * cp-namespace.c (cp_lookup_nested_type): New variable
4199 concatenated_name. Turn the current return condition into a reverse
4200 one. Call also lookup_static_symbol_aux on the constructed qualified
4202 * symtab.c (lookup_symbol_aux): Move variable objfile and searching in
4203 other files into a called ...
4204 (lookup_static_symbol_aux): ... new function here.
4205 * symtab.h (lookup_static_symbol_aux): New prototype.
4206 * valops.c (value_maybe_namespace_elt): Call also
4207 lookup_static_symbol_aux if we failed otherwise.
4211 Fix PR c++/11703 and PR gdb/1448.
4212 * c-exp.y (yylex) <last_was_coloncolon && first_was_coloncolon>: Add
4217 Fix modification of cplus_struct_default.
4218 * dwarf2read.c (dwarf2_add_member_fn) <no DW_AT_vtable_elem_location>:
4219 Call ALLOCATE_CPLUS_STRUCT_TYPE.
4220 * gdbtypes.c (cplus_struct_default): New empty initializer, comment it.
4224 * NEWS: Add entry announcing the python directory.
4228 * dwarf2read.c (read_structure_type): Allocate null cleanup later.
4232 * breakpoint.c (breakpoint_sals_to_pc): Delete arg address, unused.
4233 All callers updated.
4237 * cp-valprint.c (cp_print_value_fields) <recurse == 0>: Call
4238 obstack_begin after each obstack_free.
4242 * value.c (value_static_field): Use `switch' instead of `if'.
4243 Assert-fail if passed invalid TYPE_FIELD_LOC_KIND.
4245 * valops.c (search_struct_field): Fix typo in error message.
4249 * dwarf2expr.c (execute_stack_op): Place preprocessor
4250 directives at the start of the source line.
4254 * defs.h (make_command_stats_cleanup): Declare.
4255 (set_display_time): Declare.
4256 (set_display_space): Declare.
4257 * event-top.c (command_handler): Use make_command_stats_cleanup.
4258 * main.c (display_time, display_space): Move definitions to utils.c.
4259 (captured_main): Use make_command_stats_cleanup to get start-up
4261 Use set_display_time and set_display_space for processing OPT_STATISTICS
4263 * maint.c (maintenance_time_display): Use set_display_time.
4264 (maintenance_space_display): Use set_display_space.
4265 * top.c (execute_command): Remove obsolete 'maint time' code.
4266 (command_loop): Use make_command_stats_cleanup.
4267 * utils.c (struct cmd_stats): Structure for storing initial time
4269 (display_time, display_space): Move definitions here from utils.c.
4270 (set_display_time): New function.
4271 (set_display_space): New function.
4272 (make_command_stats_cleanup): New function.
4273 (report_command_stats): New auxiliary function for
4274 make_command_stats_cleanup.
4278 * solib-spu.c (append_ocl_sos): Fix xsnprintf statement for
4279 hosts where CORE_ADDR is long long.
4284 * python/python.c (execute_gdb_command): Add keywords. Accept
4285 "to_string" argument.
4286 (struct restore_ui_file_closure): New.
4287 (restore_ui_file): New function.
4288 (make_cleanup_restore_ui_file): Likewise.
4289 (GdbMethods) <execute>: Update.
4293 * s390-tdep.c (s390_push_dummy_call): Error on stack overflow
4294 during inferior call stack frame setup.
4298 * solib-spu.c: Include "exception.h".
4299 (ocl_program_data_key): New variable.
4300 (append_ocl_sos): New function.
4301 (ocl_enable_break): Likewise.
4302 (spu_current_sos): Call append_ocl_sos.
4303 (spu_solib_loaded): Call ocl_enable_break.
4304 (_initialize_spu_solib): Register ocl_program_data_key.
4308 * cp-support.c (reset_directive_searched): New function.
4309 (make_symbol_overload_list_using): Prevent recursive calls.
4313 * printcmd.c (print_variable_and_value): Print error message on
4318 * dwarf2expr.h (struct dwarf_value_location): Use ULONGEST as type
4320 (struct dwarf_expr_piece): Rename "expr" member to "mem". Add new
4322 (dwarf_expr_push): Change input type to ULONGEST.
4323 (dwarf_expr_fetch): Change return type to ULONGEST.
4324 (dwarf_expr_fetch_address): Add prototype.
4325 (dwarf2_read_address): Remove prototype.
4326 * dwarf2expr.c (dwarf_expr_push): Use ULONGEST as type of stack values.
4327 Truncate stack values to ctx->addr_size bytes.
4328 (dwarf_expr_fetch): Change return value to ULONGEST.
4329 (dwarf_expr_fetch_address): New function.
4330 (add_piece): Use dwarf_expr_fetch_address instead of dwarf_expr_fetch
4331 when appropriate. Update for struct dwarf_expr_piece changes.
4332 (dwarf2_read_address): Remove.
4333 (unsigned_address_type): Remove.
4334 (signed_address_type): Remove.
4335 (execute_stack_op): Use dwarf_expr_fetch_address instead of
4336 dwarf_expr_fetch when appropriate. Use ULONGEST as type of stack
4337 values. Perform operations on ULONGEST instead of on GDB values,
4338 sign-extending from ctx->addr_size bytes as needed. Read DW_OP_addr
4339 values and DW_OP_deref results as unsigned integers.
4340 * dwarf2loc.c (read_pieced_value): Update for struct dwarf_expr_piece
4342 (write_pieced_value): Likewise.
4343 (dwarf2_evaluate_loc_desc): Use dwarf_expr_fetch_address instead of
4344 dwarf_expr_fetch when appropriate.
4345 (compile_dwarf_to_ax): Read DW_OP_addr values as unsigned integers.
4346 * dwarf2-frame.c (execute_stack_op): Use dwarf_expr_fetch_address
4347 instead of dwarf_expr_fetch when appropriate.
4351 * c-typeprint.c (c_print_typedef): Append new type name for typedefs.
4355 * python/python.c (_initialize_python): Add new "constant"
4356 PYTHONDIR in gdb module. Insert this path at the head of
4357 sys.path. Set gdb.__path__ to gdb.PYTHONDIR + '/gdb' and
4358 exec its __init__.py script if it exists in that directory.
4362 * rx-tdep.c (RX_ACC_REGNUM): Define.
4363 (RX_NUM_REGS): Redefine to 26.
4364 (rx_register_name): Add register "acc". Change order of several
4365 registers. Change name of "vct" register to "fintv" to match RX
4367 (rx_register_type): Add case for RX_ACC_REGNUM.
4371 * psymtab.c (lookup_partial_symbol): Mark definition as static.
4376 Fix GDB startup on readonly filesystem.
4377 * charset.c (find_charset_names): Use PEX_USE_PIPES for pex_init.
4383 * breakpoint.c (handle_jit_event): New function.
4384 (bpstat_what): Remove enum class, kc, ss, sn, sgl, slr, clr, sr, shl,
4385 jit, err, table and bs_class. New variables shlib_event, jit_event,
4386 this_action and bptype. Change bs_class assignments to this_action
4387 assignments. new unhandled bptype internal error. Move here
4388 shlib_event and jit_event handling from handle_inferior_event.
4389 * breakpoint.h (enum bpstat_what_main_action): Extend the comment.
4390 Reorder items. Remove BPSTAT_WHAT_CHECK_SHLIBS and
4391 BPSTAT_WHAT_CHECK_JIT.
4392 * inferior.h (debug_infrun, stop_on_solib_events): New declarations.
4393 * infrun.c (debug_infrun, stop_on_solib_events): Remove static.
4394 (handle_inferior_event): Reinitialize frame and gdbarch after
4395 bpstat_what call. Move BPSTAT_WHAT_CHECK_SHLIBS and
4396 BPSTAT_WHAT_CHECK_JIT handling to bpstat_what. Reinitialize even
4397 gdbarch when frame gets reinitialized.
4401 * printcmd.c (ui_printf): New function.
4402 (printf_command): Call ui_printf.
4403 (_initialize_printcmd): New command "eval".
4407 * infrun.c (handle_inferior_event): Handle presence of single-step
4408 breakpoints for TARGET_WAITKIND_FORKED and TARGET_WAITKIND_VFORKED.
4409 Cancel single-step breakpoints for TARGET_WAITKIND_EXITED,
4410 TARGET_WAITKIND_SIGNALED, and TARGET_WAITKIND_EXECD.
4411 * breakpoint.c (detach_single_step_breakpoints): New function.
4412 (detach_breakpoints): Call it.
4413 (cancel_single_step_breakpoints): New function.
4414 * breakpoint.h (cancel_single_step_breakpoints): Add prototype.
4416 * spu-tdep.c (spu_memory_remove_breakpoint): New function.
4417 (spu_gdbarch_init): Install it.
4421 * configure.ac: Always set RDYNAMIC at least as `-rdynamic'.
4422 * configure: Regenerate.
4426 * i386-tdep.c (i386_record_lea_modrm): Change warning to query.
4427 (i386_process_record): Ditto.
4428 * record.c (record_memory_query): New variable.
4429 (_initialize_record): New command "set record memory-query".
4430 * record.h (record_memory_query): New extern.
4434 * i386-tdep.h (i386_displaced_step_copy_insn): Declare.
4435 * i386-tdep.c (i386_displaced_step_copy_insn): New function.
4436 (i386_syscall_p): Change type of lengthp to int.
4437 (i386_displaced_step_fixup): Handle kernels that run one past a
4439 * i386-linux-tdep.c (i386_linux_init_abi): Use
4440 i386_displaced_step_copy_insn instead of
4441 simple_displaced_step_copy_insn.
4445 * dwarf2read.c (read_base_type): Handle DW_ATE_UTF.
4446 (dwarf_type_encoding_name): Likewise.
4450 * p-valprint.c (pascal_val_print): Use TYPE_ERROR_NAME.
4451 * p-typeprint.c (pascal_type_print_base): Use TYPE_ERROR_NAME.
4452 * m2-valprint.c (m2_val_print): Use TYPE_ERROR_NAME.
4453 * gdbtypes.h (TYPE_ERROR_NAME): New macro.
4454 * f-valprint.c (f_val_print): Use TYPE_ERROR_NAME.
4455 * f-typeprint.c (f_type_print_base): Use TYPE_ERROR_NAME.
4456 * dwarf2read.c (tag_type_to_type): Create a new error type on
4458 * c-valprint.c (c_val_print): Use TYPE_ERROR_NAME.
4459 * c-typeprint.c (c_type_print_base): Use TYPE_ERROR_NAME.
4463 * breakpoint.c (_initialize_breakpoint): Use add_prefix_cmd,
4464 not add_abbrev_prefix_cmd, for "enable breakpoints".
4468 * dwarf2loc.c (find_location_expression): Add relocation offset
4469 to base-address-selection entry base addresses. Read addresses
4470 (and offsets) as signed/unsigned integers, depending on the
4471 BFD's sign_extend_vma flag. Do not call dwarf2_read_address.
4472 (loclist_describe_location): Likewise.
4473 (disassemble_dwarf_expression): Read DW_OP_addr operand as
4474 unsigned integer. Do not call dwarf2_read_address.
4475 (locexpr_describe_location): Likewise for DW_OP_GNU_push_tls_address.
4479 * spu-tdep.c (spu_frame_unwind_cache): Use LSLR register
4480 value instead of hard-coded SPU_LS_SIZE.
4481 (spu_software_single_step): Likewise.
4482 * spu-tdep.h (SPU_LS_SIZE): Remove.
4486 * spu-multiarch.c (spu_xfer_partial): Wrap around local store
4487 limit on local store memory accesses.
4488 * spu-linux-nat.c (spu_xfer_partial): Likewise.
4489 * spu-tdep.c (spu_lslr): Remove.
4490 (spu_pointer_to_address): Do not truncate addresses.
4491 (spu_integer_to_address): Likewise.
4492 (spu_overlay_new_objfile): Use SPU_OVERLAY_LMA.
4493 * spu-tdep.h: Add comments.
4494 (SPUADDR_SPU): Respect SPU_OVERLAY_LMA bit.
4495 (SPU_OVERLAY_LMA): Define.
4499 * osdata.c (get_osdata): Warn separately if target does not report
4501 (info_osdata_command): Allow empty type, report error if target
4502 does not return available types of OS data.
4503 * linux-nat.c (linux_nat_xfer_osdata): Report list of OS data
4504 types if no annex supplied.
4506 * thread.c (thread_id_make_value): Make a value representing the
4508 (_initialize_thread): Create $_thread.
4512 * dwarf2read.c (psymtabs_addrmap_cleanup): Add empty line after
4513 last local variable declaration. No real code change.
4517 * dwarf2read.c (psymtabs_addrmap_cleanup): New function.
4518 (dwarf2_build_psymtabs_hard): Use it. Create addrmap on a
4524 * breakpoint.c: Include parser-defs.h.
4525 (watchpoint_exp_is_const): New function.
4526 (watch_command_1): Call watchpoint_exp_is_const to check
4527 if the expression is constant.
4531 * configure.ac: Check for RDYNAMIC also for cross builds.
4532 * configure: Regenerate.
4536 * Makefile.in (ALL_TARGET_OBS): Remove solib-target.o.
4537 (SFILES): Remove solib-null.c, add solib-target.c.
4538 (COMMON_OBS): Remove solib-null.o, add solib-target.o.
4539 (ALLDEPFILES): Remove solib-target.c.
4540 * solib-target.c (_initialize_solib_target): Set
4541 current_target_so_ops to solib_target_so_ops if not already set.
4542 * solib-null.c: Delete.
4546 * NEWS: Mention GDBserver's JIT compilation of tracepoint
4551 * cp-valprint.c (cp_print_static_field): Members of
4552 dont_print_stat_array_obstack are of type "struct type *".
4553 (_initialize_cp_valprint): Likewise.
4557 * frame.c (frame_register_unwind): Do not access contents
4558 of "optimized out" unwound register value.
4562 * ada-lang.h (ada_print_type): Make varstring const.
4563 * ada-typeprint.c (print_func_type): Make name const.
4564 (ada_print_type): Make varstring const.
4565 * c-lang.h (c_print_type): Make varstring const.
4566 * c-typeprint.c (c_print_type): Likewise.
4567 * f-lang.h (f_print_type): Likewise.
4568 * f-typeprint.c (f_print_type): Likewise.
4569 * jv-lang.h (java_print_type): Likewise.
4570 * jv-typeprint.c (java_print_type): Likewise.
4571 * language.c (unk_lang_print_type): Likewise.
4572 * language.h (struct language_defn) <la_print_type>: Likewise.
4573 * m2-lang.h (m2_print_type): Likewise.
4574 * m2-typeprint.c (m2_print_type): Likewise.
4575 * p-lang.h (pascal_print_type): Likewise.
4576 * p-typeprint.c (pascal_print_type): Likewise.
4580 Add per-operation permission flags.
4582 * target.h (struct target_ops): New method to_set_permissions.
4583 (target_set_permissions): New macro.
4584 (target_insert_breakpoint): Change macro to function.
4585 (target_remove_breakpoint): Ditto.
4586 (target_stop): Ditto.
4587 (may_write_registers): Declare.
4588 (may_write_memory): Declare.
4589 (may_insert_breakpoints): Declare.
4590 (may_insert_tracepoints): Declare.
4591 (may_insert_fast_tracepoints): Declare.
4592 (may_stop): Declare.
4593 * target.c (may_write_registers, may_write_registers_1): New globals.
4594 (may_write_memory, may_write_memory_1): New globals.
4595 (may_insert_breakpoints, may_insert_breakpoints_1): New globals.
4596 (may_insert_tracepoints, may_insert_tracepoints_1): New globals.
4597 (may_insert_fast_tracepoints, may_insert_fast_tracepoints_1): New
4599 (may_stop, may_stop_1): New global.
4600 (target_xfer_partial): Test for write permission.
4601 (target_store_registers): Ditto.
4602 (target_insert_breakpoint): New function.
4603 (target_remove_breakpoint): New function.
4604 (target_stop): New function.
4605 (_initialize_targets): Add new set/show variables.
4606 (set_write_memory_permission): New function.
4607 (update_target_permissions): New function.
4608 (set_target_permissions): New function.
4609 (update_current_target): Default to_set_permissions.
4610 (_initialize_targets): Use new globals and setter function.
4611 * tracepoint.c (start_tracing): Test for permission.
4612 * inferior.h (update_observer_mode): Declare.
4613 * infrun.c (non_stop_1): Define earlier.
4614 (observer_mode, observer_mode_1): New globals.
4615 (set_observer_mode, show_observer_mode): New functions.
4616 (update_observer_mode): New function.
4617 (_initialize_infrun): Define "set observer" command.
4618 * remote.c (PACKET_QAllow): New optional packet.
4619 (remote_protocol_features): Add QAllow.
4620 (remote_set_permissions): New function.
4621 (remote_start_remote): Call it.
4622 (init_remote_ops): Add it to target vector.
4623 (_initialize_remote): Add config command for QAllow.
4627 * dwarf2read.c (dwarf2_add_member_fn): Handle correct form of
4628 DW_AT_vtable_elem_location even when GCC extension is seen.
4632 PR gdb/9977, PR exp/11636:
4633 * value.h (value_offset): Update.
4634 (struct lval_funcs) <check_validity>: New field.
4635 <copy_closure>: Make argument const.
4636 (value_computed_closure): Update.
4637 (value_contents_for_printing): Declare.
4638 (value_bits_valid): Likewise.
4639 (val_print): Likewise.
4640 (set_value_component_location): Update.
4641 (value_entirely_optimized_out): Declare.
4642 * value.c (value_offset): Argument now const.
4643 (require_not_optimized_out): New function.
4644 (value_contents_for_printing): New function.
4645 (value_contents_all): Call require_not_optimized_out.
4646 (value_contents): Likewise.
4647 (value_bits_valid): New function.
4648 (value_computed_closure): Argument now const.
4649 (set_value_component_location): Make 'whole' argument const.
4650 (value_entirely_optimized_out): New function.
4651 (value_bitsize): Argument now 'const'.
4652 (value_bitpos): Likewise.
4653 (value_type): Likewise.
4654 * valprint.h (val_print_array_elements): Update.
4655 * valprint.c (val_print): Add 'val' argument. Use
4656 valprint_check_validity.
4657 (valprint_check_validity): New function.
4658 (value_check_printable): Use value_entirely_optimized_out.
4659 (common_val_print): Update.
4660 (value_print): Likewise.
4661 (val_print_array_elements): Add 'val' argument.
4662 * valops.c (value_fetch_lazy): Use value_contents_for_printing,
4663 value_bits_valid. Reinit frame cache for lval_computed.
4664 * sh64-tdep.c (sh64_do_register): Update.
4665 * scm-valprint.c (scm_val_print): Add 'val' argument.
4666 * scm-lang.h (scm_val_print): Update.
4667 * python/python.h (apply_val_pretty_printer): Update.
4668 * python/py-prettyprint.c (apply_val_pretty_printer): Add 'val'
4669 argument. Call set_value_component_location.
4670 * printcmd.c (print_scalar_formatted): Update.
4671 * p-valprint.c (pascal_val_print): Add 'val' argument.
4672 (pascal_object_print_value_fields): Likewise.
4673 (pascal_object_print_value): Likewise.
4674 (pascal_object_print_static_field): Update.
4675 * p-lang.h (pascal_val_print): Update.
4676 (pascal_object_print_value_fields): Update.
4677 * mt-tdep.c (mt_registers_info): Update.
4678 * mi/mi-main.c (get_register): Update.
4679 (mi_cmd_data_evaluate_expression): Use common_val_print.
4680 * m2-valprint.c (m2_print_array_contents): Add 'val' argument.
4681 (m2_print_unbounded_array): Likewise.
4682 (m2_val_print): Likewise.
4683 * m2-lang.h (m2_val_print): Update.
4684 * language.h (struct language_defn) <la_val_print>: Add 'val'
4686 (LA_VAL_PRINT): Likewise.
4687 * language.c (unk_lang_val_print): Add 'val' argument.
4688 * jv-valprint.c (java_print_value_fields): Add 'val' argument.
4689 (java_val_print): Likewise.
4690 * jv-lang.h (java_val_print): Add 'val' argument.
4691 * infcmd.c (default_print_registers_info): Update.
4692 * f-valprint.c (f77_print_array_1): Add 'val' argument.
4693 (f77_print_array): Likewise.
4694 (f_val_print): Likewise.
4695 * f-lang.h (f_val_print): Add 'val' argument.
4696 * dwarf2loc.c (read_pieced_value): Use value_bitsize and
4698 <DWARF_VALUE_OPTIMIZED_OUT>: Don't print warning. Call
4699 set_value_optimized_out.
4700 (write_pieced_value): Use value_bitsize and value_bitpos.
4701 <default>: Don't exit loop.
4702 (check_pieced_value_validity): New function.
4703 (pieced_value_funcs): Reference check_pieced_value_validity,
4704 check_pieced_value_invalid.
4705 (copy_pieced_value_closure): Update.
4706 (check_pieced_value_bits): New function.
4707 (check_pieced_value_invalid): New function.
4708 * d-valprint.c (dynamic_array_type): Add 'val' argument.
4709 (d_val_print): Likewise.
4710 * d-lang.h (d_val_print): Update.
4711 * cp-valprint.c (cp_print_value_fields): Add 'val' argument.
4712 (cp_print_value_fields_rtti): Likewise.
4713 (cp_print_value): Likewise.
4714 (cp_print_static_field): Update.
4715 * c-valprint.c (c_val_print): Add 'val' argument.
4716 (c_value_print): Update.
4717 * c-lang.h (c_val_print): Update.
4718 (cp_print_value_fields): Likewise.
4719 (cp_print_value_fields_rtti): Likewise.
4720 * ada-valprint.c (struct ada_val_print_args): Remove.
4721 (val_print_packed_array_elements): Add 'val' argument.
4722 (ada_val_print): Likewise. Rewrite.
4723 (ada_val_print_stub): Remove.
4724 (ada_val_print_array): Add 'val' argument.
4725 (ada_val_print_1): Likewise.
4726 (print_variant_part): Likewise.
4727 (ada_value_print): Update.
4728 (print_record): Add 'val' argument.
4729 (print_field_values): Likewise.
4730 * ada-lang.h (ada_val_print): Update.
4734 * vec.h (VEC_cleanup): New macro.
4735 (DEF_VEC_ALLOC_FUNC_I): Update.
4736 (DEF_VEC_ALLOC_FUNC_P): Likewise.
4737 (DEF_VEC_ALLOC_FUNC_O): Likewise.
4738 * dwarf2loc.c (struct axs_var_loc): Remove.
4739 (unimplemented): New function.
4740 (translate_register): Likewise.
4741 (access_memory): Likewise.
4742 (compile_dwarf_to_ax): Likewise.
4743 (dwarf2_tracepoint_var_loc): Remove.
4744 (dwarf2_tracepoint_var_access): Likewise.
4745 (dwarf2_tracepoint_var_ref): Likewise.
4746 (locexpr_tracepoint_var_ref): Use compile_dwarf_to_ax.
4747 (loclist_tracepoint_var_ref): Likewise.
4748 * dwarf2expr.h (dwarf_expr_require_composition): Declare.
4749 * dwarf2expr.c (dwarf_expr_require_composition): Rename from
4750 require_composition. No longer static.
4751 (execute_stack_op): Update.
4752 * ax-gdb.h (trace_kludge): Declare.
4756 * breakpoint.c (breakpoint_restore_shadows): New OWNER comment.
4757 (should_be_inserted): Return zero also on NULL OWNER.
4758 (breakpoint_program_space_exit): New OWNER comment.
4759 (insert_breakpoint_locations): Extend comment for OWNER.
4760 (remove_breakpoint_1, remove_breakpoint): Assert on OWNER.
4761 (breakpoint_init_inferior, breakpoint_here_p, breakpoint_thread_match):
4763 (print_it_typical): Return PRINT_UNKNOWN on NULL OWNER.
4764 (watchpoint_check): New assert on BREAKPOINT_AT and OWNER.
4765 (bpstat_check_location): New assert on OWNER.
4766 (bpstat_check_watchpoint, bpstat_check_breakpoint_conditions): Move BL
4767 and B initializations to the code block. New assert on them.
4768 (print_one_breakpoint_location): New OWNER comment.
4769 (watchpoint_locations_match): Assert on OWNER.
4770 (breakpoint_locations_match): Move HW_POINT1 and HW_POINT2
4771 initializations to the code block. New assert on OWNER.
4772 (set_breakpoint_location_function): New assert on OWNER.
4773 (disable_breakpoints_in_shlibs, disable_breakpoints_in_unloaded_shlib)
4774 (bp_location_compare, update_global_location_list)
4775 (update_global_location_list): New OWNER comment.
4779 * Makefile.in (HFILES_NO_SRCDIR): Remove config/i386/nm-linux.h
4783 * config/nm-linux.h (struct target_ops): Remove forward declaration.
4784 (lin_thread_get_thread_signals): Remove prototype.
4785 (GET_THREAD_SIGNALS): Remove.
4786 * linux-nat.h (lin_thread_get_thread_signals): Add prototype.
4787 * linux-thread-db.c (check_thread_signals): Directly call
4788 lin_thread_get_thread_signals; do not check GET_THREAD_SIGNALS.
4792 * gregset.h (GDB_FPXREGSET_T): Remove.
4793 (gdb_fpxregset_t): Likewise.
4794 (supply_fpxregset): Remove prototype.
4795 (fill_fpxregset): Likewise.
4796 * i386-linux-nat.c (supply_fpxregset): Remove.
4797 (fill_fpxregset): Likewise.
4798 (fetch_fpxregs): Inline supply_fpxregset call.
4799 (store_fpxregs): Inline fill_fpxregset call.
4801 * config/i386/linux.mh: Set NAT_FILE to config/nm-linux.h.
4802 * config/i386/nm-linux.h: Remove file.
4806 * target.c (update_current_target): Fix spelling error in comment.
4807 (target_mourn_inferior): Fix spelling error in error message.
4811 * dictionary.h (dict_iter_name_first, dict_iter_name_next): Refer to
4812 SYMBOL_SEARCH_NAME, not SYMBOL_BEST_NAME, in comments.
4816 * remote.c (remote_close): Set inferior_ptid to null_ptid.
4820 * configure.ac <"${have_libpython}" != no>: New workaround of
4822 * configure: Regenerate.
4826 * record.c (record_wait): Move signal out of replay code.
4831 * dwarf2-frame.c (no_dwarf_call): New function.
4832 (execute_stack_op): Set CTX->DWARF_CALL.
4833 * dwarf2expr.c (execute_stack_op) <DW_OP_call2, DW_OP_call4>: New.
4834 * dwarf2expr.h (struct dwarf_expr_context) <dwarf_call>: New.
4835 (struct dwarf_expr_context) <get_subr>: Remove the #if0-ed field.
4836 * dwarf2loc.c (per_cu_dwarf_call, dwarf_expr_dwarf_call): New functions.
4837 (dwarf2_evaluate_loc_desc): Initialize CTX->DWARF_CALL.
4838 (needs_frame_dwarf_call): New function.
4839 (dwarf2_loc_desc_needs_frame): Initialize CTX->DWARF_CALL.
4840 * dwarf2read.c (follow_die_offset): Based on former follow_die_ref.
4841 Update the comment. Move variables die, offset and error call to ...
4842 (follow_die_ref): ... a new function.
4843 (dwarf2_fetch_die_location_block): New function.
4844 * dwarf2loc.h (dwarf2_fetch_die_location_block): New prototype.
4848 * dwarf2loc.c (struct dwarf_expr_baton) Replace objfile by per_cu.
4849 (dwarf_expr_tls_address): Use per_cu instead of objfile.
4850 (dwarf2_evaluate_loc_desc): Drop initialization of BATON.OBJFILE.
4851 Initialize new BATON.PER_CU. Adjust CTX->GDBARCH initialization for
4853 (struct needs_frame_baton): New field per_cu.
4854 (dwarf2_loc_desc_needs_frame): Initialize new BATON.PER_CU.
4855 * dwarf2read.c (struct dwarf2_per_cu_data) <cu>: Extend the comment.
4859 * cp-support.c (make_symbol_overload_list_namespace): Only search
4860 static and global blocks.
4861 (make_symbol_overload_list_block): New function.
4862 (make_symbol_overload_list): Separate namespace search from block
4864 (make_symbol_overload_list_qualified): Use
4865 make_symbol_overload_list_block.
4869 * value.h: Created oload_search_type enum.
4870 (find_overload_match): Use oload_search_type enum.
4871 * valops.c (find_overload_match): Support combined member and
4873 * eval.c (evaluate_subexp_standard): Calls to
4874 find_overload_match now use oload_search_type enum.
4875 (oload_method_static): Verify index is a proper value.
4876 * valarith.c (value_user_defined_cpp_op): Search for and handle
4877 both member and non-member operators.
4878 (value_user_defined_cpp_op): New function.
4879 (value_user_defined_op): New function.
4880 (value_x_unop): Use value_user_defined_op.
4881 (value_x_binop): Ditto.
4882 * cp-support.c (make_symbol_overload_list_using): Added block
4884 Add check for namespace aliases and imported declarations.
4888 * breakpoint.h (owner): Extend the comment.
4892 Clear stale specific bp_location from former whole breakpoint.
4893 * breakpoint.c (delete_breakpoint): Move the stale referencing clear
4895 (free_bp_location): ... here. Rename there the called function to
4896 bpstat_remove_bp_location_callback.
4897 (bpstat_remove_breakpoint_callback): Rename to ...
4898 (bpstat_remove_bp_location_callback): ... here, change DATA resolution
4899 to struct bp_location. Change the called function to
4900 bpstat_remove_bp_location. Create new declaration for the function.
4901 (bpstat_remove_breakpoint): Rename to ...
4902 (bpstat_remove_bp_location): ..., change the parameter to loc, adjust
4903 code for the new parameter type.
4907 * README: Make version-agnostic.
4911 Fix duplicate types for single DIE.
4912 * dwarf2read.c (read_structure_type): Move set_descriptive_type after
4914 (read_array_type): Remove type initialization. Recheck get_die_type
4915 after initial die_type. Move set_die_type before set_descriptive_type.
4916 (read_set_type): New variable domain_type. Recheck get_die_type after
4917 initial die_type. Move attr initialization later.
4918 (read_tag_pointer_type, read_tag_reference_type): New variable
4919 target_type. Recheck get_die_type after initial die_type.
4920 (read_tag_ptr_to_member_type): Recheck get_die_type after initial
4921 die_type and die_containing_type.
4922 (read_tag_const_type, read_tag_volatile_type, read_subroutine_type):
4923 Recheck get_die_type after initial die_type.
4924 (read_subrange_type): Recheck get_die_type after initial die_type.
4925 Move set_die_type before set_descriptive_type.
4926 (set_die_type): Extend the function comment. Call complaint if DIE has
4927 some type already set.
4931 * mi/mi-main.c (mi_cmd_list_thread_groups): Adjust
4932 for current naming of thread groups (iN, not N).
4936 * ada-lang.c (ada_operator_length): Constify `struct expression'.
4937 * parse.c (operator_length): Likewise.
4938 (operator_length_standard): Likewise.
4939 * parser-defs.h (operator_length): Likewise.
4940 (operator_length_standard): Likewise.
4941 (struct exp_descriptor <operator_length>): Likewise.
4945 Add support for enabling/disabling individual pretty-printers.
4946 * python/py-prettyprint.c (search_pp_list): Skip disabled printers.
4947 * python/python-internal.h (gdbpy_enabled_cst): Declare.
4948 * python/python.c (gdbpy_enabled_cst): Define.
4949 (_initialize_python): Initialize gdbpy_enabled_cst.
4954 * breakpoint.c (update_global_location_list): Fix comment typo.
4958 * dwarf2loc.c (disassemble_dwarf_expression): Change ul to l.
4962 * configure.ac: Don't fail if python is unusable when
4963 configured with --with-python=auto.
4964 * configure: Regenerate.
4968 * dwarf2read.c (new_symbol): Remove redundant naming of symbol.
4972 * valprint.h (get_array_bounds): Change low and high parameter types
4974 * valprint.c (get_array_bounds): Use get_discrete_bounds call to
4976 (val_print_array_elements): Adapt to change above.
4977 * ada-valprint.c (print_optional_low_bound): Adapt to change above.
4978 * p-valprint.c (pascal_val_print): Likewise.
4982 * symfile.c (init_filename_language_table): New extensions .for, .FOR,
4983 .ftn, .FTN, .fpp, .FPP, .f90, .F90, .f95, .F95, .f03, .F03, .f08 and
4988 Support DW_TAG_module as separate namespaces.
4989 * dwarf2read.c (typename_concat): New parameter physname.
4990 (read_module_type): New function and declaration.
4991 (scan_partial_symbols): Scan also DW_TAG_module children.
4992 (partial_die_parent_scope): Accept scope even from DW_TAG_module. Pass
4993 to typename_concat backward compatible physname value 0.
4994 (partial_die_full_name, read_namespace_type): Pass to typename_concat
4995 backward compatible physname value 0.
4996 (add_partial_module, read_module): Remove FIXME comment.
4997 (process_die) <DW_TAG_module>: Set PROCESSING_HAS_NAMESPACE_INFO.
4998 (die_needs_namespace) <DW_TAG_variable>: Allow returning true even for
4999 DIEs under DW_TAG_module.
5000 (dwarf2_compute_name): Move the ada block for DW_AT_linkage_name and
5001 DW_AT_MIPS_linkage_name first, extend it for language_fortran
5002 && physname and return there instead of just setting NAME. Extend
5003 the main block for language_fortran. Pass physname parameter to the
5004 typename_concat call.
5005 (read_import_statement, read_func_scope, get_scope_pc_bounds)
5006 (load_partial_dies, determine_prefix): Support also DW_TAG_module.
5007 (new_symbol): Fill in cplus_specific.demangled_name if it is still
5008 missing from SYMBOL_SET_NAMES in the language_fortran case.
5009 (new_symbol) <DW_TAG_variable>: Force LOC_UNRESOLVED for gfortran module
5011 (read_type_die) <DW_TAG_module>: New.
5012 (MAX_SEP_LEN): Increase to 7.
5013 (typename_concat): New parameter physname. New variable lead. Support
5014 also language_fortran.
5015 * f-exp.y (yylex): Consider : also as a symbol name character class.
5016 * f-lang.c: Include cp-support.h.
5017 (f_word_break_characters, f_make_symbol_completion_list): New functions.
5018 (f_language_defn): Use cp_lookup_symbol_nonlocal,
5019 f_word_break_characters and f_make_symbol_completion_list.
5020 * f-typeprint.c (f_type_print_base) <TYPE_CODE_MODULE>: New.
5021 * gdbtypes.h (enum type_code) <TYPE_CODE_MODULE>: New.
5022 * symtab.c (symbol_init_language_specific): Support language_fortran.
5023 (symbol_find_demangled_name): New comment on language_fortran.
5024 (symbol_natural_name, symbol_demangled_name): Use demangled_name even
5025 for language_fortran.
5026 (lookup_symbol_aux_local): Check imports also for language_fortran.
5027 (default_make_symbol_completion_list): Rename to ...
5028 (default_make_symbol_completion_list_break_on): ... this name. New
5029 parameter break_on, use it.
5030 (default_make_symbol_completion_list): New stub.
5031 * symtab.h (default_make_symbol_completion_list_break_on): New
5036 * remote.c (remote_get_noisy_reply): Remove trailing "\n" in call
5041 * dwarf2read.c (typename_concat): Add const to the variable sep.
5045 * dwarf2loc.h (dwarf2_per_cu_data): Declare.
5046 * dwarf2read.c (dwarf_stack_op_name): No longer static. Return
5047 type is const. Add 'def' argument. Add missing operators, remove
5049 (decode_locdesc): Update.
5050 (dwarf2_always_disassemble): New global.
5051 (show_dwarf2_always_disassemble): New function.
5052 (_initialize_dwarf2_read): Add always-disassemble.
5053 (dwarf2_per_cu_offset_size): New function.
5054 * dwarf2loc.c (dwarf2_always_disassemble): Declare.
5055 (piece_end_p): New function.
5056 (locexpr_describe_location_piece): Replace 'size' argument with
5057 'end'. Use piece_end_p. Rewrite recognition of TLS. Recognize
5058 some constants. Remove errors.
5059 (disassemble_dwarf_expression): New function.
5060 (locexpr_describe_location_1): Use disassemble_dwarf_expression.
5061 Add 'offset_size' argument.
5062 (loclist_describe_location): Change output formatting.
5063 * dwarf2expr.h (dwarf_stack_op_name): Declare.
5067 * cp-support.c (make_symbol_overload_list_adl_namespace): Handle
5068 anonymous type case.
5072 * dwarf2read.c (read_subrange_type): Handle missing base type
5073 according to Dwarf-2 specifications.
5077 * expprint.c (print_subexp_standard): Remove exp_opcodes BINOP_INCL,
5079 (op_name_standard): Remove exp_opcodes BINOP_INCL, BINOP_EXCL,
5080 UNOP_LOWER, UNOP_UPPER, UNOP_LENGTH.
5081 (dump_subexp_body_standard): Remove exp_opcodes BINOP_INCL,
5082 BINOP_EXCL, UNOP_LOWER, UNOP_UPPER, UNOP_LENGTH, UNOP_CARD,
5083 UNOP_CHMAX, UNOP_CHMIN.
5084 * expression.h (enum exp_opcode) <BINOP_INCL, BINOP_EXCL,
5085 UNOP_LOWER, UNOP_UPPER, UNOP_LENGTH, UNOP_CARD, UNOP_CHMAX,
5086 UNOP_CHMIN>: Remove opcodes.
5090 * dwarf2read.c (read_func_scope): Do not complain for
5091 external function if bounds are not found.
5095 * NEWS: Mention gdbserver fast tracepoints support.
5099 * windows-nat.c (GetConsoleFontSize, GetCurrentConsoleFont):
5101 (windows_set_console_info): New function.
5102 (windows_create_inferior): Call windows_set_console_info
5103 if NEW_CONSOLE is true.
5104 (bad_GetCurrentConsoleFont, bad_GetConsoleFontSize): New functions.
5105 (_initialize_loadable): Initialize GetConsoleFontSize and
5106 GetCurrentConsoleFont.
5110 * Makefile.in (RDYNAMIC): New.
5111 (SFILES): Add proc-service.list.
5112 * config/alpha/alpha-linux.mh (NAT_CDEPS): New.
5113 (LOADLIBES): Replace -rdynamic by $(RDYNAMIC).
5114 * config/arm/linux.mh: Likewise.
5115 * config/i386/linux.mh: Likewise.
5116 * config/i386/linux64.mh: Likewise.
5117 * config/ia64/linux.mh: Likewise.
5118 * config/m32r/linux.mh: Likewise.
5119 * config/m68k/linux.mh: Likewise.
5120 * config/mips/linux.mh: Likewise.
5121 * config/pa/linux.mh: Likewise.
5122 * config/powerpc/linux.mh: Likewise.
5123 * config/powerpc/ppc64-linux.mh: Likewise.
5124 * config/s390/s390.mh: Likewise.
5125 * config/sparc/linux.mh: Likewise.
5126 * config/sparc/linux64.mh: Likewise.
5127 * config/xtensa/linux.mh: Likewise.
5128 * configure.ac: New RDYNAMIC on native host and GCC.
5129 (solaris*): Replace -Wl,-export-dynamic by $RDYNAMIC.
5130 * configure: Regenerate.
5131 * proc-service.list: New.
5135 * linux-nat.c (linux_nat_core_of_thread_1): Fix crash on invalid
5140 * linux-nat.c (linux_nat_wait_1): Do not call
5141 linux_nat_core_of_thread_1 on TARGET_WAITKIND_EXITED or
5142 TARGET_WAITKIND_SIGNALLED.
5146 * ada-lang.c (ada_inferior_data): New struct.
5147 (ada_inferior_data): New static global.
5148 (ada_inferior_data_cleanup, get_ada_inferior_data, ada_inferior_exit)
5149 (ada_get_tsd_type): New functions.
5150 (ada_tag_name_2): Use ada_get_tsd_type instead of ada_find_any_type
5151 to look the tsd type up.
5152 (_initialize_ada_language): Attach ada_inferior_exit to inferior_exit
5153 event. Set ada_inferior_data.
5157 * remote.c (unpack_varlen_hex): Remove forward declaration.
5158 (remote_console_output): Make static, and add forward declaration.
5159 * remote.h: Drop FIXME comment.
5160 (unpack_varlen_hex): Declare.
5161 (remote_console_output, remote_cisco_objfile_relocate)
5162 (deprecated_target_resume_hook, deprecated_target_wait_loop_hook):
5163 Delete declarations.
5164 * tracepoint.c: Include "remote.h".
5165 (unpack_varlen_hex): Delete declaration.
5169 * dwarf2loc.c (struct piece_closure) <refc>: New field.
5170 (allocate_piece_closure): Initialize refc.
5171 (copy_pieced_value_closure): Use refc.
5172 (free_pieced_value_closure): Likewise.
5176 * arm-tdep.c (push_stack_item): 'contents' now const.
5177 (arm_push_dummy_call): Make 'val' const. Use value_contents, not
5178 value_contents_writeable. Introduce new temporary.
5182 * findcmd.c (parse_find_args): Use value_contents, not
5187 * alpha-tdep.c (alpha_push_dummy_call): Make alpha_arg.contents
5188 const. Use value_contents, not value_contents_writeable.
5192 * ada-lang.c (ensure_lval): Replace call to value_contents_raw
5193 by call to value_contents.
5197 * MAINTAINERS: Add myself for write after approval privileges.
5201 Allow python to find its files if moved from original location.
5202 * acinclude.m4 (GDB_AC_DEFINE_RELOCATABLE): New function.
5203 (GDB_AC_WITH_DIR): Call it.
5204 * configure.ac: Define WITH_PYTHON_PATH if we can find the
5205 python installation directory.
5206 * config.in: Regenerate.
5207 * configure: Regenerate.
5208 * defs.h (python_libdir): Declare.
5209 * main.c (python_libdir): Define.
5210 (captured_main): Initialize python_libdir.
5211 * python/python.c (_initialize_python): #ifdef WITH_PYTHON_PATH,
5212 call Py_SetProgramName to make sure python can find its libraries
5215 * configure.ac: Try to use python's distutils to fetch compilation
5217 * configure: Regenerate.
5218 * python/python-config.py: New file.
5222 * ser-tcp.c (net_open): Check error return from socket() call by its
5223 equality to -1 not by it being negative.
5224 (net_close): Likewise.
5228 * NEWS: Mention the `qRelocInsn' feature.
5229 * gdbarch.sh (relocate_instruction): New.
5230 * amd64-tdep.c (rip_relative_offset): New.
5231 (append_insns): New.
5232 (amd64_relocate_instruction): New.
5233 (amd64_init_abi): Install it.
5234 * i386-tdep.c (append_insns): New.
5235 (i386_relocate_instruction): New.
5236 (i386_gdbarch_init): Install it.
5237 * remote.c (remote_get_noisy_reply): Handle qRelocInsn requests.
5238 * gdbarch.h, gdbarch.c: Regenerate.
5242 * dwarf2loc.h (struct dwarf2_locexpr_baton) <data>: Now const.
5243 (struct dwarf2_loclist_baton) <data>: Likewise.
5244 * dwarf2loc.c (find_location_expression): Constify return type.
5245 (dwarf2_evaluate_loc_desc): Make 'data' argument const.
5246 (dwarf2_loc_desc_needs_frame): Likewise.
5247 (loclist_read_variable): Constify.
5248 (loclist_describe_location): Likewise.
5249 (loclist_tracepoint_var_ref): Likewise.
5253 * dwarf2loc.c (dwarf_expr_frame_base): Constify.
5254 (dwarf_expr_frame_base_1): Likewise.
5255 (read_pieced_value): Update.
5256 (needs_frame_frame_base): Constify.
5257 (dwarf2_tracepoint_var_loc): Likewise.
5258 (dwarf2_tracepoint_var_access): Likewise.
5259 (locexpr_describe_location_piece): Likewise.
5260 (locexpr_describe_location_1): Likewise.
5261 * dwarf2expr.h (struct dwarf_expr_context) <get_frame_base>:
5264 (struct dwarf_expr_piece) <v.literal.data>: Likewise.
5265 (dwarf_expr_eval, read_uleb128, read_sleb128)
5266 (dwarf2_read_address): Update.
5267 * dwarf2expr.c (dwarf_expr_eval): Constify.
5268 (read_uleb128): Likewise.
5269 (read_sleb128): Likewise.
5270 (dwarf2_read_address): Likewise.
5271 (require_composition): Likewise.
5272 (execute_stack_op): Likewise.
5273 * dwarf2-frame.h (struct dwarf2_frame_state_reg) <loc.exp>: Now a
5275 * dwarf2-frame.c (struct dwarf2_frame_state_reg_info) <cfa_exp>:
5277 (no_get_frame_base): Constify.
5278 (execute_stack_op): Likewise.
5279 (execute_cfa_program): Likewise.
5280 (read_encoded_value): Likewise.
5284 * ser-pipe.c (pipe_open): Ignore SIGINTs in child.
5286 * event-loop.h (GDB_READABLE, GDB_WRITABLE, GDB_EXCEPTION): Move to ...
5287 * event-loop.c: ... here.
5288 * tui/tui-io.c (tui_readline_output): Rename parameter `code' to
5289 `error' for clarity.
5290 (tui_getc): Pass correct value for `error' parameter to
5291 tui_readline_output.
5293 Add python gdb.GdbError and gdb.string_to_argv.
5294 * NEWS: Document them.
5295 * python/py-cmd.c (cmdpy_function): Don't print a traceback if
5296 the exception is gdb.GdbError. Print a second traceback if there's
5297 an error computing the error message.
5298 (gdbpy_string_to_argv): New function.
5299 * python/py-utils.c (gdbpy_obj_to_string): New function.
5300 (gdbpy_exception_to_string): New function.
5301 * python/python-internal.h (gdbpy_string_to_argv): Declare.
5302 (gdbpy_obj_to_string, gdbpy_exception_to_string): Declare.
5303 (gdbpy_gdberror_exc): Declare.
5304 * python/python.c (gdbpy_gdberror_exc): New global.
5305 (_initialize_python): Initialize gdbpy_gdberror_exc and create
5307 (GdbMethods): Add string_to_argv.
5311 * windows-nat.c (display_selector): Call GetLastError to give better
5312 failure explanation.
5316 * config.in: Regenerate.
5321 * target.c (push_target): Return only void. Remove the return value
5323 * target.h (push_target): Return only void.
5327 Update gnulib from latest git.
5328 (250b80067c1e1d8faa0c42fb572f721975b929c5)
5330 * gnulib/memcmp.c: Removed.
5331 * gnulib/memchr.valgrind: New.
5332 * gnulib/stddef.in.h: New.
5333 * gnulib/Makefile.am: Updated.
5334 * gnulib/memchr.c: Updated.
5335 * gnulib/memmem.c: Updated.
5336 * gnulib/stdint.in.h: Updated.
5337 * gnulib/str-two-way.h: Updated.
5338 * gnulib/string.in.h: Updated.
5339 * gnulib/wchar.in.h: Updated.
5341 * gnulib/extra/link-warning.h: Removed.
5342 * gnulib/extra/c++defs.h: New.
5343 * gnulib/extra/warn-on-use.h: New.
5344 * gnulib/extra/arg-nonnull.h: Updated.
5346 * gnulib/m4/extensions.m4: Updated.
5347 * gnulib/m4/gnulib-cache.m4: Updated.
5348 * gnulib/m4/gnulib-common.m4: Updated.
5349 * gnulib/m4/gnulib-comp.m4: Updated.
5350 * gnulib/m4/gnulib-tool.m4: Updated.
5351 * gnulib/m4/include_next.m4: Updated.
5352 * gnulib/m4/longlong.m4: Updated.
5353 * gnulib/m4/memchr.m4: Updated.
5354 * gnulib/m4/memmem.m4: Updated.
5355 * gnulib/m4/stdint.m4: Updated.
5356 * gnulib/m4/string_h.m4: Updated.
5357 * gnulib/m4/memcmp.m4: Removed.
5358 * gnulib/m4/onceonly_2_57.m4: Removed.
5359 * gnulib/m4/00gnulib.m4: New.
5360 * gnulib/m4/mmap-anon.m4: New.
5361 * gnulib/m4/multiarch.m4: New.
5362 * gnulib/m4/onceonly.m4: New.
5363 * gnulib/m4/stddef_h.m4: New.
5364 * gnulib/m4/warn-on-use.m4: New.
5365 * gnulib/m4/wchar.m4: Removed.
5366 * gnulib/m4/wchar_h.m4: New.
5367 * gnulib/m4/wchar_t.m4: New.
5368 * gnulib/m4/wint_t.m4: New.
5370 * aclocal.m4: Regenerate.
5371 * config.in: Likewise.
5372 * configure: Likewise.
5373 * gnulib/Makefile.in: Likewise.
5377 * dwarf2loc.c (extract_bits_primitive): New function.
5378 (extract_bits): Likewise.
5379 (insert_bits): Likewise.
5380 (copy_bitwise): Likewise.
5381 (read_pieced_value): Do all operations in bits.
5382 (write_pieced_value): Likewise.
5383 * dwarf2expr.h (struct dwarf_expr_piece) <offset>: New field.
5384 * dwarf2expr.c (add_piece): New arguments bit_piece, offset.
5385 Always use xrealloc to resize piece array.
5386 (execute_stack_op) <DW_OP_reg0>: Handle DW_OP_bit_piece.
5387 <DW_OP_piece>: Update.
5388 <DW_OP_bit_piece>: New case.
5392 * dwarf2loc.c (read_pieced_value): Exit loop when result is full.
5393 <DWARF_VALUE_OPTIMIZED_OUT>: New case.
5394 * dwarf2expr.h (enum dwarf_value_location)
5395 <DWARF_VALUE_OPTIMIZED_OUT>: New constant.
5396 * dwarf2expr.c (dwarf_expr_stack_empty_p): New function.
5397 (add_piece): Handle empty piece.
5398 (execute_stack_op) <DW_OP_piece>: Handle
5399 DWARF_VALUE_OPTIMIZED_OUT.
5403 * eval.c (evaluate_subexp_standard) <BINOP_SUBSCRIPT>: Call
5404 evaluate_subexp, not evaluate_subexp_with_coercion.
5408 * dwarf2read.c (new_symbol): Handle DW_AT_variable_parameter
5413 * dwarf2loc.c (read_pieced_value): Work properly when 'v' has an
5415 (write_pieced_value): Likewise.
5419 * dwarf2read.c (process_die): Also allow DW_TAG_const_type
5420 and DW_TAG_volatile_type.
5421 (new_symbol): Likewise.
5425 * p-valprint.c (pascal_val_print): Call get_array_bounds
5426 to obtain the number of elements in an array.
5430 * python.c (gdbpy_print_stack): Ensure output ends with a newline.
5432 * python.c (source_python_script): Add comment.
5433 (source_python_script_for_objfile): Remove unnecessary call to
5440 * parse.c (exp_iterate): Use operator_length wrapper function.
5444 * ada-lang.c: White space.
5445 * ada-typeprint.c: White space.
5446 * ada-valprint.c: White space.
5447 * addrmap.c: White space.
5448 * auxv.c: White space.
5449 * ax-gdb.c: White space.
5453 * linux-fork.c (inferior_call_waitpid_cleanup): Add check
5455 (inferior_call_waitpid): Move make_cleanup out of check.
5456 Check the return of waitpid.
5457 (delete_checkpoint_command): Add pptid to save fi->parent_ptid.
5461 * tui/tui.c: White space.
5462 * tui/tui-data.c: White space.
5463 * tui/tui-disasm.c: White space.
5464 * tui/tui-file.c: White space.
5465 * tui/tui-interp.c: White space.
5466 * tui/tui-main.c: White space.
5467 * tui/tui-out.c: White space.
5468 * tui/tui-regs.c: White space.
5469 * tui/tui-source.c: White space.
5470 * tui/tui-stack.c: White space.
5471 * tui/tui-win.c: White space.
5472 * tui/tui-winsource.c: White space.
5474 * procfs.c: White space.
5476 * python/py-auto-load.c: White space.
5477 * python/py-block.c: White space.
5478 * python/py-breakpoint.c: White space.
5479 * python/py-cmd.c: White space.
5480 * python/py-function.c: White space.
5481 * python/py-lazy-string.c: White space.
5482 * python/py-objfile.c: White space.
5483 * python/py-param.c: White space.
5484 * python/py-prettyprint.c: White space.
5485 * python/py-progspace.c: White space.
5486 * python/py-symtab.c: White space.
5487 * python/python.c: White space.
5488 * python/py-type.c: White space.
5489 * python/py-utils.c: White space.
5490 * python/py-value.c: White space.
5492 * mi/mi-cmd-break.c: White space.
5493 * mi/mi-cmd-env.c: White space.
5494 * mi/mi-cmds.c: White space.
5495 * mi/mi-cmd-stack.c: White space.
5496 * mi/mi-cmd-var.c: White space.
5497 * mi/mi-console.c: White space.
5498 * mi/mi-getopt.c: White space.
5499 * mi/mi-interp.c: White space.
5500 * mi/mi-main.c: White space.
5501 * mi/mi-out.c: White space.
5502 * mi/mi-parse.c: White space.
5504 * cli/cli-cmds.c: White space.
5505 * cli/cli-decode.c: White space.
5506 * cli/cli-dump.c: White space.
5507 * cli/cli-interp.c: White space.
5508 * cli/cli-logging.c: White space.
5509 * cli/cli-script.c: White space.
5510 * cli/cli-setshow.c: White space.
5512 * valarith.c: White space.
5513 * valops.c: White space.
5514 * valprint.c: White space.
5515 * value.c: White space.
5516 * varobj.c: White space.
5517 * xcoffread.c: White space.
5518 * xml-support.c: White space.
5519 * xml-tdesc.c: White space.
5524 * c-lang.c (c_printstr): Compute real length of NUL terminated
5529 * parse.c (parse_exp_in_context): When block is not NULL, use
5530 its associated language to parse the expression instead of
5531 the current_language.
5535 * jv-lang.c (java_lookup_class): Remove commented out code.
5536 (type_from_class): Likewise.
5537 (java_op_print_tab): Remove commented-out elements.
5541 * ada-lang.c (to_fixed_range_type): The the raw index type as
5542 argument instead of the raw type name. Remove orig_type parameter.
5543 Update calls throughout.
5544 (ada_fixup_array_indexes_type): New function.
5545 (ada_array_bound_from_type): Add call to ada_fixup_array_indexes_type.
5546 * ada-lang.h (ada_fixup_array_indexes_type): Add declaration.
5547 * ada-typeprint.c (print_range_type): Renames print_range_type_named.
5548 Remove name parameter.
5549 (print_array_type): Add call to ada_fixup_array_indexes_type.
5550 Update calls to print_range_type.
5551 (ada_print_type): Update calls to print_range_type.
5555 * dwarf2read.c (read_set_type): Set type length if
5556 DW_AT_byte_size attribute is present.
5560 * p-valprint.c (pascal_val_print): Handle set type if range limits
5561 are undefined but size is known.
5565 * procfs.c: Reformat.
5569 * target.c: White space.
5570 * target-descriptions.c: White space.
5571 * target-memory.c: White space.
5572 * thread.c: White space.
5573 * top.c: White space.
5574 * tracepoint.c: White space.
5575 * trad-frame.c: White space.
5576 * tramp-frame.c: White space.
5577 * ui-file.c: White space.
5578 * ui-out.c: White space.
5579 * user-regs.c: White space.
5580 * utils.c: White space.
5582 * scm-exp.c: White space.
5583 * scm-lang.c: White space.
5584 * scm-valprint.c: White space.
5585 * sentinel-frame.c: White space.
5586 * ser-base.c: White space.
5587 * ser-go32.c: White space.
5588 * serial.c: White space.
5589 * ser-mingw.c: White space.
5590 * ser-pipe.c: White space.
5591 * ser-tcp.c: White space.
5592 * ser-unix.c: White space.
5593 * solib.c: White space.
5594 * solib-darwin.c: White space.
5595 * solib-frv.c: White space.
5596 * solib-irix.c: White space.
5597 * solib-osf.c: White space.
5598 * solib-pa64.c: White space.
5599 * solib-som.c: White space.
5600 * solib-spu.c: White space.
5601 * solib-svr4.c: White space.
5602 * solib-target.c: White space.
5603 * source.c: White space.
5604 * stabsread.c: White space.
5605 * stack.c: White space.
5606 * std-regs.c: White space.
5607 * symfile.c: White space.
5608 * symmisc.c: White space.
5609 * symtab.c: White space.
5613 * source.c (_initialize_source): Add "rev" as an abbreviation
5614 for the "reverse-search" command.
5618 * record.c: White space.
5619 * regcache.c: White space.
5620 * reggroups.c: White space.
5621 * remote-fileio.c: White space.
5622 * remote-m32r-sdi.c: White space.
5623 * remote-mips.c: White space.
5624 * remote-sim.c: White space.
5625 * remote.c: White space.
5626 (process_g_packet): Remove orphan braces.
5630 * parse.c: White space.
5631 * p-lang.c: White space.
5632 * posix-hdep.c: White space.
5633 * printcmd.c: White space.
5634 * progspace.c: White space.
5635 * prologue-value.c: White space.
5636 * psymtab.c: White space.
5637 * p-typeprint.c: White space.
5638 * p-valprint.c: White space.
5640 * objc-lang.c: White space.
5641 * objfiles.c: White space.
5642 * observer.c: White space.
5643 * osabi.c: White space.
5644 * osdata.c: White space.
5646 * m2-lang.c: White space.
5647 * m2-valprint.c: White space.
5648 * macrocmd.c: White space.
5649 * macroexp.c: White space.
5650 * macroscope.c: White space.
5651 * macrotab.c: White space.
5652 * main.c: White space.
5653 * maint.c: White space.
5654 * mdebugread.c: White space.
5655 * memattr.c: White space.
5656 * minsyms.c: White space.
5657 * monitor.c: White space.
5661 * jv-lang.c: White space.
5662 * jv-typeprint.c: White space.
5663 * jv-valprint.c: White space.
5664 * language.c: White space.
5665 * libunwind-frame.c: White space.
5666 * linespec.c: White space.
5667 * linux-nat.c: White space.
5668 * linux-record.c: White space.
5669 * linux-thread-db.c: White space.
5671 * infcall.c: White space.
5672 * inf-child.c: White space.
5673 * infcmd.c: White space.
5674 * inferior.c: White space.
5675 * inf-loop.c: White space.
5676 * inflow.c: White space.
5677 * inline-frame.c: White space.
5678 * interps.c: White space.
5680 * gcore.c: White space.
5681 * gdb.c: White space.
5682 * gdbtypes.c: White space.
5683 * gnu-nat.c: White space.
5684 * gnu-v2-abi.c: White space.
5685 * gnu-v3-abi.c: White space.
5687 * findcmd.c: White space.
5688 * findvar.c: White space.
5689 * fork-child.c: White space.
5690 * frame-base.c: White space.
5691 * frame.c: White space.
5692 * frame-unwind.c: White space.
5693 * f-valprint.c: White space.
5695 * elfread.c: White space.
5696 * environ.c: White space.
5697 * eval.c: White space.
5698 * event-loop.c: White space.
5699 * event-top.c: White space.
5700 * exceptions.c: White space.
5701 * exec.c: White space.
5702 * expprint.c: White space.
5704 * dbxread.c: White space.
5705 * dcache.c: White space.
5706 * disasm.c: White space.
5707 * doublest.c: White space.
5708 * dsrec.c: White space.
5709 * dummy-frame.c: White space.
5710 * dwarf2expr.c: White space.
5711 * dwarf2-frame.c: White space.
5712 * dwarf2loc.c: White space.
5713 * dwarf2read.c: White space.
5719 * python/py-value.c (valpy_hash): New function.
5720 (value_object_type): Register valpy_hash.
5725 * linux-fork.c (gdbthread.h): New include.
5726 (fork_info): Add parent_ptid.
5727 (inferior_call_waitpid_cleanup, inferior_call_waitpid): New
5729 (delete_checkpoint_command): Call inferior_call_waitpid.
5730 (checkpoint_command): Set parent_ptid.
5734 * dictionary.c: Re-indent to GNU coding standard.
5736 * charset.c: White space.
5737 * c-lang.c: White space.
5738 * cli-out.c: White space.
5739 * coffread.c: White space.
5740 * complaints.c: White space.
5741 * completer.c: White space.
5742 * corefile.c: White space.
5743 * corelow.c: White space.
5744 * cp-abi.c: White space.
5745 * cp-namespace.c: White space.
5746 * cp-support.c: White space.
5747 * cp-valprint.c: White space.
5748 * c-typeprint.c: White space.
5749 * c-valprint.c: White space.
5750 * blockframe.c: White space.
5751 * breakpoint.c: White space.
5752 * buildsym.c: White space.
5753 * blockframe.c: White space.
5754 * bcache.c: White space.
5755 * gdbarch.sh: White space, add blank lines.
5756 * arch-utils.c: Ditto.
5757 * gdbarch.c: Regenerate.
5758 * frame.c: White space, add blank lines.
5759 * stack.c: White space, add blank lines.
5760 (initialize_stack): Remove long-dead code.
5765 * dwarf2loc.c (dwarf2_evaluate_loc_desc): Change the parameter to type.
5766 (locexpr_read_variable, loclist_read_variable): Update the callers.
5771 * dwarf2read.c (die_type, die_descriptive_type): Remove variable type.
5772 Remove check of NULL returned by tag_type_to_type.
5773 (die_containing_type): Remove variable type. Remove type_die variable
5774 initialization. Remove check of NULL returned by tag_type_to_type.
5779 * gdbtypes.c (lookup_struct_elt_type): Also lookup
5780 names of unnamed structures or unions.
5784 * procfs.c (proc_watchpoint_address): New function.
5785 (procfs_stopped_by_watchpoint): Remove useless check after
5786 find_procinfo_or_die call.
5787 (procfs_stopped_data_address): New function.
5788 (procfs_use_watchpoints): Register new watchpoint related function.
5792 * eval.c (evaluate_subexp_standard): Revert inadvertent change.
5796 * utils.c: White space cleanup.
5800 * eval.c (ptrmath_type_p): Add 'lang' argument.
5801 (evaluate_subexp_standard): Update.
5802 (evaluate_subexp_with_coercion): Update.
5803 * language.h (CAST_IS_CONVERSION): Add 'LANG' argument.
5807 * utils.c (do_fclose_cleanup) Restore local variable.
5811 * record.c (init_record_core_ops): Rename record_core to record-core.
5815 Implement task switching on pa-hpux.
5816 * inf-ttrace.c (inf_ttrace_get_ada_task_ptid): New function.
5817 (inf_ttrace_target): Set t->to_get_ada_task_ptid.
5821 * valops.c (find_overload_match): Add missing i18n markup.
5825 * p-exp.y (exp : SIZEOF '(' exp ')'): New rule.
5829 * dwarf2read.c (typename_concat): Use (char *) NULL terminated stdarg
5830 list for the obconcat call.
5831 * mdebugread.c (parse_symbol): Likewise.
5832 * stabsread.c (define_symbol, read_member_functions, read_cpp_abbrev):
5834 * symfile.c (obconcat): Replace the s1, s2 and s3 parameters by `...'.
5835 New variable ap. Remove variables len and val.
5836 * symfile.h (obconcat): Likewise for the prototype.
5840 * python/python.c (execute_gdb_command): Remove unused variables.
5841 * python/py-block.c (gdbpy_block_for_pc): Remove unused variable.
5842 * python/py-breakpoint.c (gdbpy_breakpoint_created):
5843 Remove unused variable.
5844 * python/py-cmd.c (cmdpy_function): Remove unused variable.
5845 (cmdpy_completer): Remove unused variable.
5846 * python/py-frame.c (frapy_find_sal): Remove unused variable.
5847 * python/py-function.c (fnpy_call): Remove unused variable.
5848 * python/py-objfile.c (objfile_to_objfile_object):
5849 Remove unused variable.
5850 * python/py-param.c (parmpy_init): Remove unused variable.
5851 * python/py-prettyprint.c (apply_varobj_pretty_printer):
5852 Remove unused variable.
5853 (gdbpy_default_visualizer): Remove unused variable.
5854 * python/py-progspace.c (pspace_to_pspace_object):
5855 Remove unused variable.
5856 * python/py-symtab.c (symtab_and_line_to_sal_object):
5857 Remove unused variable.
5858 * python/py-type.c (typy_template_argument):
5859 Remove unused variable.
5860 * python/py-value.c (valpy_string): Remove unused variable.
5861 (convert_value_from_python): Remove unused variables.
5865 * valops.c (value_cast_pointers): Restore unused variable 'type1',
5866 and use it to compute variable 't1'.
5870 * ada-lang.c (assign_aggregate): Remove unused variable.
5875 * valops.c (find_overload_match): Handle fsym == NULL case.
5876 Add int no_adl argument.
5877 (find_oload_champ_namespace_loop): Call make_symbol_overload_list_adl
5879 Add int no_adl argument.
5880 (find_oload_champ_namespace): Add int no_adl argument.
5881 * parse.c (operator_length_standard): Return length for OP_ADL_FUNC
5883 * expprint.c (op_name_standard): Added string for OP_ADL_FUNC case.
5884 * eval.c (evaluate_subexp_standard): Added OP_ADL_FUNC case.
5885 Evaluate arguments and use them to perform ADL lookup.
5886 Pass no_adl argument to find_overload_match.
5887 Disable adl lookup when evaluating a fully qualified OP_FUNCALL.
5888 * cp-support.h: Added prototype for
5889 make_symbol_overload_list_namespace.
5890 * cp-support.c (make_symbol_overload_list_namespace): New function.
5891 (make_symbol_overload_list_adl_namespace): New function.
5892 (make_symbol_overload_list_adl): New function.
5893 (make_symbol_overload_list_using): Moved code to add function to
5894 overload set to make_symbol_overload_list_namespace.
5895 * c-exp.y: create UNKNOWN_CPP_NAME token.
5896 Add parse rule for ADL functions.
5897 (classify_name): Recognize an UNKNOWN_CPP_NAME.
5901 * fbsd-nat.c (fbsd_make_corefile_notes): Add cast to NULL used as
5906 Implement task switching on solaris targets.
5907 * sol-thread.c (thread_db_find_thread_from_tid)
5908 (sol_get_ada_task_ptid): New functions.
5909 (init_sol_thread_ops): Set sol_thread_ops.to_get_ada_task_ptid.
5913 * remote.c (remote_query_supported_append): Use reconcat.
5914 (remote_query_supported): Install a cleanup. Use reconcat.
5918 * gdbarch.sh (qsupported): Delete.
5919 * gdbarch.h, gdbarch.c: Regenerate.
5920 * remote.c (remote_query_supported): Remove use of
5925 * xml-syscall.c (syscall_start_syscalls_info): Remove unused
5930 * xml-support.c (xinclude_start_include): Delete unused variable.
5931 (xml_process_xincludes): Delete unused variable.
5932 * xml-syscall.c (syscall_parse_xml): Delete unused variable.
5933 * target-descriptions.c (tdesc_gdb_type): Delete unused variable.
5934 (tdesc_find_arch_register): Delete unused variable.
5935 (tdesc_use_registers): Delete unused variable.
5936 * xml-tdesc.c (tdesc_start_target): Delete unused variable.
5937 * inferior.c (print_inferior): Delete unused variable.
5938 * record.c (record_open_1): Delete unused variable.
5939 (record_restore): Delete unused variable.
5940 (cmd_record_save): Delete unused variable.
5941 * gcore.c (derive_heap_segment): Delete unused variable.
5942 (objfile_find_memory_regions): Use unused variable.
5943 * jit.c (jit_inferior_init): Delete unused variable.
5944 * progspace.c (clone_program_space): Delete unused variable.
5945 (pspace_empty_p): Delete unused variable.
5947 * frame-unwind.c (frame_unwind_find_by_frame):
5948 Delete unused variable.
5949 * gnu-v2-abi.c (gnuv2_value_rtti_type): Delete unused variable.
5950 * cp-support.c (mangled_name_to_comp): Delete unused variable.
5951 (method_name_from_physname): Delete unused variable.
5952 (cp_func_name): Delete unused variable.
5953 (cp_validate_operator): Delete unused variable.
5954 * cp-namespace.c (cp_scan_for_anonymous_namespaces):
5955 Delete unused variable.
5956 * trad-frame.c (trad_frame_get_prev_register):
5957 Delete unused variable.
5958 * tramp-frame.c (tramp_frame_cache): Delete unused variable.
5960 * serial.c (serial_for_fd): Delete unused variable.
5961 * mdebugread.c (psymtab_to_symtab_1): Delete unused variable.
5962 * top.c (execute_command): Delete unused variable.
5963 (init_main): Delete unused variable.
5964 * utils.c (do_fclose_cleanup): Delete unused variable.
5965 (do_all_inferior_continuations): Delete unused variable.
5966 (initialize_utils): Delete unused variable.
5967 (internal_problem_mode): Delete unused global.
5968 * frame.c (get_prev_frame): Delete unused global.
5969 (get_frame_locals_address): Delete unused global.
5970 (get_frame_args_address): Delete unused global.
5972 * p-typeprint.c (pascal_type_print_base): Delete unused variable.
5973 (pascal_type_print_varspec_prefix): Delete unused variable.
5974 * f-typeprint.c (f_type_print_base): Delete unused variable.
5975 (f_type_print_varspec_suffix): Delete unused variable.
5976 * m2-typeprint.c (m2_print_type): Delete unused variable.
5977 (m2_long_set): Delete unused variable.
5978 * ada-valprint.c (ada_val_print_1): Delete unused variable.
5979 * d-valprint.c (dynamic_array_type): Delete unused variable.
5980 * f-valprint.c (f77_get_dynamic_length_of_aggregate):
5981 Delete unused variable.
5982 (f77_create_arrayprint_offset_tbl): Delete unused variable.
5983 * m2-valprint.c (m2_val_print): Delete unused variable.
5985 * ui-out.c (ui_out_field_int): Delete unused variable.
5986 (ui_out_field_fmt_int): Delete unused variable.
5987 * varobj.c (varobj_list_children): Delete unused variable.
5988 (varobj_set_value): Delete unused variable.
5989 (install_new_value_visualizer): Delete unused variable.
5990 (varobj_set_visualizer): Delete unused variable.
5991 (varobj_update): Delete unused variable.
5992 (varobj_editable_p): Delete unused variable.
5993 (c_value_of_root): Delete unused variable.
5994 (cplus_describe_child): Delete unused variable.
5996 * ada-lang.c (add_defn_to_vec): Delete unused variable.
5997 (decode_constrained_packed_array_type): Delete unused variable.
5998 (add_defn_to_vec): Delete unused variable.
5999 (symbol_completion_match): Delete unused variable.
6000 (value_tag_from_contents_and_address): Delete unused variable.
6001 (ada_evaluate_subexp): Delete unused variable.
6002 * c-lang.c (classify_type): Delete unused variable.
6003 * f-lang.c (f_printstr): Delete unused variable.
6004 * objc-lang.c (objc_printstr): Delete unused variable.
6005 * ada-tasks.c (get_known_tasks_addr): Delete unused variable.
6006 * jv-lang.c (type_from_class): ifdef unused variable.
6007 (java_class_name_from_physname): Delete unused variable.
6008 * m2-lang.c (m2_printstr): Delete unused variable.
6010 * objfiles.c (objfile_relocate): Delete unused variable.
6011 * maint.c (_initialize_maint_cmds): Delete unused variable.
6012 * demangle.c (_initialize_demangler): Delete unused variable.
6013 * corefile.c (reopen_exec_file): Delete unused variable.
6014 * dwarf2expr.c (dwarf2_read_address): Delete unused variable.
6015 * dwarf2-frame.c (decode_frame_entry): Delete unused variable.
6017 * osabi.c (_initialize_gdb_osabi): Delete unused variable.
6018 * memattr.c (mem_delete): Delete unused variable.
6019 (invalidate_target_mem_regions): Delete unused variable.
6020 * mem-break.c (default_memory_insert_breakpoint):
6021 Delete unused variable.
6022 * target.c (target_get_osdata): Delete unused variable.
6023 * parse.c (length_of_subexp): Delete unused variable.
6024 (prefixify_subexp): Delete unused variable.
6025 (exp_iterate): Delete unused variable.
6026 * reverse.c (delete_bookmark_command): Delete unused variable.
6028 * macrocmd.c (_initialize_macrocmd): Delete unused variable.
6029 * macroexp.c (gather_arguments): Delete unused variable.
6030 (substitute_args): Delete unused variable.
6031 * completer.c (gdb_completer_loc_break_characters): Unused, delete.
6032 * gdbarch.sh (gdbarch_printable_names): Delete unused variable.
6033 (_initialize_gdbarch): Delete unused variable.
6034 * gdbarch.c, gdbarch.h: Regenerate.
6035 * arch-utils.c (initialize_current_architecture):
6036 Delete unused variable.
6037 (_initialize_gdbarch_utils): Delete unused variable.
6038 * gdbtypes.c (make_cv_type): Delete unused variable.
6039 (make_type_with_address_space): Delete unused variable.
6041 * linespec.c (decode_compound): Delete unused variable.
6042 * dictionary.c (iterator_next_hashed): Delete unused variable.
6043 * infcall.c (call_function_by_hand): Delete unused variable.
6044 * infcmd.c (step_1): Delete unused variable.
6045 (registers_info): Delete unused variable.
6046 (attach_command): Delete unused variable.
6047 * infrun.c (follow_exec): Delete unused variable.
6048 (handle_step_into_function_backwards): Delete unused variable.
6049 (_initialize_infrun): Delete unused variable.
6050 * stack.c (parse_frame_specification_1): Delete unused variable.
6051 (frame_info): Delete unused variable.
6052 (backtrace_command_1): Delete unused variable.
6053 (catch_info): Delete unused variable.
6055 * eval.c (evaluate_subexp_standard): Delete unused variable.
6056 * valops.c (value_cast_pointers): Delete unused variable.
6057 (value_dynamic_cast): Delete unused variable.
6058 (value_array): Delete unused variable.
6059 (find_overload_match): Delete unused variable.
6060 * valarith.c (value_subscript): Delete unused variable.
6061 (value_binop): Delete unused variable.
6062 * valprint.c (_initialize_valprint): Delete unused variable.
6063 * printcmd.c (print_command_1): Delete unused variable.
6064 (address_info): Delete unused variable.
6065 (printf_command): Delete unused variable.
6067 * auxv.c (target_auxv_search): Delete unused variable.
6068 * blockframe.c (get_frame_block): Delete unused variable.
6069 * regcache.c (regcache_cpy): Delete unused variable.
6070 (regcache_cpy_no_passthrough): Delete unused variable.
6071 * charset.c (wchar_iterate): Delete unused variable.
6072 (find_charset_names): Delete unused variable.
6073 (_initialize_charset): Delete unused variable.
6074 * disasm.c (do_mixed_source_and_assembly):
6075 Delete unused variable.
6076 * source.c (set_default_source_symtab_and_line):
6077 Delete unused variable.
6078 (set_substitute_path_command): Delete unused variable.
6079 * value.c (preserve_values): Delete unused variable.
6080 (value_from_double): Delete unused variable.
6084 * psymtab.c (lookup_partial_symbol): Delete unused variable.
6085 (find_last_source_symtab_from_partial): Delete unused variable.
6086 * symfile.c (place_section): Delete unused variable.
6087 (default_symfile_offsets): Delete unused variable.
6088 (get_debug_link_info): Delete unused variable.
6089 (find_separate_debug_file_by_debuglink): Delete unused variable.
6090 (add_symbol_file_command): Delete unused variable.
6091 (symfile_find_segment_sections): Delete unused variable.
6092 * symmisc.c (free_symtab): Delete unused variable.
6093 (dump_symtab_1): Delete unused variable.
6094 * symtab.c (lookup_symbil_aux_quick): Delete unused variable.
6095 (find_pc_sect_symtab): Delete unused variable.
6096 (skip_prologue_using_lineinfo): Delete unused variable.
6097 (sources_info): Delete unused variable.
6098 (completion_list_add_name): Delete unused variable.
6099 (expand_line_sal): Delete unused variable.
6101 * breakpoint.c (validate_commands_for_breakpoint):
6102 Delete unused variables.
6103 (insert_catchpoint): Delete unused variable.
6104 (update_watchpoint): Delete unused variable.
6105 (insert_bp_location): Delete unused variable.
6106 (insert_breakpoint_locations): Delete unused variable.
6107 (remove_breakpoint_1): Delete unused variable.
6108 (software_breakpoint_inserted_here_p): Delete unused variable.
6109 (watchpoints_triggered): Delete unused variable.
6110 (bpstat_check_watchpoint): Delete unused variable.
6111 (bpstat_stop_status): Delete unused variable.
6112 (print_one_breakpoint_location): Delete unused variable.
6113 (allocate_bp_location): Delete unused variable.
6114 (create_breakpoint): Delete unused variable.
6115 (watch_command_1): Delete unused variable.
6116 (catch_exception_command_1): Delete unused variable.
6117 (catch_ada_exception_command): Delete unused variable.
6118 (delete_breakpoint): Delete unused variable.
6119 (breakpoint_re_set_one): Delete unused variable.
6120 (do_enable_breakpoint): Delete unused variable.
6124 * amd64-tdep.c: Include disasm.h.
6125 (amd64_insn_length_fprintf, amd64_insn_length_init_dis)
6126 (amd64_insn_length): Moved to disasm.c and renamed.
6127 (fixup_riprel): Adjust.
6128 * disasm.c (do_ui_file_delete): New.
6129 (gdb_insn_length): New.
6130 (gdb_buffered_insn_length_fprintf)
6131 (gdb_buffered_insn_length_init_dis)
6132 (gdb_buffered_insn_length): New, moved from amd64-tdep.c, and
6134 * disasm.h (gdb_insn_length): Declare.
6135 (gdb_buffered_insn_length): Declare.
6139 * remote.c (clear_threads_parsing_context): New.
6140 (remote_threads_info): Delete unused null_cleanup. Install a
6141 cleanup to clear the threads_parsing_context in case parsing
6146 * c-exp.y (parse_string_or_char): Delete unused variable.
6147 (c_lex): Delete unused variable.
6148 * cp-name-parser.y (cpname_lex): Delete unused variable.
6149 * ada-exp.y (find_primitive_type): Delete unused variable.
6150 (write_var_or_type): Delete unused variable.
6151 * jv-exp.y (java_parse): Delete unused variable.
6152 (push_expression_name): Delete unused variable.
6153 * p-exp.y (pascal_lex): Delete unused variable.
6157 * remote.c (remote_threads_info): Really revert previous previous
6162 * elfread.c (elf_symtab_read): Delete unused variable.
6163 (find_separate_debug_file_by_buildid): Delete unused variables.
6164 (elf_symfile_read): Delete unused variable.
6166 * coffread.c (coff_symfile_read): Delete unused variables.
6168 * coff-pe-read.c (add_pe_exported_sym): Delete unused variable.
6169 (read_pe_exported_syms): Delete unused variable.
6171 * stabsread.c (define_symbol): Delete unused variable.
6173 * dwarf2read.c (read_type_comp_unit_head): Delete unused variable.
6174 (process_psymtab_comp_unit): Delete unused variable.
6175 (dwarf2_build_psymtabs_hard): Delete unused variable.
6176 (load_partial_comp_unit): Delete unused variable.
6177 (create_all_comp_units): Delete unused variable.
6178 (scan_partial_symbols): Delete unused variable.
6179 (add_partial_symbol): Delete unused variable.
6180 (add_partial_namespace): Delete unused variable.
6181 (add_partial_enumeration): Delete unused variable.
6182 (load_full_comp_unit): Delete unused variable.
6183 (process_full_comp_unit): Delete unused variable.
6184 (read_file_scope): Delete unused variable.
6185 (read_type_unit_scope): Delete unused variable.
6186 (process_structure_scope): Delete unused variable.
6187 (process_enumeration_scope): Delete unused variable.
6188 (read_tag_ptr_to_member_type): Delete unused variable.
6189 (read_typedef): Delete unused variable.
6190 (read_partial_die): Delete unused variable.
6191 (decode_locdesc): Delete unused variable.
6192 (zeroed_partial_die): Delete unused global variable.
6194 * tui/tui-interp.c (_initialize_tui_interp):
6195 Delete unused variable.
6196 * tui/tui-regs.c tui_display_registers_from):
6197 Delete unused variable.
6198 (tui_check_register_values): Delete unused variable.
6199 (tui_register_format): Delete unused variable.
6200 * tui/tui-win.c (_initialize_tui_win): Delete unused variable.
6201 * tui/tui-windata.c (tui_display_data_from_line):
6202 Delete unused variables.
6203 (tui_vertical_data_scroll): Delete unused variables.
6207 * remote.c (remote_threads_info): Revert questionable part of
6208 the previous change.
6212 * mi/mi-out.c (mi_table_begin): Delete unused variable.
6213 * mi/mi-cmd-var.c (print_varobj): Delete unused variable.
6214 (mi_cmd_var_list_children): Delete unused variable.
6215 (varobj_update_one): Delete unused variable.
6216 * mi/mi-cmd-break.c (mi_cmd_break_insert): Delete unused variables.
6217 * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals):
6218 Delete unused variable.
6219 (mi_cmd_stack_list_variables): Delete unused variable.
6220 (list_args_or_locals): Delete unused variable.
6221 * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file):
6222 Delete unused variables.
6223 (mi_cmd_file_list_exec_source_files): Delete unused variable.
6224 * mi/mi-cmd-target.c (mi_cmd_target_file_delete):
6225 Delete unused variable.
6226 * mi/mi-interp.c (mi_interpreter_exec): Delete unused variable.
6227 (mi_cmd_interpreter_exec): Delete unused variable.
6228 (mi_on_normal_stop): Delete unused variable.
6229 * mi/mi-main.c (run_one_inferior): Delete unused variable.
6230 (print_one_inferior): Delete unused variables.
6231 (mi_execute_command): Delete unused variable.
6232 (mi_cmd_execute): Delete unused variable.
6233 (timestamp): Delete unused variable.
6235 * cli/cli-dump.c (dump_memory_to_file): Delete unused variable.
6236 (restore_binary_file): Delete unused variable.
6237 * cli/cli-decode.c (deprecated_cmd_warning): Delete unused variables.
6238 * cli/cli-script.c (define_command): Delete unused variables.
6239 (recurse_read_control_structure): Delete unused variable.
6240 (script_from_file): Delete unused variable.
6241 * cli/cli-cmds.c (complete_command): Delete unused variable.
6242 (disassemble_command): Delete unused variable.
6244 * ax-gdb.c (gen_struct_elt_for_reference): Delete unused variables.
6245 * tracepoint.c (delete_trace_variable_command):
6246 Delete unused variables.
6247 (encode_actions_1): Delete unused variables.
6248 (start_tracing): Delete unused variable.
6249 (trace_status_mi): Delete unused variable.
6250 (tfind_1): Delete unused variable.
6251 (trace_find_pc_command): Delete unused variable.
6252 (trace_find_line_command): Delete unused variables.
6253 (trace_find_range_command): Delete unused variables.
6254 (trace_find_outside_command): Delete unused variables.
6255 (parse_tracepoint_definition): Delete unused variables.
6256 (tfile_fetch_registers): Delete unused variable.
6258 * dcache.c (dcache_init): Delete unused variable.
6259 (dcache_info): Delete unused variable.
6261 * remote.c (remote_threads_info): Delete unused variable.
6262 (process_stop_reply) :Delete unused variable.
6263 (remote_get_trace_status): Delete unused variables.
6265 * linux-thread-db.c (add_thread_db_info): Delete unused variable.
6266 (thread_from_lwp): Delete unused variable.
6267 (enable_thread_event_reporting): Delete unused variable.
6268 (check_for_thread_db): Delete unused variables.
6269 (thread_db_find_new_threads_2): Delete unused variable.
6271 * linux-fork.c (info_checkpoints_command): Delete unused variables.
6272 (checkpoint_command): Delete unused variable.
6273 (linux_fork_context): Delete unused variables.
6275 * linux-nat.c (linux_parent_pid): Delete unused global variable.
6276 (linux_tracefork_child): Delete unused variable.
6277 (linux_child_follow_fork): Delete unused variable.
6278 (linux_nat_detach): Delete unused variable.
6279 (linux_handle_extended_wait): Delete unused variable.
6280 (linux_nat_has_pending_sigint): Delete unused variable.
6281 (linux_nat_find_memory_regions): Delete unused variable.
6282 (linux_nat_make_corefile_notes): Delete unused variables.
6283 (linux_nat_info_proc_cmd): Delete unused variable.
6284 (linux_proc_pending_signals): Delete unused variable.
6285 (linux_nat_stop_lwp): Delete unused variables.
6286 (_initialize_linux_nat): Delete unused variable.
6288 * ser-pipe.c (pipe_ops): Delete unused global variable.
6290 * linux-record.c (record_linux_system_call):
6291 Delete unused variables.
6293 * corelow.c (core_xfer_partial): Delete unused variables.
6295 * solib-svr4.c (find_program_interpreter): Delete unused variable.
6296 (svr4_solib_create_inferior_hook): Add ifdef around
6297 conditionally-used variable declarations.
6299 * solib.c (solib_find): Delete unused variable.
6300 (free_so_symbols): Delete unused variable.
6301 (info_sharedlibrary_command): Delete unused variable.
6302 (reload_shared_libraries_1): Delete unused variable.
6303 (_initialize_solib): Delete unused variable.
6305 * i386-tdep.c (i386_supply_xstateregset) Delete unused variable.
6306 (i386_collect_xstateregset): Delete unused variable.
6307 * i387-tdep.c (i387_print_float_info): Delete unused variable.
6309 * features/i386/i386-mmx.c (initialize_tdesc_i386_mmx):
6310 Delete unused variable 'type'.
6314 * gdbtypes.h (MAX_OF_TYPE, MIN_OF_TYPE): Delete macros. *
6315 ada-lang.c: Remove comment mentioning these macros.
6316 * m2-exp.y: Delete commented out code.
6320 * sparc-tdep.c (sparc_structure_or_union_p): Return non-zero
6322 * sparc64-tdep.c (sparc64_structure_or_union_p): Likewise.
6326 ARI fix: Remove ATTRIBUTE_UNUSED throughout.
6327 * arm-linux-tdep.c (arm_linux_cleanup_svc): Remove
6329 (cleanup_kernel_helper_return): Likewise.
6330 * arm-tdep.c (copy_unmodified): Likewise.
6331 (copy_preload): Likewise.
6332 (copy_copro_load_store): Likewise.
6333 (cleanup_branch): Likewise.
6334 (copy_b_bl_blx): Likewise.
6335 (copy_bx_blx_reg): Likewise.
6336 (copy_alu_imm): Likewise.
6337 (copy_alu_reg): Likewise.
6338 (copy_alu_shifted_reg): Likewise.
6339 (cleanup_load): Likewise.
6340 (cleanup_store): Likewise.
6341 (cleanup_block_load_pc): Likewise.
6342 (cleanup_svc): Likewise.
6343 (copy_undef): Likewise.
6344 (copy_unpred): Likewise.
6345 * remote.c (register_remote_support_xml): Likewise.
6349 * gdbarch.h (gdbarch_has_dos_based_file_system): Update comment.
6353 * remote.c (register_remote_support_xml)
6354 (remote_query_supported_append, remote_query_supported): Add cast
6355 to NULL used as sentinel.
6356 * tracepoint.c (tvariables_info_1): Likewise.
6357 * utils.c (add_internal_problem_command): Likewise.
6361 * dwarf2loc.c (read_pieced_value, write_pieced_value,
6362 dwarf2_evaluate_loc_desc): Handle not being able to access DWARF
6363 registers gracefully.
6367 * exec.c (print_section_info): Display entry point without arch
6373 * printcmd.c (x_command): Only dereference once implicitly for
6378 * event-loop.c (gdb_timer): Delete unused global.
6379 (create_timer): Update.
6383 * cp-namespace.c (cp_lookup_symbol_imports): Support ALIAS for the
6384 CURRENT->DECLARATION case.
6385 * cp-support.h (struct using_direct): Provide extended comment.
6389 * hppaobsd-tdep.c (HPPAOBSD_SIZEOF_GREGS): Renamed from
6390 HPPABSD_SIZEOF_GREGS.
6391 (HPPAOBSD_SIZEOF_FPREGS): New define.
6392 (hppaobsd_supply_gregset): Renamed from hppabsd_supply_gregset.
6393 (hppaobsd_supply_fpregset): New function.
6394 (hppaobsd_gregset): Renamed from hppabsd_gregset.
6395 (hppaobsd_fpregset): New variable.
6396 (hppaobsd_regset_from_core_section): Handle floating-point registers.
6397 (_initialize_hppabsd_tdep): Remove spurious blank line.
6402 * p-valprint.c (pascal_value_print): Always dereference a value with
6403 type code TYPE_CODE_REF.
6407 * remote.c (remote_notice_signals): New.
6408 (remote_start_remote): In non-stop mode, update the remote end on
6409 which signals it can silently pass.
6410 (init_remote_ops): Install remote_notice_signals.
6414 * cli/cli-cmds.h (error_no_arg): Remove. Move the comment ...
6415 * command.h (error_no_arg): ... here. Remove NORETURN, change
6416 ATTR_NORETURN to ATTRIBUTE_NORETURN.
6417 * defs.h (NORETURN, ATTR_NORETURN): Remove.
6418 (perror_with_name, verror, error, error_stream, vfatal, fatal)
6419 (internal_verror, internal_error, nomem): Remove NORETURN, change
6420 ATTR_NORETURN to ATTRIBUTE_NORETURN.
6421 * exceptions.c (throw_exception, deprecated_throw_reason, throw_verror)
6422 (throw_vfatal, throw_error): Remove NORETURN.
6423 (throw_it): Remove NORETURN, change ATTR_NORETURN to ATTRIBUTE_NORETURN.
6424 * exceptions.h (throw_exception, throw_verror, throw_vfatal)
6425 (throw_error, deprecated_throw_reason): Remove NORETURN, change
6426 ATTR_NORETURN to ATTRIBUTE_NORETURN.
6427 * linespec.c (cplusplus_error): Remove NORETURN, change ATTR_NORETURN
6428 to ATTRIBUTE_NORETURN for prototype, for the definition only remove
6430 * remote-mips.c (mips_error): Change NORETURN to ATTRIBUTE_NORETURN.
6431 * remote-sim.c (gdb_os_error): Change ATTR_NORETURN to
6433 * target.c (tcomplain): Likewise.
6434 * target.h (noprocess): Remove NORETURN, change ATTR_NORETURN to
6436 * utils.c (verror, error, vfatal, fatal, error_stream, internal_verror)
6437 (internal_error, perror_with_name, nomem): Remove NORETURN.
6438 * xml-support.h (gdb_xml_error): Change ATTR_NORETURN to
6443 * ada-lang.c (lim_warning): Change ATTR_FORMAT to ATTRIBUTE_PRINTF.
6444 * amd64-tdep.c (amd64_insn_length_fprintf): Likewise.
6445 * cli-out.c (cli_field_fmt): New ATTRIBUTE_PRINTF.
6446 (cli_message, out_field_fmt): Change ATTR_FORMAT to ATTRIBUTE_PRINTF.
6447 * complaints.c (find_complaint): New ATTRIBUTE_PRINTF.
6448 (vcomplaint): Change ATTR_FORMAT to ATTRIBUTE_PRINTF.
6449 * complaints.h (complaint, internal_complaint): Likewise.
6450 * defs.h: Change ATTR_FORMAT to ATTRIBUTE_PRINTF in the top comment.
6451 (ATTR_FORMAT): Remove.
6452 (query, nquery, yquery, vprintf_filtered, vfprintf_filtered)
6453 (fprintf_filtered, fprintfi_filtered, printf_filtered, printfi_filtered)
6454 (vprintf_unfiltered, vfprintf_unfiltered, fprintf_unfiltered)
6455 (printf_unfiltered, xasprintf, xvasprintf, xstrprintf, xstrvprintf)
6456 (xsnprintf, verror, error, vfatal, fatal, internal_verror)
6457 (internal_error, internal_vwarning, internal_warning, warning)
6458 (vwarning): Change ATTR_FORMAT to ATTRIBUTE_PRINTF.
6459 * disasm.c (fprintf_disasm): Likewise.
6460 * exceptions.c (throw_it): Likewise.
6461 * exceptions.h (exception_fprintf, throw_verror, throw_vfatal)
6462 (throw_error): Likewise.
6463 * language.h (type_error, range_error): Likewise.
6464 * linespec.c (cplusplus_error): Likewise.
6465 * mi/mi-interp.c (mi_interp_query_hook): Likewise.
6466 * mi/mi-out.c (mi_field_fmt, mi_message): Likewise.
6467 * monitor.c (monitor_debug): Likewise.
6468 * parser-defs.h (parser_fprintf): Likewise.
6469 * serial.h (serial_printf): Likewise.
6470 * tui/tui-hooks.c (tui_query_hook): Likewise.
6471 * ui-out.c (default_field_fmt, default_message, uo_field_fmt)
6472 (uo_message): Likewise.
6473 * ui-out.h (ui_out_field_fmt, ui_out_message): Likewise.
6474 * utils.c (vfprintf_maybe_filtered, internal_vproblem, defaulted_query):
6476 * xml-support.h (gdb_xml_debug, gdb_xml_error): Likewise.
6480 * cli-out.c (cli_table_begin, cli_table_body, cli_table_end)
6481 (cli_table_header, cli_begin, cli_end, cli_field_int)
6482 (cli_field_skip, cli_field_string, cli_field_fmt, cli_spaces)
6483 (cli_text, cli_message, cli_wrap_hint, cli_flush, cli_redirect):
6484 Delete forward declarations.
6485 (cli_ui_out_impl): Move below the callbacks.
6486 (_initialize_cli_out): Delete.
6490 * README: Use consistent `GDB' and `GDBserver' spellings.
6494 * cli/cli-dump.h (parse_and_eval_with_error): Remove the declaration.
6498 * infrun.c (prepare_for_detach): In non-stop, context switch to
6499 the thread that got the event before handling the event.
6503 * symtab.c (symbol_set_names): Fix typo.
6507 * python/py-param.c (parm_constants): Avoid ARI warning
6508 by adding ARI comment.
6509 (parmpy_init): Likewise.
6513 * windows-tdep.c (windows_get_tlb_type): Remember last GDBARCH
6514 and created type for re-use.
6518 * NEWS: Mention gdbserver support for x86_64 Windows 64-bit.
6522 * ser-base.h (reschedule): Delete prototype.
6523 * ser-base.c (reschedule): Make static.
6527 * arm-linux-tdep.c (ARM_LINUX_JB_PC): Remove.
6528 (ARM_LINUX_JB_PC_FPA): Add, offset of PC in longjmp buffer for FPA.
6529 (ARM_LINUX_JB_PC_EABI): Add, offset of PC in longjmp buffer for
6531 (arm_linux_init_abi): Set up JB_PC field dependent on FP model in
6538 * regcache.c (registers_changed): Rename to ...
6539 (registers_changed_ptid): ... this, and only delete register cache
6540 entries matching the ptid filter argument.
6541 (registers_changed): Reimplement on top of registers_changed_ptid.
6542 * regcache.h (registers_changed_ptid): Declare.
6543 * target.c (target_resume): Flush register caches.
6549 * Makefile.in (SUBDIR_PYTHON_OBS): Add py-parameter.
6550 (SUBDIR_PYTHON_SRCS): Likewise.
6551 (py-parameter.o): New rule.
6552 * python/py-parameter.c: New file.
6553 * python/python-internal.h (gdbpy_initialize_parameter)
6554 (gdbpy_parameter, gdbpy_parameter_value)
6555 (gdbpy_parse_command_name): Declare.
6556 * python/py-cmd.c (parse_command_name): Rename to
6557 gdbpy_parse_command_name.
6558 (gdbpy_parse_command_name): Accept a starting list parameter and
6560 (cmdpy_init): Use gdbpy_parse_command_name.
6561 * python/python.c (parameter_to_python): Rename to
6562 gdbpy_parameter_to_python. Accept enum var_types and value.
6563 (gdbpy_parameter): Use gdbpy_parameter_value.
6564 (_initialize_python): Call gdbpy_initialize_parameters.
6568 * MAINTAINERS: Add myself for write after approval privileges.
6573 * Makefile.in (SFILES): Add d-lang.c d-valprint.c.
6574 (COMMON_OBS): Add d-lang.o d-valprint.o.
6575 (HFILES_NO_SRCDIR): Add d-lang.h.
6576 * NEWS: Mention D language support.
6577 * c-lang.c (c_emit_char, exp_descriptor_c): Make public.
6578 * c-lang.h (c_emit_char, exp_descriptor_c): Add declaration.
6579 * d-lang.c: New file.
6580 * d-lang.h: New file.
6581 * d-valprint.c: New file.
6582 * defs.h (enum language): Add language_d.
6583 * dwarf2read.c (set_cu_language): Add DW_LANG_D.
6584 * language.c (binop_result_type, integral_type, character_type)
6585 (string_type, boolean_type, structured_type): Add language_d.
6586 * symfile.c (init_filename_language_table): Add language_d.
6587 * symtab.c: Include d-lang.h.
6588 (symbol_init_language_specific, symbol_find_demangled_name)
6589 (symbol_natural_name, lookup_symbol_in_language)
6590 (symbol_demangled_name, symbol_matches_domain): Add language_d.
6594 * solib-svr4.c (solib_svr4_r_map): Expand function description.
6598 * symfile.c (init_filename_language_table): Register .dg files
6603 * gdbtypes.h (struct main_type): Expand comment about target_type
6609 * symfile.c (reread_symbols): Also search for file in libraries.
6614 * configure.tgt: Treat x86-lynxos targets as x86 bareboard targets
6615 in terms of configuration.
6619 * objfiles.c: Include solist.h.
6620 (free_all_objfiles): New variable so. Check stale solist objfiles.
6621 * symfile.c (symbol_file_clear): Swap the order of free_all_objfiles
6622 and no_shared_libraries.
6627 * python/py-auto-load.c (source_section_scripts): Remove trailing
6628 new-line in i18n string.
6632 * serial.c (serial_write): Handle serial_debug_p akin to serial_read.
6636 * cli/cli-decode.c (complete_on_cmdlist): Make two passes over the
6641 Removal of config/i386/nm-i386sol2.h native configuration file.
6642 * config/i386/nm-i386sol2.h: Remove file.
6643 * config/i386/i386sol2.mh: Remove NAT_FILE definition.
6644 * config/i386/sol2-64.mh: Idem.
6645 * config/djgpp/fnchange.lst: Remove reference to that file.
6646 * Makefile.in (HFILES_NO_SRCDIR): Idem.
6650 PR breakpoints/11531.
6651 * config/i386/nm-i386sol2.h (CANNOT_STEP_HW_WATCHPOINTS): Remove
6652 macro definition and related comment.
6653 * infrun.c (CANNOT_STEP_HW_WATCHPOINTS): Remove macro.
6654 (resume): Remove code and comment related to this macro.
6658 * cp-namespace.c (cp_lookup_symbol_in_namespace): Fix alloca size.
6663 * defs.h: Adjust comment.
6664 * filesystem.h, filesystem.c: New files.
6665 * Makefile.in (SFILES): Add filesystem.c.
6666 (COMMON_OBS): Add filesystem.o.
6667 * solib.c (solib_find): Handle DOS-based filesystems. Handle
6668 different target and host path flavours.
6669 * arm-symbian-tdep.c (arm_symbian_init_abi): Set
6670 has_dos_based_file_system on the gdbarch.
6671 * arm-wince-tdep.c (arm_wince_init_abi): Ditto.
6672 * i386-cygwin-tdep.c (i386_cygwin_init_abi): Ditto.
6673 * i386-tdep.c (i386_go32_init_abi): Ditto.
6674 * gdbarch.sh (has_dos_based_file_system): New.
6675 * gdbarch.h, gdbarch.c: Regenerate.
6676 * NEWS: Mention improved support for remote targets with DOS-based
6677 filesystems. Mention new `set/show target-file-system-kind'
6682 * ax.h (struct agent_expr): Merge in agent_reqs fields, add some
6684 (struct agent_reqs): Remove.
6685 (ax_reg_mask): Declare.
6686 * ax-general.c (new_agent_expr): Add gdbarch argument, set new fields.
6687 (free_agent_expr): Free reg_mask.
6688 (ax_print): Add scope and register mask info.
6689 (ax_reqs): Remove agent_reqs argument, use agent expression
6690 fields, and move part of register mask computation to...
6691 (ax_reg_mask): New function.
6692 * ax-gdb.c (gen_trace_static_fields): Call it.
6693 (gen_traced_pop): Ditto.
6694 (is_nontrivial_conversion): Add dummy gdbarch to new_agent_expr.
6695 (gen_trace_for_var): Pass gdbarch to new_agent_expr.
6696 (gen_trace_for_expr): Ditto, and clear optimized_out flag.
6697 (gen_eval_for_expr): Ditto, and require an rvalue.
6698 (agent_command): Call ax_reqs.
6699 (agent_eval_command): Ditto.
6700 * tracepoint.c (report_agent_reqs_errors): Use agent expression fields.
6701 (validate_action_line): Ditto.
6702 (collect_symbol): Ditto.
6703 (encode_actions_1): Ditto.
6709 Fix deadlock on looped list of loaded shared objects.
6710 * solib-svr4.c (LM_PREV): New function.
6711 (IGNORE_FIRST_LINK_MAP_ENTRY): Use it.
6712 (svr4_current_sos): Check for correct l_prev. New variables prev_lm
6713 and next_lm. Clear prev_lm for solib_svr4_r_ldsomap.
6714 * config/djgpp/fnchange.lst: Add translation for solib-corrupted.exp.
6718 * configure.ac (CONFIG_SRCS): Add py-auto-load.o even if not using
6720 * configure: Regenerate.
6721 * main.c: #include "python/python.h".
6722 (captured_main): Defer loading auto-loaded scripts until after
6723 local_gdbinit has been sourced.
6724 * python/py-auto-load.c (gdbpy_global_auto_load): New global.
6725 (load_auto_scripts_for_objfile): New function.
6726 (auto_load_new_objfile): Call it.
6727 * python/python.h (gdbpy_global_auto_load): Declare.
6728 (load_auto_scripts_for_objfile): Declare.
6730 Add support for auto-loading scripts from .debug_gdb_scripts section.
6731 * NEWS: Add entry for .debug_gdb_scripts.
6732 * Makefile.in SUBDIR_PYTHON_OBS): Add py-auto-load.o.
6733 (SUBDIR_PYTHON_SRCS): Add py-auto-load.c.
6734 (py-auto-load.o): New rule.
6735 * cli/cli-cmds.c (find_and_open_script): Make externally visible.
6736 * cli/cli-cmds.h (find_and_open_script): Update prototype.
6737 * python/py-auto-load.c: New file.
6738 * python/python-internal.h: #include <stdio.h>.
6739 (set_python_list, show_python_list): Declare.
6740 (gdbpy_initialize_auto_load): Declare.
6741 (source_python_script_for_objfile): Declare.
6742 * python/python.c: Remove #include of observer.h.
6743 (gdbpy_auto_load): Moved to py-auto-load.c.
6744 (GDBPY_AUTO_FILENAME): Ditto.
6745 (gdbpy_new_objfile): Delete.
6746 (source_python_script_for_objfile): New function.
6747 (set_python_list, show_python_list): Make externally visible.
6748 (_initialize_python): Move "auto-load" command to py-auto-load.c
6749 and observer_attach_new_objfile to py-auto-load.c.
6753 * alpha-tdep.c (INSN_OPCODE, MEM_RA, MEM_RB, MEM_DISP, BR_RA)
6754 (OPR_FUNCTION, OPR_HAS_IMMEDIATE, OPR_RA, OPR_RC, OPR_LIT): New macros.
6755 (lda_opcode, stq_opcode, bne_opcode, subq_opcode, subq_function):
6757 (alpha_heuristic_analyze_probing_loop): New function.
6758 (alpha_heuristic_frame_unwind_cache): In the prologue analysis, detect
6759 and handle cases when a stack probe loop is generated.
6760 * alpha-mdebug-tdep.c (alpha_mdebug_frameless): New function.
6761 (alpha_mdebug_max_frame_size_exceeded): New function.
6762 (alpha_mdebug_after_prologue): Use alpha_mdebug_frameless.
6763 (alpha_mdebug_frame_sniffer, alpha_mdebug_frame_base_sniffer):
6764 Return 0 when the maximum debuggable frame size has been exceeded.
6769 * ppc-linux-nat.c (booke_cmp_hw_point): Do not mark inline.
6775 * symtab.c (rbreak_command): Added code to include a filename
6776 specification in the rbreak argument.
6777 * NEWS: Added a brief description of filename-qualified rbreak.
6781 Fix crashes on dangling display expressions.
6782 * ada-lang.c (ada_operator_check): New function.
6783 (ada_exp_descriptor): Fill-in the field operator_check.
6784 * c-lang.c (exp_descriptor_c): Fill-in the field operator_check.
6785 * jv-lang.c (exp_descriptor_java): Likewise.
6786 * m2-lang.c (exp_descriptor_modula2): Likewise.
6787 * scm-lang.c (exp_descriptor_scm): Likewise.
6788 * parse.c (exp_descriptor_standard): Likewise.
6789 (operator_check_standard): New function.
6790 (exp_iterate, exp_uses_objfile_iter, exp_uses_objfile): New functions.
6791 * parser-defs.h (struct exp_descriptor): New field operator_check.
6792 (operator_check_standard, exp_uses_objfile): New declarations.
6793 * printcmd.c: Remove the inclusion of solib.h.
6794 (display_uses_solib_p): Remove the function.
6795 (clear_dangling_display_expressions): Call lookup_objfile_from_block
6796 and exp_uses_objfile instead of display_uses_solib_p.
6797 * solist.h (struct so_list) <objfile>: New comment.
6798 * symtab.c (lookup_objfile_from_block): Remove the static qualifier.
6799 * symtab.h (lookup_objfile_from_block): New declaration.
6800 (struct general_symbol_info) <obj_section>: Extend the comment.
6805 * ppc-linux-nat.c (PTRACE_GET_DEBUGREG): Update comment.
6806 (PPC_PTRACE_GETWDBGINFO, PPC_PTRACE_SETHWDEBUG, PPC_PTRACE_DELHWDEBUG,
6807 ppc_debug_info, PPC_DEBUG_FEATURE_INSN_BP_RANGE,
6808 PPC_DEBUG_FEATURE_INSN_BP_MASK, PPC_DEBUG_FEATURE_DATA_BP_RANGE,
6809 PPC_DEBUG_FEATURE_DATA_BP_MASK, ppc_hw_breakpoint,
6810 PPC_BREAKPOINT_TRIGGER_EXECUTE, PPC_BREAKPOINT_TRIGGER READ,
6811 PPC_BREAKPOINT_TRIGGER_WRITE, PPC_BREAKPOINT_TRIGGER_RW,
6812 PPC_BREAKPOINT_MODE_EXACT PPC_BREAKPOINT_MODE_RANGE_INCLUSIVE,
6813 PPC_BREAKPOINT_MODE_RANGE_EXCLUSIVE, PPC_BREAKPOINT_MODE_MASK,
6814 PPC_BREAKPOINT_CONDITION_NONE, PPC_BREAKPOINT_CONDITION_AND,
6815 PPC_BREAKPOINT_CONDITION_EXACT, PPC_BREAKPOINT_CONDITION_OR,
6816 PPC_BREAKPOINT_CONDITION_AND_OR, PPC_BREAKPOINT_CONDITION_BE_ALL,
6817 PPC_BREAKPOINT_CONDITION_BE_SHIFT, PPC_BREAKPOINT_CONDITION_BE):
6818 Define, in case <ptrace.h> doesn't provide it.
6819 (booke_debug_info): New variable.
6820 (max_slots_number): Ditto.
6821 (hw_break_tuple): New struct.
6822 (thread_points): Ditto.
6823 (ppc_threads): New variable.
6824 (PPC_DEBUG_CURRENT_VERSION): New define.
6825 (have_ptrace_new_debug_booke): New function.
6826 (ppc_linux_check_watch_resources): Renamed to ...
6827 (ppc_linux_can_use_hw_breakpoint): ... this. Handle BookE processors.
6828 (ppc_linux_region_ok_for_hw_watchpoint): Handle BookE processors.
6829 (booke_cmp_hw_point): New function.
6830 (booke_find_thread_points_by_tid): Ditto.
6831 (booke_insert_point): Ditto.
6832 (booke_remove_point): Ditto.
6833 (ppc_linux_insert_hw_breakpoint): Ditto.
6834 (ppc_linux_remove_hw_breakpoint): Ditto.
6835 (get_trigger_type): Ditto.
6836 (ppc_linux_insert_watchpoint): Handle BookE processors.
6837 (ppc_linux_remove_watchpoint): Ditto.
6838 (ppc_linux_new_thread): Ditto.
6839 (ppc_linux_thread_exit): New function..
6840 (ppc_linux_stopped_data_address): Handle BookE processors.
6841 (ppc_linux_watchpoint_addr_within_range): Ditto.
6842 (_initialize_ppc_linux_nat): Initialize to_insert_hw_breakpoint and
6843 to_remove_hw_breakpoint fields of the target operations struct.
6844 Add observe for the thread_exit event.
6848 * i386-linux-nat.c (regmap): Removed.
6849 (fetch_register): Replace regmap with
6850 i386_linux_gregset_reg_offset.
6851 (store_register): Likewise.
6852 (supply_gregset): Likewise.
6853 (fill_gregset): Likewise.
6855 * i386-linux-tdep.c (i386_linux_gregset_reg_offset): Make it
6858 * i386-linux-tdep.h (i386_linux_gregset_reg_offset): New.
6862 * cp-valprint.c (cp_print_value_fields): Replaced obstack_base()
6863 method of popping recursion-detection stack with a method based on
6864 obstack_object_size(). (Similar to the PR9167 patch below, but for
6865 the static array obstack rather than the static member obstack.)
6869 * amd64-linux-nat.c (amd64_linux_gregset64_reg_offset): Removed.
6870 (_initialize_amd64_linux_nat): Replace
6871 amd64_linux_gregset64_reg_offset with
6872 amd64_linux_gregset_reg_offset.
6874 * amd64-linux-tdep.c (amd64_linux_gregset_reg_offset): Make it
6877 * amd64-tdep.h (amd64_linux_gregset_reg_offset): New.
6882 * stabsread.c (set_length_in_type_chain): New function.
6883 (read_struct_type): Call set_length_in_type_chain function.
6884 (read_enum_type): Idem.
6889 * tracepoint.c (trace_save): Open in binary mode.
6893 * gdbtypes.h (builtin_type): Add builtin_char16 and builtin_char32
6895 * gdbtypes.c (gdbtypes_post_init): Set builtin_char16 and
6896 builtin_char32 fields.
6897 * printcmd.c (decode_format): Set char size to '\0'
6898 for strings unless explicit size is given.
6899 (print_formatted): Correct calculation of NEXT_ADDRESS
6900 for 16 or 32 bit strings.
6901 (do_examine): Do not force byte size for strings.
6902 Use builtin_char16 and builtin_char32 types to display
6903 16 or 32 bit-wide strings.
6904 (x_command): Set LAST_SIZE to 'b' for string type.
6909 * amd64-linux-tdep.c (amd64_linux_core_read_description): Check
6912 * i386-linux-tdep.c (i386_linux_core_read_xcr0): Return 0 if
6913 there is no .reg-xstate section.
6914 (i386_linux_core_read_description): Check XCR0 first.
6918 * sparc-tdep.c (sparc32_store_return_value): Add gdb_assert ()
6924 * cp-valprint.c (cp_print_value_fields): Replaced obstack_base()
6925 method of popping recursion-detection stack with a method based on
6926 obstack_object_size().
6931 * p-valprint.c (pascal_val_print): Fix default printing of integer
6936 Fix compilation warning on gcc-4.1.2.
6937 * rs6000-aix-tdep.c (rs6000_convert_from_func_ptr_addr): Initialize
6938 local variable`pc' to zero.
6942 Implement thread support with core files on alpha-tru64.
6943 * dec-thread.c (dec_thread_find_new_threads): New function,
6944 extracted from resync_thread_list.
6945 (resync_thread_list): Add OPS parameter. Replace extracted-out
6946 code by call to dec_thread_find_new_threads.
6947 (dec_thread_wait): Update call to resync_thread_list.
6948 (init_dec_thread_ops): Set dec_thread_ops.to_find_new_threads.
6952 * ada-lang.c (value_pointer): New function.
6953 (make_array_descriptor): Call value_pointer to convert addresses to
6958 * rs6000-aix-tdep.c: #include exceptions.h.
6959 (rs6000_convert_from_func_ptr_addr): If an exception is thrown
6960 while reading the memory at ADDR, then ADDR cannot be a function
6965 * ada-typeprint.c (ada_print_typedef): New function.
6966 * ada-lang.h (ada_print_typedef): Add declaration.
6967 * ada-lang.c (ada_language_defn): set la_print_typdef field
6968 to ada_print_typedef.
6972 * procfs.c (procfs_address_to_host_pointer): Only define when used.
6976 * procfs.c (iterate_over_mappings_cb_ftype): New typedef.
6977 (iterate_over_mappings): Adjust function profile. Add declaration.
6978 (insert_dbx_link_bpt_in_region, info_mappings_callback):
6983 * procfs.c (solib_mappings_callback): Move function up to avoid
6988 * procfs.c (find_signalled_thread, find_stop_signal): Move
6989 these functions down to define them only when used.
6993 * valprint.c (common_val_print): Fix the value before extracting
6995 * ada-lang.c (ada_to_fixed_value): Make this function extern.
6996 * ada-lang.h (ada_to_fixed_value): New function declaration.
6997 * ada-valprint.c (ada_value_print): Use ada_to_fixed_value
6998 to avoid code duplication and fix a bug in the handling of
6999 fixed types contents.
7003 * dwarf2read.c (dwarf2_compute_name): Handle DW_AT_linkage_name.
7004 (read_partial_die): Likewise.
7005 (dwarf_attr_name): Likewise.
7011 * cp-valprint.c (global): Adding new static array recursion
7013 (cp_print_value_fields, cp_print_static_field): Added new static
7014 array recursion detection code.
7018 * i386-linux-tdep.c (i386_linux_regset_sections): Size of the
7019 general-purpose register set should be 68 instead of 144.
7020 (i386_linux_sse_regset_sections): Likewise.
7021 (i386_linux_avx_regset_sections): Likewise.
7026 * dwarf2loc.c (struct axs_var_loc): New struct.
7027 (dwarf2_tracepoint_var_loc): New function.
7028 (dwarf2_tracepoint_var_access): New function.
7029 (dwarf2_tracepoint_var_ref): Use dwarf2_tracepoint_var_loc, deal
7031 (locexpr_describe_location_piece): New function.
7032 (locexpr_describe_location_1): New function.
7033 (locexpr_describe_location): Call it, update signature.
7034 (loclist_describe_location): Rewrite to loop over locations,
7036 * symtab.h (struct symbol_computed_ops): Add address to
7037 describe_location arguments, return void.
7038 * printcmd.c (address_info): Get context PC, pass to computed
7039 location description.
7040 * tracepoint.c (scope_info): Ditto.
7041 * ax-gdb.c (trace_kludge): Export.
7045 * dwarf2-frame.c (decode_frame_entry_1): Handle CIE version 4.
7046 (struct dwarf2_cie) <segment_size>: New field.
7047 * dwarf2read.c (partial_read_comp_unit_head): Accept DWARF 4.
7048 (skip_one_die): Handle DW_FORM_flag_present, DW_FORM_sec_offset,
7050 (read_attribute_value): Handle DW_FORM_flag_present,
7051 DW_FORM_sec_offset, DW_FORM_exprloc.
7052 (dump_die_shallow): Likewise.
7053 (attr_form_is_section_offset): Handle DW_FORM_sec_offset.
7054 (dwarf2_const_value): Handle DW_FORM_exprloc.
7055 (attr_form_is_block): Likewise.
7056 (struct line_header) <maximum_ops_per_instruction>: New field.
7057 (dwarf_decode_line_header): Set new field.
7058 (dwarf_decode_lines): Handle new field.
7062 * f-exp.y: Add new production to recognize the `logical*8' type.
7063 (LOGICAL_S8_KEYWORD): New token.
7064 * f-lang.c (enum f_primitive_types)
7065 <f_primitive_type_logical_s8>: New field.
7066 (f_language_arch_info): Handling `logical*8' type.
7067 (build_fortran_types): Building `logical*8' type.
7068 * f-lang.h (struct builtin_f_type) <builtin_logical_s8>: New field.
7072 * ser-base.c (generic_readchar): Watch for EOF in read of error_fd.
7073 * ser-pipe.c (pipe_open): Fix file descriptor leaks.
7074 (pipe_close): Ditto.
7078 * configure.tgt (x86_64-*-mingw*): Set BUILD_GDBSERVER to yes.
7082 * windows-tdep.c (windows_get_tlb_type): Change current_seh.handle
7083 type to void function.
7088 * tracepoint.c (tfind_1): Add missing newline, report exit from
7090 * target.c (update_current_target): Make default
7091 to_trace_find return -1.
7095 * objc-lang.c (find_methods): Move symname check up.
7099 * ada-lang.c (print_recreate_exception)
7100 <ex_catch_exception_unhandled>: It's "catch exception unhandled",
7101 not "catch unhandled".
7105 PR breakpoints/8554.
7107 Implement `save-breakpoints'.
7109 * breakpoint.c (save_cmdlist): New.
7110 (breakpoint_set_cmdlist, breakpoint_show_cmdlist): Moved up close
7112 (print_recreate_catch_fork): New.
7113 (catch_fork_breakpoint_ops): Install it.
7114 (print_recreate_catch_vfork): New.
7115 (catch_vfork_breakpoint_ops): Install it.
7116 (print_recreate_catch_syscall): New.
7117 (catch_syscall_breakpoint_ops): Install it.
7118 (print_recreate_catch_exec): New.
7119 (catch_exec_breakpoint_ops): Install it.
7120 (print_recreate_exception_catchpoint): New.
7121 (gnu_v3_exception_catchpoint_ops): Install it.
7122 (save_breakpoints): New, based on tracepoint_save_command, but
7123 handle all breakpoint types.
7124 (save_breakpoints_command): New.
7125 (tracepoint_save_command): Rename to...
7126 (save_tracepoints_command): ... this, and reimplement using
7128 (save_command): New.
7129 (_initialize_breakpoints): Install the "save" command prefix.
7130 Install the "save breakpoints" command. Make "save-tracepoints" a
7131 deprecated alias for "save tracepoints".
7132 * breakpoint.h (struct breakpoint_ops): New field `print_recreate'.
7133 * ada-lang.c (print_recreate_exception): New.
7134 (print_recreate_catch_exception): New.
7135 (catch_exception_breakpoint_ops): Install it.
7136 (print_recreate_catch_exception_unhandled): New.
7137 (catch_exception_unhandled_breakpoint_ops): Install it.
7138 (print_recreate_catch_assert): New.
7139 (catch_assert_breakpoint_ops): Install it.
7141 * NEWS: Mention the new `save breakpoints' command. Mention the
7142 new `save tracepoints' alias and that `save-tracepoints' is now
7149 * tui/tui-out.c: Include cli-out.h.
7150 (tui_table_begin, tui_table_body, tui_table_end, tui_table_header)
7151 (tui_begin, tui_end, tui_field_int, tui_field_skip)
7152 (tui_field_string, tui_field_fmt, tui_spaces, tui_text)
7153 (tui_message, tui_wrap_hint, tui_flush): Delete forward
7155 (struct ui_out_data): Rename to...
7156 (struct tui_ui_out_data): ... this. Remove `stream' and
7157 `suppress_output' fields, and inherit cli_ui_out_data.
7158 (tui_out_data): New typedef.
7159 (tui_ui_out_impl): Don't initialize fields staticaly.
7160 (tui_table_begin, tui_table_body, tui_table_end, tui_table_header)
7161 (tui_begin, tui_end): Delete.
7162 (tui_field_int): Adjust to delegate most work to the base type.
7163 (tui_field_skip): Delete.
7164 (tui_field_string, tui_field_fmt): Adjust comment. Adjust to
7165 delegate most work to the base type.
7166 (tui_spaces): Delete.
7167 (tui_text): Adjust to delegate most work to the base type.
7168 (tui_message): Delete.
7169 (tui_wrap_hint): Delete.
7170 (tui_flush): Delete.
7171 (out_field_fmt): Delete.
7172 (field_separator): Delete.
7173 (tui_out_new): Adjust to initialize the base type.
7174 (_initialize_tui_out): Initialize tui_ui_out_impl.
7175 * cli-out.c (struct ui_out_data): Moved out to cli-out.h, renamed
7177 (cli_out_data): Adjust.
7178 (cli_ui_out_impl): Make extern.
7179 (cli_table_header, cli_field_int, cli_field_skip): Use
7180 uo_field_string instead of cli_field_string.
7181 (cli_redirect): Adjust to use cli_out_data.
7182 (cli_out_data_ctor): New.
7183 (cli_out_new): Use it.
7184 * cli-out.h (struct ui_file): Remove forward declaration.
7185 (struct cli_ui_out_data): New, moved from cli-out.c, and renamed.
7186 (cli_ui_out_impl): Declare.
7187 (cli_out_data_ctor): Declare.
7188 * ui-out.c (struct ui_out) <data>: Change type to void pointer.
7189 (uo_field_string): No longer static.
7190 (ui_out_data): Change return type to void pointer.
7191 (ui_out_new): Change `data' parameter type to void pointer.
7192 * ui-out.h (struct ui_out_data): Don't forward declare.
7193 (ui_out_data): Change return type to void pointer.
7194 (ui_out_new): Change `data' parameter type to void pointer.
7195 (uo_field_string): Declare.
7199 * ui-file.c (tee_file_isatty): Return whether `tee->one' is a tty,
7200 instead of always false.
7205 * amd64-linux-tdep.c (amd64_linux_gregset_reg_offset): Support
7210 * breakpoint.c (watchpoints_triggered): Use
7211 is_hardware_watchpoint.
7212 (watchpoints_triggered): Ditto.
7213 (bpstat_check_location): Use is_watchpoint and
7214 is_hardware_watchpoint.
7215 (bpstat_check_watchpoint): Use is_watchpoint and
7216 is_hardware_watchpoint.
7217 (bpstat_stop_status): Fix comment.
7218 (user_settable_breakpoint): Use is_watchpoint.
7219 (hw_watchpoint_used_count): Use is_hardware_watchpoint.
7220 (disable_watchpoints_before_interactive_call_start): Use
7222 (enable_watchpoints_after_interactive_call_stop): Use
7224 (clear_command): Use is_watchpoint.
7225 (do_enable_breakpoint): Use is_watchpoint.
7229 * solib-frv.c (enable_break1_done): Delete.
7230 (enable_break2): Do not check enable_break1_done. Move the
7231 enable_break2_done setting and call to
7232 remove_solib_event_breakpoints() to the end. Return without
7233 warning when the contents of _dl_debug_addr are 0.
7234 (enable_break): Do not set enable_break1_done.
7235 (frv_clear_solib): Likewise.
7239 * m32c-tdep.c (m32c_m16c_address_to_pointer): Print warning
7240 instead of an error if no PLT entry is found. Return a
7241 potentially useful result.
7242 (m32c_m16c_pointer_to_address): Add code to search for function
7243 address when no .plt entry is found.
7247 * tracepoint.c (trace_variable_command): Run a cleanup.
7251 * p-lang.c (pascal_one_char): Do not restrict C to 0..255 range.
7255 Support for Windows OS Thread Information Block.
7256 * NEWS: Document new feature.
7257 * remote.c (PACKET_qGetTIBAddr): New enum element.
7258 (remote_get_tib_address): New function.
7259 (init_remote_ops): Set to_get_tib_address field
7260 to remote_get_tib_address.
7261 (_initialize_remote): Add add_packet_config_cmd
7262 for PACKET_qGetTIBAddr.
7263 * target.c (update_current_target): Set default value for
7264 new to_get_tib_address field.
7265 * target.h (target_ops): New field to_get_tib_address.
7266 (target_get_tib_address): New macro.
7267 * windows-nat.c (thread_info): Add thread_local_base field.
7268 (windows_add_thread): Add tlb argument of type 'void *'.
7269 (fake_create_process): Adapt windows_add_thread call.
7270 (get_windows_debug_event): Idem.
7271 (windows_get_tib_address): New function.
7272 (init_windows_ops): Set to_get_tib_address field
7273 to remote_get_tib_address.
7274 (_initialize_windows_nat): Replace info_w32_cmdlist
7275 initialization by a call to init_w32_command_list.
7276 (info_w32_command, info_w32_cmdlist): Removed from here...
7277 to windows-tdep.c file.
7278 * windows-tdep.h (info_w32_cmdlist): Declare.
7279 (init_w32_command_list): New external function
7281 * windows-tdep.c: Add several headers.
7282 (info_w32_cmdlist): to here, made global.
7283 (thread_information_32): New struct.
7284 (thread_information_64): New struct.
7285 (TIB_NAME): New char array.
7286 (MAX_TIB32, MAX_TIB64, FULL_TIB_SIZE): New constants.
7287 (maint_display_all_tib): New static variable.
7288 (windows_get_tlb_type): New function.
7289 (tlb_value_read, tlb_value_write): New functions.
7290 (tlb_value_funcs): New static struct.
7291 (tlb_make_value): New function.
7292 (display_one_tib): New function.
7293 (display_tib): New function.
7294 (show_maint_show_all_tib):New function.
7295 (info_w32_command): Moved from windows-nat.c.
7296 (init_w32_command_list): New function.
7297 (_initialize_windows_tdep): New function.
7298 New "maint set/show show-all-tib" command
7299 New "$_tlb" internal variable.
7303 * tui/tui-regs.c (tui_display_register): Add comment about
7305 * tui/tui-stack.c (tui_show_locator_content): Ditto.
7309 * frame.c: Include tracepoint.h.
7310 (get_current_frame): Allow a trace frame to be an alternate source
7311 of stack frame data.
7312 * tracepoint.c (tfind_1): Don't try to get current stack frame if
7317 * ppc-linux-tdep.c (bsd_uthread_solib_loaded): Always pass 0 for
7319 * solib-spu.c (spu_solib_loaded): Always pass 0 for flags.
7323 * NEWS: Add entry for python program space support.
7324 * Makefile.in (SUBDIR_PYTHON_OBS): Add py-progspace.o.
7325 (SUBDIR_PYTHON_SRCS): Add py-progspace.c.
7326 (py-progspace.o): New rule.
7327 * python/py-prettyprint.c (find_pretty_printer_from_objfiles): New
7329 (find_pretty_printer_from_progspace): New function.
7330 (find_pretty_printer_from_gdb): New function.
7331 (find_pretty_printer): Rewrite.
7332 * python/py-progspace.c: New file.
7333 * python/python-internal.h (program_space): Add forward decl.
7334 (pspace_to_pspace_object, pspy_get_printers): Declare.
7335 (gdbpy_initialize_pspace): Declare.
7336 * python/python.c: #include "progspace.h".
7337 (gdbpy_get_current_progspace, gdbpy_progspaces): New functions.
7338 (_initialize_python): Call gdbpy_initialize_pspace.
7339 (GdbMethods): Add current_progspace, progspaces.
7341 Add -s option to source command.
7342 * NEWS: Document new option.
7343 * cli/cli-cmds.c (find_and_open_script): Add function comment.
7344 Delete from_tty and cleanupp args. Split filep arg into file and
7345 full_pathp. New arg search_path.
7346 (source_script_from_stream): New function.
7347 (source_script_with_search): New function.
7348 (source_script): Rewrite.
7349 (source_command): Parse "-s" option.
7350 (init_cli_cmds): Add "-s" docs to source command help, and reformat.
7351 * python/python.c (source_python_script): Make file arg a const char *.
7352 Don't call fclose, leave for caller.
7353 * python/python.h (source_python_script): Update.
7358 Avoid rereading shared libraries that haven't changed.
7360 * solib.c (free_so_symbols): New function, from ...
7361 (free_so): ... here. Call it.
7362 (solib_read_symbols): Don't warn here if symbols have already been
7364 (solib_add): Warn here instead, if a pattern was specified.
7365 (reload_shared_libraries_1): New.
7366 (reload_shared_libraries): Rewrite to not fetch the library list.
7370 * source.c (openp): Strip DOS drive letter if present before
7371 concatenating string to search path.
7375 * objfiles.h (gdb_bfd_close_or_warn): Declare.
7376 * objfiles.c (gdb_bfd_close_or_warn): New.
7377 * corelow.c: Include objfiles.h
7378 (core_close): Use gdb_bfd_close_or_warn.
7379 * elfread.c (build_id_verify): Ditto.
7380 * exec.c (exec_close, exec_close_1): Ditto.
7385 Group errors for many missing shared libraries.
7387 * solist.h (struct so_list): Remove from_tty.
7388 * solib.c (solib_bfd_open): Return NULL if we failed to open a BFD.
7389 (solib_map_sections): Take so_list argument. Return 0 if we
7390 failed to open a BFD. Add target sections here.
7391 (symbol_add_stub): Delete.
7392 (solib_read_symbols): Inline symbol_add_stub. Use current flags,
7393 not from_tty copied from the so_list. Don't warn a second time
7394 for a missing library.
7395 (update_solib_list): Don't save from_tty. Use TRY_CATCH. Do not
7396 add to the section table here. Print out a single warning for all
7398 * bsd-uthread.c (bsd_uthread_solib_loaded): Always pass 0 for
7403 * python/py-block.c (gdbpy_block_for_pc): Use i8n to encompass
7404 error/warning messages. Capitalize and use complete sentences.
7405 (blpy_block_syms_iternext): Likewise.
7406 * python/py-cmd.c (parse_command_name, cmdpy_init): Likewise.
7407 * python/py-frame.c (FRAPY_REQUIRE_VALID, frapy_block)
7408 (frame_info_to_frame_object, frapy_read_var)
7409 (gdbpy_frame_stop_reason_string): Likewise.
7410 * python/py-lazy-string.c (stpy_convert_to_value)
7411 (gdbpy_create_lazy_string_object): Likewise.
7412 * python/py-objfile.c (objfpy_set_printers): Likewise.
7413 * python/py-prettyprint.c (gdbpy_default_visualizer): Likewise.
7414 * python/python.c (parameter_to_python): Likewise.
7415 * python/py-type.c (typy_range, typy_target): Likewise.
7416 * python/py-value.c (valpy_cast, valpy_length, valpy_getitem)
7417 (valpy_richcompare, valpy_int, valpy_long, valpy_float): Likewise.
7424 * python/py-prettyprint.c (pretty_print_one_value): Test for
7426 (print_string_repr): Test for Py_None. Set flags accordingly.
7427 Return value depending on return type.
7428 (print_children): Take a value indicating whether data was printed
7429 before this function was called. Alter output accordingly.
7430 (apply_val_pretty_printer): Capture return value from
7431 print_string_repr and pass to print_children.
7436 * i386-linux-tdep.c (i386_linux_regset_sections): Remove extended
7437 register note sections.
7438 (i386_linux_sse_regset_sections, i386_linux_avx_regset_sections):
7440 (i386_linux_init_abi): Install list of supported register note
7441 sections that matches the target description.
7445 * remote.c (remote_get_noisy_reply): Don't error out on empty
7447 (remote_start_remote): Update and merge tracepoints and trace
7448 state variables as long as the target supports tracepoints.
7449 (remote_trace_init): Fix prototype.
7450 (remote_download_trace_state_variable): Validate reply.
7451 (remote_trace_set_readonly_regions): Fix prototype.
7452 (remote_trace_start): Fix prototype. Check for empty reply.
7453 (remote_get_trace_status): Small cleanup.
7454 (remote_trace_stop): Fix prototype. Check for empty reply.
7455 (remote_trace_find): Check for empty reply.
7456 (remote_save_trace_data): Validate reply.
7457 (remote_set_disconnected_tracing): Check for empty reply, and
7459 (remote_set_circular_trace_buffer): Ditto.
7463 Suppress unused value warning during compilation.
7464 * tui/tui-regs.c (tui_display_register): Cast wstandout and wstandend
7466 * tui/tui-stack.c (tui_show_locator_content): Likewise.
7470 * tracepoint.c (tfile_xfer_partial): Check read result.
7474 * remote-m32r-sdi.c (m32r_files_info): Add const to local "file" var.
7475 * remote-sim.c (gdbsim_files_info): Likewise.
7479 * arm-tdep.h (gdb_regnum): Add ARM_FPSCR_REGNUM
7480 * arm-linux-nat.c (arm_linux_vfp_register_count): New
7482 (fetch_vfp_registers): New function to fetch VFP registers.
7483 (store_vfp_registers): New function to store VFP registers.
7484 (arm_linux_fetch_inferior_registers): Add support for VFP
7486 (arm_linux_store_inferior_registers): Likewise.
7487 (arm_linux_read_description): Likewise.
7488 (_initialize_arm_linux_nat): Delay initialising iWMMX tdesc
7493 * amd64-tdep.c (amd64_supply_xstateregset): Remove the unused
7495 (amd64_collect_xstateregset): Likewise.
7499 * tracepoint.c (trace_status_mi): Report frames created.
7501 * tracepoint.c (trace_dump_command): Include default-collect
7506 * symtab.c (find_function_start_sal): Never return SAL pointing
7507 before function start address, even if line info is missing.
7511 * NEWS: Mention tracepoints support.
7515 * tracepoint.c (trace_status_mi): Report disconnected tracing and
7516 circular trace buffer statuses.
7520 * config/djgpp/fnchange.lst: Fix typo in translations for
7521 symbol-without-target_section.exp and symbol-without-target_section.c.
7525 * breakpoint.c (condition_command): Pass condition expression to
7526 set_breakpoint_condition stripped from breakpoint number.
7532 * breakpoint.c (condition_command): Simplify. Move condition
7534 (set_breakpoint_condition): ... here. New function.
7535 * breakpoint.h (set_breakpoint_condition): Declare.
7536 * Makefile.in (SUBDIR_PYTHON_OBS): Add py-breakpoint.
7537 (SUBDIR_PYTHON_SRCS): Likewise.
7538 (py-breakpoint.o): New rule.
7539 * python/py-breakpoint.c: New file.
7540 * python/python-internal.h (gdbpy_breakpoints)
7541 (gdbpy_initialize_breakpoints): Declare.
7542 (GDB_PY_SET_HANDLE_EXCEPTION) Define.
7546 * regformats/regdat.sh: Include server.h. Don't include
7552 * tracepoint.h (struct trace_status): New fields disconnected_tracing
7553 and circular_buffer.
7554 (disconnect_tracing): Rename from disconnect_or_stop_tracing.
7555 * tracepoint.c (trace_status_command): Display target's status for
7556 disconnected tracing and circular buffer.
7557 (disconnect_tracing): Rename from disconnect_or_stop_tracing, add
7558 query for non-disconnected-tracing case, remove the stop_tracing
7560 (tfile_open): Clear disconnected and circular buffer status.
7561 (trace_save): Save disconnected and circular buffer status.
7562 (parse_trace_status): Parse disconnected and circular buffer status,
7563 also recognize disconnected as a stop reason.
7564 * remote.c (remote_set_disconnected_tracing): Only set
7565 QTDisconnected if the remote end supports disconnected tracing.
7566 Warn otherwise, if trying to enable disconnected tracing.
7567 * infcmd.c (detach_command): Update disconnect_tracing call.
7568 * cli/cli-cmds.c (quit_command): Ditto.
7572 * i387-tdep.c (i387_collect_xsave): Replace abort with
7577 * breakpoint.c (default_collect_info): New function.
7578 (breakpoints_info): Call it.
7579 (maintenance_info_breakpoints): Ditto.
7580 (tracepoints_info): Ditto.
7584 * i387-tdep.c (i387_collect_xsave): Re-indent.
7588 * i386-linux-nat.c (have_ptrace_getfpxregs): Initialize to -1
7589 if HAVE_PTRACE_GETFPXREGS is defined.
7590 (i386_linux_read_description): Set have_ptrace_getfpxregs and
7591 have_ptrace_getregset to 0 if ptrace PTRACE_GETFPXREGS failed.
7593 * i386-linux-tdep.c: Include "features/i386/i386-mmx-linux.c"
7594 (i386_linux_core_read_description): Return tdesc_i386_mmx_linux
7595 if .reg-xfp section doesn't exist.
7596 (_initialize_i386_linux_tdep): Call initialize_tdesc_i386_mmx_linux.
7598 * i386-linux-tdep.h (tdesc_i386_mmx_linux): New.
7600 * i386-tdep.c: Include "features/i386/i386-mmx.c".
7601 (i386_go32_init_abi): Set tdesc to tdesc_i386_mmx.
7602 (i386_validate_tdesc_p): Make org.gnu.gdb.i386.sse optional. Set
7603 xcr0 to I386_XSTATE_X87_MASK if SSE isn't available.
7604 (i386_gdbarch_init): Update comments.
7605 (_initialize_i386_tdep): Call initialize_tdesc_i386_mmx.
7607 * common/i386-xstate.h (I386_XSTATE_X87_MASK): New.
7609 * config/djgpp/fnchange.lst: Add i386 MMX XML files.
7611 * features/Makefile (i386/i386-mmx-expedite): New.
7612 (i386/i386-mmx-linux-expedite): Likewise.
7613 ($(outdir)/i386/i386-mmx.dat): Likewise.
7614 ($(outdir)/i386/i386-mmx-linux.dat): Likewise.
7616 * features/i386/i386-mmx-linux.c: New.
7617 * features/i386/i386-mmx-linux.xml: Likewise.
7618 * features/i386/i386-mmx.c: Likewise.
7619 * features/i386/i386-mmx.xml: Likewise.
7620 * regformats/i386/i386-mmx-linux.dat: Likewise.
7621 * regformats/i386/i386-mmx.dat: Likewise.
7623 * features/Makefile (WHICH): Add i386/i386-mmx and
7624 i386/i386-mmx-linux.
7628 * source.c (openp): Skip $cdir in PATH.
7633 * python/py-lazy-string.c (stpy_convert_to_value): Check for
7635 (gdbpy_create_lazy_string_object): Allow strings with a NULL
7636 address and a zero length.
7640 * i386-tdep.c (i386_process_record): Add support for insn
7645 * python/python.c (source_python_script): Use ensure_python_env
7646 to prepare environment for script.
7650 * amd64-linux-nat.c: Include "regset.h", "elf/common.h",
7651 <sys/uio.h> and "i386-xstate.h".
7652 (PTRACE_GETREGSET): New.
7653 (PTRACE_SETREGSET): Likewise.
7654 (have_ptrace_getregset): Likewise.
7655 (amd64_linux_gregset64_reg_offset): Include 16 upper YMM
7657 (amd64_linux_gregset32_reg_offset): Include 8 upper YMM
7659 (amd64_linux_fetch_inferior_registers): Support PTRACE_GETFPREGS.
7660 (amd64_linux_store_inferior_registers): Likewise.
7661 (amd64_linux_read_description): Check and enable AVX target
7664 * amd64-linux-tdep.c: Include "regset.h", "i386-linux-tdep.h"
7665 and "features/i386/amd64-avx-linux.c".
7666 (amd64_linux_regset_sections): New.
7667 (amd64_linux_core_read_description): Check and enable AVX
7669 (amd64_linux_init_abi): Set xsave_xcr0_offset. Call
7670 set_gdbarch_core_regset_sections.
7671 (_initialize_amd64_linux_tdep): Call
7672 initialize_tdesc_amd64_avx_linux.
7674 * amd64-linux-tdep.h (AMD64_LINUX_ORIG_RAX_REGNUM): Replace
7675 AMD64_MXCSR_REGNUM with AMD64_YMM15H_REGNUM.
7676 (tdesc_amd64_avx_linux): New.
7677 (amd64_linux_update_xstateregset): Likewise.
7679 * amd64-tdep.c: Include "features/i386/amd64-avx.c".
7680 (amd64_ymm_names): New.
7681 (amd64_ymmh_names): Likewise.
7682 (amd64_register_name): Likewise.
7683 (amd64_supply_xstateregset): Likewise.
7684 (amd64_collect_xstateregset): Likewise.
7685 (amd64_supply_xsave): Likewise.
7686 (amd64_collect_xsave): Likewise.
7687 (AMD64_NUM_REGS): Removed.
7688 (amd64_dwarf_reg_to_regnum): Return %ymmN register number for
7689 %xmmN if AVX is available.
7690 (amd64_pseudo_register_name): Support pseudo YMM registers.
7691 (amd64_regset_from_core_section): Support .reg-xstate section.
7692 (amd64_init_abi): Set ymmh_register_names, num_ymm_regs
7693 and ymm0h_regnum. Call set_gdbarch_register_name.
7694 (amd64_init_abi): Call initialize_tdesc_amd64_avx.
7696 * amd64-tdep.h (amd64_regnum): Add AMD64_YMM0H_REGNUM and
7697 AMD64_YMM15H_REGNUM.
7698 (AMD64_NUM_REGS): New.
7699 (amd64_supply_xsave): Likewise.
7700 (amd64_collect_xsave): Likewise.
7701 (amd64_register_name): Removed.
7702 (amd64_register_type): Likewise.
7706 * i387-tdep.c: Include "i386-xstate.h".
7707 (XSAVE_XSTATE_BV_ADDR): New.
7708 (xsave_avxh_offset): Likewise.
7709 (XSAVE_AVXH_ADDR): Likewise.
7710 (i387_supply_xsave): Likewise.
7711 (i387_collect_xsave): Likewise.
7713 * i387-tdep.h (I387_NUM_YMM_REGS): New.
7714 (I387_YMM0H_REGNUM): Likewise.
7715 (I387_YMMENDH_REGNUM): Likewise.
7716 (i387_supply_xsave): Likewise.
7717 (i387_collect_xsave): Likewise.
7721 * i386-linux-nat.c: Include "regset.h", "elf/common.h",
7722 <sys/uio.h> and "i386-xstate.h".
7723 (PTRACE_GETREGSET): New.
7724 (PTRACE_SETREGSET): Likewise.
7725 (fetch_xstateregs): Likewise.
7726 (store_xstateregs): Likewise.
7727 (GETXSTATEREGS_SUPPLIES): Likewise.
7728 (regmap): Include 8 upper YMM registers.
7729 (i386_linux_fetch_inferior_registers): Support XSAVE extended
7731 (i386_linux_store_inferior_registers): Likewise.
7732 (i386_linux_read_description): Check and enable AVX target
7735 * i386-linux-tdep.c: Include "regset.h", "i387-tdep.h",
7736 "i386-xstate.h" and "features/i386/i386-avx-linux.c".
7737 (i386_linux_regset_sections): Add ".reg-xstate".
7738 (i386_linux_gregset_reg_offset): Include 8 upper YMM registers.
7739 (i386_linux_core_read_xcr0): New.
7740 (i386_linux_core_read_description): Check and enable AVX target
7742 (i386_linux_init_abi): Set xsave_xcr0_offset.
7743 (_initialize_i386_linux_tdep): Call
7744 initialize_tdesc_i386_avx_linux.
7746 * i386-linux-tdep.h (I386_LINUX_ORIG_EAX_REGNUM): Replace
7747 I386_SSE_NUM_REGS with I386_AVX_NUM_REGS.
7748 (i386_linux_core_read_xcr0): New.
7749 (tdesc_i386_avx_linux): Likewise.
7750 (I386_LINUX_XSAVE_XCR0_OFFSET): Likewise.
7752 * i386-tdep.c: Include "i386-xstate.h" and
7753 "features/i386/i386-avx.c".
7754 (i386_ymm_names): New.
7755 (i386_ymmh_names): Likewise.
7756 (i386_ymmh_regnum_p): Likewise.
7757 (i386_ymm_regnum_p): Likewise.
7758 (i386_xmm_regnum_p): Likewise.
7759 (i386_register_name): Likewise.
7760 (i386_ymm_type): Likewise.
7761 (i386_supply_xstateregset): Likewise.
7762 (i386_collect_xstateregset): Likewise.
7763 (i386_sse_regnum_p): Removed.
7764 (i386_pseudo_register_name): Support pseudo YMM registers.
7765 (i386_pseudo_register_type): Likewise.
7766 (i386_pseudo_register_read): Likewise.
7767 (i386_pseudo_register_write): Likewise.
7768 (i386_dbx_reg_to_regnum): Return %ymmN register number for
7769 %xmmN if AVX is available.
7770 (i386_regset_from_core_section): Support .reg-xstate section.
7771 (i386_register_reggroup_p): Supper upper YMM and YMM registers.
7772 (i386_process_record): Replace i386_sse_regnum_p with
7774 (i386_validate_tdesc_p): Support org.gnu.gdb.i386.avx feature.
7775 Set ymmh_register_names, num_ymm_regs, ymm0h_regnum and xcr0.
7776 (i386_gdbarch_init): Set xstateregset. Set xsave_xcr0_offset.
7777 Call set_gdbarch_register_name. Replace I386_SSE_NUM_REGS with
7778 I386_AVX_NUM_REGS. Set ymmh_register_names, ymm0h_regnum and
7779 num_ymm_regs. Add num_ymm_regs to set_gdbarch_num_pseudo_regs.
7781 (_initialize_i386_tdep): Call initialize_tdesc_i386_avx.
7783 * i386-tdep.h (gdbarch_tdep): Add xstateregset, ymm0_regnum,
7784 xcr0, xsave_xcr0_offset, ymm0h_regnum, ymmh_register_names and
7786 (i386_regnum): Add I386_YMM0H_REGNUM, and I386_YMM7H_REGNUM.
7787 (I386_AVX_NUM_REGS): New.
7788 (i386_xmm_regnum_p): Likewise.
7789 (i386_ymm_regnum_p): Likewise.
7790 (i386_ymmh_regnum_p): Likewise.
7792 * common/i386-xstate.h: New.
7796 * config/djgpp/fnchange.lst: Add x86 AVX XML files.
7798 * features/Makefile (WHICH): Add i386/i386-avx,
7799 i386/i386-avx-linux, i386/x86-64-avx and i386/x86-64-avx-linux.
7800 (i386/i386-avx-expedite): New.
7801 (i386/i386-avx-linux-expedite): Likewise.
7802 (i386/x86-64-avx-expedite):Likewise.
7803 (i386/x86-64-avx-linux-expedite): Likewise.
7804 ($(outdir)/i386/i386-avx.dat): New dependency.
7805 ($(outdir)/i386/i386-avx-linux.dat): Likewise.
7806 ($(outdir)/i386/x86-avx-64.dat): Likewise.
7807 ($(outdir)/i386/x86-64-avx-linux.dat): Likewise.
7809 * features/i386/32bit-avx.xml: New.
7810 * features/i386/64bit-avx.xml: Likewise.
7811 * features/i386/i386-avx-linux.c: Likewise.
7812 * features/i386/i386-avx-linux.xml: Likewise.
7813 * features/i386/i386-avx.c: Likewise.
7814 * features/i386/i386-avx.xml: Likewise.
7815 * features/i386/x86-64-avx-linux.c: Likewise.
7816 * features/i386/x86-64-avx-linux.xml: Likewise.
7817 * features/i386/x86-64-avx.c: Likewise.
7818 * features/i386/x86-64-avx.xml: Likewise.
7819 * regformats/i386/i386-avx-linux.dat: Likewise.
7820 * regformats/i386/i386-avx.dat: Likewise.
7821 * regformats/i386/x86-64-avx-linux.dat: Likewise.
7822 * regformats/i386/x86-64-avx.dat: Likewise.
7826 * top.c (source_file_name): Make const char *.
7827 * top.h (source_file_name): Update.
7828 * cli/cli-script.c (source_cleanup_lines_args): Make old_file
7830 (script_from_file): Change `file' arg to const char *.
7831 * cli/cli-script.h (script_from_file): Update.
7835 * cli/cli-cmds.c (source_command): Run cleanups.
7839 * defs.h (char_ptr): Move typedef here from...
7840 * ada-lang.c (char_ptr): Remove.
7841 * charset.c (char_ptr): Remove.
7842 * tracepoint.h (struct uploaded_string): Remove.
7843 (struct uploaded_tp): Use vectors for string arrays.
7844 * tracepoint.c (trace_save): Use vectors of actions.
7845 (parse_tracepoint_definition): Ditto.
7846 (get_uploaded_tp): Clear vectors.
7847 * breakpoint.c (create_tracepoint_from_upload): Use vectors.
7848 (next_cmd): Change to an int.
7849 (read_next_cmd): Use vector of command strings.
7853 * top.h (source_script, cd_command): Delete.
7854 * main.c: #include "cli/cli-cmds.h"
7858 * m32c-tdep.c (make_types): When calling `arch_type', pass size of
7859 type in bytes, not bits.
7863 * stabsread.c (define_symbol): Add support for char
7864 and string constants.
7868 Remove remaining "%ll" uses.
7869 * go32-nat.c (go32_pte_for_address): Replace "0x%llx" using
7871 * rs6000-nat.c (rs6000_ptrace64): Idem.
7872 * solib-pa64.c (pa64_current_sos): Idem.
7873 * solib-spu.c (spu_current_sos): Idem.
7874 * linux-nat.c (linux_nat_find_memory_regions): Replace "%lld" using
7876 * nto-procfs.c (procfs_meminfo): Replace "0x%016llx" using
7878 * sh64-tdep.c (sh64_show_media_regs): Idem.
7882 * tracepoint.c: Include gdbcore.h.
7883 (tfile_xfer_partial): Return partial results, also try reading
7885 (tfile_has_all_memory): New function.
7886 (init_tfile_ops): Use it.
7891 * xml-syscall.c (my_gdb_datadir): New variable to keep track of
7892 the changes in data-directory.
7893 (init_sysinfo): Reload the syscall XML file if the data-directory
7899 * breakpoint.c (bpstat_stop_status): Use bpstat_causes_stop.
7904 * breakpoint.c (breakpoint_1): Add filter argument, return number of
7905 breakpoints printed.
7906 (is_hardware_watchpoint): Make argument const.
7907 (is_watchpoint): Ditto.
7908 (is_tracepoint): Merge of tracepoint_type and breakpoint_is_tracepoint,
7910 (breakpoints_info): Pass NULL to breakpoint_1.
7911 (maintenance_info_breakpoints): Ditto.
7912 (watchpoints_info): New function.
7913 (tracepoints_info): Use breakpoint_1 filter.
7914 (set_ignore_count): Warn that tracepoint ignore count will be ignored.
7915 (_initialize_breakpoint): Make "info watchpoints" its own command.
7916 * breakpoint.h (is_tracepoint): Rename from breakpoint_is_tracepoint.
7917 * mi/mi-cmd-break.c (mi_cmd_break_commands): Use is_tracepoint.
7921 * tracepoint.c (tfile_fetch_registers): Add fallback case.
7925 * infcmd.c (run_command_1): Call proceed with regcache_read_pc address.
7926 * config/djgpp/fnchange.lst: Add translation for break-entry.exp.
7930 * breakpoint.c (bpstat_find_step_resume_breakpoint): Remove.
7931 * breakpoint.h (bpstat_find_step_resume_breakpoint): Remove.
7935 * dwarf2read.c (read_namespace_type): Use common "return set_die_type"
7940 * i386-tdep.c (OT_DQUAD): New enum.
7941 (i386_process_record): Add code for MMX, 3DNow!, SSE, SSE2,
7942 SSE3, SSSE3 and SSE4.
7946 * i386-tdep.c (i386_record_lea_modrm_addr): Remove useless
7951 * tracepoint.c (trace_dump_actions): New, factored out from
7952 trace_dump_command, and adjusted to recurse into while-stepping's
7954 (trace_dump_command): Use it.
7958 * breakpoint.h (struct counted_command_line): Moved definition to
7959 breakpoint.c, and forward declare.
7960 (breakpoint_commands): Declare.
7961 * breakpoint.c (struct counted_command_line): Moved here.
7962 (breakpoint_commands): New.
7963 * tracepoint.c (encode_actions): Use breakpoint_commands.
7964 * remote.c (remote_download_tracepoint): Ditto.
7968 * remote.c (remote_parse_stop_reply): Use hex_string instead
7969 of phex_nz for error.
7974 * tracepoint.h (enum actionline_type): Remove.
7975 (validate_actionline): Change return to void.
7976 * tracepoint.c (report_agent_reqs_errors): New function.
7977 (validate_actionline): Call it, change return to void, report errors
7979 (collect_symbol): Call report_agent_reqs_errors.
7980 (encode_actions_1): Ditto.
7981 (encode_actions): Don't expect a result from validate_actionline.
7985 * tracepoint.c (trace_start_command): Confirm if trace is running.
7986 (trace_stop_command): Error if trace not running.
7990 * amd64-tdep.c (amd64_byte_names): Add "ah", "bh", "ch", "dh".
7991 (AMD64_NUM_LOWER_BYTE_REGS): New.
7992 (amd64_pseudo_register_read): Handle "ah", "bh", "ch", "dh".
7993 (amd64_pseudo_register_write): Likewise.
7994 (amd64_init_abi): Set num_byte_regs to 20.
7998 * breakpoint.c (multi_start, multi_end, last_was_multi): Delete.
7999 (prev_breakpoint_count): New.
8000 (set_breakpoint_count): Adjust.
8001 (rbreak_start_breakpoint_count): New.
8002 (start_rbreak_breakpoints): Adjust.
8003 (end_rbreak_breakpoints): Adjust.
8004 (struct commands_info) <arg>: New field.
8005 (do_map_commands_command): Tweak output to include breakpoint spec
8007 (commands_command_1): Adjust. Avoid setting an xfree cleanup if
8008 ARG was empty on entry. Set INFO's arg.
8009 (create_breakpoint): Adjust.
8011 * NEWS: Clarify `commands' changes.
8015 * tracepoint.c: Include stack.h.
8016 (struct add_local_symbols_data): New.
8017 (do_collect_symbol): New.
8018 (add_local_symbols): Rewrite using iterate_over_block_arg_vars and
8019 iterate_over_block_local_vars.
8020 * stack.c (print_block_frame_locals): Rewrite as ...
8021 (iterate_over_block_locals): ... this. Take a callback function
8022 pointer and generic data pointer, and call that instead of
8023 print_variable_and_value.
8024 (struct print_variable_and_value_data): New.
8025 (do_print_variable_and_value): New.
8026 (iterate_over_block_local_vars): New, abstracted out from
8027 print_frame_local_vars.
8028 (print_frame_local_vars): Rewrite using
8029 iterate_over_block_local_vars.
8030 (iterate_over_block_arg_vars): New, abstracted out from
8031 print_frame_arg_vars.
8032 (print_frame_arg_vars): Rewrite using iterate_over_block_arg_vars.
8033 * stack.h (iterate_over_block_arg_local_vars_cb): New typedef.
8034 (iterate_over_block_arg_vars, iterate_over_block_local_vars): Declare.
8038 * arm-tdep.c (thumb_get_next_pc_raw): Correctly detect TBH
8039 instructions. Use the PC+4 if the base of the TBB or TBH is the
8044 Fix crash on reading wrong function declaration DWARF.
8045 * dwarf2read.c (read_subroutine_type): New variable void_type.
8046 Pre-fill all TYPE_FIELD_TYPEs. Move nparams and iparams initialization
8047 more close to their use.
8051 * breakpoint.c (tracepoint_save_command): Include variables,
8052 conditionals, tracepoint types, and default-collect.
8053 * tracepoint.c (save_trace_state_variables): New function.
8054 * tracepoint.h (save_trace_state_variables): Declare it.
8058 * remote.c (end_thread): ARI fix: Use xstrdup instead of strdup.
8062 * c-typeprint.c (c_type_print_args): Don't print "void"
8063 for java, regardless of whether it is TYPE_PROTOTYPED.
8064 Use the passed-in language instead of current_language.
8065 (c_type_print_varspec_suffix): Use current_language instead
8066 of assuming language_c.
8067 * jv-typeprint.c (java_type_print_base): (bz 9320) Strip off
8068 any return type specifier from the physname.
8072 * tui/tui-interp.c (tui_is_toplevel): New.
8074 (tui_allowed_p): New.
8075 * tui/tui.c (tui_enable): Check if the TUI is allowed before
8077 * tui/tui.h (tui_allowed_p): Declare.
8081 * serial.h: Include winsock2.h before windows.h.
8085 * NEWS: Mention xmlRegisters= in qSupported packet.
8087 * i386-tdep.c: Include "remote.h".
8088 (_initialize_i386_tdep): Call register_remote_support_xml.
8090 * remote.c (remote_support_xml): New.
8091 (register_remote_support_xml): Likewise.
8092 (remote_query_supported_append): Likewise.
8093 (remote_query_supported): Support remote_support_xml.
8095 * remote.h (register_remote_support_xml): New.
8099 * tracepoint.c (trace_find_line_command): Remove dead code.
8101 * tracepoint.h (struct uploaded_string): New struct.
8102 (struct uploaded_tp): New fields for source strings.
8103 * breakpoint.c (this_utp, next_cmd): New globals.
8104 (read_uploaded_action): New function.
8105 (create_tracepoint_from_upload): Fill in more parts
8107 * tracepoint.c (encode_source_string): New function.
8108 (trace_save): Write out source strings, fix error checks.
8109 (parse_tracepoint_definition): Add source string parsing.
8110 * remote.c (PACKET_TracepointSource): New packet type.
8111 (remote_download_command_source): New function.
8112 (remote_download_tracepoint): Download source pieces also.
8113 (_initialize_remote): Add packet config command.
8115 * tracepoint.c (collect_symbol): Send LOC_UNRESOLVED symbols to
8118 * tracepoint.c (start_tracing): Check tracepoints before sending
8119 commands to target, don't start if all tracepoints disabled.
8123 * cli/cli-script.c (process_next_line): Handle 'stepping'.
8127 * tracepoint.c (disconnect_or_stop_tracing): Get out of tfind mode.
8131 * breakpoint.c (commands_command_1): Duplicate 'arg'.
8135 * breakpoint.c (expand_line_sal_maybe): Always call skip_prologue_sal.
8136 (skip_prologue_sal): Remove local definition.
8137 (resolve_sal_pc): Remove now unnecessary code.
8138 * linespec.c (minsym_found): Call skip_prologue_sal.
8139 * symtab.c (find_function_start_pc): Remove.
8140 (find_function_start_sal): Extract prologue skipping into ...
8141 (skip_prologue_sal): ... this new function. Handle code both
8142 with and without debug info. Respect SAL's explicit_pc and
8143 explicit_line flags. Inline old find_function_start_pc.
8144 * symtab.h (find_function_start_pc): Remove.
8145 (skip_prologue_sal): Add prototype.
8149 * dwarf2read.c (read_func_scope): Also scan specification DIEs
8150 for DW_TAG_imported_module children.
8154 * dwarf2read.c (dwarf2_name): Work around GCC bugzilla debug/41828 by
8155 ignoring spurious DW_AT_name attributes for unnamed structs or unions.
8156 * completer.c (add_struct_fields): Fix inverted logic.
8160 * breakpoint.c (bpstat_clear_actions): Reset bs->commands_left.
8164 * tracepoint.c (current_trace_status): Don't make sure error_desc
8166 (parse_trace_status): Release a previous error_desc string, and
8167 set it to NULL by default. If stop reason is tracepoint_error,
8168 make sure error_desc is not left NULL.
8172 * tracepoint.c (trace_save): Remove X from tracepoint error
8177 * tracepoint.c (parse_trace_status): Don't allow plain strings in
8178 the terror description. Don't expect an X prefix.
8182 * tracepoint.h (trace_stop_reason): Add tracepoint_error.
8183 (struct trace_status): New field error_desc.
8184 * tracepoint.c (stop_reason_names): Add terror.
8185 (current_trace_status): Ensure non-NULL error description.
8186 (trace_status_command): Add error report.
8187 (trace_status_mi): Ditto.
8188 (trace_save): Add special case for error description.
8189 (parse_trace_status): Add case for errors.
8193 * dwarf2read.c (read_subroutine_type): If the compilation unit
8194 language is Java, mark any formal parameter named "this" as
8195 artificial (GCC/43521).
8196 (dwarf2_name): Add special handling for Java constructors.
8200 PR gdb/11327, PR gdb/11328, PR breakpoints/11368:
8201 * infrun.c (handle_inferior_event): Change initialization of
8203 (handle_inferior_event): Change assignment to stop_stack_dummy.
8204 (normal_stop): Update use of stop_stack_dummy.
8205 (struct inferior_status) <stop_stack_dummy>: Change type.
8206 * inferior.h (stop_stack_dummy): Update.
8207 * infcmd.c (stop_stack_dummy): Change type.
8208 * infcall.c (cleanup_delete_std_terminate_breakpoint): New
8210 (call_function_by_hand): Call set_std_terminate_breakpoint.
8211 Rewrite std::terminate handling.
8212 * breakpoint.h (enum bptype) <bp_std_terminate,
8213 bp_std_terminate_master>: New.
8214 (enum stop_stack_kind): New.
8215 (struct bpstat_what) <call_dummy>: Change type.
8216 (set_std_terminate_breakpoint, delete_std_terminate_breakpoint):
8218 * breakpoint.c (create_std_terminate_master_breakpoint): New
8220 (update_breakpoints_after_exec): Handle bp_std_terminate_master.
8221 Call create_std_terminate_master_breakpoint.
8222 (print_it_typical): Handle new breakpoint kinds.
8223 (bpstat_stop_status): Handle bp_std_terminate_master.
8224 (bpstat_what): Correctly set call_dummy field. Handle
8225 bp_std_terminate_master and bp_std_terminate.
8226 (print_one_breakpoint_location): Update.
8227 (allocate_bp_location): Update.
8228 (set_std_terminate_breakpoint): New function.
8229 (delete_std_terminate_breakpoint): Likewise.
8230 (create_thread_event_breakpoint): Update.
8231 (delete_command): Update.
8232 (breakpoint_re_set_one): Update.
8233 (breakpoint_re_set): Call create_std_terminate_master_breakpoint.
8237 * symfile.c (build_section_addr_info_from_bfd): New.
8238 (build_section_addr_info_from_objfile): Base it on
8239 build_section_addr_info_from_bfd.
8240 (addrs_section_compar, addrs_section_sort): New.
8241 (addr_info_make_relative): New variables my_cleanup, abfd_addrs,
8242 addrs_sorted, abfd_addrs_sorted and addrs_to_abfd_addrs. Build
8243 addrs_to_abfd_addrs. Use it for recalculating ADDRS.
8247 * elfread.c (find_separate_debug_file_by_buildid):
8248 Remove unused local variable.
8252 PR breakpoints/9352:
8253 * NEWS: Mention changes to `commands' and `rbreak'.
8254 * symtab.c (do_end_rbreak_breakpoints): New function.
8255 (rbreak_command): Call start_rbreak_breakpoints; arrange to call
8256 end_rbreak_breakpoints.
8257 * breakpoint.c (breakpoint_count, tracepoint_count): Now static.
8258 (set_breakpoint_count): Likewise. Clear last_was_multi.
8259 (multi_start, multi_end, last_was_multi): New globals.
8260 (start_rbreak_breakpoints, end_rbreak_breakpoints): New
8262 (struct commands_info): New
8263 (do_map_commands_command): New function.
8264 (commands_command_1): New function.
8265 (commands_command): Use it.
8266 (commands_from_control_command): Likewise.
8267 (do_delete_breakpoint): New function.
8268 (delete_command): Use it.
8269 (map_breakpoint_numbers): Add 'data' argument. Pass to callback.
8270 (do_map_disable_breakpoint): New function.
8271 (disable_command): Use it.
8272 (do_map_enable_breakpoint): New function.
8273 (enable_command): Use it.
8274 (enable_once_breakpoint): Add argument.
8275 (enable_once_command): Update.
8276 (enable_delete_breakpoint): Add argument.
8277 (enable_delete_command): Update.
8278 (break_command_really): Set last_was_multi when needed.
8279 (check_tracepoint_command): Fix formatting.
8280 (validate_commands_for_breakpoint): New function.
8281 (breakpoint_set_commands): Use it.
8282 (tracepoint_save_command): Update.
8283 * breakpoint.h (start_rbreak_breakpoints, end_rbreak_breakpoints):
8288 * breakpoint.h (struct counted_command_line): New struct.
8289 (struct breakpoint) <commands>: Change type.
8290 (struct bpstats) <commands>: Change type.
8291 <commands_left>: New field.
8292 * breakpoint.c (alloc_counted_command_line): New function.
8293 (incref_counted_command_line): Likewise.
8294 (decref_counted_command_line): Likewise.
8295 (do_cleanup_counted_command_line): Likewise.
8296 (make_cleanup_decref_counted_command_line): Likewise.
8297 (breakpoint_set_commands): Use decref_counted_command_line and
8298 alloc_counted_command_line.
8299 (commands_command): Don't error if breakpoint commands are
8301 (commands_from_control_command): Likewise.
8302 (bpstat_free): Update.
8303 (bpstat_copy): Likewise.
8304 (bpstat_clear_actions): Likewise.
8305 (bpstat_do_actions_1): Likewise.
8306 (bpstat_stop_status): Likewise.
8307 (print_one_breakpoint_location): Likewise.
8308 (delete_breakpoint): Likewise.
8309 (bpstat_alloc): Initialize new field.
8310 (tracepoint_save_command): Update.
8311 * tracepoint.c (encode_actions): Update.
8312 (trace_dump_command): Update.
8316 * dwarf2-frame.c (dwarf2_frame_find_quirks): Use producer_is_realview.
8317 * dwarf2read.c (load_full_comp_unit): Read DW_AT_producer.
8318 (read_structure_type): For RealView, set TYPE_STUB on structures with
8319 no byte size and no children.
8320 (read_subroutine_type): Mark functions as prototyped by default.
8321 * symtab.c (producer_is_realview): New function.
8322 * symtab.h (expand_line_sal): Fix declaration formatting.
8323 (producer_is_realview): Declare.
8327 * arm-tdep.c (skip_prologue_function): New function.
8328 (submask, bit, bits, sbits, BranchDest): Move higher in the file.
8329 (thumb_analyze_prologue): Document return value. Recognize more
8330 Thumb instructions, skippable calls, and some Thumb-2 instructions.
8332 (arm_skip_prologue): Remove call dummy check. Check the prologue
8333 for non-GNU compilers.
8334 (arm_instruction_changes_pc): New function.
8335 (arm_analyze_prologue): New function, broken out from
8336 arm_scan_prologue. Recognize more ARM instructions and skippable
8337 calls. Update comments. Handle NULL cache. Return the address
8338 of the first unrecognized instruction. Do not skip past other
8339 instructions which change control flow. Add debug output.
8340 (arm_scan_prologue): Use arm_analyze_prologue.
8341 (ARM_PC_32): Delete.
8342 (shifted_reg_val): Simplify ARM_PC_32 check.
8346 * tracepoint.c (tvariables_info_1): Actually compute
8347 the number of rows in the result.
8351 * remote.c (crc32): Constify `buf' parameter.
8352 (remote_verify_memory): New, abstracted out from...
8353 (compare_sections_command): ... this. Remove hardcoded target
8355 (init_remote_ops): Install remote_verify_memory.
8356 * target.c (target_verify_memory): New.
8357 * target.h (struct target_ops) <to_verify_memory>: New field.
8358 (target_verify_memory): Declare.
8362 Implement -trace-save.
8364 * mi-cmds.h (mi_cmds_trace_save): Declare.
8365 * mi-cmds.c (mi_cmds): Register -trace-save.
8366 * mi/mi-main.c (mi_cmd_trace_save): New.
8367 * remote.c (remote_save_trace_data): Take const parameter.
8368 * target.h (struct target_ops::to_save_trace_data): Take
8370 * target.c (update_current_target): Adjust to the above.
8371 * tracepoint.c (trave_save): New, extracted from
8372 (trace_save_command): ...this.
8373 (tfile_trace_find): Remove message that is unnecessary now
8374 that 'tfind' reports found frame.
8375 * tracepoint.h (trace_save): Declare.
8379 Implement -trace-find.
8381 * mi/mi-cmds.c (mi_cmds): Register -trace-find.
8382 * mi/mi-cmds.h (mi_cmd_trace_find): Declare.
8383 * mi/mi-main.c (mi_cmd_trace_find): New.
8384 * target.h (struct target_ops): Document to_trace_find.
8385 * tracepoint.h (tfind_1): Declare.
8386 * tracepoint.c (finish_tfind_command): Rename to...
8388 * remote.c (remote_trace_find): Return -1 if target say
8389 there's no frame. Improve error diagnostics.
8393 -trace-define-variable and -trace-list-variables.
8395 * tracepoint.c (create_trace_state_variable): Make
8396 private copy of name, as opposed to assuming the
8397 pointer lives forever.
8398 (tvariables_info_1): New.
8399 (tvariables_info): Use the above.
8400 * tracepoint.h (create_trace_state_variable, tvariables_info_1):
8402 * mi/mi-cmds.c (mi_cmds): Register -trace-define-variable
8403 and -trace-list-variables.
8404 * mi/mi-cmds.h (mi_cmd_trace_define_variable)
8405 (mi_cmd_trace_list_variables): New.
8406 * mi/mi-main.c (mi_cmd_trace_define_variable)
8407 (mi_cmd_trace_list_variables): New.
8411 Implement -break-passcount.
8413 * mi/mi-cmd-break.c (mi_cmd_break_passcount): New.
8414 * mi/mi-cmds.c (mi_cmds): Register -break-passcount.
8415 * mi/mi-cmds.h (mi_cmd_break_passcount): Declare.
8419 -trace-start/-trace-end/-trace-status.
8421 * mi/mi-cmds.c (mi_cmds): Register -trace-start, -trace-status
8423 * mi/mi-cmds.h (mi_cmd_trace_start, mi_cmd_trace_status)
8424 (mi_cmd_trace_stop): Declare.
8425 * mi/mi-main.c (mi_cmd_trace_start, mi_cmd_trace_status)
8426 (mi_cmd_trace_stop): New.
8427 * tracepoint.c (start_tracing): New, extracted from...
8428 (trace_start_command): ...this.
8429 (trace_status_mi): New.
8430 * tracepoint.h (struct trace_status): Document
8431 stopping_tracepoint.
8432 (start_tracing, stop_tracing, trace_status_mi): Declare.
8436 Implement creating tracepoints with -break-insert.
8438 * mi/mi-cmd-break.c (mi_cmd_break_insert): Handle -a
8439 to mean that tracepoint should be created.
8443 * breakpoint.c (check_no_tracepoint_commands): Use
8444 current spelling of 'teval'.
8448 Unify actions and commands
8450 * defs.h (read_command_lines, read_command_lines_1): New
8451 parameters validator and closure.
8452 * tracepoint.h (struct action_line): Remove.
8453 * breakpoint.h (struct breakpoint): Remove the 'actions'
8455 * defs.h (enum command_control_type): New value
8456 while_stepping_control.
8457 (struct command_line): Add comments.
8458 * breakpoint.c (breakoint_is_tracepoint): New.
8459 (breakpoint_set_commands): For tracepoints,
8460 verify the commands are permissible.
8461 (check_tracepoint_commands): New.
8462 (commands_command): Require that each new line is validated using
8463 check_tracepoint_command, if we set commands for a tracepoint.
8464 (create_tracepoint_from_upload): Likewise.
8465 (print_one_breakpoint_location): Remove the code to print
8466 actions specifically.
8467 (tracepoint_save_command): Relay to print_command_lines.
8468 * cli/cli-script.c (process_next_line): New parameters validator
8469 and closure. Handle 'while-stepping'. Call validator if not null.
8470 (read_command_lines, read_command_lines1): Likewise.
8471 (recurse_read_control_structure): New parameters validator and
8472 closure. Handle while_stepping_control.
8473 (print_command_lines): Handle while-stepping.
8474 (get_command_line, define_command, document_command): Adjust.
8475 * remote.c (remote_download_tracepoint): Adjust.
8476 * tracepoint.c (make_cleanup_free_actions, read_actions)
8477 (free_actions, do_free_actions_cleanup): Remove.
8478 (trace_actions_command): Use read_command_lines.
8479 (validate_actionline): Use error in one place.
8480 (encode_actions_1): New, extracted from...
8481 (encode_actions): ...this. Also use cleanups for exception
8483 (trace_dump_command): Adjust.
8484 * mi/mi-cmd-break (mi_cmd_break_commands): Validate commands if
8489 * Makefile.in (OPCODES_CFLAGS): Add -I$(OPCODES_SRC)/..
8493 * value.c (value_static_field): Be lazy about the field's value.
8498 * breakpoint.c (disable_breakpoints_in_unloaded_shlib): Add
8500 (disable_breakpoints_in_shlibs): Likewise.
8504 * dwarf2read.c (partial_die_parent_scope): Work around buggy
8505 GCC 4.1 debug info generation (GCC PR c++/28460).
8506 (determine_prefix): Likewise.
8510 * tui/tui-disasm.c (tui_get_begin_asm_address): Default to
8512 * tui/tui-layout.c (extract_display_start_addr): Likewise.
8516 * ax-gdb.c (gen_fetch): Handle bool.
8517 (gen_usual_unary): Ditto.
8519 (gen_equal): New function.
8520 (gen_less): New function.
8521 (gen_expr_binop_rest): Call them, also return integer type from
8527 * jv-lang.c (jv_dynamics_objfile_data_key)
8528 (jv_type_objfile_data_key): New globals.
8529 (class_symtab): Move earlier.
8530 (jv_per_objfile_free): New function.
8531 (get_dynamics_objfile): Call set_objfile_data. Add 'gdbarch'
8533 Remove ancient #if 1.
8534 (add_class_symbol): Remove redundant declaration.
8535 (java_lookup_class): Use alloc_type, not alloc_type_arch.
8536 (java_link_class_type): Mark as static. Update.
8537 (jv_clear_object_type): New function.
8538 (set_java_object_type): Likewise.
8539 (get_java_object_type): Use set_java_object_type.
8540 (is_object_type): Likewise.
8541 (_initialize_java_language): Register new objfile keys.
8542 (get_java_class_symtab): Add 'gdbarch' parameter.
8543 (add_class_symtab_symbol): Update.
8544 (type_from_class): Update.
8548 * ax-general.c (ax_const_l): Fix a sizing bug.
8557 * target.h (struct target_ops): New method
8558 to_set_circular_trace_buffer.
8559 (target_set_circular_trace_buffer): New macro.
8560 * target.c (update_current_target): Add
8561 to_set_circular_trace_buffer, fix to_set_disconnected_tracing
8563 * remote.c (remote_set_circular_trace_buffer): New function.
8564 (init_remote_ops): Add it to vector.
8565 * tracepoint.h (struct trace_status): New field traceframes_created,
8566 change buffer_size and buffer_free to int.
8567 * tracepoint.c (circular_trace_buffer): New global.
8568 (start_tracing): Send values of disconnected tracing and circular
8569 trace buffer settings.
8570 (set_circular_trace_buffer): New function.
8571 (parse_trace_state): Handle total space and frames created.
8572 (trace_status_command): Display total space and total frames
8574 (trace_save): Write out new status values.
8575 (parse_trace_status): Set traceframe_count, traceframes_created,
8576 buffer_free and buffer_size to -1 by default.
8577 (_initialize_tracepoint): New setshow for circular-trace-buffer.
8578 * NEWS: Mention the circular trace buffer option.
8582 * infcmd.c (finish_command_continuation): Wrap print_return_value
8587 * dwarf2read.c (add_partial_subprogram): Make sure the subprogram
8588 DIE has a name before creating the associated partial symbol.
8589 (read_func_scope): Emit a complaint if the subprogram does not
8590 have a name or when we can't extract the subprogram PC bounds.
8594 * mi/mi-main.c (mi_cmd_list_thread_groups): Use get_current_arch
8595 instead of selected frame architecture.
8599 * infcmd.c (until_command): Use ERROR_NO_INFERIOR. Ensure there's
8600 a valid selected thread, and that it is not running.
8601 (advance_command): Ditto.
8602 (finish_command): Ditto.
8606 * ax-gdb.c (require_rvalue): Disallow non-scalars.
8608 * infcall.c: Include tracepoint.h.
8609 (call_function_by_hand): Disallow calls in tfind mode.
8610 * infcmd.c: Include tracepoint.h.
8611 (ensure_not_tfind_mode): New function.
8612 (continue_1): Call it.
8614 (jump_command): Ditto.
8615 (signal_command): Ditto.
8616 (advance_command): Ditto.
8617 (until_command): Ditto.
8618 (finish_command): Ditto.
8619 * tracepoint.h (disconnect_or_stop_tracing): Declare.
8621 * ax-gdb.h (struct axs_value): New field optimized_out.
8622 (gen_trace_for_var): Add gdbarch argument.
8623 * ax-gdb.c (gen_trace_static_fields): New function.
8624 (gen_traced_pop): Call it, add gdbarch argument.
8625 (gen_trace_for_expr): Update call to it.
8626 (gen_trace_for_var): Ditto, and report optimized-out variables.
8627 (gen_struct_ref_recursive): Check for optimized-out value.
8628 (gen_struct_elt_for_reference): Ditto.
8629 (gen_static_field): Pass gdbarch instead of expression, assume
8630 optimization if field not found.
8631 (gen_var_ref): Set the optimized_out flag.
8632 (gen_expr): Error on optimized-out variable.
8633 * tracepoint.c (collect_symbol): Handle struct-valued vars as
8634 expressions, skip optimized-out variables with computed locations.
8635 * dwarf2loc.c (dwarf2_tracepoint_var_ref): Flag instead of
8636 erroring out if location expression missing.
8637 (loclist_tracepoint_var_ref): Don't error out here.
8641 * dwarf2read.c (dwarf2_get_section_info): Handle case where no
8642 DWARF data is available.
8646 * symfile.c (generic_load): Reset breakpoints after loading.
8650 * linux-nat.c (linux_nat_detach): Check debug_linux_nat.
8654 * spu-tdep.c (spu_catch_start): Replace set_breakpoint call with the
8655 create_breakpoint call, adjust the parameters.
8660 * dwarf2read.c (read_subrange_type): Set TYPE_HIGH_BOUND_UNDEFINED.
8661 * valarith.c (value_subscripted_rvalue): Suppress error if
8662 TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED.
8666 * linux-record.c (record_linux_msghdr): Remove unintended semicolons.
8670 * ada-tasks.c (task_command_1): Check that the task ptid is valid
8671 before doing the associated thread switch.
8675 * MAINTAINERS: Update my email address.
8679 Simplify MI breakpoint setting.
8681 * breakpoint.c (break_command_really): Make nonstatic and
8683 (create_breakpoint): ...this. Rename prior function by this name
8685 (create_breakpoint_sal): ...this.
8686 (create_breakpoints): Rename to...
8687 (create_breakpoints_sal): ...this.
8688 (set_breakpoint): Remove.
8689 * breakpoint.h: Adjust to above changes.
8690 * mi/mi-cmd-break.c (mi_cmd_break_insert): Simplify.
8694 * ax-gdb.c: Include cp-support.h.
8695 (find_field): Remove.
8696 (gen_primitive_field): New function.
8697 (gen_struct_ref_recursive): New function.
8698 (gen_struct_ref): Rewrite to call gen_struct_ref_recursive instead
8700 (gen_static_field): New function.
8701 (gen_struct_elt_for_reference): New.
8702 (gen_namespace_elt): New.
8703 (gen_maybe_namespace_elt): New.
8704 (gen_aggregate_elt_ref): New.
8705 (gen_expr): Add OP_SCOPE, display opcode name in error message.
8709 * dwarf2read.c (die_needs_namespace): Also return 0 for
8715 * cp-support.h: Added char *declaration element to using_direct
8717 (cp_add_using): Added char *declaration argument.
8718 (cp_add_using_directive): Ditto.
8719 (cp_lookup_symbol_imports): made extern.
8720 * cp-namespace.c: Updated with the above changes.
8721 * dwarf2read.c (read_import_statement): Ditto.
8722 (read_namespace): Ditto.
8723 (read_import_statement): Support import declarations.
8724 * cp-namespace.c (cp_lookup_symbol_imports): Check for imported
8726 Added support for 'declaration_only' search.
8727 (cp_lookup_symbol_namespace): Attempt to search for the name as
8728 is before consideration of imports.
8729 * symtab.c (lookup_symbol_aux_local): Added a 'declaration_only'
8730 search at every block level search.
8731 Now takes language argument.
8732 (lookup_symbol_aux): Updated.
8736 * c-exp.y (name_not_typename): Add 'operator' clause.
8740 * configure.ac: Exit if ${gdb_target_obs}" is not set.
8741 * configure: Regenerate.
8745 * symfile.c (addr_info_make_relative): Ignore also missing ".dynbss"
8746 and ".sdynbss". Update the comment.
8750 * MAINTAINERS: Update my email address.
8754 * gdbtypes.h (TYPE_IS_OPAQUE): Correct HAVE_CPLUS_STRUCT check.
8758 * charset.c [USE_WIN32API]: Include <windows.h>.
8759 (_initialize_charset): Correct type of w32_host_default_charset.
8763 * infrun.c (ptid_match): Don't assert that PTID is not a pid ptid.
8768 * dwarf2read.c (die_needs_namespace) <DW_TAG_variable>: A variable
8769 in a lexical block does not need a namespace.
8770 (new_symbol) <DW_TAG_variable>: Put extern variables on
8771 list_in_scope in all cases.
8775 * ax-gdb.c (gen_expr): Add shift expressions.
8776 (gen_expr_binop_rest): Ditto.
8780 * buildsym.c (finish_block): Reset using_directives pointer
8781 after block initialization.
8785 * amd64-tdep.c (amd64_word_names): Replace "sp" with "".
8786 * i386-tdep.c (i386_word_names): Likewise.
8790 * target.c (memory_xfer_partial): Don't use the stack cache if
8791 inspecting trace frames.
8792 * tracepoint.c (finish_tfind_command): Invalidate the target
8797 * solib-svr4.c (LM_ADDR_CHECK) <info_verbose>: Use printf_unfiltered
8798 for the PIC displacement, print also the displacement value.
8799 (svr4_exec_displacement): Print DISPLACEMENT if INFO_VERBOSE.
8803 * remote-mips.c (close_ports, mips_initialize_cleanups)
8804 (mips_exit_cleanups, mips_send_command, mips_open, pmon_open)
8805 (ddb_open, lsi_open, mips_remove_breakpoint, mips_remove_watchpoint)
8806 (mips_stopped_by_watchpoint, send_srec, pmon_checkset)
8807 (pmon_make_fastrec, pmon_check_ack, mips_expect_download)
8808 (pmon_check_entry_address, pmon_check_total, pmon_end_download)
8809 (pmon_download, pmon_load_fast, _initialize_remote_mips): Add
8810 comments describing each of these functions.
8811 (mips_enter_debug, mips_exit_debug, common_open)
8812 (mips_signal_from_protocol, pmon_makeb64, pmon_zeroset): Add
8813 blank line after the comment describing the function.
8817 * solib-svr4.c (svr4_exec_displacement): Return now success, new
8818 parameter displacementp. Update comment.
8819 (svr4_relocate_main_executable): Return if non-zero SECTION_OFFSETS
8820 element exists. Return if svr4_exec_displacement was not successful.
8826 * solib-svr4.c (read_program_header): Support type == -1 to read
8827 all program headers.
8828 (read_program_headers_from_bfd): New function.
8829 (svr4_static_exec_displacement): Remove and move the comment ...
8830 (svr4_exec_displacement): ... here. Remove variable found. New
8831 variable displacement. Check also DYNAMIC. Verify DISPLACEMENT
8832 alignment for ELF targets. Compare target vs. exec_bfd PHDRs for ELF
8833 targets using read_program_headers_from_bfd. Remove the call of
8834 svr4_static_exec_displacement.
8838 * dwarf2read.c (struct pubnames_header): Remove.
8839 (_PUBNAMES_HEADER): Remove.
8840 (_ACTUAL_PUBNAMES_HEADER_SIZE): Remove.
8841 (struct aranges_header): Remove.
8842 (_ARANGES_HEADER, _ACTUAL_ARANGES_HEADER_SIZE): Remove.
8843 (struct dwarf2_per_objfile) <pubnames, aranges>: Remove.
8844 (PUBNAMES_SECTION): Remove.
8845 (ARANGES_SECTION): Remove.
8846 (dwarf2_locate_sections): Don't handle pubnames or aranges.
8847 (dwarf2_build_psymtabs): Remove dead code.
8848 (dwarf2_build_psymtabs_easy): Remove.
8852 * elfread.c (elf_symfile_read): Don't call
8853 dwarf2_build_frame_info.
8854 * dwarf2read.c (struct dwarf2_section_info) <readin>: New field.
8855 (struct dwarf2_per_objfile) <objfile>: New field.
8856 (dwarf2_has_info): Now idempotent. Set objfile field.
8857 (dwarf2_read_section): Check and set readin field. Call
8859 (dwarf2_build_psymtabs): Don't read all sections.
8860 (read_type_comp_unit_head): Read types section.
8861 (create_debug_types_hash_table): Likewise.
8862 (init_cu_die_reader): Add asserts.
8863 (process_type_comp_unit): Add assert.
8864 (dwarf2_build_psymtabs_hard): Read info section.
8865 (load_partial_comp_unit): Add assert.
8866 (create_all_comp_units): Read info section.
8867 (load_full_comp_unit): Likewise.
8868 (dwarf2_ranges_read): Read ranges section.
8869 (dwarf2_record_block_ranges): Add assert.
8870 (dwarf2_read_abbrevs): Read abbrev section.
8871 (read_indirect_string): Read str section.
8872 (dwarf_decode_line_header): Read line section.
8873 (read_signatured_type_at_offset): Read types section.
8874 (dwarf_decode_macros): Read macinfo section.
8875 (dwarf2_symbol_mark_computed): Read loc section.
8876 * dwarf2-frame.c (dwarf2_frame_find_fde): Call
8877 dwarf2_build_frame_info.
8878 (dwarf2_build_frame_info): Unconditionally set
8879 dwarf2_frame_objfile_data on the objfile.
8880 * configure.ac: Check for posix_madvise.
8881 * config.in, configure: Rebuild.
8885 * xcoffread.c (xcoff_start_psymtab): Update.
8886 (xcoff_end_psymtab): Update.
8887 * psymtab.c (allocate_psymtab): Remove dead code.
8888 * psympriv.h (struct partial_symtab) <read_symtab_private>: Now
8890 * mdebugread.c (parse_partial_symbols): Update.
8891 (new_psymtab): Likewise.
8892 * dwarf2read.c (process_psymtab_comp_unit): Update.
8893 (psymtab_to_symtab_1): Update.
8894 * dbxread.c (start_psymtab): Update.
8895 (end_psymtab): Likewise.
8899 * xcoffread.c: Include psymtab.h.
8900 (xcoff_sym_fns): Update.
8901 * symtab.h (struct partial_symbol): Remove.
8902 (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.
8903 (struct partial_symtab): Remove.
8904 (PSYMTAB_TO_SYMTAB): Remove.
8905 (lookup_partial_symbol, lookup_partial_symtab, find_pc_psymtab)
8906 (find_pc_sect_psymtab): Remove.
8907 (find_pc_sect_symtab_via_partial): Declare.
8908 (find_pc_psymtab, find_pc_sect_psymbol, psymtab_to_symtab)
8909 (find_main_psymtab): Remove.
8910 (find_main_filename): Declare.
8911 (fixup_psymbol_section): Remove.
8912 (fixup_section): Declare.
8913 * symtab.c: Include psymtab.h.
8914 (lookup_symtab): Use lookup_symtab method.
8915 (lookup_partial_symtab): Remove.
8916 (find_pc_sect_psymtab_closer): Remove.
8917 (find_pc_sect_psymtab): Remove.
8918 (find_pc_sect_symtab_via_partial): New function.
8919 (find_pc_psymtab, find_pc_sect_psymbol, find_pc_psymbol): Remove.
8920 (fixup_section): No longer static.
8921 (fixup_psymbol_section): Remove.
8922 (lookup_symbol_aux): Use lookup_symbol_aux_quick.
8923 (lookup_global_symbol_from_objfile): Likewise.
8924 (lookup_symbol_aux_psymtabs): Remove.
8925 (lookup_symbol_aux_quick): New function.
8926 (lookup_symbol_global): Use lookup_symbol_aux_quick.
8927 (lookup_partial_symbol): Remove.
8928 (basic_lookup_transparent_type_quick): New function.
8929 (basic_lookup_transparent_type): Use it.
8930 (find_main_psymtab): Remove.
8931 (find_main_filename): New function.
8932 (find_pc_sect_symtab): Use find_pc_sect_symtab method.
8933 (find_line_symtab): Use expand_symtabs_with_filename method.
8934 (output_partial_symbol_filename): New function.
8935 (sources_info): Use map_partial_symbol_filenames.
8936 (struct search_symbols_data): New type.
8937 (search_symbols_file_matches): New function.
8938 (search_symbols_name_matches): Likewise.
8939 (search_symbols): Use expand_symtabs_matching method.
8940 (struct add_name_data): Rename from add_macro_name_data.
8941 (add_macro_name): Update.
8942 (add_partial_symbol_name): New function.
8943 (default_make_symbol_completion_list): Use
8944 map_partial_symbol_names.
8945 (struct add_partial_symbol_name): New type.
8946 (maybe_add_partial_symtab_filename): New function.
8947 (make_source_files_completion_list): Use
8948 map_partial_symbol_filenames.
8949 (expand_line_sal): Use expand_symtabs_with_filename method.
8950 * symmisc.c: Include psymtab.h.
8951 (print_objfile_statistics): Use print_stats method.
8952 (dump_objfile): Use dump method.
8953 (dump_psymtab, maintenance_print_psymbols)
8954 (maintenance_info_psymtabs, maintenance_check_symtabs)
8955 (extend_psymbol_list): Remove.
8956 * symfile.h (struct quick_symbol_functions): New struct.
8957 (struct sym_fns) <qf>: New field.
8958 (sort_pst_symbols): Remove.
8959 (increment_reading_symtab): Declare.
8960 * symfile.c: Include psymtab.h.
8961 (compare_psymbols, sort_pst_symbols): Remove.
8962 (psymtab_to_symtab): Remove.
8963 (increment_reading_symtab): New function.
8964 (symbol_file_add_with_addrs_or_offsets): Use expand_all_symtabs
8966 (set_initial_language): Use find_main_filename.
8967 (allocate_psymtab, discard_psymtab, cashier_psymtab): Remove.
8968 (free_named_symtabs): Remove unused code.
8969 (start_psymtab_common, add_psymbol_to_bcache)
8970 (append_psymbol_to_list, add_psymbol_to_list, init_psymbol_list):
8972 * stack.c: Include psymtab.h, symfile.h.
8973 (backtrace_command_1): Use find_pc_sect_symtab_via_partial.
8974 * source.h (psymtab_to_fullname): Don't declare.
8975 * source.c: Include psymtab.h.
8976 (select_source_symtab): Use find_last_source_symtab method.
8977 (forget_cached_source_info): Use forget_cached_source_info
8979 (find_and_open_source): No longer static.
8980 (psymtab_to_fullname): Remove.
8981 * somread.c: Include psymtab.h.
8982 (som_sym_fns): Update.
8983 * psympriv.h: New file.
8984 * psymtab.h: New file.
8985 * psymtab.c: New file.
8986 * objfiles.h: (ALL_OBJFILE_PSYMTABS): Remove.
8987 (ALL_PSYMTABS, ALL_PSPACE_PSYMTABS): Likewise.
8988 * objfiles.c: Include psymtab.h.
8989 (objfile_relocate1): Use relocate method.
8990 (objfile_has_partial_symbols): Use has_symbols method.
8991 * mipsread.c: Include psymtab.h.
8992 (ecoff_sym_fns): Update.
8993 * mi/mi-cmd-file.c: Include psymtab.h.
8994 (print_partial_file_name): New function.
8995 (mi_cmd_file_list_exec_source_files): Use
8996 map_partial_symbol_filenames.
8997 * mdebugread.c: Include psympriv.h.
8998 * machoread.c: Include psympriv.h.
8999 (macho_sym_fns): Update.
9000 * m2-exp.y (yylex): Use lookup_symtab.
9001 * elfread.c: Include psympriv.h.
9002 (elf_sym_fns): Update.
9003 * dwarf2read.c: Include psympriv.h.
9004 * dbxread.c: Include psympriv.h.
9005 (aout_sym_fns): Update.
9006 * cp-support.c: Include psymtab.h.
9007 (read_in_psymtabs): Remove.
9008 (make_symbol_overload_list_qualified): Use
9009 expand_symtabs_for_function method.
9010 * coffread.c: Include psympriv.h.
9011 (coff_sym_fns): Update.
9012 * blockframe.c: Include psymtab.h.
9013 (find_pc_partial_function): Use find_pc_sect_symtab method.
9014 * ada-lang.h (ada_update_initial_language): Update.
9015 * ada-lang.c: Include psymtab.h.
9016 (ada_update_initial_language): Remove 'main_pst' argument.
9017 (ada_lookup_partial_symbol): Remove.
9018 (struct ada_psym_data): New type.
9019 (ada_add_psyms): New function.
9020 (ada_add_non_local_symbols): Use map_ada_symtabs method.
9021 (struct add_partial_datum): New type.
9022 (ada_add_partial_symbol_completions): New function.
9023 (ada_make_symbol_completion_list): Use map_partial_symbol_names.
9024 (ada_exception_support_info_sniffer): Update.
9025 * Makefile.in (SFILES): Add psymtab.c.
9026 (COMMON_OBS): Add psymtab.o.
9027 (HFILES_NO_SRCDIR): Add psymtab.h, psympriv.h.
9031 * remote-fileio.c (cygwin_conv_path): Define macro for old cygwin API.
9036 * cp-namespace.c (cp_add_using): Deleted.
9037 (cp_add_using_directive): Use obstack allocations.
9038 Merged the function cp_add_using into this one.
9039 Added 'struct obstack *' argument.
9040 (cp_scan_for_anonymous_namespaces): Updated.
9041 * cp-support.h: Updated.
9042 * dwarf2read.c (read_import_statement): Updated.
9043 (read_namespace): Updated.
9047 * windows-nat.c (cygwin_conv_path): Remove old macro.
9051 * breakpoint.c (condition_command): Handle watchpoint conditions.
9052 (is_hardware_watchpoint): Add comment.
9053 (is_watchpoint): New.
9054 (update_watchpoint): Don't reparse the watchpoint's condition
9057 (watchpoint_check): Use it.
9058 (bpstat_check_watchpoint): Handle it.
9059 (bpstat_check_breakpoint_conditions): Evaluate watchpoint local
9060 conditions in a frame where it makes sense.
9061 (watch_command_1): Store the innermost block of the condition
9063 (delete_breakpoint): Delete the watchpoint condition expression.
9064 * breakpoint.h (struct bp_location) <cond>: Update comment.
9065 (struct breakpoint): New field `cond_exp_valid_block'.
9069 Adjust handling of Ada DIEs after dwarf2_physname patch.
9070 * dwarf2read.c (dwarf2_compute_name): Add handling of Ada DIEs.
9075 * windows-nat.c (cygwin_conv_path): Redefine to properly convert
9076 from/to posix/win32.
9077 (windows_make_so): Use non-Cygwin 1.7 specific function.
9078 (windows_create_inferior): Make sure that cygallargs points to
9079 original args in non Cygwin 1.7. case.
9083 * i386-tdep.c (i386_record_lea_modrm_addr): Use extract_signed_int
9084 after target_read_memory to get host byte order.
9085 (i386_process_record): Ditto.
9090 * c-typeprint.c (cp_type_print_method_args): For non-static methods,
9091 print out const or volatile qualifiers, too.
9092 (c_type_print_args): Add parameters show_artificial and language.
9093 Skip artificial parameters when requested.
9094 Use the appropriate language printer.
9095 (c_type_print_varspec): Tell c_type_print_args to skip artificial
9096 parameters and pass language_c.
9097 * dwarf2read.c (die_list): New file global.
9098 (struct partial_die_info): Update comments for name field.
9099 (pdi_needs_namespace): Renamed to ...
9100 (die_needs_namespace): ... this. Rewrite.
9101 (dwarf2_linkage_name): Remove.
9102 (add_partial_symbol): Do not predicate the call to
9103 partial_die_full_name based on pdi_needs_namespace.
9104 Remove call to cp_check_possible_namespace_symbols and associated
9106 (guess_structure_name): Do not inspect child subprogram DIEs.
9107 (dwarf2_fullname): Update comments.
9108 Use die_needs_namespace to assist in computing the name.
9109 (read_func_scope): Use dwarf2_name to get the DIE's name.
9110 Use dwarf2_physname to get the "linkage name" of the DIE.
9111 (dwarf2_add_member_field): Use dwarf2_physname instead of
9112 dwarf2_linkage_name.
9113 (read_structure_type): For structs and classes, set TYPE_NAME, too.
9114 (determine_class): Remove.
9115 (read_partial_die): Ignore DW_AT_MIPS_linkage_name for all languages
9117 (new_symbol): Unconditionally call dwarf2_name.
9118 Compute the "linkage name" using dwarf2_physname.
9119 Use dwarf2_name instead of dwarf2_full_name for enumerator DIEs.
9120 When determining to scan for anonymous C++ namespaces, ignore
9122 (dwarf2_physname): New function.
9123 (dwarf2_full_name): Move content to new function and call
9125 (dwarf2_compute_name): "New" function.
9126 (_initialize_dwarf2_read): Initialize die_list.
9127 * gnu-v3-eabi.c (gnu_v3_find_method_in): Remove unused variable
9129 (gnu_v3_print_method_ptr): Use the physname for virtual methods
9130 without a demangled name.
9131 Print out type information for non-virtual methods.
9132 * linespec.c (decode_line_1): Force ANY string using "::" (or
9133 "." for java) to use decode_compound, and clean up any stray quoting.
9134 If we found a file symtab, re-evaluate whether the remainder is_quoted.
9135 (decode_compound): Stop consuming at an open parenthesis.
9136 Keep template parameters.
9137 Keep any overload information.
9138 Keep keywords like "const".
9139 Remove paren_pointer.
9140 Move is_quoted check from set_flags to here.
9141 Remove #if 0 code from 2000. Ten years is long enough.
9142 (find_method): Before comparing symbol names, canonicalize the string
9144 If a specific overload is requested, find it. Otherwise throw an error.
9145 (find_method_overload_end): New function.
9146 (set_flags): Remove.
9147 (decode_compound): Assume that parentheses are matched.
9149 * symtab.c (symbol_find_demangled_name): Add DMGL_VERBOSE flag
9151 * linespec.c (decode_line_1): Keep important keywords like
9152 "const" and "volatile".
9153 * symtab.h (SYMBOL_CPLUS_DEMANGLED_NAME): Remove.
9154 * typeprint.h (c_type_print_args): Add declaration.
9155 * ui-file.c (do_ui_file_obsavestring): New function.
9156 (ui_file_obsavestring): New function.
9157 * ui-file.h (ui_file_obsavestring): Add declaration.
9158 * valops.c (find_overload_match): Resolve the object to
9160 If the object is a data member, search the object for the member
9161 and return with staticp set.
9162 Use SYMBOL_NATURAL_NAME instead of SYMBOL_CPLUS_DEMANGLED_NAME.
9163 Do not attempt to extract a function name from non-function types.
9164 If the extracted function name and the original name are the same,
9165 we don't have a C++ method.
9168 * dwarf2read.c (new_symbol <DW_TAG_enumerator>): Call dwarf2_full_name.
9170 * ada-lang.c (ada_lookup_symbol): Remove linkage_name parameters
9171 and arguments from symbol lookups.
9172 * ax-gdb.c (gen_expr): Likewise.
9173 * cp-namespace.c (cp_lookup_symbol_nonlocal, lookup_namespace_scope,
9174 cp_lookup_symbol_namespace, lookup_symbol_file, lookup_nested_type,
9175 lookup_possible_namespace_symbol): Likewise.
9176 * cp-support.c (read_in_psymtabs): Likewise.
9177 * cp-support.h (cp_lookup_symbol_nonlocal): Likewise.
9178 * language.h (la_lookup_symbol_nonlocal): Likewise.
9179 * scm-valprint.c (scm_inferior_print): Likewise.
9180 * solib-darwin.c (darwin_relocate_section_addresses): Likewise.
9181 * solib-svr.c (elf_lookup_lib): Likewise.
9182 * solib.c (show_auto_solib_add): Likewise.
9183 * solist.h (lookup_lib_global, solib_global_lookup): Likewise.
9184 * symmisc.c (maintenance_check_symtabs): Likewise.
9185 * symtab.c (lookup_symbol_in_language, lookup_symbol_aux,
9186 lookup_symbol_aux_local, lookup_symbol_aux_block,
9187 lookup_symbol_from_objfile, lookup_symbol_aux_symtabs,
9188 lookup_symbol_aux_psymtabs,basic_lookup_symbol_nonlocal,
9189 lookup_symbol_static, lookup_symbol_global, symbol_matches_domain,
9190 basic_lookup_transparent_type, find_main_psymtab,
9191 lookup_block_symbol): Likewise.
9192 * symtab.h (basic_lookp_symbol_nonlocal, lookup_symbol_static,
9193 lookup_symbol_global, lookup_symbol_aux_block,
9194 lookup_symbol_partial_symbol, lookup_block_symbol,
9195 lookup_global_symbol, value_maybe_namespace_elt): Likewise.
9199 * python/python-internal.h: Include symtab.h.
9204 * p-lang.c (is_pascal_string_type): Remove unneeded parentheses.
9205 * p-valprint.c (pascal_val_print): Remove undeed block and fix
9210 * breakpoint.c (breakpoint_1): Add "QUIT".
9215 * solib.c (solib_find): Replace extension if
9216 solib_symbols_extension is set in the target gdbarch.
9217 * arm-symbian-tdep.c (arm_symbian_init_abi): Set
9218 solib_symbols_extension to "sym".
9219 * gdbarch.sh (solib_symbols_extension): New variable.
9220 (pstring): New function.
9221 * gdbarch.h, gdbarch.c: Regenerate.
9227 * utils.c: Include main.h.
9228 (fputs_maybe_filtered): Don't paginate if `batch_flag'.
9229 (defaulted_query): Use default answer if `batch_flag'.
9230 * main.h (batch_flag): Declare.
9231 * main.c (batch_flag): New global.
9232 (captured_main): Remove 'batch'. Update.
9236 From Richard Sandiford, Martin M. Hunt, Corinna Vinschen,
9239 * remote-mips.c (rockhopper_ops): New target_ops struct.
9240 (MON_ROCKHOPPER): New mips_monitor_type.
9241 (read_hex_value): New function.
9242 (mips_request): Send 8-byte values with a 'T' packet. Read the
9243 packet argument as a string and use read_hex_value to parse it.
9244 (mips_exit_debug): Wait for response when using MON_ROCKHOPPER.
9245 (rockhopper_open): New function.
9246 (mips_wait): Read the PC, FP and SP fields as strings. Use
9247 read_hex_value to parse them and mips_set_register to commit them.
9248 (mips_set_register): New function.
9249 (mips_fetch_registers): Do not cast register value to "unsigned"
9250 when reading a MON_ROCKHOPPER 't' packet. Use mips_set_register.
9251 (mips_store_registers): Use a 'T' packet to set registers when
9252 using MON_ROCKHOPPER.
9253 (pmon_end_download): Don't run initEther if using MON_ROCKHOPPER
9254 and expect the total to be printed before the entry address.
9255 (_initialize_remote_mips): Initialize and add rockhopper_ops.
9259 * remote-mips.c (mips_fetch_word): Add new parameter, `valp'.
9260 Change return value to int. Store value fetched in location
9261 addressed by `val'. Use function's return value as success
9262 or failure indicator. Adjust all callers.
9266 * p-lang.c (is_pascal_string_type): Check that TYPE arg is non NULL.
9271 * record.c (record_open_1): Check tmp_to_stopped_by_watchpoint and
9272 tmp_to_stopped_data_address.
9273 (record_open): Reset tmp_to_stopped_by_watchpoint and
9274 tmp_to_stopped_data_address.
9275 * target.c (init_dummy_target): Add to_stopped_by_watchpoint and
9276 to_stopped_data_address.
9280 * i386-tdep.c (i386_process_record): Initialize regnum.
9284 * symfile.c (addr_info_make_relative): New variable sect_name, use it.
9285 Do not warn on ".gnu.liblist" and ".gnu.conflict".
9289 Memory error when reading wrong core file.
9290 * solib-svr4.c (solib_svr4_r_map): catch and print all exception
9291 errors while reading the inferior memory, and return zero if
9292 an exception was raised.
9296 * record.c (record_restore): Rename tmpu8 to rectype.
9298 * i386-tdep.c (i386_record_lea_modrm_addr): Rename local variables
9299 tmpu8, tmpi16, tmpi32, tmpulongest to addr8, addr16, addr32, addr64.
9301 (i386_record_push): Rename local tmpulongest to addr.
9303 (i386_process_record): Rename local tmpulongest to addr.
9305 Rename local variables tmpu16, tmpu32, tmpu64 to addr16, addr32,
9308 Rename local variable tmpu8 to opcode8 and regnum.
9312 * remote.c (remote_get_ada_task_ptid): New function.
9313 (init_remote_ops): Set remote_ops.to_get_ada_task_ptid.
9317 * windows-nat.c: Reorganize #ifdef __CYGWIN__ considerations into one
9318 block. Define helper macros to reduce ifdefs in code.
9319 (get_module_name): Use cygwin_buf_t for buffer and __PMAX for buffer
9320 size. Call unadorned GetModuleFileNameEx rather than
9321 GetModuleFileNameEx*.
9322 (windows_make_so): Use __PMAX to denote maximum buffer size and
9323 cygwin_buf_t for buffer type. Use GetSystemDirectory{W,A} as
9325 (get_image_name): Use __PMAX to denote maximum buffer size.
9326 (handle_load_dll): Likewise.
9327 (windows_pid_to_exec_file): Likewise.
9328 (windows_create_inferior): Add many accommodations for older Cygwin and
9330 (bad_GetModuleFileNameExW): Control inclusion of this function based on
9331 __USEWIDE conditional.
9332 (bad_GetModuleFileNameExA): Likewise.
9333 (_initialize_loadable): Just use real function names without the dyn_
9334 part since they are defined earlier.
9339 * utils.c (host_char_to_target): Add 'gdbarch' argument.
9340 (parse_escape): Likewise.
9341 * python/py-utils.c (unicode_to_target_string): Update.
9342 (unicode_to_target_python_string): Update.
9343 (target_string_to_unicode): Update.
9344 * printcmd.c (printf_command): Update.
9345 * p-exp.y (yylex): Update.
9346 * objc-exp.y (yylex): Update.
9347 * mi/mi-parse.c: Include charset.h.
9348 (mi_parse_escape): New function.
9349 (mi_parse_argv): Use it.
9350 * jv-exp.y (yylex): Update.
9351 * i386-cygwin-tdep.c (i386_cygwin_auto_wide_charset): New
9353 (i386_cygwin_init_abi): Call set_gdbarch_auto_wide_charset.
9354 * gdbarch.sh (auto_charset, auto_wide_charset): New.
9355 * gdbarch.c: Rebuild.
9356 * gdbarch.h: Rebuild.
9357 * defs.h (parse_escape): Update.
9358 * cli/cli-setshow.c: Include arch-utils.h.
9359 (do_setshow_command): Update.
9360 * cli/cli-cmds.c (echo_command): Update.
9361 * charset.h (target_charset, target_wide_charset): Update.
9362 * charset.c: Include arch-utils.h.
9363 (target_charset_name): Default to "auto".
9364 (target_wide_charset_name): Likewise.
9365 (show_target_charset_name): Handle "auto".
9366 (show_target_wide_charset_name): Likewise.
9367 (be_le_arch): New global.
9368 (set_be_le_names): Add 'gdbarch' argument.
9369 (validate): Likewise. Don't call set_be_le_names.
9370 (set_charset_sfunc, set_host_charset_sfunc)
9371 (set_target_charset_sfunc, set_target_wide_charset_sfunc):
9373 (target_charset): Add 'gdbarch' argument.
9374 (target_wide_charset): Likewise. Remove 'byte_order' argument.
9375 (auto_target_charset_name): New global.
9376 (default_auto_charset, default_auto_wide_charset): New functions.
9377 (_initialize_charset): Set auto_target_charset_name. Allow "auto"
9378 for target charsets. Copy result of nl_langinfo. Use GetACP if
9380 * c-lang.c (charset_for_string_type): Add 'gdbarch' argument,
9381 remove 'byte_order' argument. Update.
9382 (classify_type): Likewise.
9383 (c_emit_char): Update.
9384 (c_printchar): Update.
9385 (c_printstr): Update.
9386 (c_get_string): Update.
9387 (evaluate_subexp_c): Update.
9388 * arch-utils.h (default_auto_charset, default_auto_wide_charset):
9390 * python/python.c (gdbpy_target_charset): New function.
9391 (gdbpy_target_wide_charset): Likewise.
9392 (GdbMethods): Update.
9397 * symfile.c (build_section_addr_info_from_objfile): Do not mask
9398 off high address bits.
9402 * python/py-lazy-string.c (gdbpy_extract_lazy_string): Extract
9403 address as UnsignedLongLong, not LongLong.
9408 * remote-mips.c (gdbthread.h): Include.
9409 (remote_mips_ptid): Declare.
9410 (mips_error): Only mourn the inferior when inferior_ptid is non-null.
9411 (common_open): Set inferior_ptid, add it as an inferior, and
9412 as a thread too. Delete FIXME comment regarding start_remote().
9413 (mips_close): Invoke generic_mourn_inferior().
9414 (mips_kill): Make sure that target_mourn_inferior is invoked.
9415 (mips_mourn_inferior): Don't invoke generic_mourn_inferior, as
9416 it's now invoked from mips_close().
9417 (mips_load): Don't null out inferior_ptid. Don't call
9418 clear_symtab_users().
9419 (mips_thread_alive, mips_pid_to_str): New functions.
9420 (_initialize_remote_mips): Initialize remote_mips_ptid. Initialize
9421 to_thread_alive and to_pid_to_str operations.
9425 * dwarf2read.c (skip_one_die) <DW_FORM_ref_addr>: Use offset size
9426 in DWARF 3 and later.
9427 (read_attribute_value) <DW_FORM_ref_addr>: Likewise.
9431 * linespec.c (decode_line_1): Update comments for is_quote_enclosed.
9432 If the filename portion of the linespec was quoted, recheck the
9433 remainder for additional quoting.
9434 (locate_first_half): Skip over completer chars, too.
9438 * printcmd.c (printf_command): Pass dummy argument to
9443 * arm-tdep.c (arm_make_stub_cache): Delete unused locals reg,
9446 * arm-tdep.c (arm_stub_unwind_sniffer): Add comment.
9450 * breakpoint.c (update_watchpoint): Create a sentinel location if
9451 the software watchpoint isn't watching any memory.
9452 (breakpoint_address_bits): Skip dummy software watchpoint locations.
9456 * utils.c (fputs_maybe_filtered): Check if there's already a top
9457 level interpreter before dereferencing it. If there isn't one,
9458 don't paginate either.
9462 * arm-tdep.c (arm_pc_is_thumb): Add heuristic that tries to get
9463 the state right when single stepping.
9464 (arm_get_next_pc_raw, thumb_get_next_pc_raw): New functions.
9465 Get the next PC along with the instruction state.
9466 (thumb_get_next_pc): Remove.
9467 (arm_get_next_pc): Modified to use arm_get_next_pc_raw.
9471 * i386-tdep.c (i386_process_record): Change "addr" to "tmpu64".
9475 * utils.c (fputs_maybe_filtered): Always disable pagination if the
9476 top level interpreter is MI.
9480 * remote.c (remote_download_tracepoint): Iterate over locations.
9481 * tracepoint.c (validate_actionline): Ditto.
9482 (encode_actions): Add location argument.
9483 (trace_dump_command): Check all locations to see if stepping
9489 * NEWS: Add X86 general purpose registers section.
9494 * varobj.c (install_new_value): Handle case where new print_value
9500 * printcmd.c (printf_command): Print end of format string using
9505 * mi/mi-cmd-break.c (mi_read_next_line): Add missing 'void'.
9506 * defs.h (read_command_lines_1): Add missing 'void'.
9507 * cli/cli-script.c (recurse_read_control_structure): Add missing
9509 (read_next_line): Likewise.
9510 (read_command_lines_1): Likewise.
9514 * spu-tdep.c (spu_analyze_prologue): Track instruction to
9515 store backchain as part of prologue.
9519 * progspace.c (update_address_spaces): Update inferior address spaces
9524 * dwarf2read.c (add_partial_subprogram): Add missing baseaddr to
9525 lowpc,highpc args to addrmap_set_empty.
9529 * amd64-tdep.c (amd64_byte_names): New.
9530 (amd64_word_names): Likewise.
9531 (amd64_dword_names): Likewise.
9532 (amd64_pseudo_register_name): Likewise.
9533 (amd64_pseudo_register_read): Likewise.
9534 (amd64_pseudo_register_write): Likewise.
9535 (amd64_init_abi): Set num_byte_regs, num_word_regs, num_dword_regs
9536 and num_mmx_regs. Call set_gdbarch_pseudo_register_read,
9537 set_gdbarch_pseudo_register_write and
9538 set_tdesc_pseudo_register_name. Don't call
9539 set_gdbarch_num_pseudo_regs. Don't set mm0_regnum.
9541 * i386-tdep.c (i386_num_mmx_regs): Removed.
9542 (i386_num_pseudo_regs): Likewise.
9543 (i386_byte_names): New.
9544 (i386_word_names): Likewise.
9545 (i386_byte_regnum_p): Likewise.
9546 (i386_word_regnum_p): Likewise.
9547 (i386_mmx_regnum_p): Updated.
9548 (i386_pseudo_register_name): Make it global. Handle byte and
9549 word pseudo-registers.
9550 (i386_pseudo_register_read): Likewise.
9551 (i386_pseudo_register_write): Likewise.
9552 (i386_pseudo_register_type): Handle byte, word and dword
9554 (i386_register_reggroup_p): Don't include pseudo
9555 registers, except for MXX, in any register groups. Don't
9556 include pseudo byte, word, dword registers in general_reggroup.
9557 (i386_gdbarch_init): Set num_byte_regs, num_word_regs,
9558 num_dword_regs, al_regnum, ax_regnum and eax_regnum. Put MMX
9559 pseudo-registers after word pseudo-registers. Call
9560 set_gdbarch_num_pseudo_regs after calling gdbarch_init_osabi.
9562 * i386-tdep.h (gdbarch_tdep): Add num_mmx_regs, num_byte_regs,
9563 al_regnum, num_word_regs, ax_regnum, num_dword_regs and
9565 (i386_byte_regnum_p): New.
9566 (i386_word_regnum_p): Likewise.
9567 (i386_dword_regnum_p): Likewise.
9568 (i386_pseudo_register_name): Likewise.
9569 (i386_pseudo_register_read): Likewise.
9570 (i386_pseudo_register_write): Likewise.
9574 * target-descriptions.c (tdesc_type): Remove
9575 TDESC_TYPE_I386_EFLAGS and TDESC_TYPE_I386_MXCSR.
9576 (tdesc_predefined_types): Likewise.
9577 (tdesc_gdb_type): Likewise. Pass NULL to append_flags_type_flag
9578 if flag name is empty.
9579 (maint_print_c_tdesc_cmd): Handle TDESC_TYPE_FLAGS.
9581 * features/i386/32bit-core.xml: Define i386_eflags.
9582 * features/i386/64bit-core.xml: Likewise.
9584 * features/i386/32bit-sse.xml: Define i386_mxcsr.
9585 * features/i386/64bit-sse.xml: Likewise.
9587 * features/i386/amd64-linux.c: Regenerated.
9588 * features/i386/amd64.c: Likewise.
9589 * features/i386/i386-linux.c: Likewise.
9590 * features/i386/i386.c: Likewise.
9594 * gdbtypes.c (append_composite_type_field_raw): New.
9595 (append_composite_type_field_aligned): Use the new function.
9596 * gdbtypes.h (append_composite_type_field_raw): Declare.
9597 * target-descriptions.c (struct tdesc_type_field): Add start and end.
9598 (struct tdesc_type_flag): New type.
9599 (struct tdesc_type): Add TDESC_TYPE_STRUCT and TDESC_TYPE_FLAGS to
9600 kind. Add size to u.u. Add u.f for flags.
9601 (tdesc_gdb_type): Handle TDESC_TYPE_STRUCT and TDESC_TYPE_FLAGS.
9602 (tdesc_free_type): Likewise.
9603 (tdesc_create_struct, tdesc_set_struct_size, tdesc_create_flags): New.
9604 (tdesc_add_field): Handle TDESC_TYPE_STRUCT.
9605 (tdesc_add_bitfield, tdesc_add_flag): New.
9606 * target-descriptions.h (tdesc_create_struct, tdesc_set_struct_size)
9607 (tdesc_create_flags, tdesc_add_bitfield, tdesc_add_flag): Declare.
9608 * xml-tdesc.c (struct tdesc_parsing_data): Rename current_union to
9609 current_type. Add current_type_size and current_type_is_flags.
9610 (tdesc_start_union): Clear the new fields.
9611 (tdesc_start_struct, tdesc_start_flags): New.
9612 (tdesc_start_field): Handle struct fields, including bitfields.
9613 (field_attributes): Make type optional. Add start and end.
9614 (union_children): Rename to struct_union_children.
9615 (union_attributes): Rename to struct_union_attributes. Add optional
9617 (flags_attributes): New.
9618 (feature_children): Add struct and flags.
9619 * features/gdb-target.dtd: Add flags and struct to features.
9620 Make field type optional. Add field start and end.
9624 * amd64-linux-nat.c (AMD64_LINUX_USER64_CS): New.
9625 (amd64_linux_read_description): Likewise.
9626 (_initialize_amd64_linux_nat): Set to_read_description to
9627 amd64_linux_read_description.
9629 * amd64-linux-tdep.c: Include "features/i386/amd64-linux.c".
9630 (amd64_linux_register_name): Removed.
9631 (amd64_linux_register_type): Likewise.
9632 (amd64_linux_core_read_description): New.
9633 (amd64_linux_init_abi): Set target description to
9634 tdesc_amd64_linux if needed. Support orig_rax in target
9635 description. Don't call set_gdbarch_register_name nor
9636 set_gdbarch_register_type. Call
9637 set_gdbarch_core_read_description.
9638 (_initialize_amd64_linux_tdep): Call
9639 initialize_tdesc_amd64_linux.
9641 * amd64-linux-tdep.h (tdesc_amd64_linux): New.
9643 * amd64-tdep.c: Include "features/i386/amd64.c".
9644 (amd64_register_names): Removed.
9645 (amd64_register_name): Likewise.
9646 (amd64_register_type): Likewise.
9647 (amd64_init_abi): Set num_core_regs and register_names. Set
9648 target description to tdesc_amd64 if needed. Don't call
9649 set_gdbarch_register_name nor set_gdbarch_register_type.
9650 (_initialize_amd64_tdep): New.
9652 * i386-linux-nat.c (i386_linux_read_description): New.
9653 (_initialize_i386_linux_nat): Set to_read_description to
9654 i386_linux_read_description.
9656 * i386-linux-tdep.c: Include "features/i386/i386-linux.c".
9657 (i386_linux_register_name): Removed.
9658 (i386_linux_core_read_description): New.
9659 (i386_linux_read_description): Likewise.
9660 (i386_linux_init_abi): Don't call set_gdbarch_register_name.
9661 Set target description to tdesc_i386_linux if needed. Support
9662 orig_eax. Set register_reggroup_p. Call
9663 set_gdbarch_core_read_description.
9664 (_initialize_i386_linux_tdep): Call initialize_tdesc_i386_linux.
9666 * i386-linux-tdep.h (tdesc_i386_linux): New.
9668 * i386-nto-tdep.c (i386nto_regset_id): Replace I386_NUM_FREGS
9671 * i386-tdep.c: Include "features/i386/i386.c".
9672 (i386_register_names): Make it const.
9673 (i386_mmx_names): Likewise.
9674 (i386_num_register_names): Removed.
9675 (i386_register_name): Likewise.
9676 (i386_eflags_type): Likewise.
9677 (i386_mxcsr_type): Likewise.
9678 (i386_sse_type): Likewise.
9679 (i386_register_type): Likewise.
9680 (i387_ext_type): Call tdesc_find_type instead of arch_float_type.
9681 (i386_pseudo_register_name): New.
9682 (i386_pseudo_register_type): Likewise.
9683 (i386_mmx_type): Make it static.
9684 (i386_gdbarch_init): Check arch. Replace I386_NUM_FREGS with
9685 I387_NUM_REGS. Set num_core_regs and register_names. Don't
9686 call set_gdbarch_register_name nor set_gdbarch_register_type.
9687 Set register_reggroup_p. Set target description to tdesc_i386
9688 if needed. Call set_tdesc_pseudo_register_type,
9689 set_tdesc_pseudo_register_name and tdesc_use_registers.
9690 (_initialize_i386_tdep): Call initialize_tdesc_i386.
9691 initialize_tdesc_x86_64.
9693 * i386-tdep.h (gdbarch_tdep): Remove i386_eflags_type,
9694 i386_mxcsr_type and i386_sse_type. Add num_core_regs,
9695 register_names, tdesc and register_reggroup_p.
9696 (I386_NUM_FREGS): Removed.
9697 (i386_eflags_type): Likewise.
9698 (i386_mxcsr_type): Likewise.
9699 (i386_mmx_type): Likewise.
9700 (i386_sse_type): Likewise.
9701 (i386_register_name): Likewise.
9702 (i386_regnum): Add I386_MXCSR_REGNUM.
9703 (I386_SSE_NUM_REGS): Defined with I386_MXCSR_REGNUM.
9705 * i387-tdep.h (I387_NUM_REGS): New.
9707 * regformats/i386/i386-linux.dat: Generated.
9708 * regformats/i386/i386.dat: Likewise.
9709 * regformats/i386/amd64-linux.dat: Likewise.
9710 * regformats/i386/amd64.dat: Likewise.
9712 * regformats/reg-i386-linux.dat: Removed.
9713 * regformats/reg-i386.dat: Likewise.
9714 * regformats/reg-x86-64-linux.dat: Likewise.
9715 * regformats/reg-x86-64.dat: Likewise.
9719 * remote-fileio.c (remote_fileio_func_rename): Use Cygwin 1.7
9720 cygwin_conv_path API rather than the deprecated
9721 cygwin_conv_to_full_posix_path.
9723 (GetModuleFileNameExA): Undefine for Cygwin.
9724 (GetModuleFileNameExW): Define for Cygwin.
9725 (get_module_name): Change size of pathbuf to PATH_MAX for Cygwin.
9726 Call GetModuleFileNameExW and convert path to POSIX using
9728 (windows_make_so): Always define p. Drop unused variable m.
9729 Don't use Win32 functions to check file existance, rather use
9730 access on Cygwin. Fetch system directory using GetSystemDirectoryW.
9731 Use canonicalize_file_name to get full path.
9732 (get_image_name): Use wcstombs, rather than WideCharToMultiByte
9733 to convert Unicode pathname to multibyte on Cygwin. Otherwise,
9734 use correct target buffer size in call to WideCharToMultiByte.
9735 (handle_load_dll): Change size of dll_buf to PATH_MAX for Cygwin.
9736 (windows_pid_to_exec_file): Change size of path to PATH_MAX for Cygwin.
9737 (windows_create_inferior): Convert all paths and arguments to wchar_t
9738 and use CreateProcessW on Cygwin.
9739 (_initialize_windows_nat): Disable DOS-style path warning on Cygwin.
9740 (bad_GetModuleFileNameExA): Undefine for Cygwin.
9741 (bad_GetModuleFileNameExW): Define for Cygwin.
9742 (_initialize_loadable): Load GetModuleFileNameExW into
9743 dyn_GetModuleFileNameExW on Cygwin. Don't load ANSI function on Cygwin.
9748 * python/py-frame.c (frapy_read_var): Add block argument and logic
9749 to cope with user provided blocks.
9753 * infcall.c (call_function_by_hand): Remove gdb_assert on sp and old_sp.
9758 * Makefile.in (SUBDIR_MI_OBS): Move mi-common.o from here...
9759 (COMMON_OBS): ... to here since it's used unconditionally.
9760 (SUBDIR_MI_SRCS): Move mi/mi-common.c from here...
9765 * mips-linux-tdep.c: Update struct sigframe comments.
9766 (SIGFRAME_CODE_OFFSET): Delete macro.
9767 (mips_linux_o32_sigframe_init): Calculate sigcontext_base using
9769 (mips_linux_n32n64_sigframe_init): Same.
9773 * remote-mips.c (mips_load): Don't use pseudo-register when
9774 invalidating regcache.
9778 * arm-tdep.c (thumb_get_next_pc): Correct conditional branch opcode.
9782 * NEWS: Add "New targets" section, and mention ARM Symbian
9787 * dwarf2loc.c (struct piece_closure): Remove ARCH member,
9788 add ADDR_SIZE member.
9789 (allocate_piece_closure): Update.
9790 (copy_pieced_value_closure): Likewise.
9791 (dwarf2_evaluate_loc_desc): Likewise.
9792 (read_pieced_value): Use DWARF address size instead of
9793 GDB's gdbarch_addr_bit as size of values on the DWARF stack.
9798 * python/py-type.c (typy_lookup_typename): Add in block argument.
9799 If provided restrict lookup to specified blocks.
9800 (gdbpy_lookup_type): Likewise.
9801 (typy_lookup_type): Likewise.
9808 * arm-symbian-tdep.c: New.
9809 * configure.tgt (arm*-*-symbianelf*): New target.
9810 (*-*-symbianelf*): New OS.
9811 * osabi.c (gdb_osabi_names): Add Symbian.
9812 * defs.h (gdb_osabi): Add GDB_OSABI_SYMBIAN.
9813 * Makefile.in (ALL_TARGET_OBJS): Add arm-symbian-tdep.o.
9814 (ALLDEPFILES): Add arm-symbian-tdep.c.
9818 * symfile.c (find_lowest_section): Include SEC_ALLOC sections.
9822 * mi/mi-main.c (mi_cmd_execute): Fix typo.
9828 * python/python.c (_initialize_python): Call
9829 gdbpy_initialize_symtabs, gdbpy_initialize_symbols and
9830 gdbpy_initialize_blocks.
9831 * python/python-internal.h: Declare struct symbol, block and
9832 symtab_and_line. Declare block_object_type and
9834 (gdbpy_lookup_symbol gdbpy_block_for_pc)
9835 (symtab_and_line_to_sal_object, symtab_to_symtab_object)
9836 (symbol_to_symbol_object, block_to_block_object)
9837 (gdbpy_initialize_symtabs,gdbpy_initialize_symbols)
9838 (gdbpy_initialize_blocks ): Declare.
9839 * python/py-frame.c (frapy_block, frapy_function, frapy_find_sal)
9840 (frapy_select): Add methods.
9841 (frapy_read_var): Add symbol branch.
9842 * Makefile.in (SUBDIR_PYTHON_OBS): Add py-symbol, py-symtab,
9844 (SUBDIR_PYTHON_SRCS): Likewise.
9845 (py-symbol.o): New rule.
9846 (py-symtab.o): Likewise.
9847 (py-block.o): Likewise.
9848 * python/py-symbol.c: New file.
9849 * python/py-symtab.c: Likewise.
9850 * python/py-block.c: Likewise.
9856 * inferior.h (prepare_for_detach): Declare.
9857 (struct inferior) <detaching>: New field.
9858 * infrun.c (prepare_for_detach): New.
9859 (handle_inferior_event) <random signal>: Don't stop if detaching.
9860 * target.c (target_detach): Call prepare_for_detach.
9864 Per-process displaced stepping queue.
9866 * infrun.c (displaced_step_ptid, displaced_step_request_queue)
9867 (displaced_step_gdbarch, displaced_step_closure,
9868 (displaced_step_original, displaced_step_copy): Move globals to
9870 (struct displaced_step_inferior_state): ... new structure.
9871 (displaced_step_inferior_states): New global.
9872 (get_displaced_stepping_state, add_displaced_stepping_state)
9873 (remove_displaced_stepping_state, infrun_inferior_exit): New
9875 (displaced_step_clear): Add displaced_step_inferior_state
9876 parameter, and adjust to handle it.
9877 (displaced_step_clear_cleanup): Parameter is now a
9878 displaced_step_inferior_state. Adjust.
9879 (displaced_step_prepare): Adjust.
9880 (displaced_step_fixup, displaced_step_fixup)
9881 (infrun_thread_ptid_changed, resume): Adjust.
9882 (init_wait_for_inferior): Don't call displaced_step_clear.
9883 (infrun_thread_stop_requested): Rewrite.
9884 (_initialize_infrun): Install infrun_inferior_exit as
9885 inferior_exit observer.
9889 * inferior.h (ptid_match): Declare.
9890 * infrun.c (ptid_match): New.
9891 * remote.c (queued_stop_reply): Rewrite and use ptid_match.
9892 (handle_notification): Add debug output.
9893 * linux-nat.c (ptid_match): Delete.
9897 * gdb_ptrace.h (PT_SYSCALL): If PTRACE_SYSCALL is available, use it.
9898 * syscalls/sparc-linux.xml: New.
9899 * syscalls/sparc64-linux.xml: New.
9900 * Makefile.in (XML_SYSCALL_FILES): Add new syscall XML files.
9901 * sparc-linux-tdep.c (XML_SYSCALL_FILENAME_SPARC32): Define.
9902 (sparc32_linux_get_syscall_number): New function.
9903 (sparc32_linux_init_abi): Set syscall XML file name and hook up
9904 syscall number fetcher.
9905 * sparc64-linux-tdep.c (XML_SYSCALL_FILENAME_SPARC64): Define.
9906 (sparc64_linux_get_syscall_number): New function.
9907 (sparc64_linux_init_abi): Set syscall XML file name and hook up
9908 syscall number fetcher.
9914 * breakpoint.c (clear_syscall_counts): Take struct inferior*.
9915 * inferior.c (add_inferior_silent): Notify inferior_added
9917 (delete_inferior_1): Notify inferior_removed observer.
9918 (exit_inferior_1): Pass inferior, not pid, to observer.
9919 (inferior_appeared): Likewise.
9920 (add_inferior_with_spaces): New.
9921 (add_inferior_command): Use the above.
9922 * inferior.h (delete_inferior_1, add_inferior_with_spaces):
9925 * inflow.c (inflow_inferior_exit): Likewise.
9926 * jit.c (jit_inferior_exit_hook): Likewise.
9928 * mi/mi-cmds.c (mi_cmds): Register add-inferior and
9930 * mi/mi-cmds.h (mi_cmd_add_inferior, mi_cmd_remove_inferior): New.
9931 * mi/mi-interp.c (mi_inferior_added, mi_inferior_removed): New.
9932 (report_initial_inferior): New.
9933 (mi_inferior_removed): Register the above. Make sure
9934 inferior_added observer is called on the first inferior.
9935 (mi_new_thread, mi_thread_exit): Thread group is now identified by
9936 inferior number, not pid.
9937 (mi_solib_loaded, mi_solib_unloaded): Report which inferiors are
9939 * mi/mi-main.c (current_context): New.
9940 (proceed_thread_callback): Use typed closure.
9941 Proceed everything if pid is 0. Most implementation split into
9942 (proceed_thread): ... this.
9943 (run_one_inferior): New.
9944 (mi_cmd_exec_continue, mi_cmd_exec_interrupt, mi_cmd_exec_run):
9945 Adjust for multiexec behaviour.
9946 (mi_cmd_add_inferior, mi_cmd_remove_inferior): New.
9947 (mi_cmd_execute): Handle the 'thread-group' option here.
9948 Do some extra checks.
9949 * mi-parse.c (mi_parse): Handle the --all and --thread-group
9951 * mi-parse.h (struct mi_parse): New fields all and thread_group.
9955 Make -exec-run a proper MI commands.
9957 * mi/mi-cmds.h (mi_cmd_exec_run): Declare.
9958 * mi/mi-cmds.c (mi_cmds): Adjust.
9959 * mi/mi-main.c (mi_cmd_exec_run): New.
9964 * tracepoint.h (set_traceframe_number)
9965 (cleanup_restore_current_traceframe): Declare.
9966 * tracepoint.c (set_traceframe_number): New.
9967 (struct current_traceframe_cleanup): New.
9968 (do_restore_current_traceframe_cleanup)
9969 (restore_current_traceframe_cleanup_dtor)
9970 (make_cleanup_restore_current_traceframe): New.
9971 * infrun.c: Include tracepoint.h.
9972 (fetch_inferior_event): Switch out and in of tfind mode.
9976 * breakpoint.c (breakpoint_init_inferior): Also delete
9977 bp_shlib_event breakpoints.
9978 * solib-frv.c (enable_break): Remove call to
9979 remove_solib_event_breakpoints.
9980 * solib-svr4.c (enable_break): Ditto.
9981 * solib-darwin.c (darwin_solib_create_inferior_hook): Ditto.
9982 * solib-pa64.c (pa64_solib_create_inferior_hook): Ditto.
9983 * solib-som.c (som_solib_create_inferior_hook): Ditto.
9984 * solib-spu.c (spu_enable_break): Ditto.
9988 * c-exp.y (token_and_value): s/union YYSTYPE/YYSTYPE.
9992 * varobj.c (varobj_update): Avoid non-constants in initializers.
9996 * dwarf2loc.c (read_pieced_value) <DWARF_VALUE_STACK>: Correctly
9997 handle big-endian values.
9998 (dwarf2_evaluate_loc_desc) <DWARF_VALUE_STACK>: Likewise.
10005 * breakpoint.c (insert_bp_location): If inserting the read
10006 watchpoint failed, fallback to an access watchpoint.
10007 (bpstat_check_watchpoint): Stop for read watchpoint triggers even
10008 if the value changed, if not watching the same memory for writes.
10009 (watchpoint_locations_match): Add comment.
10010 (update_global_location_list): Copy the location's watchpoint type.
10011 * i386-nat.c (i386_length_and_rw_bits): It's an internal error to
10012 handle read watchpoints here.
10013 (i386_insert_watchpoint): Read watchpoints aren't supported.
10014 * remote.c (remote_insert_watchpoint): Return 1 for unsupported
10016 * target.h (target_insert_watchpoint): Update description.
10020 * p-typeprint.c (pascal_type_print_varspec_prefix): Update.
10021 * m2-typeprint.c (m2_print_type): Update.
10022 * gdbtypes.c (recursive_dump_type): Update.
10023 (copy_type_recursive): Update.
10024 * c-typeprint.c (c_type_print_varspec_prefix): Update.
10025 (c_type_print_base): Update.
10026 * gdbtypes.h (TYPE_CODE_TEMPLATE, TYPE_CODE_TEMPLATE_ARG):
10028 (struct cplus_struct_type) <ntemplate_args>: Remove.
10029 <struct template_arg>: Remove.
10030 <is_dynamic>: Move earlier.
10031 (TYPE_TEMPLATE_ARGS): Remove.
10032 (TYPE_NTEMPLATE_ARGS): Remove.
10033 (TYPE_TEMPLATE_ARG): Remove.
10037 PR c++/8693, PR c++/9496:
10038 * cp-namespace.c (cp_lookup_nested_type): Handle TYPE_CODE_UNION.
10039 * c-exp.y (lex_one_token): Rename from yylex. Don't call
10040 write_dollar_variable. Don't try to classify NAME tokens.
10041 (token_and_value): New type.
10042 (token_fifo, popping, name_obstack): New globals.
10043 (classify_name): New function.
10044 (classify_inner_name): Likewise.
10046 (VARIABLE): Now has type sval.
10047 (exp : VARIABLE): Call write_dollar_variable.
10048 (qualified_name): Use TYPENAME, not typebase. Add production for
10049 multiple "::" instances.
10050 (variable): Use name_not_typename.
10051 (qualified_type): Remove.
10052 (typebase): Update.
10056 * symfile.c (addr_info_make_relative): Extend comment. Move SECT to
10057 a more inner block. Initialize ADDR by LOWER_OFFSET only if it was
10058 found by bfd_get_section_by_name.
10059 * symfile.h (struct section_addr_info) <sectindex>: New comment.
10063 * NEWS: Add new "[...] since 7.1" section. Rename the "[...] since
10064 7.0 section" into "Changes in 7.1".
10068 GDB 7.1 branch created (branch timestamp: 2010-02-18 20:00 UTC)
10069 * version.in: Bump version to 7.1.50.20100219-cvs.
10073 * mi/mi-main.c (mi_cmd_exec_jump): Drop unneeded `return'.
10074 * symfile.c (symfile_map_offsets_to_segments): Fix assertion.
10078 * NEWS: Add Python API Improvements section.
10082 * NEWS: Correct typo.
10086 * objfiles.c (gdb_bfd_ref): Handle abfd==NULL.
10090 * symfile.c (build_section_addr_info_from_objfile): Include sections
10091 only if they are SEC_ALLOC or SEC_LOAD.
10096 * solib-svr4.c (enable_break): Check size of CORE_ADDR instead
10097 of ULONGEST for address size.
10101 * NEWS: Add C++ improvements section.
10105 * python/python-internal.h [!WITH_THREAD] (PyGILState_Release,
10106 PyThreadState_Swap): Avoid "statement with no effect" warning.
10110 * solib-svr4.c (enable_break <target_auxv_search>): New variable
10111 addr_bit. Adjust LOAD_ADDR sign for cross-arch inferiors.
10116 * avr-tdep.c (avr_scan_prologue): Convert an if statement to a
10117 gdb_assert. Fix info->size for SIG prologue.
10121 * infcmd.c (show_inferior_tty_command): Check for NULL.
10122 Correct output message.
10126 * linespec.c (decode_line_1): Handle FILE:FUNCTION even if
10127 FUNCTION contains parentheses. Improve removal of a trailing
10132 * gcore.c (do_bfd_delete_cleanup): New function.
10133 (gcore_command): Use it. Discard the cleanup after success.
10134 (gcore_copy_callback): Delete dead code.
10138 * symfile.c (addr_info_make_relative): Always use
10139 find_lowest_section.
10143 * NEWS: Added entry for namespace fixes.
10147 * dwarf2read.c (guess_structure_name): Allocate name on the
10152 * c-typeprint.c (c_type_print_base): Reverse order of test.
10156 * solib-svr4.c (LM_ADDR_CHECK): New variable minpagesize. Optionally
10157 initialize it from ELF BFD. Extend the prelink condition by it.
10161 * defs.h (parse_pid_to_attach): New.
10162 * utils.c (parse_pid_to_attach): New.
10163 * darwin-nat.c (darwin_attach): Replace ARGS parsing by parse_pid.
10164 * gnu-nat.c (gnu_attach): Likewise.
10165 * nto-procfs.c (procfs_attach): Likewise.
10166 * procfs.c (procfs_attach): Likewise.
10167 * windows-nat.c (windows_attach): Likewise.
10168 * inf-ptrace.c (inf_ptrace_attach): Likewise. Remove variable dummy.
10169 * inf-ttrace.c (inf_ttrace_attach): Likewise.
10170 * remote.c (extended_remote_attach_1): Likewise. New comment on getpid
10175 * MAINTAINERS: Add myself for write after approval privileges.
10179 * solib-svr4.c: (LM_ADDR_CHECK): Move variable align to a more inner
10184 * solib-svr4.c: (LM_ADDR_CHECK): Print successful prelink adjustment
10185 only if INFO_VERBOSE.
10189 * mi/mi-main.c: Added the --reverse flag to the following MI
10190 commands: exec-continue, exec-finish, exec-next, exec-step,
10191 exec-next-instruction, exec-step-instruction. This is to
10192 support reverse execution over the MI interface to gdb.
10196 * tracepoint.c (_initialize_tracepoint): Specify that the address
10197 range of `tfind outsize' is exclusive, and that the address range
10198 of `tfind range' is inclusive, in the commands' help strings.
10202 Spurious "dll not found" error messages on x64-windows.
10203 * windows-nat.c: Add include of complaints.h.
10204 (handle_unload_dll): Change dll-not-found error into a complaint.
10208 * breakpoint.c (allocate_bp_location): Use bp_loc_other for
10209 bp_tracepoint and bp_fast_tracepoint, not
10210 bp_loc_software_breakpoint.
10211 (update_global_location_list): Tracepoints are never duplicates of
10216 * breakpoint.c (break_command_really): Change return type to int.
10217 Return false if no breakpoint was created, true otherwise.
10218 (trace_command): Don't set the tracepoint count if no tracepoint
10220 (ftrace_command): Ditto.
10221 (create_tracepoint_from_upload): Bail out if the tracepoint wasn't
10222 created in the breakpoints table.
10227 * solib-svr4.c (LM_ADDR_CHECK): New comment on PPC-aware condition.
10231 * ax-gdb.c (gen_exp_binop_rest) [BINOP_SUBSCRIPT]: Error out if
10232 the offset value isn't of integral type.
10236 * breakpoint.c (delete_breakpoint) <bpt->related_breakpoint != NULL>:
10241 * ax-gdb.c (gen_exp_binop_rest) [BINOP_SUBSCRIPT]: Error out on
10242 non-subscriptable types.
10243 * valarith.c (binop_types_user_defined_p): New, abstracted out
10245 (binop_user_defined_p): ... this.
10246 * value.h (binop_types_user_defined_p): Declare.
10250 * tracepoint.c (tfile_open): Remove spurious discard_cleanups.
10251 Merge uploaded TSVs before merging uploaded tracepoints.
10255 * ax-gdb.c (gen_deref): Don't allow dereferencing void pointers.
10259 * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals): Add extra
10260 whitespace character after a dot in comment.
10261 (mi_cmd_stack_list_arguments, mi_cmd_stack_list_variables):
10263 (list_args_or_locals): For the 'all' (that is
10264 -stack-list-variables) case, always output list of tuples.
10265 Output 'arg' field if variable is argument.
10269 * parser-defs.h (parser_debug): Declare.
10270 * parse.c (_initialize_parse): Install "debug parser" set/show
10272 (parser_debug): New global.
10273 (show_parserdebug): New function.
10274 * c-exp.y (c_parse): Set yydebug.
10278 * target-descriptions.c (tdesc_type): Add TDESC_TYPE_I387_EXT,
10279 TDESC_TYPE_I386_EFLAGS and TDESC_TYPE_I386_MXCSR.
10280 (tdesc_predefined_types): Add i387_ext, i386_eflags and
10282 (tdesc_find_type): New.
10283 (tdesc_gdb_type): Use tdesc_find_type. Handle TDESC_TYPE_I387_EXT,
10284 TDESC_TYPE_I386_EFLAGS and TDESC_TYPE_I386_MXCSR.
10286 * target-descriptions.h (tdesc_find_type): New.
10290 * gdb-gdb.py: Comment fix.
10294 * machoread.c (macho_symfile_relocate): New function.
10295 (macho_sym_fns): Use macho_symfile_relocate instead of
10296 default_symfile_relocate.
10297 (macho_oso_data): New type.
10298 (current_oso): New variable.
10299 (macho_add_oso_symfile): Do not compute section_addr_info, but
10300 instead set vma of sections.
10301 Do not set SYMFILE_VERBOSE to call symbol_file_add_from_bfd.
10302 Set and clear current_oso.
10306 Wrong type description for tagged type parameter.
10307 * ada-lang.c (ada_evaluate_subexp) [OP_VAR_VALUE]: When noside is
10308 EVAL_AVOID_SIDE_EFFECTS, also handle the case when type is a
10309 reference to a tagged type.
10313 * objfiles.c (objfile_separate_debug_iterate): Do not iterate on
10314 brothers of the parent.
10320 * valops.c (search_struct_field): Make 'name' const.
10321 (search_struct_method): Likewise.
10322 (find_method_list): Make 'method' const.
10323 (value_struct_elt): Make 'name' and 'err' const.
10324 (value_find_oload_method_list): Make 'method' const.
10325 (find_overload_match): Make 'name' const.
10326 * eval.c (evaluate_subexp_standard): New locals function,
10328 <OP_FUNCALL>: Handle OP_SCOPE specially.
10332 * infrun.c (handle_inferior_event): Do not look up regcache
10333 for exited processes.
10338 * valarith.c (value_ptrdiff): Added a test for a zero type length,
10339 warn if found, and assume length = 1.
10344 * cp-valprint.c (cp_print_value_fields) Fix use of obstacks.
10345 (cp_print_static_field) Fix use of obstacks.
10349 * linux-nat.c (linux_nat_resume): In non-stop, also only tag
10350 resumed LWPs as resumed.
10351 (linux_nat_wait_1): If there's no resumed LWP in the set of LWPs
10352 we're waiting for, bail out with TARGET_WAITKIND_IGNORE, instead
10353 of throwing an internal error. If an LWP of a process we're not
10354 waiting for reports a signal, don't force collecting a SIGSTOP,
10355 and if it was breakpoint hit in non-stop mode, cancel it. Don't
10356 go through all LWPs cancelling breakpoints in non-stop mode.
10357 (resume_stopped_resumed_lwps): New.
10358 (linux_nat_wait): Use it.
10362 * features/Makefile (WHICH): Add i386/i386, i386/i386-linux,
10363 i386/amd64 and i386/amd64-linux.
10364 (i386/i386-expedite): New.
10365 (i386/i386-linux-expedite): Likewise.
10366 (i386/amd64-expedite):Likewise.
10367 (i386/amd64-linux-expedite): Likewise.
10368 ($(outdir)/i386/i386-linux.dat): Likewise.
10369 ($(outdir)/i386/amd64.dat): Likewise.
10370 ($(outdir)/i386/amd64-linux.dat): Likewise.
10372 * features/i386/32bit-core.xml: New.
10373 * features/i386/32bit-linux.xml: Likewise.
10374 * features/i386/32bit-sse.xml: Likewise.
10375 * features/i386/64bit-core.xml: Likewise.
10376 * features/i386/64bit-linux.xml: Likewise.
10377 * features/i386/64bit-sse.xml: Likewise.
10378 * features/i386/i386-linux.xml: Likewise.
10379 * features/i386/i386.xml: Likewise.
10380 * features/i386/amd64-linux.xml: Likewise.
10381 * features/i386/amd64.xml: Likewise.
10382 * features/i386/i386-linux.c: Likewise.
10383 * features/i386/i386.c: Likewise.
10384 * features/i386/amd64-linux.c: Likewise.
10385 * features/i386/amd64.c: Likewise.
10390 * cp-support.h: Added char* alias element to using_direct data
10392 (cp_add_using): Added char* alias argument.
10393 (cp_add_using_directive): Ditto.
10394 * cp-namespace.c: Updated with the above changes.
10395 (cp_lookup_symbol_imports): Check for aliases.
10396 * dwarf2read.c (read_import_statement): Figure out local alias
10397 for the import and pass it on to cp_add_using.
10398 (read_namespace): Pass alias argument to cp_add_using.
10402 * defs.h (gdb_bfd_errmsg): New extern.
10403 * exec.c (exec_file_attach): Change bfd_errmsg to
10405 * utils.c (AMBIGUOUS_MESS1): New macro.
10406 (AMBIGUOUS_MESS2): New macro.
10407 (gdb_bfd_errmsg): New function.
10411 * solib-svr4.c (enable_break): Add comment.
10415 * moxie-tdep.c (moxie_analyze_prologue): Fail protocol analysis
10420 * valops.c (search_struct_field): Account for
10421 value_embedded_offset. Fix check for virtual base past the end of
10422 the object. Use value_copy when making a slice of the value.
10427 * tui/tui-interp.c (tui_init): Call tui_initialize_readline
10428 only if gdb_stdout is a tty.
10432 * target-descriptions.c: Include "osabi.h".
10433 (maint_print_c_tdesc_cmd): Generate set_tdesc_osabi for valid
10438 * machoread.c (macho_add_oso): Renamed to macho_register_oso.
10439 (macho_symtab_read): Adjust calls to macho_add_oso.
10440 (macho_oso_symfile): Renamed to macho_symfile_read_all_oso.
10441 (macho_symfile_read): Adjust call to macho_oso_symfile.
10442 (macho_new_init): Move this function after declarations.
10443 (macho_symfile_init): Ditto.
10444 * darwin-nat-info.c (darwin_lib_gdb_ports): Remove.
10445 * darwin-nat.c (darwin_lookup_task): Remove unused prototype.
10449 Include MI command in remotelog.
10451 * mi/mi-main.c (mi_execute_command): Call target_log_command.
10455 * remote.c (remote_state): Remove gdbarch.
10456 (init_remote_state): Don't set gdbarch.
10457 (remote_query_supported): Pass target_gdbarch instead of
10458 rs->gdbarch to gdbarch_qsupported.
10462 * gdbarch.sh: Add qsupported.
10464 * gdbarch.c: Regenerated.
10465 * gdbarch.h: Likewise.
10467 * remote.c (remote_state): Add gdbarch.
10468 (init_remote_state): Set gdbarch.
10469 (remote_query_supported): Support gdbarch_qsupported.
10473 * amd64fbsd-nat.c (amd64fbsd_supply_pcb): Also check for
10474 __FreeBSD_kernel_version.
10478 * symfile.h (struct sym_fns): Add sym_relocate field.
10479 (default_symfile_relocate): New prototype.
10480 (symfile_relocate_debug_section): First argument is now an objfile.
10481 * symfile.c (default_symfile_relocate): Rename from
10482 symfile_relocate_debug_section, first argument is now an objfile.
10483 (symfile_relocate_debug_section): New function.
10484 * coffread.c (coff_sym_fns): Set sym_relocate field.
10485 * somread.c (som_sym_fns): Ditto.
10486 * mipsread.c (ecoff_sym_fns): Ditto.
10487 * machoread.c (macho_sym_fns): Ditto.
10488 * elfread.c (elf_sym_fns): Ditto.
10489 * dwarf2read.c (dwarf2_read_section): Ditto.
10490 * xcoffread.c (xcoff_sym_fns): Ditto.
10491 * dbxread.c (aout_sym_fns): Ditto.
10492 (dbx_psymtab_to_symtab): Adjust call to symfile_relocate_debug_section.
10493 (elfstab_build_psymtabs): Ditto.
10497 * defs.h (MAX_REGISTER_SIZE): Increase to 32.
10501 * valops.c (value_cast_structs): Try downcasting using the RTTI
10506 * gnu-v2-abi.c: Don't include gnu-v2-abi.h.
10507 (gnuv2_baseclass_offset): Now static.
10508 * Makefile.in (HFILES_NO_SRCDIR): Remove gnu-v2-abi.h.
10509 * gnu-v2-abi.h: Remove.
10513 * m2-typeprint.c (m2_record_fields): Don't use
10514 TYPE_DECLARED_TYPE.
10515 * gdbtypes.h (TYPE_DECLARED_CLASS): New macro.
10516 (struct main_type) <flag_declared_class>: New field.
10517 (struct cplus_struct_type) <declared_type>: Remove.
10518 <ntemplate_args>: Move earlier.
10519 (DECLARED_TYPE_CLASS, DECLARED_TYPE_UNION, DECLARED_TYPE_STRUCT)
10520 (DECLARED_TYPE_TEMPLATE): Remove.
10521 (TYPE_DECLARED_TYPE): Remove.
10522 * gdbtypes.c (lookup_union): Don't use TYPE_DECLARED_TYPE.
10523 * dwarf2read.c (read_structure_type): Set TYPE_DECLARED_CLASS.
10524 * c-typeprint.c (c_type_print_base): Use TYPE_DECLARED_CLASS, not
10525 TYPE_DECLARED_TYPE.
10529 PR c++/11226, PR c++/9629, PR c++/9688, PR c++/8890:
10530 * valops.c (search_struct_field): Compute nbases after calling
10532 (check_field): Call CHECK_TYPEDEF.
10533 * cp-valprint.c (cp_print_value): Pass correct address to
10534 baseclass_offset. Fix check for virtual base past the end of the
10535 object. Don't offset address passed to cp_print_value_fields or
10536 apply_val_pretty_printer.
10537 (cp_print_value_fields): Fix call to val_print.
10538 (cp_print_value_fields_rtti): New function.
10539 * c-valprint.c (c_val_print): Use cp_print_value_fields_rtti.
10540 * p-valprint.c (pascal_object_print_value_fields): Fix call to
10542 * python/py-prettyprint.c (apply_val_pretty_printer): Add embedded
10544 * language.h (struct language_defn) <la_val_print>: Document.
10545 * c-lang.h (cp_print_value_fields_rtti): Declare.
10550 * linux-low.c (linux_tracefork_child) [!(__UCLIBC__ && HAS_NOMMU)]: New.
10551 (linux_test_for_tracefork): Move `stack' into [__UCLIBC__ && HAS_NOMMU].
10552 (linux_test_for_tracefork) [!(__UCLIBC__ && HAS_NOMMU)]: New.
10557 * i386-tdep.c (i386_frame_cache): Assume valid anonymous
10558 functions use a frame pointer.
10562 * solib-svr4.c (scan_dyntag): New variable dyn_addr. Replace gdb_assert
10563 by a conditional setting DYN_ADDR. Use DYN_ADDR.
10564 * config/djgpp/fnchange.lst: Add translations for
10565 symbol-without-target_section.exp and symbol-without-target_section.c.
10569 * gdbarch.sh: Set LANG and LC_ALL to C, not c.
10570 (remote_breakpoint_for_pc): Correct invalid_p check.
10571 * gdbarch.c: Regenerated.
10575 * arm-tdep.c (arm_find_mapping_symbol): New function, from
10577 (arm_pc_is_thumb): Use arm_find_mapping_symbol.
10578 (extend_buffer_earlier): New function.
10579 (MAX_IT_BLOCK_PREFIX, IT_SCAN_THRESHOLD): New constants.
10580 (arm_adjust_breakpoint_address): New function.
10581 (arm_gdbarch_init): Register arm_adjust_breakpoint_address.
10585 * arm-linux-tdep.c (arm_linux_thumb2_be_breakpoint)
10586 (arm_linux_thumb2_le_breakpoint): New constants.
10587 (arm_linux_init_abi): Set thumb2_breakpoint and
10588 thumb2_breakpoint_size.
10589 * arm-tdep.c (thumb_insn_size, thumb_advance_itstate): New functions.
10590 (thumb_get_next_pc): Add a comment. Rename IT to ITSTATE.
10591 Implement support for single stepping through IT blocks if
10592 a 32-bit Thumb breakpoint instruction is available.
10593 (arm_breakpoint_from_pc): If a 32-bit Thumb breakpoint instruction
10594 is available, use it when needed.
10595 (arm_remote_breakpoint_from_pc): New function.
10596 (arm_gdbarch_init): Register arm_remote_breakpoint_from_pc.
10597 * arm-tdep.h (struct gdbarch_tdep): Correct thumb_breakpoint
10598 comment. Add thumb2_breakpoint and thumb2_breakpoint_size.
10602 * arch-utils.c (default_remote_breakpoint_from_pc): New function.
10603 * arch-utils.h (default_remote_breakpoint_from_pc): Declare.
10604 * gdbarch.c, gdbarch.h: Regenerated.
10605 * gdbarch.sh (remote_breakpoint_from_pc): New architecture method.
10606 * remote.c (remote_insert_breakpoint, remote_insert_hw_breakpoint): Use
10607 gdbarch_remote_breakpoint_from_pc.
10611 * infrun.c (prepare_to_proceed): Handle other signals which might
10612 match a breakpoint.
10613 (handle_inferior_event): Move the check for unusual breakpoint
10618 amd64 - function returning record with field straddling 2 registers.
10619 * amd64-tdep.c (amd_classify_aggregate): Handle the case of
10620 a record of length <= 16 in which a field straddles the two
10625 Implement return values on amd64-windows.
10626 * amd64-windows-tdep.c: #include gdbcore.h and regcache.h.
10627 (amd64_windows_return_value): New function.
10628 (amd64_windows_init_abi): Call set_gdbarch_return_value with
10629 amd64_windows_return_value.
10633 amd64-windows: 32 bytes allocated on stack by caller for integer
10634 parameter registers.
10635 * i386-tdep.h (struct gdbarch_tdep): Add new field
10636 integer_param_regs_saved_in_caller_frame.
10637 * amd64-windows-tdep.c (amd64_windows_init_abi): Set
10638 tdep->integer_param_regs_saved_in_caller_frame to 1.
10639 * amd64-tdep.c (amd64_push_dummy_call): Allocate some memory on
10640 stack if tdep->integer_param_regs_saved_in_caller_frame is set.
10644 amd64-windows: memory args passed by pointer during function calls.
10645 * i386-tdep.h (gdbarch_tdep): Add field memory_args_by_pointer.
10646 * amd64-tdep.c (amd64_push_arguments): Add handling of architectures
10647 where tdep->memory_args_by_pointer is non-zero.
10648 * amd64-windows-tdep.c (amd64_windows_init_abi): Set
10649 tdep->memory_args_by_pointer to 1.
10653 amd64-windows: Integer parameters in function calls.
10654 * i386-tdep.h (enum amd64_reg_class): New, moved here from
10656 (struct gdbarch_tdep): Add fields call_dummy_num_integer_regs,
10657 call_dummy_integer_regs, and classify.
10658 * amd64-tdep.h (amd64_classify): Add declaration.
10659 * amd64-tdep.c (amd64_dummy_call_integer_regs): New static constant.
10660 (amd64_reg_class): Delete, moved to i386-tdep.h.
10661 (amd64_classify): Make non-static. Move declaration to amd64-tdep.h.
10662 Replace call to amd64_classify by call to tdep->classify.
10663 (amd64_push_arguments): Get the list of registers to use for
10664 passing integer parameters from the gdbarch tdep structure,
10665 rather than using a hardcoded one. Replace calls to amd64_classify
10666 by calls to tdep->classify.
10667 (amd64_push_dummy_call): Get the register number used for
10668 the "hidden" argument from tdep->call_dummy_integer_regs.
10669 (amd64_init_abi): Initialize tdep->call_dummy_num_integer_regs
10670 and tdep->call_dummy_integer_regs. Set tdep->classify.
10671 * amd64-windows-tdep.c: Add include of gdbtypes.h.
10672 (amd64_windows_dummy_call_integer_regs): New static global.
10673 (amd64_windows_classify): New function.
10674 (amd64_windows_init_abi): Initialize tdep->call_dummy_num_integer_regs
10675 tdep->call_dummy_integer_regs and tdep->classify.
10679 * regcache.c (regcache_xmalloc): Add aspace argument. Use it
10680 for the new regcache. All callers updated.
10681 (regcache_cpy, regcache_cpy_no_passthrough): Do not set aspace here.
10682 (get_thread_arch_regcache): Do not set aspace here.
10683 * regcache.h (regcache_xmalloc): Update declaration.
10685 * frame.c, infcall.c, ppc-linux-tdep.c: Calls to
10686 regcache_xmalloc updated.
10690 Another -Wunused-function error in procfs.c (sparc-solaris)
10691 * procfs.c (insert_dbx_link_breakpoint): Delete declaration. Move up.
10692 Only define if SYS_syssgi is defined.
10693 (remove_dbx_link_breakpoint): Delete declaration. Move up.
10694 (dbx_link_addr, insert_dbx_link_bpt_in_file)
10695 (insert_dbx_link_bpt_in_region): Move up. Only define if SYS_syssgi
10700 * windows-nat.c (windows_initialization_done): New variable.
10701 (get_windows_debug_event): Issue error when process dies before
10702 completely initializing.
10703 (do_initial_windows_stuff): Set flag to indicate when we are done with
10704 the initial steps of attaching to the child.
10708 * symtab.h (struct symbol <symtab>): New comment on NULL values.
10712 * solib-svr4.c (solib_break_names): Add __dl_rtld_db_dlactivity.
10714 * breakpoint.c (bpstat_stop_status): Delete useless code.
10718 * printcmd.c (display_uses_solib_p): Remove variable section. Access
10719 objfile via SYMBOL_SYMTAB.
10724 * eval.c (evaluate_subexp_for_address) <UNOP_IND>: Call
10725 coerce_array on result.
10729 * cp-namespace.c (cp_lookup_symbol_namespace): Added
10730 search_parent argument.
10731 (cp_add_using): Initialize 'searched' field.
10732 (reset_directive_searched): New function.
10733 * cp-support.h: Add 'searched' field to using_direct struct.
10734 (cp_lookup_symbol_imports): Ditto.
10735 * cp-namespace.c (cp_lookup_symbol_imports): Ditto.
10736 Perform recursive search.
10737 Implement non parent search.
10738 * valops.c (value_maybe_namespace_elt): Updated.
10743 * dwarf2read.c (read_lexical_block_scope): Create blocks for
10744 scopes which contain using directives even if they contain no
10746 * symtab.c (lookup_symbol_aux): Pass lowest level block to
10747 la_lookup_symbol_nonlocal.
10748 * cp-namespace.c (cp_lookup_symbol_nonlocal): call
10749 cp_lookup_symbol_namespace.
10750 (cp_lookup_symbol_namespace): Perform an import lookup at every
10752 (cp_lookup_symbol_imports): New function.
10753 (cp_lookup_symbol_in_namespace): New function.
10758 * c-valprint.c (c_val_print): Fix test of extract_unsigned_integer
10763 * configure.ac: Only use host_os part when disabling TUI on osf.
10764 Use test to check variables, prefix strings with x.
10765 * configure: Regenerate.
10767 * solib-osf.c (osf_current_sos): Initialize tail.
10771 * windows-nat.c (windows_continue): Use %x to print thread id.
10772 (get_windows_debug_event): Ditto.
10777 * dwarf2read.c (quirk_gcc_member_function_pointer): Change return
10778 type and arguments. Use smash_to_methodptr_type.
10779 (read_structure_type): Call quirk_gcc_member_function_pointer
10781 * gdbtypes.h (smash_to_methodptr_type): Declare.
10782 * gdbtypes.c (smash_to_methodptr_type): New function.
10783 (lookup_methodptr_type): Use it.
10788 * symtab.h (lookup_minimal_symbol_and_objfile): Declare.
10789 * minsyms.c (lookup_minimal_symbol_and_objfile): New function.
10790 * glibc-tdep.c (find_minsym_and_objfile): Remove.
10791 (glibc_skip_solib_resolver): Use
10792 lookup_minimal_symbol_and_objfile.
10796 * inflow.c (check_syscall): Guard by #if clause for GO32 and
10801 PR backtrace/10770:
10802 * valarith.c (value_binop): Handle BINOP_GTR, BINOP_LEQ, and
10803 BINOP_GEQ. Handle BINOP_NOTEQUAL in the signed case.
10804 * dwarf2expr.c (new_dwarf_expr_context): Allocate
10805 dwarf_stack_values, not CORE_ADDRs.
10806 (execute_stack_op): Change DW_OP_div and comparison operators to
10807 use signed operands.
10811 Per-inferior args and tty and environment.
10813 * infcmd.c (inferior_args): Rename to ...
10814 (inferior_args_scratch): ... this.
10815 (inferior_io_terminal): Rename to ...
10816 (inferior_io_terminal_scratch): ... this.
10817 (inferior_argc, inferior_argv): Remove.
10818 (set_inferior_io_terminal, get_inferior_io_terminal): Store
10819 inside current_inferior().
10820 (set_inferior_tty_command, show_inferior_tty_command): New.
10821 (get_inferior_args, set_inferior_args): Store inside
10822 current_inferior().
10823 (notice_args_set): Likewise and rename to...
10824 (set_args_command): ... this.
10825 (set_inferior_args_vector): Likewise.
10826 (notice_args_read): Rename to...
10827 (show_args_command): ...new.
10828 (tty_command): Remove.
10829 (run_command_1): Don't free old args, as they are freed by
10830 set_inferior_arg now.
10831 (run_no_args_command): Likewise.
10832 (inferior_environ): Remove.
10833 (run_command_1): Use environment of the current inferior.
10834 (environment_info, set_environment_command)
10835 (unset_environment_command, path_info, path_command): Likewise.
10836 (_initialize_infcmd): Adjust for function and variable renames.
10837 Do not init inferior_environ.
10838 * inferior.h (set_inferior_arg): Adjust prototype.
10839 (struct inferior): New fields args, argc, argv, terminal, environment.
10840 (inferior_environ): Remove declaration.
10841 * inferior.c (free_inferior): Free new fields.
10842 (add_inferior_silent): Initialize 'environment' field.
10843 * main.c (captured_main): Set arguments only after the initial
10844 inferior has been created. Set set_inferior_io_terminal,
10846 * mi/mi-main.c (mi_cmd_env_path): Use environment of the current
10848 (_initialize_mi_cmd_env): Adjust for disappearance of global
10850 * solib.c (solib_find): Use environment of the current inferior.
10854 * varobj.c (varobj_add_child, install_dynamic_child): Wrap into #if
10856 (instantiate_pretty_printer): Move HAVE_PYTHON outside of the function.
10860 Get rid of ada-lang.c:function_name_from_pc.
10861 * ada-lang.c: Add "stack.h" #include.
10862 (function_name_from_pc): Delete.
10863 (is_known_support_routine): Replace call to function_name_from_pc
10864 by call to find_frame_funname.
10865 (ada_unhandled_exception_name_addr_from_raise): Likewise.
10870 * dwarf2read.c (read_partial_die): Allocate partial DIE's name on
10875 * top.c (stop_sig, float_handler, do_nothing): Remove.
10879 * breakpoint.c (watchpoint_check): Check the call
10880 gdbarch_in_function_epilogue_p before calling frame_find_by_id.
10881 Extend the comment.
10882 * config/djgpp/fnchange.lst: Add translations for
10883 watchpoint-cond-gone.exp, watchpoint-cond-gone.c and
10884 watchpoint-cond-gone-stripped.c.
10889 * dwarf2read.c (partial_die_parent_scope): Put enumeration type
10890 into parent scope, and enumerator into grandparent scope.
10894 * NEWS: Add entry for "set/show ada trust-PAD-over-XVS" commands.
10898 * configure.host: Make x86_64-*-solaris2.1[0-9]* an alias of
10899 i[34567]86-*-solaris2.1[0-9]*.
10900 * configure.tgt: Likewise.
10904 * NEWS: Document the source command enhancement allowing it
10905 to load Python scripts. Document the "set/show script-extension"
10910 Add -Wunused-function to compile flags.
10911 * configure.ac: Add -Wunused-function to build_warnings.
10912 * configure: Regenerate.
10916 "delete" ada-lex.c:input function, not used.
10917 * ada-lex.l: #define YY_NO_INPUT.
10921 Delete free_named_symtabs and associated cleanup.
10922 * symfile.h (free_named_symtabs): Delete declaration.
10923 * symfile.c: Remove some commented out code (clear_symtab_users_once).
10924 (cashier_psymtab): Comment function out.
10925 Delete declaration.
10926 (free_named_symtabs): Delete.
10927 * coffread.c (coff_end_symtab): Remove call to free_named_symtabs.
10928 * dbxread.c (end_psymtab): Likewise.
10929 * dwarf2read.c (process_psymtab_comp_unit): Ditto.
10930 * exec.c (exec_close_1): Ditto.
10931 * xcoffread.c (xcoff_end_psymtab): Likewise.
10935 * stack.c (print_block_frame_labels): Comment function out.
10939 Delete unused or undefined functions.
10940 * breakpoint.c (ep_parse_optional_filename): Delete.
10941 * dcache.c (dcache_write_line): Remove declaration.
10942 * infrun.c (build_infrun): Remove declaration.
10943 * tracepoint.c (tracepoint_save_command): Remove declaration.
10944 * linux-nat.c (init_lwp_list): Delete. No longer used.
10945 * event-loop.c (check_async_signal_handlers): Delete declaration.
10946 * infrun.c (init_execution_control_state): Delete.
10947 (proceed): Update comment to avoid mentioning
10948 init_execution_control_state.
10949 * target.c (kill_or_be_killed, nosupport_runtime): Delete.
10950 * ada-lang.c (ada_to_static_fixed_value): Delete.
10951 * scm-lang.c (evaluate_subexp_scm): Delete declaration.
10952 * cp-namespace.c (cp_copy_usings): Delete.
10953 * xml-syscall.c (xml_number_of_syscalls): Delete.
10954 * progspace.c (find_program_space_by_num): Delete.
10955 * inflow.c (handle_sigio): Delete declaration.
10956 * hppa-tdep.c (hppa_alignof): Delete.
10957 * mipsnbsd-tdep.c (mipsnbsd_sigtramp_offset)
10958 (mipsnbsd_core_osabi_sniffer): Delete.
10963 * c-exp.y (REINTERPRET_CAST, DYNAMIC_CAST, STATIC_CAST)
10964 (CONST_CAST): New tokens.
10965 (exp): Add new productions.
10966 (ident_tokens): Add const_cast, dynamic_cast, static_cast, and
10968 (is_cast_operator): New function.
10969 (yylex): Handle cast operators specially.
10970 * eval.c (evaluate_subexp_standard) <UNOP_DYNAMIC_CAST,
10971 UNOP_REINTERPRET_CAST>: New cases.
10972 * expprint.c (print_subexp_standard): Likewise.
10973 (op_name_standard): Likewise.
10974 (dump_subexp_body_standard): Likewise.
10975 * parse.c (operator_length_standard): Likewise.
10976 * expression.h (enum exp_opcode): New constants UNOP_DYNAMIC_CAST,
10977 UNOP_REINTERPRET_CAST.
10978 * gdbtypes.c (class_types_same_p): New function.
10979 (is_ancestor): Use it.
10980 (is_public_ancestor): New function.
10981 (is_unique_ancestor_worker): Likewise.
10982 (is_unique_ancestor): Likewise.
10983 * gdbtypes.h (class_types_same_p, is_public_ancestor)
10984 (is_unique_ancestor): Declare.
10985 * valops.c (value_reinterpret_cast): New function.
10986 (dynamic_cast_check_1): Likewise.
10987 (dynamic_cast_check_2): Likewise.
10988 (value_dynamic_cast): Likewise.
10989 * value.h (value_reinterpret_cast, value_dynamic_cast): Declare.
10993 Fix build failure when building without Python support.
10994 * python/python.c: Always include exceptions.h, even when HAVE_PYTHON
10999 Use XVS field type instead of doing a parallel lookup.
11000 * ada-lang.c (ada_get_base_type): Follow the XVS field type
11001 if it is a reference type instead of doing a type lookup using
11002 the XVS field name.
11006 Trust PAD types instead of using PAD___XVS.
11007 * ada-lang.c (trust_pad_over_xvs): New static variable.
11008 (ada_is_aligner_type): If !trust_pad_over_xvs and there is a
11009 parallel XVS type, follow the XVS type instead of the PAD type.
11010 (unwrap_value): Make sure that there is no parallel XVE type
11011 before returning the value as is.
11012 (set_ada_list, show_ada_list): New static variables.
11013 (set_ada_command, show_ada_command): New functions.
11014 (_initialize_ada_language): Add new "set/show ada" prefix commands.
11015 Add new "set/show ada trust-PAD-over-XVS" setting.
11020 Allow "source" to load python scripts.
11021 * exceptions.h (enum errors): Add UNSUPPORTED_ERROR.
11022 * python/python.c (source_python_script): New function.
11023 * python/python.h (source_python_script): Add declaration.
11024 * cli/cli-cmds.c: #include exceptions.h and python/python.h.
11025 (script_ext_off, script_ext_soft, script_ext_strict)
11026 (script_ext_enums, script_ext_mode): New static constants.
11027 (show_script_ext_mode, find_and_open_script): New functions.
11028 (source_script): Enhance to handle Python scripts.
11029 (init_cli_cmds): Add set/show script-extension commands.
11033 * tracepoint.h (struct trace_status): Use unsigned long long
11035 * tracepoint.c (trace_status_command): Fix printf directive.
11036 (trace_save_command): Check fwrite returns, fix printf directive.
11037 (trace_filename): New global.
11038 (tfile_open): Set it, check read returns.
11039 (tfile_close): Free trace_filename.
11040 (tfile_get_traceframe_address): Check read returns.
11041 (tfile_trace_find): Ditto.
11042 (tfile_fetch_registers): Ditto.
11043 (tfile_xfer_partial): Ditto.
11044 (tfile_get_trace_state_variable_value): Ditto.
11048 Add trace file support.
11049 * tracepoint.h (enum trace_stop_reason): New enum.
11050 (struct trace_status): New struct.
11051 (parse_trace_status): Declare.
11052 (struct uploaded_tp): Move here from remote.c,
11053 add fields for actions.
11054 (struct uploaded_tsv): New struct.
11055 * tracepoint.c (tfile_ops): New target vector.
11056 (trace_fd): New global.
11057 (tfile_open): New function.
11058 (tfile_close): New function.
11059 (tfile_files_info): New function.
11060 (tfile_get_trace_status): New function.
11061 (tfile_get_traceframe_address): New function.
11062 (tfile_trace_find): New function.
11063 (tfile_fetch_registers): New function.
11064 (tfile_xfer_partial): New function.
11065 (tfile_get_trace_state_variable_value): New function.
11066 (init_tfile_ops): New function.
11067 (_initialize_tracepoint): Call it, add tfile target.
11068 (trace_status): New global.
11069 (current_trace_status): New function.
11070 (trace_running_p): Remove, change all users to get from
11071 current_trace_status()->running.
11072 (get_trace_status): Remove.
11073 (trace_status_command): Call target_get_trace_status directly,
11074 report more detail including tracing stop reasons.
11075 (trace_find_command): Always allow tfind on a file.
11076 (trace_find_pc_command): Ditto.
11077 (trace_find_tracepoint_command): Ditto.
11078 (trace_find_line_command): Ditto.
11079 (trace_find_range_command): Ditto.
11080 (trace_find_outside_command): Ditto.
11081 (trace_frames_offset, cur_offset): Declare as off_t.
11082 (trace_regblock_size): Rename from reg_size, update users.
11083 (parse_trace_status): New function.
11084 (tfile_interp_line): New function.
11085 (disconnect_or_stop_tracing): Ensure current trace
11086 status before asking what to do.
11087 (stop_reason_names): New global.
11088 (trace_save_command): New command.
11089 (get_uploaded_tp): Move here from remote.c.
11090 (find_matching_tracepoint): Ditto.
11091 (merge_uploaded_tracepoints): New function.
11092 (parse_trace_status): Use stop_reason_names.
11093 (_initialize_tracepoint): Define tsave command.
11094 * target.h (target_ops): New fields to_save_trace_data,
11095 to_upload_tracepoints, to_upload_trace_state_variables,
11096 to_get_raw_trace_data, change to_get_trace_status
11097 to take a pointer to a status struct.
11098 (target_save_trace_data): New macro.
11099 (target_upload_tracepoints): New macro.
11100 (target_upload_trace_state_variables): New macro.
11101 (target_get_raw_trace_data): New macro.
11102 * target.c (update_current_target): Add new methods, change
11103 signature of to_get_trace_status.
11104 * remote.c (hex2bin): Make globally visible.
11106 (remote_download_trace_state_variable): Download name also.
11107 (remote_get_trace_status): Update parameter, use
11108 parse_trace_status.
11109 (remote_save_trace_data): New function.
11110 (remote_upload_tracepoints): New function.
11111 (remote_upload_trace_state_variables): New function.
11112 (remote_get_raw_trace_data): New function.
11113 (remote_start_remote): Use them.
11114 (_initialize_remote_ops): Add operations.
11115 * ax-gdb.c: Include breakpoint.h.
11116 * breakpoint.c (create_tracepoint_from_upload): Use
11117 break_command_really, return tracepoint, warn about unimplemented
11119 * NEWS: Mention trace file addition.
11123 Fix compilation warning on gcc-3.4.
11124 * exec.c (print_section_info): Move the `displacement' variable
11125 initialization to its declaration.
11129 * gdb-gdb.py (StructMainTypePrettyPrinter): Fix TYPE_CODE_RANGE
11134 "info tasks" broken by typedefs in ATCB type definitions.
11135 * ada-lang.c (ada_template_to_fixed_record_type_1): Add call to
11136 ada_check_typedef before retrieving the length of the type for
11141 Do not use name-based lookup for unconstrained packed arrays.
11142 * ada-lang.c (find_parallel_type_by_descriptive_type):
11143 Limit the fallback to name-based lookups to the case where
11144 the type is a constrained packed array.
11148 Enhance gdb-gdb.py to handle main_type.type_specific.
11149 * gdb-gdb.py: Print the type-specific part of struct main_type.
11153 * configure.ac (AC_CHECK_FUNCS): Check for setrlimit and getrlimit.
11154 * configure: Regenerate.
11155 * config.in: Regenerate.
11156 * utils.c: Include sys/resource.h.
11157 (dump_core, can_dump_core): New.
11158 (internal_vproblem): Update the comment. Check can_dump_core while
11159 setting dump_core_p. Replace two abort calls by dump_core calls.
11164 * NEWS: Document the PIE support.
11168 * linux-tdep.c: Remove includes gdbcore.h, observer.h and elf-bfd.h.
11169 (check_is_pie_binary, _initialize_linux_tdep): Remove.
11173 * solib-svr4.c (svr4_exec_displacement): New comment for entry_point.
11174 Replace exec_entry_point call by bfd_get_start_address.
11178 Support Valgrind attachments broken by the PIE support.
11179 * auxv.c: Include gdbcore.h.
11180 (procfs_xfer_auxv): Make static. Reduce its comment. Drop its
11181 parameters ops, object and annex. Remove their assertions.
11182 (ld_so_xfer_auxv, memory_xfer_auxv): New function.
11183 * auxv.h (procfs_xfer_auxv): Remove comment. Rename to ...
11184 (memory_xfer_auxv): ... here.
11185 * linux-nat.c (linux_xfer_partial): Rename procfs_xfer_auxv to
11187 * procfs.c (procfs_xfer_partial): Likewise.
11188 * solib-svr4.c (svr4_relocate_main_executable): New prototype.
11189 (svr4_special_symbol_handling): Call svr4_relocate_main_executable.
11190 (svr4_solib_create_inferior_hook): Conditionalize the
11191 svr4_relocate_main_executable call.
11195 * solib-svr4.c (scan_dyntag): Remove variable dyn_addr. New variable
11196 target_section. Find SECT in current_target_sections, gdb_assert it.
11197 (elf_lookup_lib_symbol): Pass the binary file if given symfile_objfile.
11199 * symtab.c (lookup_objfile_from_block): Return the binary file instead
11200 of separate debug info file.
11204 Support PIEs with no symfile_objfile.
11205 * exec.c (print_section_info <abfd == exec_bfd>): Relocate Entry point.
11206 * solib-svr4.c (svr4_relocate_main_executable <exec_bfd>): New block.
11210 * solib-svr4.c (svr4_relocate_main_executable): Move the static exec
11212 (svr4_static_exec_displacement): ... a new function.
11213 (svr4_exec_displacement): New function.
11214 (svr4_relocate_main_executable): Call svr4_exec_displacement. Allocate
11215 new_offsets using alloca now. Remove variable old_chain and changed.
11216 Call objfile_relocate unconditionally now.
11220 * gdbtypes.c (arch_flags_type): Fix comment.
11221 * gdbtypes.h (arch_composite_type): Fix comment.
11225 * machoread.c (macho_add_oso_symfile): Add symfile_flags parameter.
11226 Call xstrdup for abfd->filename. Pass symfile_flags and objfile flags
11227 to symbol_file_add_from_bfd. Add OSO as separate objfile.
11228 (macho_oso_symfile): Add symfile_flags parameter. Pass it to
11229 macho_add_oso_symfile.
11230 (macho_symfile_read): Pass symfile_flags to macho_oso_symfile.
11234 Tru64: Dead threads are never deleted.
11235 * dec-thread.c (dec_thread_ptid_is_alive): New function.
11236 (dec_thread_count_gdb_threads): Fix counter increment.
11237 (dec_thread_add_gdb_thread): Fix *listp increment.
11238 (resync_thread_list): Fix bug in deletion of dead threads that
11239 caused all threads to be deleted, instead of just the dead ones.
11245 * python/python-internal.h: Add lazy_string_object_type
11247 (create_lazy_string_object, gdbpy_initialize_lazy_string)
11248 (gdbpy_is_lazystring, gdbpy_extract_lazy_string): Define.
11249 * python/py-value.c (valpy_lazy_string): New function.
11250 (convert_value_from_python): Add lazy string conversion.
11251 * python/py-prettyprint.c (pretty_print_one_value): Check if
11252 return is also a lazy string.
11253 (print_string_repr): Add lazy string printing branch.
11254 (print_children): Likewise.
11255 * python/py-lazy-string.c: New file. Implement lazy strings.
11256 * python/python.c (_initialize_python): Call
11257 gdbpy_initialize_lazy_string.
11258 * varobj.c (value_get_print_value): Add lazy string printing
11259 branch. Account for encoding.
11260 * c-lang.c (c_printstr): Account for new encoding argument. If
11261 encoding is NULL, find encoding suited for type, otherwise use
11263 * language.h (language_defn): Add encoding argument.
11264 (LA_PRINT_STRING): Likewise.
11265 * language.c (unk_lang_printstr): Update to reflect new encoding
11266 argument to language_defn.
11267 * ada-lang.h (ada_printstr): Likewise.
11268 * c-lang.h (c_printstr): Likewise.
11269 * p-lang.h (pascal_printstr);
11270 * f-lang.c (f_printstr): Likewise.
11271 * m2-lang.c (m2_printstr): Likewise.
11272 * objc-lang.c (objc_printstr): Likewise.
11273 * p-lang.c (pascal_printstr): Likewise.
11274 * scm-lang.c (scm_printstr): Likewise.
11275 * c-valprint.c (c_val_print): Update LA_PRINT_STRING call for
11277 * ada-valprint.c (ada_printstr): Likewise.
11278 * f-valprint.c (f_val_print): Likewise
11279 * m2-valprint.c (m2_val_print): Likewise.
11280 * p-valprint.c (pascal_val_print): Likewise.
11281 * expprint.c (print_subexp_standard): Likewise.
11282 * valprint.c (val_print_string): Likewise.
11283 * Makefile.in (SUBDIR_PYTHON_OBS): Add py-lazy-string.
11284 (SUBDIR_PYTHON_SRCS): Likewise.
11285 (py-lazy-string.o): New rule.
11289 * mi/mi-main.c (list_available_thread_groups): Avoid "may be used
11290 uninitialized" warning from gcc on local `tree'.
11294 Implement core awareness.
11296 * bcache.c (compare_ints): Remove
11297 (print_percentage): Use compare_positive_ints.
11298 * defs.h (compare_positive_ints): Declare.
11299 * linux-nat.h (struct lin_lwp): New field core.
11300 (linux_nat_core_of_thread_1): Declare.
11301 * linux-nat.c (add_lwp): Init the 'core' field.
11302 (linux_nat_wait_1): Record the core.
11303 (linux_nat_core_of_thread_1, linux_nat_core_of_thread): New.
11304 (linux_nat_add_target): Register the above.
11305 * linux-thread-db.c (update_thread_core): New.
11306 (thread_db_find_new_threads): Update core information for
11308 * remote.c (struct private_thread_info): New.
11309 (free_private_thread_info, demand_private_info): New.
11310 (PACKET_qXfer_threads, use_osdata_threads): New.
11311 (struct thread_item, threads_parsing_context
11312 (start_thread, end_thread, thread_attributes)
11313 (thread_children, threads_children, threads_elements): New.
11314 (remote_threads_info): Try qXfer:threads before anything
11316 (remote_protocol_packets): Register qXfer:threads.
11317 (remote_open_1): Init use_osdata_threads.
11318 (struct stop_reply): New field 'core'.
11319 (remote_parse_stop_reply): Parse core number.
11320 (process_stop_reply): Record core number.
11321 (remote_xfer_partial): Handle qXfer:threads.
11322 (remote_core_of_thread): New.
11323 (init_remote_ops): Register remote_core_of_thread.
11324 (_initialize_remote): Register qXfer:read.
11325 * target.c (target_core_of_thread): New
11326 * target.h (enum target_object): New value TARGET_OBJECT_THREADS.
11327 (struct target_ops): New field to_core_of_threads.
11328 (target_core_of_thread): Declare.
11329 * gdbthread.h (struct thread_info): New field private_dtor.
11330 * thread.c (print_thread_info): Report the core.
11331 * ui-out.c (MAX_UI_OUT_LEVELS): Increase.
11332 * utils.c (compare_positive_ints): New.
11333 * features/threads.dtd: New.
11334 * mi/mi-interp.c (mi_on_normal_stop): Report the core.
11335 * mi/mi-main.c (struct collect_cores_data, collect_cores)
11336 (do_nothing, free_vector_of_osdata_items)
11337 (splay_tree_int_comparator, free_splay_tree): New.
11338 (print_one_inferior_data): Implemented printing of selected
11339 inferiors. Collect and print cores.
11340 (output_cores): New.
11341 (mi_cmd_list_thread_groups): Support --recurse. Permit specifying
11342 thread groups together with --available.
11346 * configure: Regenerate (for _STRUCTURED_PROC).
11350 Delete dead function.
11351 * ada-lang.c (extract_string): Delete. No longer used.
11355 Fix -Wunused warning in dec-thread.c.
11356 * dec-thread.c (dec_thread_count_gdb_threads)
11357 (dec_thread_add_gdb_thread): Prevent -Wunused warning.
11361 * ada-valprint.c (ada_print_floating): Remove trailing space.
11365 Add support for DW_AT_GNAT_descriptive_type.
11366 * gdbtypes.h (enum type_specific_kind): New enum.
11367 (struct main_type) [type_specific_field]: New component.
11368 [type_specific]: Add new component "gnat_stuff".
11369 (struct gnat_aux_type): New type.
11370 (INIT_CPLUS_SPECIFIC): Also set TYPE_SPECIFIC_FIELD (type).
11371 (HAVE_CPLUS_STRUCT): Also check TYPE_SPECIFIC_FIELD (type).
11372 (gnat_aux_default, allocate_gnat_aux_type): Add declaration.
11373 (INIT_GNAT_SPECIFIC, ALLOCATE_GNAT_AUX_TYPE, HAVE_GNAT_AUX_INFO)
11374 (TYPE_SPECIFIC_FIELD): New macros.
11375 (TYPE_CPLUS_SPECIFIC): Return cplus_struct_default if the given
11376 type does not hold any cplus-specific data.
11377 (TYPE_RAW_CPLUS_SPECIFIC): New macro.
11378 (TYPE_GNAT_SPECIFIC, TYPE_DESCRIPTIVE_TYPE): New macros.
11379 (TYPE_IS_OPAQUE): Use HAVE_CPLUS_STRUCT to check if type has
11380 cplus-specific data.
11381 * gdbtypes.c (allocate_cplus_struct_type): Minor stylistic rewrite.
11382 Set new component TYPE_SPECIFIC_FIELD (type).
11383 (gnat_aux_default): New constant.
11384 (allocate_gnat_aux_type): New function.
11385 (init_type): Add initialization the type-specific stuff for
11386 TYPE_CODE_FLT and TYPE_CODE_FUNC types.
11387 (print_gnat_stuff): New function.
11388 (recursive_dump_type): Use HAVE_CPLUS_STRUCT to check for cplus-
11389 specific data. Adjust code that prints the contents of the
11390 type-specific union using the TYPE_SPECIFIC_FIELD value.
11391 * dwarf2read.c (dwarf2_attach_fields_to_type): Do not allocate
11392 the type cplus stuff for Ada types.
11393 (dwarf2_add_member_fn, dwarf2_attach_fn_fields_to_type):
11394 Error out if these routines are called with an Ada type.
11395 (read_structure_type, read_array_type, read_subrange_type):
11396 Add call to set_descriptive_type.
11397 (set_die_type): Initialize the gnat-specific data if necessary.
11398 (need_gnat_info, die_descriptive_type, set_descriptive_type):
11400 * ada-lang.c (decode_constrained_packed_array_type): Use
11401 decode_constrained_packed_array_type instead of doing a standard
11402 lookup to locate a parallel type.
11403 (find_parallel_type_by_descriptive_type): New function.
11404 (ada_find_parallel_type_with_name): New function.
11405 (ada_find_parallel_type): Reimplement using
11406 ada_find_parallel_type_with_name.
11407 * ada-valprint.c (print_field_values): Use HAVE_CPLUS_STRUCT
11408 to check if type has a cplus stuff.
11409 * linespec.c (total_number_of_methods): Likewise.
11410 * mdebugread.c (new_type): Likewise.
11414 * NEWS: Document the 0b binary number prefix parsing.
11418 * objfiles.c (objfile_relocate1): Change the return type to int.
11419 Describe the new return value. Return non-zero if data changed.
11420 (objfile_relocate): New variable changed. Set it. Call
11421 breakpoint_re_set depending on CHANGED.
11425 Implement binary numbers parsing.
11426 * c-exp.y (parse_number): New case 'b' and 'B'.
11431 * solib.c (info_sharedlibrary_command): Replace
11432 objfile_has_partial_symbols and objfile_has_full_symbols calls by
11433 objfile_has_symbols.
11437 * NEWS: Document the improvements made to the mips-irix port.
11441 Fix the documentation of valprint.c:value_print.
11442 * valprint.c (value_print): Update the function description to
11443 mention that the syntax of the output follows the current_language,
11448 Fix displacement of separate debug info files.
11449 * objfiles.c (objfile_relocate): Rename to ...
11450 (objfile_relocate1): ... here and make it static. Extend the comment.
11451 (objfile_relocate): New function.
11452 * solib-spu.c (spu_relocate_main_executable): Explicitly check if
11453 SYMFILE_OBJFILE is NULL. Remove variables objfile and old_chain.
11454 Remove following of SEPARATE_DEBUG_OBJFILE. new_offsets is now
11455 allocated using alloca.
11456 * symfile.c (copy_section_addr_info): Remove.
11457 (build_section_addr_info_from_objfile): Make it global. New variables
11458 addr_bit and mask, use them.
11459 * symfile.h (build_section_addr_info_from_objfile): New prototype.
11460 (copy_section_addr_info): Remove.
11464 Signal unwinder for mips-irix N32.
11465 * mips-irix-tdep.c: #include mips-tdep.h, trad-frame.h, and
11467 (SIGTRAMP_FRAME_SIZE, SIGCONTEXT_PC_OFF, SIGCONTEXT_REGS_OFF)
11468 (SIGCONTEXT_FPREGS_OFF, SIGCONTEXT_FPCSR_OFF, SIGCONTEXT_HI_OFF)
11469 (SIGCONTEXT_LO_OFF): New macros.
11470 (mips_irix_n32_tramp_frame_init): New function.
11471 (mips_irix_n32_tramp_frame): New static constant.
11472 (mips_irix_init_abi): Prepend the mips_irix_n32_tramp_frame unwinder.
11476 Breakpoint in shared library does not work on mips-irix.
11477 * procfs.c: #include "observer.h".
11478 (procfs_inferior_created): New function, moving here the code
11479 which unsets the syssgi syscall-exit notifications.
11480 (procfs_create_inferior): Remove the code which unsets the syssgi
11481 syscall-exit notifications. It is too early to do this here.
11482 (_initialize_procfs): Attach the procfs_inferior_created observer.
11486 Wrong return convention for arrays (mips-irix).
11487 * mips-tdep.c (mips_n32n64_return_value): Arrays whose size is
11488 128 bits or smaller are returned the same way as structs
11489 and unions of the the same size.
11493 Cannot set the PC on mips-irix.
11494 * irix5-nat.c (fill_gregset): Check regno against the raw PC
11495 register number, no the cooked one.
11499 Error while loading core file on mips-irix.
11500 * solib-irix.c (irix_solib_create_inferior_hook): Do nothing
11501 if debugging from a core file.
11505 GDB hangs when attaching to process on mips-irix.
11506 * solib-irix.c (irix_solib_create_inferior_hook): Do nothing if
11507 attaching to a process.
11511 Use the correct breakpoint instruction on mips-irix.
11512 * mips-tdep.c (mips_breakpoint_from_pc): Add new static variable
11513 containing the correct breakpoint instruction to use on mips-irix.
11514 Use it when the osabi is GDB_OSABI_IRIX.
11518 -Wunused warning in procfs.c (mips-irix only).
11519 * procfs.c (gdb_praddset, gdb_prdelset): New macros. Use them
11520 throughout instead of using praddset and prdelset respectively.
11524 GDB crash while stepping into function.
11525 * infrun.c (handle_inferior_event): Refetch the current frame
11526 after handling what.main_action, in case that pointer became
11531 Fix build failure of solaris-hosted cross debuggers.
11532 * ada-valprint.c, parse.c: Include defs.h before including ctype.h.
11536 Fix build failure on sparc-solaris.
11537 * procfs.c: (procfs_do_thread_registers) Use elfcore_write_lwpstatus.
11541 Move some symfile code into subroutines.
11542 * symfile.h (relative_addr_info_to_section_offsets)
11543 (addr_info_make_relative): New prototypes.
11544 * symfile.c (default_symfile_offsets): Move a part to ...
11545 (relative_addr_info_to_section_offsets): ... this new function.
11546 (default_symfile_offsets): Call it.
11547 (syms_from_objfile <!mainline && addrs && addrs->other[0].name>): Move
11549 (addr_info_make_relative): ... this new function.
11553 Add from_tty to solib_create_inferior_hook.
11554 * infcmd.c (post_create_inferior): Move solib_add after
11555 solib_create_inferior_hook. Pass from_tty to
11556 solib_create_inferior_hook. Call solib_add and SOLIB_ADD with
11557 0 from_tty and comment why.
11558 * infrun.c (follow_exec): Pass from_tty solib_create_inferior_hook as 0.
11559 * linux-nat.c (linux_child_follow_fork): Likewise.
11560 * nto-procfs.c (procfs_post_attach, procfs_create_inferior): Likewise.
11561 * solib-darwin.c (darwin_solib_create_inferior_hook): New parameter
11563 * solib-frv.c (frv_solib_create_inferior_hook): Likewise.
11564 * solib-irix.c (irix_solib_create_inferior_hook): Likewise.
11565 * solib-null.c (null_solib_create_inferior_hook): Likewise.
11566 * solib-osf.c (osf_solib_create_inferior_hook): Likewise.
11567 * solib-pa64.c (pa64_solib_create_inferior_hook): Likewise.
11568 * solib-som.c (som_solib_create_inferior_hook): Likewise.
11569 * solib-spu.c (spu_solib_create_inferior_hook): New parameter from_tty.
11570 Pass it to svr4_so_ops.solib_create_inferior_hook.
11571 * solib-sunos.c (sunos_solib_create_inferior_hook): New parameter
11573 * solib-svr4.c (enable_break): New parameter from_tty. Pass it to
11575 (svr4_solib_create_inferior_hook): New parameter from_tty. Pass it to
11577 * solib-target.c (solib_target_solib_create_inferior_hook): New
11578 parameter from_tty.
11579 * solib.c (solib_create_inferior_hook): New parameter from_tty. Pass
11580 it to ops->solib_create_inferior_hook.
11581 (reload_shared_libraries): Pass from_tty to solib_create_inferior_hook.
11582 Move solib_add after solib_create_inferior_hook, call it now with
11583 from_tty as 0. New comment there.
11584 * solib.h (solib_create_inferior_hook): New parameter from_tty.
11585 * solist.h (struct target_so_ops <solib_create_inferior_hook>):
11590 Fix multiexec race.
11591 * infrun.c (handle_inferior_event): Use get_thread_regcache
11592 with events ptid, not get_current_regcache.
11596 GDB crash with empty executable name (MinGW).
11597 * source.c (openp): Add assert that parameter string is not NULL.
11598 if parameter string is an empty string, then return with a failure
11603 Get rid of support for VAX Floats.
11604 * ada-lang.h (ada_is_vax_floating_type, ada_vax_float_type_suffix)
11605 (ada_vax_float_print_function): Delete.
11606 * ada-lang.c (ada_is_vax_floating_type, ada_vax_float_type_suffix)
11607 (ada_vax_float_print_function): Delete.
11608 * ada-typeprint.c (print_vax_floating_point_type): Delete.
11609 (ada_print_type): Remove support for VAX floats.
11610 * ada-valprint.c (ada_val_print_1): Remove support for VAX floats.
11614 * stabsread.c (read_args): Handle zero arguments.
11618 Cannot find in-tree libiconv.a after reconfigure.
11619 * acinclude.m4 (AM_ICONV): If we find an in-tree libiconv.a
11620 that we can use, then cache the path to this archive.
11621 * configure: Regenerate.
11625 Make tracepoint operations go through target vector.
11626 * target.h (enum trace_find_type): New enum.
11627 (struct target_ops): New fields to_trace_init,
11628 to_download_tracepoint, to_download_trace_state_variable,
11629 to_trace_set_readonly_regions, to_trace_start, to_get_trace_status,
11630 to_trace_stop, to_trace_find, to_get_trace_state_variable_value,
11631 to_set_disconnected_tracing.
11632 (target_trace_init): New macro.
11633 (target_download_tracepoint): New macro.
11634 (target_download_trace_state_variable): New macro.
11635 (target_trace_start): New macro.
11636 (target_trace_set_readonly_regions): New macro.
11637 (target_get_trace_status): New macro.
11638 (target_trace_stop): New macro.
11639 (target_trace_find): New macro.
11640 (target_get_trace_state_variable_value): New macro.
11641 (target_set_disconnected_tracing): New macro.
11642 * target.c (update_current_target): Inherit and set defaults for
11643 tracepoint operations.
11644 * tracepoint.c (default_collect): Make globally visible.
11645 (target_is_remote): Remove, along with all calls.
11646 (tvariables_info): Call target_get_trace_state_variable_value.
11647 (remote_set_transparent_ranges): Remove.
11648 (trace_start_command): Call target_trace_init,
11649 target_download_tracepoint, etc.
11650 (download_tracepoint): Remove.
11651 (trace_stop_command): Simplify.
11652 (stop_tracing): Call target_trace_stop.
11653 (get_trace_status): Call target_get_trace_status.
11654 (trace_status_command): Add case for targets that cannot trace.
11655 (finish_tfind_command): Change to take numerical arguments, call
11657 (trace_find_command): Update call to finish_tfind_command.
11658 (trace_find_pc_command): Ditto.
11659 (trace_find_tracepoint_command): Ditto.
11660 (trace_find_line_command): Ditto.
11661 (trace_find_range_command): Ditto.
11662 (trace_find_outside_command): Ditto.
11663 (set_disconnected_tracing_value): Call
11664 target_set_disconnected_tracing.
11665 * remote.c: Add protocol encoding bits from tracepoint.c.
11666 (trace_error): Move from tracepoint.c.
11667 (remote_get_noisy_reply): Ditto.
11668 (free_actions_list_cleanup_wrapper): Ditto.
11669 (free_actions_list): Ditto.
11670 (remote_trace_init): New function.
11671 (remote_download_tracepoint): New function.
11672 (remote_download_trace_state_variable): New function.
11673 (remote_trace_set_readonly_regions): New function.
11674 (remote_trace_start): New function.
11675 (remote_get_trace_status): New function.
11676 (remote_trace_stop): New function.
11677 (remote_trace_find): New function.
11678 (remote_download_trace_state_variable): New function.
11679 (remote_set_disconnected_tracing): New function.
11680 (init_remote_ops): Add tracepoint operations.
11682 * tracepoint.c (trace_dump_command): Don't decr_pc_after_break.
11686 * symfile.c (build_section_addr_info_from_objfile): New function.
11687 (symbol_file_add_separate): Don't use offsets from objfile but
11688 built an addr info.
11692 Support disconnected tracing.
11693 * infcmd.c (detach_command): Ask whether to stop tracing.
11694 * cli/cli-cmds.c (quit_command): Ditto.
11695 * breakpoint.h (struct breakpoint): New field number_on_target.
11696 * breakpoint.c (create_tracepoint_from_upload): New function.
11697 (get_tracepoint_by_number_on_target): New function.
11698 * remote.c (struct remote): New field disconnected_tracing.
11699 (remote_disconnected_tracing_feature): New function.
11700 (remote_protocol_features): Add DisconnectedTracing.
11701 (struct uploaded_tp): New struct.
11702 (uploaded_tps): New global.
11703 (get_uploaded_tp): New function.
11704 (find_matching_tracepoint): New function.
11705 (remote_get_tracing_state): New function.
11706 (remote_start_remote): Call it.
11707 * tracepoint.c (disconnected_tracing): New global.
11708 (trace_start_command): Initialize number_on_target.
11709 (stop_tracing): New function, split out from...
11710 (trace_stop_command): Call stop_tracing.
11711 (get_trace_status): New function, split out from...
11712 (trace_status_command): Call get_trace_status, add info on
11713 disconnection behavior.
11714 (disconnect_or_stop_tracing): New function.
11715 (finish_tfind_command): Translate from number on target.
11716 (trace_find_tracepoint_command): Translate to number on target.
11717 (send_disconnected_tracing_value): New function.
11718 (set_disconnected_tracing): New function.
11719 (_initialize_tracepoint): Add disconnected-tracing variable.
11720 * NEWS: Mention disconnected tracing.
11724 * symtab.c (lookup_global_symbol_from_objfile): Rename objfile
11725 parameter to main_objfile. Iterate on all separate debug objfiles.
11726 * symfile.h (symbol_file_add_separate)
11727 (find_separate_debug_file_by_debuglink): Remove parameter names.
11728 * symfile.c (symbol_file_add_separate): Use add_separate_objfile.
11729 (reread_symbols): Use free_objfile_separate_debug.
11730 * objfiles.h (struct objfile): Add separate_debug_objfile_link.
11732 (objfile_separate_debug_iterate, add_separate_debug_objfile)
11733 (free_objfile_separate_debug): New prototypes.
11734 * objfiles.c (objfile_separate_debug_iterate): New function.
11735 (add_separate_debug_objfile, free_objfile_separate_debug): New
11737 (free_objfile): Use free_objfile_separate_debug. Adjust for
11738 multiple separate debug objfile.
11739 (objfile_has_symbols): Adjust comment. Iterate on all separate
11741 * minsyms.c (lookup_minimal_symbol): Adjust for multiple separate
11743 (lookup_minimal_symbol_text): Ditto.
11744 (lookup_minimal_symbol_by_pc_name): Ditto.
11745 (lookup_minimal_symbol_solib_trampoline): Ditto.
11746 (lookup_minimal_symbol_by_pc_section_1): Iterate on all separate
11751 Add fast tracepoints.
11752 * arch-utils.h (default_fast_tracepoint_valid_at): Declare.
11753 * arch-utils.c (default_fast_tracepoint_valid_at): New function.
11754 * breakpoint.h (enum bptype): Add bp_fast_tracepoint.
11755 * breakpoint.c (tracepoint_type): New function.
11756 (ALL_TRACEPOINTS): Use it.
11757 (should_be_inserted): Ditto.
11758 (bpstat_check_location): Ditto.
11759 (print_one_breakpoint_location): Ditto.
11760 (user_settable_breakpoint): Ditto.
11761 (set_breakpoint_location_function): Ditto.
11762 (disable_breakpoints_in_shlibs): Ditto.
11763 (delete_trace_command): Ditto.
11764 (print_it_typical): Add bp_fast_tracepoint case.
11765 (bpstat_what): Ditto.
11766 (print_one_breakpoint_location): Ditto.
11767 (allocate_bp_location): Ditto.
11769 (breakpoint_re_set_one): Ditto.
11770 (disable_command): Ditto.
11771 (enable_command): Ditto.
11772 (check_fast_tracepoint_sals): New function.
11773 (break_command_really): Call it.
11774 (ftrace_command): New function.
11775 (_initialize_breakpoint): Add ftrace command.
11776 * gdbarch.sh (fast_tracepoint_valid_at): New.
11777 * gdbarch.h, gdbarch.c: Regenerate.
11778 * i386-tdep.c (i386_fast_tracepoint_valid_at): New function.
11779 (i386_gdbarch_init): Use it.
11780 * remote.c (struct remote_state): New field fast_tracepoints.
11781 (PACKET_FastTracepoints): New packet config type.
11782 (remote_fast_tracepoint_feature): New function.
11783 (remote_protocol_features): Add FastTracepoints.
11784 (remote_supports_fast_tracepoints): New function.
11785 (_initialize_remote): Add FastTracepoints.
11786 * tracepoint.c (download_tracepoint): Add fast tracepoint option.
11787 * NEWS: Mention fast tracepoints.
11791 * gdb-gdb.py: New file.
11795 * infrun.c (handle_inferior_event): Fix typo in comment.
11799 * symfile.c (syms_from_objfile): Remove the !MAINLINE conditional.
11803 * features/Makefile (WHICH): Add s390-linux32, s390-linux64,
11805 (s390-linux32-expedite): Define.
11806 (s390-linux64-expedite): Define.
11807 (s390x-linux64-expedite): Define.
11808 * features/s390-acr.xml: New file.
11809 * features/s390-fpr.xml: New file.
11810 * features/s390-core32.xml: New file.
11811 * features/s390-core64.xml: New file.
11812 * features/s390x-core64.xml: New file.
11813 * features/s390-linux32.xml: New file.
11814 * features/s390-linux64.xml: New file.
11815 * features/s390x-linux64.xml: New file.
11816 * features/s390-linux32.c: New generated file.
11817 * features/s390-linux64.c: New generated file.
11818 * features/s390x-linux64.c: New generated file.
11820 * regformats/s390-linux32.dat: New generated file.
11821 * regformats/s390-linux64.dat: New generated file.
11822 * regformats/s390x-linux64.dat: New generated file.
11823 * regformats/reg-s390.dat: Remove.
11824 * regformats/reg-s390x.dat: Remove.
11826 * s390-nat.c: Include "auxv.h" and <elf.h>.
11827 (HWCAP_S390_HIGH_GPRS): Define if undefined.
11828 (s390_target_wordsize): New function.
11829 (s390_auxv_parse): Likewise.
11830 (s390_get_hwcap): Likewise.
11831 (s390_read_description): Likewise.
11832 (_initialize_s390_nat): Install s390_auxv_parse and
11833 s390_read_description.
11835 * s390-tdep.c: Include "features/s390-linux32.c",
11836 "features/s390-linux64.c", and "features/s390x-linux64.c".
11837 (struct gdbarch_tdep): Add gpr_full_regnum, pc_regnum, and cc_regnum.
11838 (s390_register_call_saved): New function.
11839 (s390_register_name): Remove.
11840 (s390_register_type): Remove.
11841 (s390_dwarf_regmap): Add lower half GPR pseudo DWARF CFI regnums.
11842 (s390_dwarf_reg_to_regnum): Remap GPR regnums to full GPRs.
11843 (s390_adjust_frame_regnum): Remap GPR regnums to lower halves for CFI.
11844 (s390_pseudo_register_name): New function.
11845 (s390_pseudo_register_type): New function.
11846 (s390_pseudo_register_read): Handle both 32-bit and 64-bit cases.
11847 Handle full GPR pesudos and varying pseudo register numbers.
11848 (s390_pseudo_register_write): Likewise
11849 (s390x_pseudo_register_read): Remove.
11850 (s390x_pseudo_register_write): Likewise.
11851 (s390_register_group): Remove.
11852 (s390_pseudo_register_group): New function.
11853 (s390_regmap_gregset): Add GPR upper halves.
11854 (s390x_regmap_gregset): Likewise.
11855 (s390_regmap_fpregset): Likewise.
11856 (s390_regmap_upper): New global variable.
11857 (s390_upper_regset): New global variable.
11858 (s390_upper_regset_sections): New global variable.
11859 (s390_regset_from_core_section): Handle GPR upper halves.
11860 (s390_core_read_description): New function.
11861 (s390_prologue_frame_unwind_cache): Set up ABI call-saved/clobbered
11862 register information. Handle varying pseudo register numbers.
11863 (s390_backchain_frame_unwind_cache): Likewise.
11864 (s390_frame_prev_register): Unwind full GPRs to show lower halves.
11865 (s390_stub_frame_unwind_cache): Handle varying pseudo register numbers.
11866 (s390_sigtramp_frame_unwind_cache): Unwind PSWM and PSWA as well as
11867 PC and CC pseudos. Unwind upper halves and full GPRs as appropriate.
11868 Handle varying pseudo register numbers.
11869 (s390_unwind_pc): Handle varying pseudo register numbers.
11870 (s390_dwarf2_prev_register): New function.
11871 (s390_dwarf2_frame_init_reg): Set up ABI call-saved/clobbered
11872 register information. Handle varying pseudo register numbers.
11873 Install s390_dwarf2_prev_register to unwind full GPRs.
11874 (s390_gdbarch_init): Handle target descriptions. Assign varying
11875 pseudo register numbers. Install s390_adjust_frame_regnum.
11876 (_initialize_s390_tdep): Initialize target descriptions.
11878 * s390-tdep.h (S390_R0_UPPER_REGNUM .. S390_R15_UPPER_REGNUM): Define.
11879 (S390_NUM_REGS): Redefine to include upper half registers.
11880 (S390_PC_REGNUM, S390_CC_REGNUM): Remove.
11881 (S390_NUM_PSEUDO_REGS, S390_NUM_TOTAL_REGS): Likewise.
11882 (tdesc_s390_linux32): Add declaration.
11883 (tdesc_s390_linux64): Likewise.
11884 (tdesc_s390x_linux64): Likewise.
11888 * regset.h (struct core_regset_section): Add HUMAN_NAME.
11889 * i386-linux-tdep.c (i386_linux_regset_sections): Fill in HUMAN_NAME.
11890 * ppc-linux-tdep.c (ppc_linux_vsx_regset_sections): Likewise.
11891 (ppc_linux_vmx_regset_sections): Likewise.
11892 (ppc_linux_fp_regset_sections): Likewise.
11894 * corelow.c (get_core_register_section): Constify arguments.
11895 (get_core_registers): Use gdbarch_core_regset_sections instead
11896 of hard-coded platform-specific register section names.
11900 * dwarf2loc.c (read_pieced_value): If a piece occupies part of
11901 a register, assume the least-significant part is used.
11902 (write_pieced_value): Likewise.
11906 * printcmd.c: Include "arch-utils.h".
11907 (do_one_display): Re-parse expression if current architecture changed.
11912 * gdbtypes.c (check_typedef): New comment on type length.
11913 * value.c (allocate_value_lazy): Remove the unused atype variable. New
11914 comment on type length.
11915 (value_primitive_field): Keep the original TYPE value, new comment.
11919 * cli/cli-script.c (process_next_line): Rename p1 as p_end and p2 as
11920 p_start. Change != comparisons to > and < comparisons.
11924 * cli/cli-script.c (process_next_line): Check P2 overrun.
11928 Update the copyright hearder to add year 2010 for most GDB files.
11932 Fix build failure in inf-ptrace.c.
11933 * inf-ptrace.c (inf_ptrace_follow_fork): Fix typo.
11937 * top.c (print_gdb_version): Update copyright year.
11941 Fix break *FUN'address thread NUM.
11942 * ada-lex.l (task): Expand rule to also match the thread keyword.
11946 Fix break *FUN'address task NUM.
11947 * ada-lex.l (task): New rule.
11948 * ada-lang.c (valid_task_id): Make sure the Ada task list has
11949 been built before using it.
11951 For older changes see ChangeLog-2009.
11957 version-control: never