3 * gdb.mi/mi-var-display.exp: Remove XFAIL for c_variable-7.51,
4 -var-evaluate-expression of an enumeration and fix expected result.
5 * gdb.mi/mi2-varvdisplay.exp: Likewise.
9 * osdata.c (info_osdata_command): Rename nprocs to nrows. Handle
10 the case where osdata->items is empty. Rename column names to a
11 canonical form to avoid problems with unusual column names.
15 * MAINTAINERS (Write After Approval): Keep list in alphabetical order.
19 * NEWS: Mention tracepoint additions.
20 * breakpoint.h (struct tracepoint): New field traceframe_usage.
21 * breakpoint.c (print_one_breakpoint_location): Identify
22 tracepoints as such when reporting hit counts, report
24 (create_tracepoint_from_upload): Copy status info.
25 * tracepoint.h (struct trace_status): Rename error_desc to stop_desc,
26 add fields user_name, notes, start_time, stop_time.
27 (struct uploaded_tp): Add fields hit_count, traceframe_usage.
28 * tracepoint.c (trace_user): New global.
29 (trace_notes): New global.
30 (trace_stop_notes): New global.
31 (start_tracing): Add argument and trace note handling.
32 (stop_tracing): Ditto.
33 (trace_start_command): Add notes argument.
34 (trace_stop_command): Ditto.
35 (trace_status_command): Report additional status info.
36 (trace_status_mi): Similarly.
37 (trace_save): Update, record tracepoint status.
38 (set_disconnected_tracing): Call target method directly.
39 (send_disconnected_tracing_value): Remove.
40 (set_trace_user): New function.
41 (set_trace_notes): New function.
42 (set_trace_stop_notes): New function.
43 (parse_trace_status): Handle additional status.
44 (parse_tracepoint_status): New function.
45 (parse_tracepoint_definition): Call it.
46 (tfile_get_tracepoint_status): New function.
47 (init_tfile_ops): Use it.
48 (_initialize_tracepoint): Add new setshows.
49 * target.h (struct target_ops): New methods to_get_tracepoint_status
50 and to_set_trace_notes.
51 (target_get_tracepoint_status): New macro.
52 (target_set_trace_notes): New macro.
53 * target.c (update_current_target): Add new methods.
54 * remote.c (remote_get_tracepoint_status): New function.
55 (remote_set_trace_notes): New function.
56 (init_remote_ops): Add them.
57 * mi/mi-main.c (mi_cmd_trace_start): Add argument to call.
58 (mi_cmd_trace_stop): Ditto.
62 * jit.c: Include regcache.h.
63 (jit_gdbarch_data, jit_frame_unwind): New static variables.
64 (jit_unwind_reg_set_impl, free_reg_value_impl)
65 (jit_unwind_reg_get_impl, jit_frame_sniffer)
66 (jit_frame_unwind_stop_reason, jit_frame_this_id)
67 (jit_frame_prev_register, jit_dealloc_cache)
68 (jit_prepend_unwinder, jit_gdbarch_data_init): New functions.
69 (jit_inferior_init): Prepend (new) pseudo unwinder by calling
71 (_initialize_jit): Register new gdbarch data jit_gdbarch_data.
75 * jit.c: Include block.h, dictionary.h and frame-unwind.h.
76 (add_objfile_entry, jit_target_read_impl, jit_object_open_impl)
77 (jit_symtab_open_impl, compare_block, jit_block_open_impl)
78 (jit_symtab_line_mapping_add_impl, jit_symtab_close_impl)
79 (finalize_symtab, jit_object_close_impl)
80 (jit_reader_try_read_symtab, jit_bfd_try_read_symtab)
81 (free_objfile_data): New functions.
82 (_initialize_jit): Register jit_objfile_data with a proper cleanup
87 * jit.c: Include gdb-dlfcn.h.
88 (loaded_jit_reader, reader_init_fn_sym): New static variables.
89 (jit_reader_load, jit_reader_load_command)
90 (jit_reader_unload_command): New functions.
91 (_initialize_jit): Add commands "jit-reader-load" and
96 * Makefile.in: Add gdb-dlfcn.c and gdb-dlfcn.h to build system.
97 * config.in: Add new #define HAVE_LIBDL.
98 * configure.ac: Add check for -ldl.
99 * configure: Re-generated by autoconf.
100 * gdb-dlfcn.c: New file.
101 * gdb-dlfcn.h: New file.
105 * config.in: Add new #defines: JIT_READER_DIR and
106 JIT_READER_DIR_RELOCATABLE.
107 * configure.ac: New GDB directory entry for jit-reader-dir.
108 * configure: Re-generated by autoconf.
109 * jit.c: New static variable: const char *jit_reader_dir.
110 (_initialize_jit): Relocate jit_reader_dir.
114 * Makefile.in: Add jit-reader.h as a header. Have it installed in
116 * configure.ac: Generate a correct value for TARGET_PTR for
117 jit-reader.h. Tell configure to generate jit-reader.h from
119 * configure: Re-generated by autoconf.
120 * jit-reader.in: New file.
121 * jit.c: Include jit-reader.h.
125 * MAINTAINERS (Write After Approval): Add myself to the list.
129 * findvar.c (read_frame_register_value): Respect value_offset
130 of the register value. Remove big-endian special case.
135 * remote.c (putpkt_for_catch_errors): New function.
136 (remote_kill): Use it.
140 * breakpoint.c (create_breakpoint): Produce query message according to
142 Allocate tracepoint per correct type.
143 Don't check SALs for pending fast tracepoints.
144 * tracepoint.c (process_tracepoint_on_disconnect): New.
145 (disconnect_tracing): Call process_tracepoint_on_disconnect.
149 * breakpoint.c (install_breakpoint): Add one more parameter so that
150 update_global_location_list is called conditionally.
151 (create_fork_vfork_event_catchpoint): Update.
152 (create_syscall_event_catchpoint): Update.
153 (create_breakpoint_sal): Update.
154 (create_breakpoint_sal): Update. Call do_cleanups before
156 * ada-lang.c (create_ada_exception_catchpoint): Update.
157 * breakpoint.h (install_breakpoint): Update declaration.
161 * spu-tdep.c (spu_return_value): Fix handling of
162 TYPE_CALLING_CONVENTION annotation.
166 * skip.c (skip_function_command): Work around uninitialized
171 * utils.c (report_command_stats): Cast delta_wall_time 'tv_sec' and
172 'tv_usec' to long for printf since these fields have a type which
177 * buildsym.c (add_symbol_to_list): Delete outdated comment.
181 * python/py-type.c (typy_get_composite): New function.
182 (typy_nonzero): New function.
183 (typy_values): Rename from typy_fields.
184 (typy_fields): New function.
185 (typy_length): Raise exception if not struct, union, or enum type.
186 (typy_getitem): Ditto.
187 (typy_has_key): Ditto.
188 (typy_make_iter): Ditto.
192 * NEWS: Mention new parameter basenames-may-differ.
193 * dwarf2read.c (dw2_lookup_symtab): Avoid calling gdb_realpath if
194 ! basenames_may_differ.
195 * psymtab.c (lookup_partial_symtab): Ditto.
196 * symtab.c (lookup_symtab): Ditto.
197 (basenames_may_differ): New global.
198 (_initialize_symtab): New parameter basenames-may-differ.
199 * symtab.h (basenames_may_differ): Declare.
204 * auxv.c: Include observer.h.
205 (auxv_inferior_data_cleanup): New.
206 (invalidate_auxv_cache_inf): New.
207 (invalidate_auxv_cache): New.
208 (get_auxv_inferior_data): New.
209 (auxv_inferior_data): New static global.
210 (auxv_info): New structure.
211 (target_auxv_search): Use get_auxv_inferior_data instead of
212 target_read_alloc and don't free cached buffers.
213 (fprint_target_auxv): Likewise
214 (_initialize_auxv): Register per-inferior auxv cache and register
215 observers to invalidate auxv cache when needed.
219 Make "!" an alias for "shell".
221 * cli/cli-cmds.c (init_cli_cmds): Remove xdb_commands condition on
222 adding "!" command, always add it.
223 * cli/cli-decode.c (find_command_name_length): Recognize "!" as a
224 command of length one.
229 * NEWS: Document shorter fast tracepoints and qTMinFTPILen packet.
230 * i386-tdep.c (i386_fast_tracepoint_valid_at): Query target for
231 the minimum instruction size for fast tracepoints.
232 * target.h (struct target_ops): Add new method
233 to_get_min_fast_tracepoint_insn_len.
234 (target_get_min_fast_tracepoint_insn_len): New.
235 * target.c (update_current_target): Set up new target operation.
236 * remote.c (remote_write_bytes_aux): Fix typo.
237 (remote_get_min_fast_tracepoint_insn_len): New.
238 (init_remote_ops): Initialize new field.
242 * tracepoint.c (encode_actions_1): Use the location's gdbarch.
243 (encode_actions): Likewise.
247 * remote.c (struct remote_state): <install_in_trace> new field.
248 (PACKET_InstallInTrace): New enum value.
249 (remote_install_in_trace_feature): Support InstallInTrace.
250 (remote_supports_install_in_trace): Likewise.
251 (remote_protocol_features): Likewise.
252 (_initialize_remote): Likewise.
253 (remote_can_download_tracepoint): New.
254 * target.h (struct target): New field
255 `to_can_download_tracepoint'.
256 (target_can_download_tracepoint): New macro.
257 * target.c (update_current_target): Update.
258 * breakpoint.h (struct bp_location): Add comment on field
260 * breakpoint.c (should_be_inserted): Don't differentiate breakpoint
262 (remove_breakpoints): Don't remove tracepoints.
263 (tracepoint_locations_match ): New.
264 (breakpoint_locations_match): Call it.
265 (disable_breakpoints_in_unloaded_shlib): Handle tracepoint.
266 (download_tracepoint_locations): New.
267 (update_global_location_list): Call it.
268 * tracepoint.c (find_matching_tracepoint): Delete.
269 (find_matching_tracepoint_location): Renamed from
270 find_matching_tracepoint. Return bp_location rather than
272 (merge_uploaded_tracepoints): Set `inserted' field to 1 if
277 * target.h (struct target): <to_download_tracepoint> Change type
278 of parameter from tracepoint to bp_location.
279 * target.c (update_current_target): Update.
280 * tracepoint.c (start_tracing): Update.
281 * remote.c (remote_download_tracepoint): Remove loop for each location
286 * i386-nat.c (i386_insert_hw_breakpoint): Call
287 i386_update_inferior_debug_regs.
288 (i386_remove_hw_breakpoint): Likewise.
292 * breakpoint.c (init_raw_breakpoint): Call
293 add_location_to_breakpoint to replace duplicated code.
294 (add_location_to_breakpoint): Adjust the breakpoint's
295 address prior to allocating a location.
299 * macrocmd.c (macro_no_macro_info): New function.
300 (macro_expand_command): Use macro_no_macro_info.
301 (macro_expand_once_command): Ditto.
302 (info_macro_command): Add argument processing,
303 move info_definitions_command here.
304 (_initialize_macrocmd): Remove info definitions command.
305 Add arguments to info macro help text.
306 * NEWS: Replace info definitions command with new info macro options.
311 * linespec.c (locate_first_half): Keep ':' if it looks
312 like it could be part of a Windows path starting with
317 * linux-nat.c (linux_nat_wait): Don't force waking up the event
318 loop when returning a TARGET_WAITKIND_NO_RESUMED.
322 * target.c (target_waitstatus_to_string): Handle
323 TARGET_WAITKIND_NO_RESUMED.
327 * dwarf2read.c (dw2_map_symbol_filenames): New parameter
329 * psymtab.c (map_symbol_filenames_psymtab): Ditto.
330 (map_partial_symbol_filenames): Ditto. All callers updated.
331 * psymtab.h (map_partial_symbol_filenames): Update prototype.
332 * symfile.h (struct quick_symbol_functions, map_symbol_filenames): New
333 parameter need_fullname.
335 * psymtab.c (psymtab_to_fullname): Use cached copy if it exists.
336 * source.c (symtab_to_fullname): Ditto.
338 * defs.h (is_cplus_marker, set_demangling_style): Moved to ...
339 * gdb-demangle.h: ... here. New file.
340 * demangle.c: #include "gdb-demangle.h".
341 (_initialize_demangler): Use initialize_file_ftype for prototype.
342 Move "set demangle" and "set asm-demangle" parameters here from utils.c
343 (demangle, show_demangle, asm_demangle, show_asm_demangle): Move here
345 * utils.c: Update. #include "gdb-demangle.h".
346 * symtab.h (asm_demangle): Delete.
347 (demangle): Move declaration next to use.
348 * breakpoint.c: #include "gdb-demangle.h" instead of "demangle.h".
349 * dwarf2read.c: #include "gdb-demangle.h".
350 * gnu-v2-abi.c: Ditto.
351 * jv-typeprint.c: Ditto.
352 * mdebugread.c: Ditto.
353 * p-typeprint.c: Ditto.
354 * stabsread.c: Ditto.
356 (asm_demangle): Delete declaration.
357 * tui/tui-stack.c: #include "gdb-demangle.h".
359 * python/py-type.c (typy_fields_items): Call check_typedef.
363 * findvar.c (read_frame_register_value): Read the correct bytes
364 from registers on big-endian architectures.
368 * procfs.c (load_syscalls): Make a cleanup.
369 (open_procinfo_files): fd==0 is ok.
373 * procfs.c (iterate_over_mappings): Call do_cleanups before
378 * gdbtypes.c (check_typedef): Document that this function can
384 * valops.c (value_full_object): Return early if real type is
385 smaller than the enclosing type.
389 * amd64-tdep.c (amd64_relocate_instruction): Make it static.
393 * arm-tdep.c (thumb_analyze_prologue): Always fallback on the SP
394 register when the frame can't be determined.
395 * arm-tdep.c (arm_analyze_prologue): Ditto.
399 * MAINTAINERS: Move Michael Snyder to Past Maintainers.
403 * infrun.c (handle_inferior_event): Minor reformatting.
407 * source.c (forget_cached_source_info_for_objfile): Move call to
408 objfile->sf->qf->forget_cached_source_info outside of
409 ALL_OBJFILE_SYMTABS loop.
410 (forget_cached_source_info): Delete unused variable `s'.
414 * i386-nat.c (dr_ref_count): Remove unused variable.
418 * main.c (captured_main): Set lim_at_start before calling
419 make_command_stats_cleanup.
423 * utils.c: #include "timeval-utils.h".
424 (cmd_stats): Rename start_time to start_cpu_time.
425 New member start_wall_time.
426 (report_command_stats): Report wall time.
427 (make_command_stats_cleanup): Record start wall time.
431 * cp-namespace.c (cp_lookup_symbol_imports): Reindent.
435 * coff-pe-read.c: Include defs.h before bfd.h.
441 * python/python.c (python_run_simple_file): Expand tilde in path.
447 * python/py-type.c (typy_lookup_type): Do not return a type in
448 an exception handler.
453 * linux-nat.c (_initialize_linux_nat): Improve help
454 for `info proc stat', `info proc status', `info proc cwd',
455 `info proc cmdline' and `info proc exe'.
459 String collection for tracepoints.
460 * NEWS: Mention string collection.
461 * common/ax.def (tracenz): New bytecode.
462 * ax-gdb.h (trace_string_kludge): Declare.
463 * ax-gdb.c: Include valprint.h and c-lang.h.
464 (trace_string_kludge): New global.
465 (gen_traced_pop): Add string case.
466 (agent_command): Add string case.
467 * tracepoint.h (decode_agent_options): Declare.
468 * tracepoint.c: Include cli-utils.h.
469 (decode_agent_options): New function.
470 (validate_actionline): Call it.
471 (encode_actions_1): Ditto.
472 * target.h (struct target_ops): New method to_supports_string_tracing.
473 (target_supports_string_tracing): New macro.
474 * target.c (update_current_target): Add to_supports_string_tracing.
475 * remote.c (struct remote_state): New field string_tracing.
476 (remote_string_tracing_feature): New function.
477 (remote_protocol_features): New feature tracenz.
478 (remote_supports_string_tracing): New function.
479 (init_remote_ops): Set to_supports_string_tracing.
484 * linux-nat.c: Include cli/cli-utils.h.
485 (enum info_proc_what): New.
486 (linux_nat_info_proc_cmd): Rename to ...
487 (linux_nat_info_proc_cmd_1): ... here. Remove variables argv and all.
488 New parameter what. Initialize cmdline_f, cwd_f, exe_f, mappings_f,
489 status_f and stat_f from WHAT. Throw error on extra parameters.
490 (linux_nat_info_proc_cmd, linux_nat_info_proc_cmd_mappings)
491 (linux_nat_info_proc_cmd_stat, linux_nat_info_proc_cmd_status)
492 (linux_nat_info_proc_cmd_cwd, linux_nat_info_proc_cmd_cmdline)
493 (linux_nat_info_proc_cmd_exe, linux_nat_info_proc_cmd_all): New.
494 (_initialize_linux_nat): New variable info_proc_cmdlist. Install `info
495 proc mappings', `info proc stat`, `info proc status', `info proc cwd',
496 `info proc cmdline', `info proc exe' and `info proc all' as real
497 subcommands of `info proc'.
501 * Makefile.in: (SFILES): Add skip.c.
502 (HFILES_NO_SRCDIR): Add skip.h.
503 (COMMON_OBS): Add skip.o.
504 * skip.h, skip.c: New.
505 * breakpoint.h (set_default_breakpoint): Remove.
506 (get_sal_arch): Declare.
507 * breakpoint.c: Remove default_breakpoint_valid,
508 default_breakpoint_address, default_breakpoint_symtab,
509 default_breakpoint_line, default_breakpoint_pspace variables.
510 (get_sal_arch): Make public.
511 (set_default_breakpoint): Remove.
512 (parse_breakpoint_sals, create_breakpoint, clear_command,
513 decode_line_spec_1): Remove uses of default_breakpoint variables;
514 replaced with function calls into stack.c.
515 * cli/cli-cmds.h: Add cmd_list_element *skiplist.
516 * cli/cli-cmds.c: Add skiplist.
517 (init_cmd_lists): Initialize skiplist.
518 (init_cli_cmds): Fix comment (classes of commands appear in
520 * infrun.c (handle_inferior_event): Add check that we don't step into
521 a function whose pc is marked for skip.
522 * stack.c: Declare last_displayed_sal_valid, last_displayed_pspace,
523 last_displayed_addr, last_displayed_symtab, last_displayed_line
525 (set_last_displayed_sal): New static function.
526 (print_frame_info): Switch call to set_default_breakpoint to call to
527 set_last_displayed_sal.
528 (clear_last_displayed_sal, last_displayed_sal_is_valid,
529 get_last_displayed_pspace, get_last_displayed_addr,
530 get_last_displayed_symtab, get_last_displayed_line,
531 get_last_displayed_sal): New public functions.
532 * stack.h (clear_last_displayed_sal, last_displayed_sal_is_valid,
533 get_last_displayed_pspace, get_last_displayed_addr,
534 get_last_displayed_symtab, get_last_displayed_line,
535 get_last_displayed_sal): Declare.
539 * MAINTAINERS (Write After Approval): Add myself to the list.
543 * infcmd.c (disconnect_command): Call disconnect_tracing.
548 * symtab.c (skip_prologue_sal): Code reformatting.
553 * jit.c (jit_register_code): Remove unused variable my_cleanups. Check
554 for NULL from bfd_open_from_target_memory. Fix ownership of NBFD and
559 * linux-nat.c (linux_nat_filter_event): Remove `options'
560 parameter, and dead code that used it. If we're handling a
561 PTRACE_EVENT_EXEC event, and the thread group leader is no longer
562 in our lwp list, re-add it.
563 (check_zombie_leaders): New.
564 (linux_nat_wait_1): Remove `options' and `pid' locals. Always
565 wait for children with WNOHANG, and always wait for all children.
566 Don't check for no resumed children upfront. Simplify wait loop.
567 Check for zombie thread group leaders after handling all wait
568 statuses. Return TARGET_WAITKIND_NO_RESUMED if there no
569 unwaited-for children left.
570 * infrun.c (fetch_inferior_event): Handle TARGET_WAITKIND_NO_RESUMED.
571 (handle_inferior_event): Handle TARGET_WAITKIND_NO_RESUMED.
572 (normal_stop): Handle TARGET_WAITKIND_NO_RESUMED.
573 * target.h (enum target_waitkind) <TARGET_WAITKIND_NO_RESUMED>: New.
577 * psymtab.c (map_symbol_filenames_psymtab): Call QUIT.
578 * symtab.c (free_completion_list): New function.
579 (do_free_completion_list): Likewise.
580 (default_make_symbol_completion_list_break_on): New variable
581 back_to. Call make_cleanup and discard_cleanups.
582 (make_source_files_completion_list): Likewise.
586 * python/lib/gdb/types.py (deep_items): Rename from deepitems.
587 * NEWS: Mention deep_items.
591 * ser-tcp.c [USE_WIN32API] (ETIMEDOUT): Don't define if already
596 * MAINTAINERS (Write After Approval): Add myself to the list.
600 * value.h (read_frame_register_value): Add declaration.
601 * findvar.c (read_frame_register_value): New function.
602 (value_from_register): Use read_frame_register_value
603 instead of get_frame_register_value + value_contents_copy
604 to get value contents.
608 * cli/cli-cmds.c (source_script_with_search): Pass full path to
609 source_script_from_stream if it may have been found on the search path.
610 * python/py-auto-load.c (source_section_scripts): Pass full path to
611 source_python_script_for_objfile.
612 * python/python.c (source_python_script): Delete stream parameter.
614 (source_python_script_for_objfile): Ditto.
615 * python/python-internal.h (source_python_script_for_objfile): Update.
616 * python/python.h (source_python_script): Update.
620 * ada-lang.h (ada_start_decode_line_1, ada_finish_decode_line_1)
621 (ada_sals_for_line): Remove declarations.
625 Move unwind reasons to an external .def file
626 * frame.c (frame_stop_reason_string): Rewrite using
627 unwind_stop_reasons.def.
628 * frame.h (enum unwind_stop_reason): Likewise.
629 * python/py-frame.c (gdbpy_initialize_frames): Likewise.
630 (gdbpy_frame_stop_reason_string): Use new enum unwind_stop_reason
631 constants for bound-checking.
632 * unwind_stop_reasons.def: New file.
633 * stack.c (backtrace_command_1): Handle UNWIND_FIRST_ERROR as an alias
634 instead of a distinct value.
640 * python/py-function.c (fnpy_call): Check 'args' is not NULL.
641 (convert_values_to_python): Return on Python tuple allocation
642 failure. Return NULL on value conversion error.
646 * python/py-breakpoint.c (bppy_set_enabled): Use TRY_CATCH.
647 (bppy_set_task): Ditto.
648 (bppy_delete_breakpoint): Ditto.
649 * python/py-symbol.c (gdbpy_lookup_symbol): Ditto.
650 (gdbpy_lookup_global_symbol): Ditto.
651 * python/py-lazy-string.c (stpy_convert_to_value): Ditto.
652 * python/py-frame.c (frapy_is_valid): Ditto.
653 (frame_info_to_frame_object): Ditto.
654 * python/py-type.c (typy_lookup_type): Ditto.
655 (typy_getitem): Ditto.
656 (typy_has_key): Ditto.
657 (typy_richcompare): Use TRY_CATCH. Do not return Py_NE on error.
661 * gdbarch.h: Regenerate.
665 * gdbarch.sh (function_list): Use 'pstring' when printing
667 * gdbarch.c: Regenerate.
671 * regcache.c (registers_changed_ptid): Invalidate thread architecture
672 and frame caches if PTID refers to all threads of a process.
676 * spu-tdep.c (spu_catch_start): Pass non-NULL breakpoint ops
677 to create_breakpoint.
681 * ppc-sysv-tdep.c (ppc_sysv_use_opencl_abi): New function.
682 (ppc_sysv_abi_push_dummy_call): Use it.
683 (do_ppc_sysv_return_value): Likewise.
684 (ppc64_sysv_abi_push_dummy_call): Likewise.
685 (ppc64_sysv_abi_return_value): Likewise.
689 * python/lib/gdb/types.py (deepitems): New function.
695 * python/py-value.c (value_to_value_object): Remove fetching of
696 the value if it was lazy.
697 (valpy_get_is_lazy): New function.
698 (valpy_fetch_lazy): New function.
702 * ppc-sysv-tdep.c (do_ppc_sysv_return_value): Do not check
703 FUNC_TYPE's calling convention if FUNC_TYPE is not a function.
707 * linux-nat.c (linux_handle_extended_wait): When handling a clone
708 event, in non-stop, if not stopping, make sure the new lwp has
709 last_resume_kind set to resume_continue. Assert that when we're
710 resuming the new lwp, its last_resume_kind is resume_continue.
714 * infrun.c (handle_inferior_event): Don't assume inferior_ptid is
715 already set when marking the event thread as not executing in
720 * infrun.c (handle_inferior_event): Add debug output for
721 TARGET_WAITKIND_NO_HISTORY.
725 * NEWS: Move set/show extended-prompt to "New Options". Expand
726 description. Fix typos.
732 * python/py-param.c (call_doc_function): Correctly deference on
737 * ada-tasks.c (print_ada_task_info): Fix computation of
738 number of tasks displayed in command output.
743 * dwarf2-frame-tailcall.c: Include dwarf2-frame.h.
744 (dwarf2_tailcall_prev_register_first): Use dwarf2_frame_cfa.
745 (dwarf2_tailcall_sniffer_first): Remove variable pc_regnum. Replace
746 gdbarch_pc_regnum and frame_unwind_register_unsigned by
751 * dwarf2read.c (dw2_get_file_names): Move adjustment for type
753 (partial_read_comp_unit_head): ...here. Add is_debug_type_section
754 flag. Adjust all callers.
755 (process_psymtab_comp_unit): Remove adjustment for type section.
759 * cp-namespace.c (cp_scan_for_anonymous_namespaces): Changed function
760 arguments by adding OBJFILE. Instead of getting objfile from
761 symbol's symtab, use new argument OBJFILE.
762 * cp-support.h (cp_scan_for_anonymous_namespaces): Changed function
763 arguments by adding OBJFILE.
764 * gdb/dwarf2read.c (new_symbol_full): Change call to
765 cp_scan_for_anonymous_namespaces to match new signature.
766 * gdb/stabsread.c (define_symbol): Change call to
767 cp_scan_for_anonymous_namespaces to match new signature.
774 * python/py-breakpoint.c (gdbpy_breakpoints): Fix List reference
776 * python/py-inferior.c (gdbpy_inferiors): Fix List reference
777 leak. Delete unused variables.
783 * python/py-frame.c (frapy_read_var): Use const struct *block.
784 * python/py-type.c (typy_lookup_typename): Likewise.
785 (typy_lookup_type): Likewise.
786 (typy_legacy_template_argument): Likewise.
787 (typy_template_argument): Likewise.
788 (gdbpy_lookup_type): Likewise.
789 * python/py-symbol.c (gdbpy_lookup_symbol): Likewise.
790 * python/py-block.c (blpy_block_object): Likewise.
791 (blpy_iter): Likewise.
792 (blpy_get_start): Likewise.
793 (blpy_get_end): Likewise.
794 (blpy_get_function): Likewise.
795 (blpy_get_superblock): Likewise.
796 (set_block): Likewise.
797 (block_to_block_object): Likewise.
798 (block_object_to_block): Likewise.
799 (blpy_is_valid): Likewise.
800 (blpy_get_global_block): New function.
801 (blpy_get_static_block): New function.
802 (blpy_is_global): New function.
803 (blpy_is_static): New function.
804 * blockframe.c (block_innermost_frame): Likewise.
805 * valops.c (value_of_variable): Likewise.
806 * frame.h: Update prototypes.
807 * python/python-internal.h: Likewise.
812 * dwarf2read.c (create_debug_types_hash_table): Fix size of
817 * dwarf2read.c (peek_abbrev_code): New function.
818 (dw2_get_file_names): Check for dummy compilation units.
819 (create_debug_types_hash_table): Likewise.
820 (process_psymtab_comp_unit): Likewise.
821 (load_partial_comp_unit): Likewise.
822 (load_full_comp_unit): Likewise.
826 * solib-svr4.c (read_program_header): New variables pt_phdr, pt_phdr_p,
827 initialize them from target PT_PHDR p_vaddr, relocate sect_addr by
828 pt_phdr if PT_PHDR was found.
832 * gdbtypes.h: Added TYPE_SAFE_NAME macro to get the name of a
833 type or "<unnamed type"> when there is no name assigned.
834 * gnu-v3-abi.c (gnuv3_rtti_type): Use TYPE_SAFE_NAME macro to
835 avoid a sigint when no name is assigned.
841 * dwarf2expr.c (ctx_no_read_reg): New function.
842 * dwarf2expr.h (ctx_no_read_reg): New declaration.
843 * dwarf2read.c (read_2_signed_bytes, read_4_signed_bytes): Remove.
844 (decode_locdesc_read_mem, decode_locdesc_ctx_funcs): New.
845 (decode_locdesc): Replace by a caller of dwarf_expr_eval.
849 * NEWS: Document python gdb.printing.register_pretty_printer's new
855 * eval.c (evaluate_subexp_standard): Do not construct
856 an array of types; pass the value array directly to
858 * gdbtypes.h (NULL_POINTER_CONVERSION_BADNESS): Declare.
859 (rank_function): Take an array of values instead of types.
860 (rank_one_type): Add struct value * parameter.
861 * gdbtypes.c (NULL_POINTER_CONVERSION_BADNESS): Define.
862 (rank_function): For each argument, pass the argument's
863 value to rank_one_type.
864 (rank_one_type): Add VALUE parameter.
865 If the parameter type is a pointer and the argument type
866 is an integer, return NULL_POINTER_CONVERSION_BADNESS if
868 Update all calls to rank_one_type, passing NULL for new
870 * valarith.c (value_user_defined_cpp_op): Do not construct
871 an array of types; pass the value array directly to
873 * valops.c (find_overload_method_list): Take an array of
874 values instead of types.
875 Save the type of OBJP for later use.
876 Update calls to find_oload_champ, and find_oload_champ_namespace.
877 (find_oload_champ_namespace): Take an array of values instead
879 (find_oload_champ_namespace_loop): Likewise.
880 (find_oload_champ): Likewise.
881 (classify_oload_match): Inspect all arguments
882 until INCOMPATIBLE is found. Return the worst badness found
884 (compare_parameters): Update call to rank_one_type.
885 * value.h (find_overload_match): Take an array of values instead
890 Drop lazy lm_info reading.
891 * solib-svr4.c (struct lm_info): Remove field lm. New fields l_addr_p,
892 l_addr_inferior, l_ld, l_next, l_prev and l_name.
893 (lm_info_read): New function.
894 (lm_addr_from_link_map, lm_dynamic_from_link_map): Remove.
895 (lm_addr_check): Use l_addr_p. No longer use lm_addr_from_link_map and
896 lm_dynamic_from_link_map.
897 (lm_next, lm_prev, lm_name): Remove.
898 (svr4_keep_data_in_core): Use lm_info_read, drop the lm_info entries
899 initialization incl. read_memory. No longer use lm_name.
900 (svr4_free_so): Drop lm_info->lm freeing.
901 (svr4_default_sos): Initialize lminfo with zeroes. Use l_addr_p. Drop
902 explicit lm_addr and lm initialization.
903 (svr4_read_so_list): Use lm_info_read, drop the initailization of
904 fields by hand, incl. read_memory. No longer use lm_next, lm_prev and
910 * defs.h (struct so_list): New forward declaration.
911 (make_cleanup_free_so): New declaration.
912 * solib-svr4.c (ignore_first_link_map_entry): Remove.
913 (svr4_free_so): Move the function here from downwards. Handle NULL
915 (svr4_free_library_list): New.
916 (svr4_read_so_list): New, moved here code from svr4_current_sos.
917 Use more cleanups. Use new parameter ignore_first instead of
918 ignore_first_link_map_entry.
919 (svr4_current_sos): New variable ignore_first, initialize it. New
920 variable back_to, use it for svr4_free_library_list protection.
921 (svr4_free_so): Remove - move upwards.
922 * utils.c: Include solist.h.
923 (do_free_so, make_cleanup_free_so): New functions.
927 Fix internal error regression.
928 * value.c (value_primitive_field): Handle value_optimized_out. Move
929 packed bitfields comment.
933 * python/py-breakpoint.c (gdbpy_breakpoint_deleted): Ensure GIL is
938 * python/py-type.c (typy_has_key): Make 'field' const.
942 * remote.c (remote_save_trace_data): Invert comparison.
946 * tracepoint.c (trace_save_command): Use filename instead of
951 * dwarf2read.c (dwarf2_fetch_die_location_block): Initialize .data even
957 * arm-tdep.c (thumb_analyze_prologue): Call thumb_insn_size to check
958 whether insn is a 32-bit Thumb-2 instruction.
959 (thumb_in_function_epilogue_p): Likewise.
960 (thumb_get_next_pc_raw): Likewise.
961 (arm_breakpoint_from_pc): Likewise.
965 Fix empty DWARF expressions DATA vs. SIZE conditionals.
966 * dwarf2loc.c (dwarf2_find_location_expression): Clear *LOCEXPR_LENGTH.
967 (dwarf_expr_frame_base_1): Indicate unavailability via zero *LENGTH.
968 (locexpr_tracepoint_var_ref): Check only zero SIZE, not zero DATA.
969 (loclist_read_variable, loclist_tracepoint_var_ref): Do not check for
971 * dwarf2loc.h (struct dwarf2_locexpr_baton): Comment DATA vs. SIZE
973 * dwarf2read.c (struct dwarf_block): Comment DATA validity.
974 (dwarf2_fetch_die_location_block, dwarf2_symbol_mark_computed): Do not
975 clear DATA on zero SIZE.
979 * dwarf2read.c (partial_read_comp_unit_head): Set header->offset,
980 header->first_die_offset here. All callers updated.
984 Fix compatibility with texinfo versions older than 4.12.
985 * Makefile.in (MAKEINFO): Set to @MAKEINFO@.
986 (MAKEINFOFLAGS, MAKEINFO_EXTRA_FLAGS, MAKEINFO_CMD): New.
987 (MAKEHTMLFLAGS): Use MAKEINFO_CMD.
988 (FLAGS_TO_PASS): Add MAKEINFOFLAGS and MAKEINFO_EXTRA_FLAGS.
989 * configure: Regenerate.
990 * configure.ac (MAKEINFO): Find it, from libiberty/configure.ac.
991 (MAKEINFOFLAGS): Pre-set it to --split-size=5000000.
992 (MAKEINFO_EXTRA_FLAGS): New test for -DHAVE_MAKEINFO_CLICK.
996 * breakpoint.h (pc_at_non_inline_function): Declare.
997 * breakpoint.c (is_non_inline_function,
998 pc_at_non_inline_function): New functions.
999 * infrun.c (handle_inferior_event): Don't call skip_inline_frames
1000 if the stop is at a location where functions cannot be inlined.
1004 * linux-nat.c (stop_and_resume_callback): Don't re-resume LWPs if
1005 the core wanted them stopped, or if they now have a pending event
1007 (linux_nat_filter_event): New parameter `new_pending_p'. Pass it
1008 down to stop_and_resume_callback.
1009 (linux_nat_wait_1): Always clear `options' when retrying. Handle
1010 having new pending events after calling linux_nat_filter_event.
1014 * dwarf2read.c: Undo inadvertent changes in previous commit.
1018 * dwarf2read.c (partial_die_parent_scope): Rearrange conditional
1023 * symfile.c (separate_debug_file_exists): Fix condition.
1027 * regcache.c (regcache_restore): Do not write unavailable regs, mark
1029 * regcache.h (regcache_restore): Remove declaration.
1031 * gdbarch.sh: New field 'long_long_align_bit'.
1032 * gdbarch.c, gdbarch.h: Regenerate.
1033 * i386-tdep.c (i386_gdbarch_init): Set long_long_align_bit to 32.
1034 * jit.c (jit_read_code_entry): Use it to determine correct size offset.
1038 Revert this part of:
1040 Support @entry in input expressions.
1041 * c-exp.y (ENTRY, unknown_cpp_name): New.
1042 (exp: UNKNOWN_CPP_NAME): Change to `exp: unknown_cpp_name'.
1043 (unknown_cpp_name: UNKNOWN_CPP_NAME, unknown_cpp_name: ENTRY)
1044 (variable: name_not_typename '@' ENTRY, name: ENTRY)
1045 (name_not_typename: ENTRY): New.
1046 (yylex): Recognize ENTRY.
1048 Reimplement @entry in input expressions.
1049 * c-exp.y (ENTRY): New.
1050 (variable: name_not_typename ENTRY): New.
1051 (lex_one_token): Optionally return ENTRY instead of the '@' lex.
1055 * linux-nat.c (linux_handle_extended_wait): Always dump both the
1056 parent and child's pids as soon as we detect a clone event.
1057 Adjust another debug message.
1061 * linux-nat.c (linux_lwp_is_zombie): Return early if the LWP is
1062 not zombie instead of reading the whole file.
1066 Fix separate debuginfo warning with "remote:" access.
1067 * objfiles.h (struct objfile): New fields crc32 and crc32_p.
1068 * symfile.c (get_file_crc): New function with the code moved from ...
1069 (separate_debug_file_exists): ... this function, specifically variables
1070 buffer and count. New variable verified_as_different, set it. Remove
1071 file_crc initialization. Verify also if both files are not the same
1072 manually, if needed.
1076 * arm-tdep.c (arm_get_next_pc_raw): Use read_memory_unsigned_integer
1081 * linux-thread-db.c (thread_db_new_objfile): Only try to load
1082 libthread_db when we load libpthread or the main symbol file.
1083 (thread_db_inferior_created): New function.
1084 (_initialize_thread_db): Attach inferior_created observer.
1085 * linux-nat.c (linux_child_post_attach): Remove call to
1086 check_for_thread_db.
1087 (linux_child_post_startup_inferior): Ditto.
1088 * objfiles.h (OBJF_MAINLINE): Define.
1089 * symfile.c (symbol_file_add_with_addrs_or_offsets): Pass it to
1090 allocate_objfile when appropriate.
1095 * arm-linux-nat.c (os_version, os_major, os_minor, os_release):
1096 Remove unused variables.
1097 (get_linux_version): Remove function.
1098 (_initialize_arm_linux_nat): Do not call it.
1102 * linux-nat.c (linux_handle_extended_wait): Don't resume the new
1103 new clone lwp if the core asked it to stop. Don't pass on
1104 unexpected signals to the new clone; leave them pending instead.
1108 * linux-nat.c (resume_lwp): Remove redundant debug output.
1112 * linux-nat.c (linux_nat_wait_1): Copy the event lwp's
1113 last_resume_kind before clearing it, and use the copy instead to
1114 determine whether to report a SIGSTOP as TARGET_SIGNAL_0. Use
1115 resume_clear_callback in the non-stop path too.
1119 * valprint.c (value_check_printable): Add one parameter OPTIONS.
1120 Honor OPTIONS and VAL's type.
1121 (common_val_print, value_print): Update to pass one more parameter.
1125 Add new "alias" command.
1126 * NEWS: Mention new command.
1127 * command.h (valid_user_defined_cmd_name_p): Declare.
1128 * defs.h (make_cleanup_dyn_string_delete): Declare.
1129 * utils.c: #include "dyn-string.h".
1130 (do_dyn_string_delete, make_cleanup_dyn_string_delete): New functions.
1131 * cli/cli-cmds.c: #include "dyn-string.h".
1132 (argv_to_dyn_string, valid_command_p, alias_command): New functions.
1133 (init_cli_cmds): Add new command.
1134 * cli/cli-decode.c (valid_user_defined_cmd_name_p): New function.
1138 Fix compatibility with older GCCs.
1139 * dwarf2loc.c (dwarf_expr_reg_to_entry_parameter): Initialize parameter.
1140 * stack.c (read_frame_arg): Initialize val_deref.
1144 Entry values NEWS entries, DWARF disassembly support.
1145 * NEWS: New entry values entry.
1146 (set print entry-values, show print entry-values)
1147 (set debug entry-values, show debug entry-values): New entries.
1148 * dwarf2loc.c (disassemble_dwarf_expression): New parameters start and
1149 indent. Remove variable start. Move header printing out. Respect
1150 INDENT. Support DW_OP_GNU_entry_value.
1151 (locexpr_describe_location_1): Move the header printing here, extend
1152 the disassemble_dwarf_expression passed parameters.
1156 Display @entry parameter values even for references.
1157 * ada-valprint.c (ada_val_print_1) <TYPE_CODE_REF>: Try also
1158 coerce_ref_if_computed.
1159 * c-valprint.c (c_val_print) <TYPE_CODE_REF>: Likewise.
1160 * dwarf2expr.c (dwarf_block_to_dwarf_reg_deref): New function.
1161 (execute_stack_op) <DW_OP_GNU_entry_value>: Add -1 deref_size to the
1162 existing push_dwarf_reg_entry_value call. Add new detection calling
1163 dwarf_block_to_dwarf_reg_deref. Update the error message.
1164 (ctx_no_push_dwarf_reg_entry_value): New parameter deref_size.
1166 (struct dwarf_expr_context_funcs) <push_dwarf_reg_entry_value>: Add new
1167 parameter deref_size, describe it in the comment.
1168 (ctx_no_push_dwarf_reg_entry_value): Add new parameter deref_size.
1169 (dwarf_block_to_dwarf_reg_deref): New declaration.
1170 * dwarf2loc.c (dwarf_entry_parameter_to_value): Add new parameter
1171 deref_size, describe it in the function comment. New variables
1172 data_src and size, fetch the alternative block accoring to DEREF_SIZE.
1173 (dwarf_expr_push_dwarf_reg_entry_value): Add new parameter deref_size,
1174 describe it in the function comment. Fetch the alternative block
1175 accoring to DEREF_SIZE.
1176 (entry_data_value_coerce_ref, entry_data_value_copy_closure)
1177 (entry_data_value_free_closure, entry_data_value_funcs): New.
1178 (value_of_dwarf_reg_entry): New variables checked_type, target_type,
1179 outer_val, target_val, val and addr. Try to fetch and create also
1180 referenced value content.
1181 (pieced_value_funcs): NULL value for coerce_ref.
1182 (needs_dwarf_reg_entry_value): Add new parameter deref_size.
1183 * f-valprint.c (f_val_print) <TYPE_CODE_REF>: Try also
1184 coerce_ref_if_computed.
1185 * opencl-lang.c (opencl_value_funcs): NULL value for coerce_ref.
1186 * p-valprint.c (pascal_val_print) <TYPE_CODE_REF>: Likewise.
1187 * stack.c (read_frame_arg): Compare also dereferenced values.
1188 * value.c (value_computed_funcs): Make the parameter v const, use
1189 value_lval_const for it.
1190 (value_lval_const, coerce_ref_if_computed): New function.
1191 (coerce_ref): New variable retval. Call also coerce_ref_if_computed.
1192 * value.h (struct lval_funcs): New field coerce_ref.
1193 (value_computed_funcs): Make the parameter v const.
1194 (value_lval_const, coerce_ref_if_computed): New declarations.
1198 Support @entry in input expressions.
1199 * c-exp.y (ENTRY, unknown_cpp_name): New.
1200 (exp: UNKNOWN_CPP_NAME): Change to `exp: unknown_cpp_name'.
1201 (unknown_cpp_name: UNKNOWN_CPP_NAME, unknown_cpp_name: ENTRY)
1202 (variable: name_not_typename '@' ENTRY, name: ENTRY)
1203 (name_not_typename: ENTRY): New.
1204 (yylex): Recognize ENTRY.
1205 * eval.c (evaluate_subexp_standard): Support also OP_VAR_ENTRY_VALUE.
1206 * expprint.c (print_subexp_standard, dump_subexp_body_standard):
1208 * parse.c (operator_length_standard): Likewise.
1209 * std-operator.def: New operator OP_VAR_ENTRY_VALUE.
1213 Display referenced values in backtraces.
1214 * printcmd.c (print_variable_and_value): Set OPTS.DEREF_REF to 1.
1215 * stack.c (print_frame_arg): Likewise.
1219 Make some lval_funcs methods to default on NULL.
1220 * valops.c (value_fetch_lazy): Check if lval_computed read method is
1222 (value_assign): Check if lval_computed write method is NULL.
1223 * value.h (struct lval_funcs): Comment NULL values for read and write
1228 Display @entry parameter values (without references).
1229 * dwarf2expr.c (dwarf_block_to_fb_offset, dwarf_block_to_sp_offset):
1231 * dwarf2expr.h (dwarf_block_to_fb_offset, dwarf_block_to_sp_offset):
1233 * dwarf2loc.c (dwarf2_find_location_expression): Support location list
1235 (dwarf_entry_parameter_to_value, value_of_dwarf_reg_entry)
1236 (value_of_dwarf_block_entry, locexpr_read_variable_at_entry): New
1238 (dwarf2_locexpr_funcs): Install locexpr_read_variable_at_entry.
1239 (loclist_read_variable_at_entry): New function.
1240 (dwarf2_loclist_funcs): Install loclist_read_variable_at_entry.
1241 * dwarf2read.c (read_call_site_scope): Support also DW_OP_fbreg in
1242 DW_AT_location, call dwarf_block_to_sp_offset for it.
1243 * frame.h (print_entry_values_no, print_entry_values_only)
1244 (print_entry_values_preferred, print_entry_values_if_needed)
1245 (print_entry_values_both, print_entry_values_compact)
1246 (print_entry_values_default, print_entry_values): New declarations.
1247 (struct frame_arg): New field entry_kind.
1248 (read_frame_arg): New parameter entryargp.
1249 * mi/mi-cmd-stack.c (list_arg_or_local): New gdb_assert for
1250 arg->entry_kind. Optionally print the `@entry' suffix.
1251 (list_args_or_locals): New variable entryarg, initialize it.
1252 Initialize also entry_kind of arg and entryarg. Conditionalize
1253 list_arg_or_local for arg, add list_arg_or_local for entryarg. Call
1254 xfree for entryarg.error.
1255 * stack.c (print_entry_values_no, print_entry_values_only)
1256 (print_entry_values_preferred, print_entry_values_if_needed)
1257 (print_entry_values_both, print_entry_values_compact)
1258 (print_entry_values_default, print_entry_values_choices)
1259 (print_entry_values): New variables.
1260 (print_frame_arg): New gdb_assert for arg->entry_kind. Optionally
1261 print the `@entry' suffix, possibly in combination for
1262 print_entry_values_compact.
1263 (read_frame_arg): New parameter entryargp, new variables entryval,
1264 entryval_error and val_equal. Read in also entryargp, respect
1265 print_entry_values, compare the values using val_equal, fill in also
1266 argp->entry_kind (together with entryargp->entry_kind).
1267 (print_frame_args): New variable entryarg, initialize it.
1268 Conditionalize print_frame_arg for arg, add print_frame_arg for
1269 entryarg. Call xfree for entryarg.error.
1270 (_initialize_stack): Call add_setshow_enum_cmd for `entry-values'.
1271 * symtab.h (struct symbol_computed_ops): New field
1272 read_variable_at_entry.
1277 * frame.h (struct frame_arg): New definition.
1278 (read_frame_arg): New declaration.
1279 * mi/mi-cmd-stack.c (list_arg_or_local): New functiom from ...
1280 (list_args_or_locals): ... the code here. New variable arg, call
1281 read_frame_arg and list_arg_or_local with it. Unify the
1282 PRINT_SIMPLE_VALUES and PRINT_ALL_VALUES cases. Call xfree for
1284 * stack.c (print_frame_arg): New functiom from the code of
1286 (read_frame_arg): New function.
1287 (print_frame_args): Remove variable val. New variable arg, call
1288 read_frame_arg and print_frame_arg with it. Call xfree for arg.error.
1292 Protect entry values against self tail calls.
1293 * dwarf2loc.c (VEC (CORE_ADDR), func_verify_no_selftailcall): New.
1294 (dwarf_expr_dwarf_reg_entry_value): Call func_verify_no_selftailcall.
1298 Recognize virtual tail call frames.
1299 * Makefile.in (SFILES): Add dwarf2-frame-tailcall.c.
1300 (HFILES_NO_SRCDIR): Add dwarf2-frame-tailcall.h.
1301 (COMMON_OBS): Add dwarf2-frame-tailcall.o.
1302 * dwarf2-frame-tailcall.c: New file.
1303 * dwarf2-frame-tailcall.h: New file.
1304 * dwarf2-frame.c: Include dwarf2-frame-tailcall.h.
1305 (execute_cfa_program): New function comment. Return INSN_PTR. Reset
1306 REGS.PREV only after CIE execution.
1307 (struct dwarf2_frame_cache): New field tailcall_cache.
1308 (dwarf2_frame_cache): New variables entry_pc, entry_cfa_sp_offset,
1309 entry_cfa_sp_offset_p and instr. Execute FDE instructions in two
1310 parts, try to find entry_cfa_sp_offset. Call
1311 dwarf2_tailcall_sniffer_first.
1312 (dwarf2_frame_prev_register): Call dwarf2_tailcall_prev_register_first
1314 (dwarf2_frame_dealloc_cache): New function.
1315 (dwarf2_frame_sniffer): Preinitialize cache by dwarf2_frame_cache.
1316 (dwarf2_frame_unwind): Install dwarf2_frame_dealloc_cache.
1317 (dwarf2_signal_frame_unwind): Do not install dwarf2_frame_dealloc_cache.
1318 (dwarf2_append_unwinders): Add dwarf2_tailcall_frame_unwind.
1319 (dwarf2_frame_cfa): Support also dwarf2_tailcall_frame_unwind.
1320 * dwarf2loc.c (func_addr_to_tail_call_list)
1321 (tailcall_dump, call_sitep, VEC (call_sitep), chain_candidate)
1322 (call_site_find_chain_1, call_site_find_chain): New.
1323 * dwarf2loc.h (struct call_site_chain): New.
1324 (call_site_find_chain): New declaration.
1325 * frame.c (get_frame_address_in_block): Support also TAILCALL_FRAME.
1326 * frame.h (enum frame_type): New entry TAILCALL_FRAME.
1327 * python/py-frame.c (gdbpy_initialize_frames): Add TAILCALL_FRAME.
1328 * stack.c (frame_info): Support also TAILCALL_FRAME.
1332 Tail call sites reader implementation.
1333 * dwarf2read.c (read_call_site_scope): Recognize DW_AT_GNU_tail_call,
1334 fill in TYPE_TAIL_CALL_LIST.
1335 * gdbtypes.h (struct func_type): New field tail_call_list.
1336 (struct call_site): New field tail_call_next.
1337 (TYPE_TAIL_CALL_LIST): New definition.
1341 Implement basic support for DW_TAG_GNU_call_site.
1342 * block.c: Include gdbtypes.h and exceptions.h.
1343 (call_site_for_pc): New function.
1344 * block.h (call_site_for_pc): New declaration.
1345 * defs.h: Include hashtab.h.
1346 (make_cleanup_htab_delete, core_addr_hash, core_addr_eq): New
1348 * dwarf2-frame.c (dwarf2_frame_ctx_funcs): Install
1349 ctx_no_push_dwarf_reg_entry_value.
1350 * dwarf2expr.c (read_uleb128, read_sleb128): Support R as NULL.
1351 (dwarf_block_to_dwarf_reg): New function.
1352 (execute_stack_op) <DW_OP_GNU_entry_value>: Implement it.
1353 (ctx_no_push_dwarf_reg_entry_value): New function.
1354 * dwarf2expr.h (struct dwarf_expr_context_funcs): New field
1355 push_dwarf_reg_entry_value.
1356 (ctx_no_push_dwarf_reg_entry_value, dwarf_block_to_dwarf_reg): New
1358 * dwarf2loc.c: Include gdbcmd.h.
1359 (dwarf_expr_ctx_funcs): New forward declaration.
1360 (entry_values_debug, show_entry_values_debug, call_site_to_target_addr)
1361 (dwarf_expr_reg_to_entry_parameter)
1362 (dwarf_expr_push_dwarf_reg_entry_value): New.
1363 (dwarf_expr_ctx_funcs): Install dwarf_expr_push_dwarf_reg_entry_value.
1364 (dwarf2_evaluate_loc_desc_full): Handle NO_ENTRY_VALUE_ERROR.
1365 (needs_dwarf_reg_entry_value): New function.
1366 (needs_frame_ctx_funcs): Install it.
1367 (_initialize_dwarf2loc): New function.
1368 * dwarf2loc.h (entry_values_debug): New declaration.
1369 * dwarf2read.c (struct dwarf2_cu): New field call_site_htab.
1370 (read_call_site_scope): New forward declaration.
1371 (process_full_comp_unit): Copy call_site_htab.
1372 (process_die): Support DW_TAG_GNU_call_site.
1373 (read_call_site_scope): New function.
1374 (dwarf2_get_pc_bounds): Support NULL HIGHPC.
1375 (dwarf_tag_name): Support DW_TAG_GNU_call_site.
1376 (cleanup_htab): Delete.
1377 (write_psymtabs_to_index): Use make_cleanup_htab_delete instead of it.
1378 * exceptions.h (enum errors): New NO_ENTRY_VALUE_ERROR.
1379 * gdb-gdb.py (StructMainTypePrettyPrinter): Support
1380 FIELD_LOC_KIND_DWARF_BLOCK.
1381 * gdbtypes.h (enum field_loc_kind): New entry
1382 FIELD_LOC_KIND_DWARF_BLOCK.
1383 (struct main_type): New loc entry dwarf_block.
1384 (struct call_site, FIELD_DWARF_BLOCK, SET_FIELD_DWARF_BLOCK)
1385 (TYPE_FIELD_DWARF_BLOCK): New.
1386 * python/py-type.c: Include dwarf2loc.h.
1387 (check_types_equal): Support FIELD_LOC_KIND_DWARF_BLOCK. New
1388 internal_error call on unknown FIELD_LOC_KIND.
1389 * symtab.h (struct symtab): New field call_site_htab.
1390 * utils.c (do_htab_delete_cleanup, make_cleanup_htab_delete)
1391 (core_addr_hash, core_addr_eq): New functions.
1396 * gdb-gdb.py (StructMainTypePrettyPrinter): Change
1397 TYPE_SPECIFIC_CALLING_CONVENTION to TYPE_SPECIFIC_FUNC. Move
1398 calling_convention under func_stuff there.
1399 * gdbtypes.c (make_function_type): Call INIT_FUNC_SPECIFIC.
1400 (init_type) <TYPE_CODE_FUNC>: Likewise.
1401 (recursive_dump_type): Change TYPE_SPECIFIC_CALLING_CONVENTION to
1402 TYPE_SPECIFIC_FUNC. New comment for tail_call_list.
1403 * gdbtypes.h (enum type_specific_kind): Change
1404 TYPE_SPECIFIC_CALLING_CONVENTION to TYPE_SPECIFIC_FUNC.
1405 (struct main_type) <type_specific>: Change calling_convention to
1406 func_stuff. Move calling_convention to ...
1407 (struct func_type): ... this new struct.
1408 (INIT_FUNC_SPECIFIC): New #define.
1409 (TYPE_CALLING_CONVENTION): Change calling_convention to func_stuff.
1413 Fix DW_OP_GNU_implicit_pointer for DWARF32 v3+ on 64-bit arches.
1414 * dwarf2-frame.c (execute_stack_op): Initialize ctx->ref_addr_size.
1415 * dwarf2expr.c (execute_stack_op) <DW_OP_GNU_implicit_pointer>: Use
1416 ctx->ref_addr_size. Handle its invalid value.
1417 * dwarf2expr.h (struct dwarf_expr_context): New field ref_addr_size.
1418 * dwarf2loc.c (dwarf2_evaluate_loc_desc_full)
1419 (dwarf2_loc_desc_needs_frame): Initialize ctx->ref_addr_size.
1420 * dwarf2loc.h (dwarf2_per_cu_ref_addr_size): New declaration.
1421 * dwarf2read.c (decode_locdesc): Initialize ctx->ref_addr_size.
1422 (dwarf2_per_cu_ref_addr_size): New function.
1427 * dwarf2read.c (per_cu_header_read_in): New function.
1428 (dwarf2_per_cu_addr_size, dwarf2_per_cu_offset_size): Use it, with new
1429 variables cu_header_local and cu_headerp.
1433 Fix initial language detection with -readnow.
1434 * dwarf2read.c (dw2_find_symbol_file): Handle OBJF_READNOW case.
1435 * symfile.h (struct quick_symbol_functions): State find_symbol_file
1436 searches only for global symbols.
1440 Fix printed anonymous struct name.
1441 * dwarf2read.c (fixup_partial_die): Handle for anonymous structs also
1442 DW_TAG_interface_type. Strip for anonymous structs any prefixes.
1443 (anonymous_struct_prefix): New function.
1444 (determine_prefix): New variables retval. Call anonymous_struct_prefix.
1445 (dwarf2_name): Strip for anonymous structs any prefixes.
1449 * python/lib/gdb/printing.py (register_pretty_printer): New argument
1452 * python/lib/gdb/printing.py: Whitespace cleanup.
1454 * python/py-value.c (valpy_call): Initialize ftype to avoid compiler
1459 * linux-nat.h (ALL_LWPS): Remove the ptid parameter.
1460 * amd64-linux-nat.c (amd64_linux_dr_set_control)
1461 (amd64_linux_dr_set_addr, amd64_linux_dr_unset_status): Adjust.
1462 * arm-linux-nat.c (arm_linux_insert_hw_breakpoint)
1463 (arm_linux_remove_hw_breakpoint, arm_linux_insert_watchpoint)
1464 (arm_linux_remove_watchpoint): Adjust.
1465 * i386-linux-nat.c (i386_linux_dr_set_control)
1466 (i386_linux_dr_set_addr, i386_linux_dr_unset_status): Adjust.
1467 * ia64-linux-nat.c (ia64_linux_insert_watchpoint)
1468 (ia64_linux_remove_watchpoint): Adjust.
1469 * mips-linux-nat.c (write_watchpoint_regs): Adjust.
1470 * ppc-linux-nat.c (ppc_linux_insert_hw_breakpoint)
1471 (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
1472 (ppc_linux_insert_mask_watchpoint)
1473 (ppc_linux_remove_mask_watchpoint, ppc_linux_insert_watchpoint)
1474 (ppc_linux_remove_watchpoint): Adjust.
1475 * s390-nat.c (s390_insert_watchpoint, s390_remove_watchpoint):
1480 * windows-nat.c: Include wchar.h to avoid compiler warnings.
1481 (clear_win32_environment): New function for Cygwin to clear out
1483 (windows_create_inferior): Prepare new environment from in_env
1489 * python/py-value.c (valpy_call): Check that arguments are
1491 (is_intlike): Remove call to CHECK_TYPEDEF.
1492 (valpy_nonzero): Catch GDB exceptions.
1493 (valpy_absolute): Ditto.
1494 (valpy_lazy_string): Ditto.
1495 (valpy_call): Ditto.
1496 (valpy_get_is_optimized_out): Ditto.
1497 (valpy_long): Ditto.
1498 (valpy_float): Ditto.
1499 (valpy_int): Call CHECK_TYPEDEF. Catch GDB exceptions.
1500 (valpy_richcompare): Ditto.
1504 * inferior.h (disable_randomization): Declare.
1505 * infrun.c (disable_randomization): New global variable.
1506 (show_disable_randomization): New function.
1507 (set_disable_randomization): Likewise.
1508 (_initialize_infrun): Install set/show disable-randomization
1510 * linux-nat.c (disable_randomization): Remove.
1511 (show_disable_randomization): Likewise.
1512 (set_disable_randomization): Likewise.
1513 (_initialize_linux_nat): No longer install set/show
1514 disable-randomization commands here.
1515 (linux_nat_supports_disable_randomization): New function.
1516 (linux_nat_add_target): Install it.
1517 * remote.c (PACKET_QDisableRandomization): New enum value.
1518 (remote_protocol_packets): Support QDisableRandomization.
1519 (_initialize_remote): Likewise.
1520 (remote_supports_disable_randomization): New function.
1521 (init_remote_ops): Install it.
1522 (extended_remote_supports_disable_randomization): New function.
1523 (init_extended_remote_ops): Install it.
1524 (extended_remote_disable_randomization): New function.
1525 (extended_remote_create_inferior_1): Call it.
1526 * target.h (struct target_ops): Add to_supports_disable_randomization.
1527 (target_supports_disable_randomization): Add prototype.
1528 * target.c (target_supports_disable_randomization): New function.
1529 (find_default_supports_disable_randomization): Likewise.
1530 (init_dummy_target): Install it.
1534 Allow Python notification of new object-file loadings.
1535 * Makefile.in (SUBDIR_PYTHON_SRCS): Add py-newobjfilevent.c.
1536 (SUBDIR_PYTHON_OBS): Add py-newobjfileevent.o.
1537 Add build rule for this file.
1538 * python/py-event.h (emit_new_objfile_event): New prototype.
1539 (newobjfile): New Python event emitter.
1540 * python/py-evts.c (gdbpy_initialize_py_events): Add new_objfile to
1541 Python event registry.
1542 * python/py-inferior.c: Include objfiles.h
1543 (python_new_objfile): New function.
1544 (gdbpy_initialize_inferior): Add python_new_objfile to the new objfile
1546 * python/py-newobjfileevent.c: New file.
1547 * python-internal.h (gdbpy_initialize_new_objfile_event): New
1549 * python/python.c (_initialize_python): Add
1550 gdbpy_initialize_new_objfile_event call.
1551 * NEWS: Add item for new Python event "gdb.newobjfile"
1555 * ada-tasks.c (read_atcb): Make ravenscar_task_name static.
1556 Extract the ravenscar task name from the symbol for the atcb.
1560 * python/py-type.c (typy_make_iter): Add forward declaration.
1561 (typy_fields_items): Use the gdb.Type iterator.
1565 * NEWS: Add entry for Python gdb.Type mapping methods.
1569 PR python/12691: Add the inferior to Python exited event
1570 * python/py-exitedevent.c (create_exited_event_object): Add inferior
1572 * python/py-event.h (emit_exited_event): Likewise
1573 * python/-inferior.c (python_inferior_exit): Likewise
1577 * ada-tasks.c (print_ada_task_info): Add "thread-id" field
1578 in output of -ada-task-info GDB/MI command.
1582 * ada-lang.h (struct inferior): Declare.
1583 (print_ada_task_info): Add declaration.
1584 * ada-tasks.c (print_ada_task_info): Make non-static.
1585 * mi/mi-cmds.c (mi_cmds): Add "ada-task-info".
1586 * mi/mi-cmds.h (mi_cmd_ada_task_info): Add declaration.
1587 * mi/mi-main.c: #include "ada-lang.h".
1588 (mi_cmd_list_features): Add "ada-task-info" to the list
1589 of supported features.
1590 (mi_cmd_ada_task_info): New function.
1594 * python/python.c (python_run_simple_file): New function.
1595 (source_python_script, source_python_script_for_objfile):
1596 Replace call to PyRun_SimpleFile by call to
1597 python_run_simple_file.
1601 * python/py-value.c (valpy_get_address): Use Py_XINCREF.
1602 (value_to_value_object): Fetch value if it was lazy.
1607 * solib-svr4.c (svr4_default_sos): Remove variables head and link_ptr.
1608 Rearrange the code for it.
1612 * breakpoint.c (bkpt_print_recreate): Add call to
1613 print_recreate_thread.
1617 * common/linux-ptrace.h (PTRACE_GETFDPIC, PTRACE_GETFDPIC_EXEC,
1618 PTRACE_GETFDPIC_INTERP): Define.
1622 * symfile.c (add_symbol_file_command): Update message on usage.
1626 * python/py-type.c (make_fielditem, typy_field_names, typy_items)
1627 (typy_length, typy_get, typy_has_key, typy_make_iter)
1628 (typy_iterkeys, typy_iteritems, typy_itervalues, typy_iter)
1629 (typy_iterator_iter, typy_iterator_iternext)
1630 (typy_iterator_dealloc): New functions to implement standard
1631 Python mapping methods on gdb.Type object.
1632 (gdb.TypeIterator): New Python type.
1633 * python/python-internal.h (gdbpy_iter_kind): New enum.
1637 * sparc-tdep.h (SPARC_F2_REGNUM, SPARC_F3_REGNUM, SPARC_F4_REGNUM,
1638 SPARC_F5_REGNUM, SPARC_F6_REGNUM, SPARC_F7_REGNUM): New enums.
1639 * sparc-tdep.c (sparc_complex_floating_p): New function.
1640 (sparc32_store_arguments): Handle complex floats.
1641 (sparc32_extract_return_value): Likewise.
1642 (sparc32_store_return_value): Likewise.
1643 (sparc32_stabs_argument_has_addr): Likewise.
1644 * sparc64-tdep.c (sparc64_complex_floating_p): New function.
1645 (sparc64_store_floating_fields): Handle complex floats.
1646 (sparc64_store_arguments): Likewise.
1647 (sparc64_store_return_value): Likewise.
1651 * windows-nat.c (env_sort) [!__CYGWIN__]: Function restored from
1652 before the change on 2006-12-09.
1653 (windows_create_inferior) [!__CYGWIN__]: Restore code that
1654 generates the environment block for CreateProcessA, modulo the
1655 Cygwin-specific parts that are not needed here.
1659 * target.h (enum target_object): Add TARGET_OBJECT_DARWIN_DYLD_INFO.
1660 * solib-darwin.c (DYLD_VERSION_MAX): Update number.
1661 (darwin_solib_get_all_image_info_addr_at_init): New function.
1662 (darwin_solib_read_all_image_info_addr): Likewise.
1663 (darwin_solib_create_inferior_hook): Use the above two functions.
1664 * darwin-nat.c (darwin_execvp): Renames retval to res.
1665 (darwin_read_write_inferior): Update comment.
1666 (darwin_read_dyld_info): New function.
1667 (darwin_xfer_partial): Handle DYLD_INFO.
1671 Add return address collection for tracepoints.
1672 * tracepoint.c (encode_actions_1): Add case for $_ret.
1673 (validate_actionline): Check for $_ret.
1674 (trace_dump_actions): Ditto.
1675 * ax-gdb.h (gen_trace_for_return_address): Declare.
1676 * ax-gdb.c: Include arch-utils.h.
1677 (gen_trace_for_return_address): New function.
1678 (agent_command): Add return address special case.
1679 * amd64-tdep.c: Include ax.h and ax-gdb.h.
1680 (amd64_gen_return_address): New function.
1681 (amd64_init_abi): Call it.
1682 * i386-tdep.c: Include ax.h and ax-gdb.h.
1683 (i386_gen_return_address): New function.
1684 (i386_init_abi): Call it.
1685 * arch-utils.h (default_gen_return_address): Declare.
1686 * arch-utils.c (default_gen_return_address): New function.
1687 * gdbarch.sh (gen_return_address): New method.
1688 * gdbarch.h, gdbarch.c: Regenerate.
1693 * i386-tdep.c (i386_frame_align): New.
1694 (i386_gdbarch_init): Use i386_frame_align.
1698 * i386-linux-nat.c (i386_linux_resume): Use read_memory_unsigned_integer
1703 * fork-child.c (fork_inferior): Add exec_fun parameter.
1704 Call exec_fun or execvp.
1705 * inferior.h: Adjust prototype.
1706 * gnu-nat.c (gnu_create_inferior): Adjust fork_inferior call.
1707 * inf-ttrace.c (inf_ttrace_create_inferior): Ditto.
1708 * inf-ptrace.c (inf_ptrace_create_inferior): Ditto.
1709 * procfs.c (procfs_create_inferior): Ditto.
1710 * darwin-nat.c (darwin_execvp): New function.
1711 (darwin_create_inferior): Use it.
1715 * infrun.c (context_switch): Print debug message when switching to
1720 * s390-tdep.c (s390_function_arg_pass_by_reference): Handle
1721 complex and vector types.
1722 (s390_return_value_convention): Likewise.
1724 (s390_value_from_register): Call check_typedef.
1725 (extend_simple_arg): Likewise.
1726 (alignment_of): Likewise.
1727 (s390_push_dummy_call): Likewise.
1728 (s390_return_value): Likewise.
1732 * event-top.c (async_disconnect): If an exception is thrown from
1733 quit_cover, call pop_all_targets. Use TRY_CATCH instead of
1735 * top.c (quit_cover): Return void and take no arguments.
1736 * top.h (quit_cover): Update prototype.
1740 * mi/mi-main.c (mi_load_progress): Restore saved_uiout value to
1741 current_uiout, not uiout.
1745 * python/py-auto-load.c (source_section_scripts): Fix file
1747 * python/python.c (source_python_script_for_objfile): Tweak comments.
1752 Support displaced stepping for Thumb 16-bit insns.
1753 * arm-tdep.c (THUMB_NOP) Define.
1754 (thumb_copy_unmodified_16bit): New.
1755 (thumb_copy_b, thumb_copy_bx_blx_reg): New.
1756 (thumb_copy_alu_reg): New.
1757 (arm_copy_svc): Move some common code to ...
1758 (install_svc): ... here. New.
1759 (thumb_copy_svc): New.
1760 (install_pc_relative): New.
1761 (thumb_copy_pc_relative_16bit): New.
1762 (thumb_decode_pc_relative_16bit): New.
1763 (thumb_copy_16bit_ldr_literal): New.
1764 (thumb_copy_cbnz_cbz): New.
1765 (cleanup_pop_pc_16bit_all): New.
1766 (thumb_copy_pop_pc_16bit): New.
1767 (thumb_process_displaced_16bit_insn): New.
1768 (thumb_process_displaced_32bit_insn): New.
1769 (thumb_process_displaced_insn): process thumb instruction.
1771 Support displaced stepping for Thumb 32-bit insns.
1772 * arm-tdep.c (thumb_copy_unmodified_32bit): New.
1773 (thumb2_copy_preload): New.
1774 (thumb2_copy_copro_load_store): New.
1775 (thumb2_copy_b_bl_blx): New.
1776 (thumb2_copy_alu_imm): New.
1777 (thumb2_copy_load_reg_imm): New.
1778 (thumb2_copy_load_literal): New
1779 (thumb2_copy_block_xfer): New.
1780 (thumb_32bit_copy_undef): New.
1781 (thumb_32bit_copy_unpred): New.
1782 (thumb2_decode_ext_reg_ld_st): New.
1783 (thumb2_decode_svc_copro): New.
1784 (decode_thumb_32bit_store_single_data_item): New.
1785 (thumb_copy_pc_relative_32bit): New.
1786 (thumb_decode_pc_relative_32bit): New.
1787 (decode_thumb_32bit_ld_mem_hints): New.
1788 (thumb2_copy_table_branch): New
1789 (thumb_process_displaced_32bit_insn): Process Thumb 32-bit
1794 * arm-tdep.c (install_copro_load_store): PC is set 4-byte aligned.
1795 (install_b_bl_blx): Likewise.
1799 * arm-tdep.c (install_ldr_str_ldrb_strb): Renamed to ...
1800 (install_load_store): ... this. New.
1801 Change parameter BYTE to SIZE.
1802 (arm_copy_ldr_str_ldrb_strb): Update caller.
1803 (arm_decode_ld_st_word_ubyte): Update caller.
1807 * infrun.c (displaced_step_fixup): Move some code ...
1808 (displaced_step_restore): ... here. New function.
1809 (handle_inferior_event): Cleanup displaced stepping state for both
1810 child and parent when get forked or vforked event.
1811 * regcache.c (get_thread_arch_aspace_regcache): New function.
1812 get_thread_arch_regcache (): Call it.
1816 * ada-tasks.c (print_ada_task_info): New function, merging
1817 short_task_info and info_tasks together. Reimplement using
1818 ui-out instead of printing to stdout directly. Move the code
1819 building and checking the task list here, instead of leaving it
1820 in info_tasks_command.
1821 (info_task): Move the code building and checking the task
1822 list here, instead of leaving it in info_tasks_command.
1823 (info_tasks_command): Delete code building and checking
1824 the task list - moved elsewhere. Update calls to info_tasks
1829 * ada-tasks.c (info_task): Delete parameter `from_tty'.
1833 * ada-tasks.c (info_tasks): Delete parameter `from_tty'.
1837 * ada-lang.h (ada_build_task_list): Remove parameter
1839 * ada-tasks.c (ada_build_task_list): Remove parameter
1840 `warn_if_null'. Adjust implementation and documentation.
1841 (valid_task_id, ada_get_environment_task)
1842 iterate_over_live_ada_tasks): Adjust call to ada_build_task_list.
1843 (info_tasks_command): Adjust implementation.
1844 (task_command): Likewise.
1845 * ravenscar-thread.c (ravenscar_find_new_threads): Fix call
1846 to ada_build_task_list.
1850 * ada-tasks.c (ada_tasks_check_symbol_table, task_list): Delete.
1851 (enum ada_known_tasks_kind, struct ada_tasks_inferior_data): New.
1852 (ada_tasks_inferior_data_handle): New static global.
1853 (get_ada_tasks_inferior_data): New function.
1854 (ada_get_task_number, get_task_number_from_id, valid_task_id)
1855 (ada_get_environment_task, iterate_over_live_ada_tasks)
1856 (add_ada_task, read_known_tasks_array, read_known_tasks_list):
1858 (ada_set_current_inferior_known_tasks_addr): New function.
1859 (read_known_tasks, ada_build_task_list, short_task_info)
1860 (info_tasks, info_task, info_tasks_command, task_command_1)
1861 (task_command, ada_task_list_changed): Adjust.
1862 (ada_tasks_invalidate_inferior_data): New function.
1863 (ada_normal_stop_observer, ada_new_objfile_observer): Adjust.
1864 (_initialize_tasks): Set ada_tasks_inferior_data_handle.
1865 * ada-lang.h (struct inferior): Add declaration.
1866 (ada_task_list_changed): Update profile.
1867 * remote-wtx-pd.c: #include "inferior.h".
1868 (switch_to_pd_internal): Update call to ada_task_list_changed.
1872 * ada-tasks.c: #include "progspace.h" and "objfiles.h".
1873 (atcb_type, atcb_common_type, atcb_ll_type, atcb_call_type)
1874 (atcb_fieldno): Delete these static globals.
1875 (struct ada_tasks_pspace_data): New struct.
1876 (ada_tasks_pspace_data_handle): New static global.
1877 (get_ada_tasks_pspace_data): New function.
1878 (ada_tasks_invalidate_pspace_data): New function.
1879 (get_tcb_types_info, ptid_from_atcb_common, read_atcb)
1880 (read_known_tasks_list, ada_new_objfile_observer): Adjust.
1881 (_initialize_tasks): Create this module's per-progspace
1886 * ada-tasks.c (struct atcb_fieldnos): Renames struct tcb_fieldnos.
1890 * fork-child.c (fork_inferior): Update comment. Use alloca
1891 instead of xmalloc for argv. Move len and shell_command
1892 declarations in the block where they are used.
1893 Only call execvp. Factorize failure code.
1898 * parse.c (write_exp_elt): Change argument to pass a pointer of union
1899 `exp_element' instead of an element of the same and make the function
1901 (write_exp_elt_opcode, write_exp_elt_sym, write_exp_elt_block)
1902 (write_exp_elt_objfile, write_exp_elt_longcst, write_exp_elt_dblcst)
1903 (write_exp_elt_decfloatcst, write_exp_elt_type, write_exp_elt_intern):
1904 Change argument of `write_exp_elt' function call.
1905 Remove extra spaces from comments.
1906 * parser-defs.h (write_exp_elt): Remove prototype.
1910 * python/py-cmd.c (gdbpy_string_to_argv): Decrement reference
1911 count of item appended to list.
1912 * python/py-type.c (typy_fields): Likewise.
1916 * MAINTAINERS (Write After Approval): Add myself to the list.
1921 * linux-fork.c (checkpoint_command): Disallow checkpointing of
1922 processes with multiple threads.
1923 (inf_has_multiple_thread_cb): New function.
1924 (inf_has_multiple_threads): New function.
1928 PR Python/12692 Add gdb.selected_inferior() to Python interface.
1929 * python/py-inferior.c (GdbMethods): New Python method definition.
1933 Handle multiple breakpoint hits in Python interface:
1934 * python/py-bpevent.c (create_breakpoint_event_object): Rename C/Python
1935 variable to breakpoints.
1936 * python/py-stopevent.c (emit_stop_event): Return a Python tuple of
1937 bps instead of single breakpoint. Fix some space typos.
1938 * python/py-stopevent.c (create_breakpoint_event_object): Rename
1939 variable to breakpoints.
1943 * breakpoint.c (describe_other_breakpoints): Do not write 'duplicate'
1944 note if the breakpoint is internal.
1948 * MAINTAINERS (Write After Approval): Add myself to the list
1952 * infrun.c (prepare_for_detach, wait_for_inferior)
1953 (fetch_inferior_event): Don't flush the register cache.
1954 * remote.c (struct stop_reply) <regcache>: Add comment.
1958 Remove excessive DWARF expressions memory duplication.
1959 * dwarf2loc.c (per_cu_dwarf_call): Remove variable back_to and its use
1961 (indirect_pieced_value): Remove variable result. Remove variable
1962 back_to and its use for baton.data.
1963 (dwarf2_compile_expr_to_ax): Remove variable back_to and its use for
1965 * dwarf2read.c (dwarf2_fetch_die_location_block): Remove xmemdup.
1966 Update the function comment.
1970 * inferior.h (ALL_INFERIORS): New.
1971 * linux-thread-db.c (thread_db_find_new_threads_2): Remove check
1972 for a stopped thread.
1973 (thread_db_find_new_threads): Look for threads in all inferiors.
1977 * breakpoint.c (update_watchpoint): Handle the case of the
1978 watchpoint to update not being in the breakpoint list yet.
1979 (hw_watchpoint_use_count): New, factored out from
1980 hw_watchpoint_used_count.
1981 (hw_watchpoint_used_count): Rename to ...
1982 (hw_watchpoint_used_count_others): ... this. Add `except'
1983 parameter. Don't count resources of `except'. Use
1984 hw_watchpoint_use_count.
1988 * gdbthread.h (enum thread_state): Moved here.
1989 (struct thread_info): Rename `executing_' field to `executing' and
1990 `state_' to `state'.
1991 * thread.c (enum thread_state): Moved to gdbthread.h.
1992 (new_thread, add_thread_silent, delete_thread_1)
1993 (any_live_thread_of_process, thread_alive, set_running)
1994 (set_running, is_thread_state, any_running, is_executing)
1995 (set_executing, finish_thread_state, print_thread_info)
1996 (do_captured_thread_select): Adjust.
2000 Fix compatibility with gcc < 4.3 and non-gcc compilers.
2001 * amd64-tdep.c (amd64_skip_xmm_prologue): Convert 0b constants.
2008 * interps.c (struct interp) <interpreter_out>: Delete field.
2009 (interp_new): Remove the data and uiout parameters and adjust.
2010 (interp_set): Only set the current_uiout from the interpreter's
2011 uiout after initializing the interpreter. Adjust call to
2013 (interp_ui_out): Adjust to call procs->ui_out_proc.
2014 (interp_data, interp_name): New.
2015 * interps.h (interp_init_ftype): Add `self' parameter.
2016 (interp_ui_out_ftype): New typedef.
2017 (struct interp_procs) <ui_out_proc>: New method pointer.
2018 (interp_new): Remove the data and uiout parameters.
2019 (interp_data, interp_name): Declare.
2020 * tui/tui-interp.c (tui_init): Adjust prototype.
2022 (_initialize_tui_interp): Install tui_ui_out. Don't instanciate
2023 tui_out here. Adjust call to interp_new.
2024 * tui/tui-io.c (tui_initialize_io): Don't set current_uiout here.
2025 * cli/cli-interp.c (cli_interpreter_init): Adjust prototype.
2027 (_initialize_cli_interp): Install it. Adjust call to interp_new.
2028 * mi/mi-common.h (struct mi_interp) <uiout>: New field.
2029 * mi/mi-interp.c (mi_interpreter_init): Adjust prototype.
2030 Initialize mi->uiout depending on the mi_version as extracted from
2031 the interpreter's name.
2033 (_initialize_mi_interp): Install mi_ui_out. Adjust calls to
2034 interp_new. Don't allocate the ui_out's of the interpreters here.
2038 * solib.c (solib_used): New function.
2039 (update_solib_list, reload_shared_libraries_1): Check if objfile is used
2040 by another so_list object before freeing it.
2045 * mi/mi-cmd-stack.c (list_args_or_locals): Use enum for the parameter
2051 * amd64-tdep.c (amd64_skip_prologue): Move the XMM code to ...
2052 (amd64_skip_xmm_prologue): ... this new function. Describe its
2053 parameters. No longer use amd64_prologue_line_bug.
2054 * defs.h (producer_is_gcc_ge_4): New declaration.
2055 * dwarf2read.c (producer_is_gcc_ge_4): Move to utils.c.
2056 (process_full_comp_unit): Update its caller. Remove
2057 amd64_prologue_line_bug initialization.
2058 * symtab.h (struct symtab): Remove field amd64_prologue_line_bug.
2059 * utils.c (producer_is_gcc_ge_4): Moved here from dwarf2read.c.
2063 * linux-nat.h (enum resume_kind): New.
2064 (struct lwp_info) <last_resume_kind>: New field.
2065 * linux-nat.c (linux_child_follow_fork): Set last_resume_kind to
2066 resume_stop on the new lwp.
2067 (add_lwp): Set last_resume_kind as resume_continue by default.
2068 (lin_lwp_attach_lwp): Set last_resume_kind as resume_stop.
2069 (resume_lwp): New, factored out from resume_callback. Also check
2070 for pending status in lp->waitstatus.
2071 (resume_callback): Reimplement.
2072 (resume_clear_callback): Set last_resume_kind as resume_stop.
2073 (resume_set_callback): Set last_resume_kind as resume_continue.
2074 (linux_nat_resume, linux_handle_extended_wait): Set
2076 (running_callback): Also check lp->waitstatus for pending events.
2077 (select_singlestep_lwp_callback): Check that lp->last_resume_kind
2079 (stop_and_resume_callback): Don't re-resume if the core wanted the
2080 lwp stopped. Use resume_lwp instead of resume_callback. Avoid
2081 using an invalidated pointer.
2082 (linux_nat_filter_event): Don't discard SIGSTOPs as delayed
2083 SIGSTOPs if the core wanted the LWP to stop.
2084 (linux_nat_wait_1) Don't consume a pending SIGSTOP if the core
2085 wanted the lwp to stop. If the core wanted the lwp to stop, and
2086 the lwp stopped with a SIGSTOP, report a TARGET_SIGNAL_0 instead
2087 of TARGET_SIGNAL_STOP.
2088 (linux_nat_stop_lwp): Don't synchronously wait for the lwp to stop
2089 here. Instead, signal the lwp, and set the last_resume_kind to
2094 * linux-nat.c (lin_lwp_attach_lwp): Return 1 (ignore) instead of
2095 -1 (error), if the lwp exits right after attaching.
2099 * py-cmd.c: Some minor formatting fixes.
2100 (gdbpy_parse_command_name): Rename text arg to name, make const.
2101 All callers updated.
2102 * python-internal.h (gdbpy_parse_command_name): Update.
2104 * cli/cli-decode.c (add_cmd): Add comment.
2108 PR breakpoints/12435
2109 * amd64-tdep.c (amd64_skip_prologue): New variables start_pc_sal,
2110 next_sal, buf, offset and xmmreg. Advance PC if it sees the PR.
2111 * dwarf2read.c (process_full_comp_unit): Initialize
2112 amd64_prologue_line_bug.
2113 * symtab.h (struct symtab): New field amd64_prologue_line_bug.
2117 Fix TUI screen corruption.
2118 * utils.c (fputs_maybe_filtered): Replace !input_from_terminal_p by
2123 * findvar.c (read_var_value): Never return NULL, throw an error
2124 instead. Update the function comment. State symbol name in the error
2126 * python/py-frame.c (frapy_read_var): Remove handling of NULL from
2128 * stack.c (print_frame_args): Likewise.
2129 * valops.c (value_of_variable): Likewise.
2133 * stack.c (print_frame_args): New variable except. Wrap
2134 read_var_value and common_val_print into TRY_CATCH.
2138 * eval.c (evaluate_subexp_standard) <OP_THIS>: Update the value_of_this
2139 caller to value_of_this.
2140 * p-exp.y: Update the value_of_this caller to value_of_this_silent.
2142 * valops.c (value_of_this): Remove parameter complain and variable ret.
2143 Update function comment. Never return NULL by this code.
2144 (value_of_this_silent): New function.
2145 * value.h (value_of_this): Remove parameter complain.
2146 (value_of_this_silent): New declaration.
2150 * gdbthread.h (struct thread_info): Remove fields
2151 `stepping_through_solib_after_catch' and
2152 `stepping_through_solib_catchpoints'.
2153 * infrun.c (init_thread_stepping_state): Update.
2154 (process_event_stop_test, currently_stepping): Update.
2155 (currently_stepping_or_nexting_callback): Update.
2159 * gdbthread.h (struct thread_info): Comment on field
2160 `step_after_step_resume_breakpoint'.
2164 * remote.c (remote_console_output): Reindent.
2168 * frame.c (has_stack_frames): Check for currently selected
2173 * event-top.h (MAXPROMPTS, struct prompts): Delete.
2174 (set_async_annotation_level, set_async_prompt, pop_prompt)
2175 (push_prompt, new_async_prompt): Delete declarations.
2176 * top.h (get_prompt, set_prompt): Change prototype.
2177 (get_prefix, set_prefix, get_suffix, set_suffix): Delete
2179 * top.c (command_loop):
2180 (top_prompt): New global.
2181 (get_prefix, set_prefix, get_suffix, ): Delete.
2182 (get_prompt, set_prompt): Rewrite.
2183 (show_new_async_prompt): Rename to ...
2184 (show_prompt): ... this.
2185 (init_main): Adjust. Don't handle --annotate=2 here.
2186 * event-top.c (new_async_prompt): Delete.
2187 (the_prompts): Delete.
2188 (more_to_come): Make static.
2189 (display_gdb_prompt): Use top_level_prompt() to compute the top
2190 level prompt, and don't notify the before_prompt observers
2191 directly here. Always trick readline into not trying to display
2192 the prompt if sync_execution and displaying the primary prompt.
2193 If displaying a local/secondary prompt, always show it, even if
2194 sync_execution is set.
2195 (change_annotation_level): Delete.
2196 (top_level_prompt): New, based on change_annotation_level.
2197 (push_prompt, pop_prompt): Delete.
2198 (async_disable_stdin): No longer pushes prompt.
2199 (command_line_handler): No longer pushes or pops prompt. If more
2200 input is expected, call display_gdb_prompt with an explicit empty
2202 (async_stop_sig): Adjust.
2203 (set_async_annotation_level, set_async_prompt): Delete.
2204 * python/python.c (before_prompt_hook): Adjust.
2210 * infrun.c (fetch_inferior_event): Check if there's a selected
2211 thread before checking if the selected thread is executing.
2215 * inf-loop.c (execute_command): Don't check if the current thread
2216 if running before synchronously waiting for command completion.
2217 * infrun.c (fetch_inferior_event): Handle "set exec-done-display"
2219 (normal_stop): Call async_enable_stdin here.
2220 * inf-loop.c (inferior_event_handler): Don't call
2221 async_enable_stdin, nor handle "set exec-done-display" here.
2229 * NEWS: Change `7.3' into `7.3.1' in `Changes since GDB 7.3'.
2233 * NEWS: Add entry for OpenBSD/NetBSD build failure.
2237 * config/s390/s390.mh (NATDEPFILES): Add linux-procfs.o dependency.
2242 * event-top.c (cli_command_loop): Replace readline setup with
2243 direct call to display_gdb_prompt.
2244 (display_gdb_prompt): Do not call observer mechanism during
2245 synchronous execution.
2249 * linux-nat.c (in_pid_list_p): New.
2250 (linux_record_stopped_pid): Delete.
2251 (lin_lwp_attach_lwp): Check if PTRACE_ATTACH failed because we're
2252 already attached to the LWP. Return an indication if so.
2253 (linux_nat_filter_event): Adjust.
2254 * linux-thread-db.c (attach_thread): Handle lin_lwp_attach_lwp
2255 returning an indication to ignore this thread.
2259 * top.c: Include interps.h.
2260 (execute_command): If the target can async, but the interpreter is
2261 in sync mode, synchronously wait for the command to finish before
2263 (execute_command_to_string): Force the interpreter to sync mode.
2264 * infrun.c: Include interps.h.
2265 (fetch_inferior_event): Don't restore the prompt yet if the
2266 interpreter is in sync mode.
2267 * interps.c (interpreter_async): New global.
2268 * interps.h (interpreter_async): Declare.
2269 * inf-loop.c: Include interps.h.
2270 (inferior_event_handler): Don't print the language change or run
2271 breakpoint commands yet if the interpreter in is sync mode.
2272 * main.c (captured_command_loop): Flip the interpreter to async
2274 * cli/cli-script.c: Include interps.h.
2275 (execute_user_command, while_command, if_command): Force the
2276 interpreter to sync mode.
2277 * python/python.c: Include interps.h.
2278 (python_command, execute_gdb_command): Force the interpreter to
2283 * value.c (show_convenience): Catch errors thrown while printing
2284 each internal variable.
2285 * infrun.c (validate_siginfo_access): New function.
2286 (siginfo_value_read, siginfo_value_write): Call it.
2292 * dwarf2read.c (new_symbol): Handle DW_AT_variable_parameter
2297 * solib-dsbt.c (bfd_lookup_symbol): Removed.
2299 (enable_break2): Update caller.
2300 * solib-frv.c (bfd_lookup_symbol): Removed.
2302 (enable_break2): Update caller.
2303 * solib-pa64.c (bfd_lookup_symbol): Removed.
2305 * solib-svr4.c (bfd_lookup_symbol): Removed.
2306 (cmp_name_and_sec_flags): New.
2307 (enable_break): Update caller.
2308 * solib.c (gdb_bfd_lookup_symbol_from_symtab): New.
2309 (gdb_bfd_lookup_symbol_from_dyn_symtab): New.
2310 (gdb_bfd_lookup_symbol): New.
2311 * solib.h: Functions declarations.
2315 * Makefile.in (ALL_TARGET_OBS): Add tic6x-tdep.o tic6x-linux-tdep.o
2320 Fix TUI stepi on code without symbols.
2321 * tui/tui-stack.c (tui_show_frame_info): Remove error, set LOW for
2327 * mi/mi-cmd-stack.c (list_args_or_locals): Remove stb initialization
2328 and the static keyword.
2329 * mi/mi-cmd-target.c (mi_cmd_target_file_get, mi_cmd_target_file_put):
2330 Make prefix an array.
2331 * mi/mi-cmd-target.c (mi_cmd_target_file_delete): Likewise.
2332 * mi/mi-main.c (get_register): Remove stb initialization and the static
2337 Code cleanup - make mi_opt const.
2338 * mi/mi-cmd-break.c (mi_cmd_break_insert, mi_cmd_break_watch): Make
2340 * mi/mi-cmd-disas.c (mi_cmd_disassemble): Likewise.
2341 * mi/mi-cmd-env.c (mi_cmd_env_path): Likewise.
2342 (mi_cmd_env_dir): Likewise.
2343 * mi/mi-cmd-target.c (mi_cmd_target_file_get): Likewise.
2344 (mi_cmd_target_file_put): Likewise.
2345 * mi/mi-cmd-target.c (mi_cmd_target_file_delete): Likewise.
2346 * mi/mi-cmd-var.c (mi_cmd_var_evaluate_expression): Likewise.
2347 * mi/mi-getopt.c (mi_getopt): Make opts and opt const.
2348 (mi_valid_noargs): Make opts const.
2349 * mi/mi-getopt.h (mi_getopt): Make opts and opt const.
2350 * mi/mi-main.c (mi_cmd_list_thread_groups): Make opts const.
2351 (mi_cmd_data_read_memory): Likewise.
2352 (mi_cmd_data_read_memory_bytes): Likewise.
2353 (mi_cmd_data_write_memory): Likewise.
2357 * solib-sunos.c (allocate_rt_common_objfile): Add missing arguments to
2358 bcache_xmalloc, replace bcache_xmalloc with call to
2359 psymbol_bcache_init for psymbol_cache.
2360 * symfile.c (reread_symbols): Remove extra calls to bcache_xmalloc.
2364 * inf-loop.c (inferior_event_handler): Add exception_print in
2369 * breakpoint.c (bpstat_do_actions): New variable cleanup_if_error, call
2370 make_bpstat_clear_actions_cleanup and discard_cleanups for it.
2371 * defs.h (make_bpstat_clear_actions_cleanup): New declaration.
2372 * exceptions.c (throw_exception): Remove the bpstat_clear_actions call.
2373 * inf-loop.c (inferior_event_handler): New variable cleanup_if_error,
2374 call make_bpstat_clear_actions_cleanup and discard_cleanups for it.
2375 Call bpstat_clear_actions for failed fetch_inferior_event_wrapper.
2376 * infrun.c (fetch_inferior_event): Call
2377 make_bpstat_clear_actions_cleanup.
2378 * top.c (execute_command): New variable cleanup_if_error, call
2379 make_bpstat_clear_actions_cleanup and discard_cleanups for it.
2380 * utils.c (do_bpstat_clear_actions_cleanup)
2381 (make_bpstat_clear_actions_cleanup): New functions.
2385 * linux-nat.c (linux_child_follow_fork): Don't set lp->resumed on
2386 either the parent or the child forks. Rename a couple locals.
2390 * linux-nat.c (wait_lwp): Avoid assuming errno is preserved by a
2391 library call. Avoid reading the `status' local if all waitpid
2396 * common/linux-osdata.c (get_cores_used_by_process): Don't assume
2397 opening /proc/PID/task always succeeds.
2401 * linespec.c (symtab_from_filename): Check for the end of string.
2406 * varobj.c (cplus_describe_child): Add the keyword
2407 'class' to the output of the method when dealing
2408 with a cast to a base class.
2412 No functionality change.
2413 * breakpoint.c (bpstat_clear_actions): Remove the BS parameter, make
2414 function comment a reference, new variables tp and bs, move here code
2415 from throw_exception.
2416 * breakpoint.h (bpstat_clear_actions): Remove the BS parameter,
2417 describe it in the comment.
2418 * exceptions.c (throw_exception): Remove variable tp, move the code for
2419 bpstat_clear_actions to bpstat_clear_actions.
2423 * linux-nat.h (linux_proc_get_tgid): Remove declaration.
2424 * linux-nat.c: Include linux-procfs.h.
2425 (linux_proc_get_tgid): Move to ...
2426 * common/linux-procfs.c: ... here. New file.
2427 * common/linux-procfs.h: New file.
2428 * linux-thread-db.c: Include linux-procfs.h.
2429 * Makefile.in: Update dependencies.
2430 * config/alpha/alpha-linux.mh: Add linux-procfs.o dependency.
2431 * config/arm/linux.mh: Likewise.
2432 * config/i386/linux.mh: Likewise.
2433 * config/i386/linux64.mh: Likewise.
2434 * config/ia64/linux.mh: Likewise.
2435 * config/m32r/linux.mh: Likewise.
2436 * config/m68k/linux.mh: Likewise.
2437 * config/mips/linux.mh: Likewise.
2438 * config/pa/linux.mh: Likewise.
2439 * config/pa/linux.mh: Likewise.
2440 * config/powerpc/linux.mh: Likewise.
2441 * config/powerpc/ppc64-linux.mh: Likewise.
2442 * config/powerpc/spu-linux.mh: Likewise.
2443 * config/sparc/linux.mh: Likewise.
2444 * config/sparc/linux64.mh: Likewise.
2445 * config/xtensa/linux.mh: Likewise.
2449 * tracepoint.c (cond_string_is_same): New function.
2450 (find_matching_tracepoint): Add condition check
2451 by cond_string_is_same.
2455 Fix build error in Darwin port.
2456 * darwin-nat-info.c (darwin_debug_regions_recurse): New variable uiout.
2461 * breakpoint.c (bpstat_clear_actions): Remove clearing of commands_left.
2462 (command_line_is_silent): New function.
2463 (bpstat_do_actions_1): No longer use commands_left, use
2464 command_line_is_silent for commands.
2465 (bpstat_alloc): Remove clearing of commands_left.
2466 (bpstat_stop_status): Remove initialization of commands_left, use
2467 command_line_is_silent.
2468 * breakpoint.h (struct bpstats): Remove commands_left.
2473 * cp-name-parser.y (struct demangle_info): Remove unused
2476 (allocate_info): Change return type to struct demangle_info *.
2477 Always allocate a new demangle_info.
2478 Remove unused PREV pointer.
2479 (cp_new_demangle_parse_info): New function.
2480 (cp_demangled_name_parse_free): New function.
2481 (do_demangled_name_parse_free_cleanup): New function.
2482 (make_cleanup_cp_demangled_name_parse_free): New function.
2483 (cp_demangled_name_to_comp): Change return type to
2484 struct demangle_parse_info *.
2485 Allocate a new storage for each call.
2486 (main): Update usage for cp_demangled_name_to_comp
2488 * cp-support.h (struct demangle_parse_info): New structure.
2489 (cp_demangled_name_to_comp): Update API change for
2491 (cp_new_demangle_parse_info): Declare.
2492 (make_cleanup_cp_demangled_name_parse_free): New declaration.
2493 (cp_demangled_name_parse_free): Declare.
2494 * cp-support.c (cp_canonicalize_string): Update API
2495 change for cp_demangled_name_to_comp.
2496 (mangled_name_to_comp): Likewise.
2497 Return struct demangle_parse_info, too.
2498 (cp_class_name_from_physname): Update mangled_name_to_comp
2500 (method_name_from_physname): Likewise.
2501 (cp_func_name): Update API change for cp_demangled_name_to_comp.
2502 (cp_remove_params): Likewise.
2503 * python/py-type.c (typy_legacy_template_argument): Likewise.
2505 * cp-support.h (cp_canonicalize_string_no_typedefs): Declare.
2506 (cp_merge_demangle_parse_infos): Declare.
2507 * cp-support.c (ignore_typedefs): New file global.
2508 (copy_string_to_obstack): New function.
2509 (inspect_type): New function.
2510 (replace_typedefs): New function.
2511 (replace_typedefs_qualified_name): New function.
2512 (cp_canonicalize_string_no_typedefs): New function.
2513 * cp-name-parser.y (cp_merge_demangle_parse_infos): New function.
2514 (cp_new_demangle__parse_info): Allocate and initialize the obstack.
2515 * linespec.c (find_methods): Use cp_canonicalize_string_no_typedefs
2516 instead of cp_canonicalize_string.
2517 (find_method): Likewise.
2518 (decode_compound): Before looking up the name, call
2519 cp_canonicalize_string_no_typedefs.
2520 (decode_variable): Likewise.
2526 * python/lib/gdb/prompt.py: New file.
2527 * python/lib/gdb/command/prompt.py: New file.
2528 * NEWS: Document set extended-prompt and gdb.prompt library
2532 * tic6x-linux-tdep.c: Move const arrays definition from here...
2533 * tic6x-tdep.c: to here ...
2537 * NEWS: New port to Texas Instruments TMS320C6x.
2543 * configure.tgt: Handle tic6x-*-*linux and tic6x-*-*.
2544 * solib-dsbt.c: New file. Support DSBT shared object.
2545 * tic6x-linux-tdep.c: New file.
2546 * tic6x-tdep.c: New file.
2547 * tic6x-tdep.h: New file.
2552 * remote.c (PACKET_qXfer_fdpic): New enum value.
2553 (remote_protocol_features): Add qXfer:fdpic:read packet.
2554 (remote_xfer_partial): Support TARGET_OBJECT_FDPIC.
2555 (_initialize_remote): Add set/show remote read-fdpic-loadmap command.
2556 * target.h (enum target_object): Add TARGET_OBJECT_FDPIC.
2560 Target description for tic6x.
2561 * features/Makefile (WHICH): Add tic6x-c64xp tic6x-c64x tic6x-c62x
2562 tic6x-c64xp-linux tic6x-c64x-linux and tic6x-c62x-linux.
2563 * features/tic6x-c6xp.xml, features/tic6x-core.xml: New.
2564 * features/tic6x-gp.xml, features/tic6x-c62x.xml: New.
2565 * features/tic6x-c64x.xml, features/tic6x-c64xp.xml: New.
2566 * features/tic6x-c62x-linux.xml, features/tic6x-c64x-linux.xml: New.
2567 * features/tic6x-c64xp-linux.xml: New.
2568 * features/tic6x-c64xp.c, features/tic6x-c64x.c: Generated.
2569 * features/tic6x-c62x.c, features/tic6x-c64xp-linux.c: Generated.
2570 * features/tic6x-c64x-linux.c, features/tic6x-c62x-linux.c: Generated.
2571 * regformats/tic6x-c62x.dat, regformats/tic6x-c64x.dat: Generated.
2572 * regformats/tic6x-c64xp.dat,
2573 regformats/tic6x-c62x-linux.dat: Generated.
2574 * regformats/tic6x-c64x-linux.dat,
2575 regformats/tic6x-c64xp-linux.dat: Generated.
2576 * config/djgpp/fnchange.lst: Add features/tic6x-*.xml and
2577 features/tic6x-*.c files.
2578 Add regformats/tic6x-*.dat files.
2582 * NEWS: Mention new "type" attribute of python gdb.Symbol objects.
2583 * python/py-symbol.c (sympy_get_type): New function.
2584 (symbol_object_getset): Add "type".
2590 * tui/tui-regs.c (tui_show_register_group): Skip registers with an
2592 (tui_show_register_group): Don't store a byte buffer in the data
2594 (tui_register_format): Skip registers with an empty name.
2595 (tui_get_register): Store a struct value in the data element's
2596 value field instead of a byte buffer holding the raw register
2597 contents. Account for optimized-out and unavailable registers
2598 when comparing register contents.
2602 * printcmd.c (current_display_number): Update comment.
2603 (disable_current_display_cleanup): Delete.
2604 (do_one_display): Use make_cleanup_restore_integer. Gracefully
2605 catch errors thrown while evaluating and printing the display.
2609 * mi/mi-cmd-break.c (mi_cmd_break_passcount): Fix typo.
2613 * elfread.c (elf_symtab_read): Rework comments.
2614 * maint.c (maintenance_command): Ditto.
2615 * somread.c (som_symtab_read): Ditto.
2616 * solib.c (solib_find, solib_map_sections, update_solib_list)
2617 (solib_add, info_sharedlibrary_command, solib_name_from_address)
2618 (solib_create_inferior_hook, in_solib_dynsym_resolve_code)
2619 (sharedlibrary_command, no_shared_libraries): Ditto.
2620 * solib-irix.c (locate_base, disable_break, enable_break)
2621 (irix_solib_create_inferior_hook, irix_solib_create_inferior_hook)
2622 (irix_current_sos, irix_open_symbol_file_object)
2623 (irix_special_symbol_handling): Ditto.
2624 * solib-sunos.c (locate_base, first_link_map_member)
2625 (sunos_current_sos, disable_break, enable_break)
2626 (sunos_special_symbol_handling, sunos_solib_create_inferior_hook):
2628 * solib-svr4.c (bfd_lookup_symbol, elf_locate_base, locate_base)
2629 (open_symbol_file_object, svr4_current_sos, enable_break)
2630 (svr4_special_symbol_handling, svr4_solib_create_inferior_hook):
2632 * solib-frv.c (bfd_lookup_symbol, open_symbol_file_object)
2633 (frv_current_sos, enable_break, frv_special_symbol_handling)
2634 (frv_solib_create_inferior_hook): Ditto.
2635 * solist.h (struct target_so_ops): Extend the comments of the
2636 special_symbol_handling, current_sos and open_symbol_file_object
2641 * python/lib/gdb/__init__.py: Auto-load files in command and
2642 function directories.
2643 * python/python.c (finish_python_initialization): Use
2645 * python/lib/gdb/command/pretty_printers.py: Self register
2647 * NEWS: Document auto-loading.
2651 * dwarf2loc.c (dwarf2_evaluate_loc_desc_full) <DWARF_VALUE_STACK>
2652 (dwarf2_evaluate_loc_desc_full) <DWARF_VALUE_LITERAL>: New variable
2653 objfile_gdbarch. Fix BFD_ENDIAN_BIG case.
2657 * breakpoint.c (clean_up_filters): Remove.
2658 (catch_syscall_split_args): Use VEC_cleanup.
2662 * cp-name-parser.y (xfree): Wrap the name free by CONCAT2.
2663 (main): Uncomment "Demangling error\n".
2667 * solib-target.c (segment_attributes): Make them static.
2668 (section_attributes, library_children, library_attributes): Likewise.
2669 (library_list_children, library_list_attributes): Likesise.
2670 (library_list_elements): Likewise.
2674 * exceptions.c (throw_exception): Don't disable the current
2676 * printcmd.c (disable_current_display_cleanup): New function.
2677 (do_one_display): Install a cleanup to disable the current display
2678 if doing the display throws.
2682 * python/py-breakpoint.c (gdbpy_initialize_breakpoints): Move the
2683 initialization of the tp_new member to the corresponding
2684 gdbpy_initialize_* function.
2685 * python/py-cmd.c (gdbpy_initialize_commands): Likewise.
2686 * python/py-frame.c (gdbpy_initialize_frames): Likewise.
2687 * python/py-function.c (gdbpy_initialize_functions): Likewise.
2688 * python/py-inferior.c (gdbpy_initialize_inferior): Likewise.
2689 * python/py-param.c (gdbpy_initialize_parameters): Likewise.
2693 * spu-tdep.c (info_spu_event_command, info_spu_signal_command)
2694 (info_spu_mailbox_list, info_spu_mailbox_command, info_spu_dma_cmdlist)
2695 (info_spu_dma_command, info_spu_proxydma_command): Rename uiout
2696 references to current_uiout.
2700 * event-loop.c (gdb_do_one_event): Remove `data' parameter.
2701 (start_event_loop): Use TRY_CATCH instead of catch_errors.
2702 * event-loop.h (gdb_do_one_event): Remove `data' parameter.
2703 * top.c (gdb_readline_wrapper): Adjust.
2704 * tui/tui-interp.c (tui_command_loop):
2705 (_initialize_tui_interp): Don't install it.
2709 * ui-out.h (uiout): Rename to ...
2710 (current_uiout): ... this.
2711 * ui-out.c (uiout): Rename to ...
2712 (current_uiout): ... this.
2713 * ada-lang.c (print_it_exception, print_one_exception)
2714 (print_mention_exception): Adjust.
2715 * breakpoint.c (watchpoint_check): Adjust.
2716 (print_breakpoint_location, print_one_breakpoint, breakpoint_1)
2717 (default_collect_info, watchpoints_info, print_one_catch_fork)
2718 (print_one_catch_vfork, print_one_catch_syscall)
2719 (print_one_catch_exec, mention, print_it_ranged_breakpoint)
2720 (print_one_ranged_breakpoint, print_mention_ranged_breakpoint)
2721 (print_it_watchpoint, print_mention_watchpoint)
2722 (print_it_masked_watchpoint, print_mention_masked_watchpoint)
2723 (print_it_exception_catchpoint, print_one_exception_catchpoint)
2724 (print_mention_exception_catchpoint, say_where, bkpt_print_it)
2725 (bkpt_print_mention, momentary_bkpt_print_it)
2726 (tracepoint_print_mention, update_static_tracepoint)
2727 (tracepoints_info, save_breakpoints): Adjust.
2728 * cli-out.c (field_separator): Adjust.
2729 * cp-abi.c (list_cp_abis, show_cp_abi_cmd): Adjust.
2730 * exceptions.c (catch_exceptions_with_msg, catch_errors): Adjust.
2731 * frame.c (get_current_frame): Adjust.
2732 * infcmd.c (run_command_1, print_return_value): Adjust.
2733 * inferior.c (inferior_command, info_inferiors_command): Adjust.
2734 * infrun.c (print_end_stepping_range_reason): Adjust.
2735 (print_signal_exited_reason, print_exited_reason): Adjust.
2736 (print_signal_received_reason, print_no_history_reason): Adjust.
2737 * interps.c (interp_set): Adjust.
2738 * osdata.c (info_osdata_command): Adjust.
2739 * progspace.c (maintenance_info_program_spaces_command): Adjust.
2740 * remote-fileio.c (remote_fileio_request): Adjust.
2741 * remote.c (show_remote_cmd): Adjust.
2742 * solib.c (info_sharedlibrary_command): Adjust.
2743 * source.c (print_source_lines_base): Adjust.
2744 * stack.c (print_stack_frame): Adjust.
2745 (do_gdb_disassembly, print_frame_info, print_frame): Adjust.
2746 * symfile-mem.c (add_vsyscall_page): Adjust.
2747 * symfile.c (load_progress, generic_load)
2748 (print_transfer_performance): Adjust.
2749 * thread.c (info_threads_command, restore_selected_frame)
2750 (thread_command): Adjust.
2751 * top.c (make_cleanup_restore_ui_file): Adjust.
2752 * tracepoint.c (tvariables_info_1, trace_status_mi, tfind_1)
2753 (print_one_static_tracepoint_marker): Adjust.
2754 * cli/cli-cmds.c (print_disassembly): Adjust.
2755 * cli/cli-decode.c (print_doc_line): Adjust.
2756 * cli/cli-interp.c (safe_execute_command): Adjust.
2757 * cli/cli-logging.c (set_logging_redirect, pop_output_files)
2758 (handle_redirections): Adjust.
2759 * cli/cli-script.c (show_user_1): Adjust.
2760 * cli/cli-setshow.c (do_setshow_command, cmd_show_list): Adjust.
2761 * mi/mi-cmd-break.c (breakpoint_notify): Adjust.
2762 * mi/mi-cmd-disas.c (mi_cmd_disassemble): Adjust.
2763 * mi/mi-cmd-env.c (mi_cmd_env_pwd, mi_cmd_env_path)
2764 (mi_cmd_env_dir): Adjust.
2765 * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file)
2766 (print_partial_file_name, mi_cmd_file_list_exec_source_files): Adjust.
2767 * mi/mi-cmd-stack.c (mi_cmd_stack_list_frames)
2768 (mi_cmd_stack_info_depth, mi_cmd_stack_list_args)
2769 (list_args_or_locals): Adjust.
2770 * mi/mi-cmd-var.c (print_varobj, mi_cmd_var_create)
2771 (mi_cmd_var_delete, mi_cmd_var_set_format, mi_cmd_var_set_frozen)
2772 (mi_cmd_var_show_format, mi_cmd_var_info_num_children)
2773 (mi_cmd_var_list_children, mi_cmd_var_info_type)
2774 (mi_cmd_var_info_path_expression, mi_cmd_var_info_expression)
2775 (mi_cmd_var_show_attributes, mi_cmd_var_evaluate_expression)
2776 (mi_cmd_var_assign, mi_cmd_var_update, varobj_update_one): Adjust.
2777 * mi/mi-interp.c (mi_on_normal_stop): Adjust.
2778 * mi/mi-main.c (mi_cmd_gdb_exit, mi_cmd_thread_select)
2779 (mi_cmd_thread_list_ids, mi_cmd_thread_info, print_one_inferior)
2780 (list_available_thread_groups, mi_cmd_list_thread_groups)
2781 (mi_cmd_data_list_register_names)
2782 (mi_cmd_data_list_changed_registers)
2783 (mi_cmd_data_list_register_values, get_register)
2784 (mi_cmd_data_evaluate_expression, mi_cmd_data_read_memory)
2785 (mi_cmd_data_read_memory_bytes, mi_cmd_list_features)
2786 (mi_cmd_list_target_features, mi_cmd_add_inferior)
2787 (mi_execute_command, mi_load_progress): Adjust.
2788 * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Adjust.
2789 * python/py-auto-load.c (print_script, info_auto_load_scripts):
2791 * python/py-breakpoint.c (bppy_get_commands): Adjust.
2792 * tui/tui-interp.c (tui_command_loop): Adjust.
2793 * tui/tui-io.c (tui_setup_io, tui_initialize_io): Adjust.
2797 * exceptions.c (struct catcher): Remove saved_uiout field.
2798 (exceptions_state_mc_init): Remove the `func_uiout' parameter, and
2799 no longer save/resvore the global ui_out builder.
2800 (catch_exceptions_with_msg): Save/override/restore the global
2801 ui_out builder manually instead of relying on TRY_CATCH to do it.
2802 (catch_errors): Save/restore the global ui_out builder manually
2803 instead of relying on TRY_CATCH to do it.
2804 * exceptions.h (exceptions_state_mc_init): Remove the `func_uiout'
2806 (TRY_CATCH): Adjust.
2807 * cli/cli-interp.c (safe_execute_command): Save/override/restore
2808 the global ui_out builder manually instead of relying on TRY_CATCH
2813 * breakpoint.c (update_global_location_list): Ensure
2814 invariant 'first loc marked not duplicated and inserted,
2815 following locs marked duplicated/not inserted' is respected
2816 for multiple locations at the same address.
2817 (unduplicated_should_be_inserted) New function.
2818 (swap_insertion) New function.
2822 * stack.c (print_frame_arguments_choices): Comment typo fix.
2828 * breakpoint.c (insert_bp_location): Remove disabled_breaks
2829 argument. Update callers.
2834 * doublest.c (convert_doublest_to_floatformat): Pass correct
2835 mantissa length to put_field.
2839 * stack.c (do_gdb_disassembly): Use RETURN_MASK_ERROR, simplify the
2840 exception_print code path.
2841 (backtrace_command): Remove variable e. Protect arg by make_cleanup in
2842 advance. Simplify memset. Remove TRY_CATCH. Remove explicit xfree.
2843 (backtrace_full_command): Remove variable e. Remove TRY_CATCH.
2848 * stack.c (struct print_stack_frame_args, print_stack_frame_stub):
2849 Remove, merge them into ...
2850 (print_stack_frame): ... here with a TRY_CATCH. New variable e, remove
2851 variable args and its initialization.
2852 (struct print_args_args, print_args_stub): Remove, merge them into
2854 (struct gdb_disassembly_stub_args, gdb_disassembly_stub): Remove, merge
2856 (do_gdb_disassembly): ... here. Remove variable args and its
2858 (print_frame): Remove variable args and its initialization, new
2859 variable gdbarch and numargs (from print_args_stub), inline here
2860 print_args_stub with a TRY_CATCH.
2861 (struct backtrace_command_args, backtrace_command_stub): Remove, merge
2863 (backtrace_command, backtrace_full_command): ... here with a TRY_CATCH.
2864 New variable e, remove variable btargs and its initialization.
2868 * darwin-nat.c (darwin_decode_exception_message): Adjust assertion.
2872 * breakpoint.c (insert_bp_location): Document return value.
2873 (insert_breakpoint_locations): Fix documentation.
2874 (remove_breakpoints): Add documentation.
2878 * breakpoint.c (insert_bp_location): Remove disabled_breaks
2879 argument. Update callers.
2883 * stack.c (print_frame_info): Comment typo fix.
2887 * MAINTAINERS (Write After Approval): Add myself to the list.
2891 * solib-target.c: Use DEF_VEC_I, not DEF_VEC_O.
2892 (library_list_start_segment): Update.
2893 (library_list_start_section): Update.
2897 * varobj.c (value_get_print_value): Move hint check later into the
2898 function. Comment function. Free thevalue before reusing it.
2903 * eval.c (evaluate_subexp_standard): Remove not_lval from all calls of
2905 * valops.c (value_one): Remove parameter lv. Do not pass it to itself.
2906 Assert the result kind.
2907 * value.h (value_one): Remove parameter lv.
2911 Fix crash on lval_computed values.
2912 * valops.c (value_zero): Use not_lval for lval_computed.
2916 * Makefile.in (HFILES_NO_SRCDIR): Add 'common' prefix for
2917 gdb_assert.h, gdb_locale.h, gdb_dirent.h.
2921 * typeprint.c (_initialize_typeprint): Extend the help of "whatis" and
2922 "ptype" by their typedefs difference.
2926 * dwarf2expr.c (ctx_no_read_reg): New function.
2927 * dwarf2expr.h (ctx_no_read_reg): New declaration.
2928 * dwarf2read.c (read_2_signed_bytes, read_4_signed_bytes): Remove.
2929 (decode_locdesc_read_mem, decode_locdesc_ctx_funcs): New.
2930 (decode_locdesc): Replace by a caller of dwarf_expr_eval.
2934 * dwarf2-frame.c (no_get_frame_base, no_get_frame_cfa, no_get_frame_pc)
2935 (no_get_tls_address, no_dwarf_call, no_base_type): Move to the other
2937 (dwarf2_frame_ctx_funcs): Reference the renamed functions.
2938 * dwarf2expr.c (ctx_no_get_frame_base, ctx_no_get_frame_cfa)
2939 (ctx_no_get_frame_pc, ctx_no_get_tls_address, ctx_no_dwarf_call)
2940 (ctx_no_get_base_type): Move the functions here.
2941 * dwarf2expr.h (ctx_no_get_frame_base, ctx_no_get_frame_cfa)
2942 (ctx_no_get_frame_pc, ctx_no_get_tls_address, ctx_no_dwarf_call)
2943 (ctx_no_get_base_type): New declarations.
2947 * xcoffread.c (dwarf2_xcoff_names): Add 'macro' and 'sentinel'
2949 * symfile.h (struct dwarf2_debug_sections) <sentinel>: New field.
2950 * dwarf2read.c (dwarf2_elf_names): Add sentinel entry.
2954 * cli/cli-dump.c (dump_binary_file): Change parameter type to
2956 (dump_bfd_file): Likewise.
2960 * remote.c (remote_region_ok_for_hw_watchpoint): New function.
2961 (remote_hw_watchpoint_length_limit): New variable.
2962 (_initialize_remote) add set,show cmds for this new variable.
2963 * gdb.texinfo: document these new commands.
2964 * NEWS: Mention these new commands.
2968 * breakpoint.c (works_in_software_mode_watchpoint): Also return
2969 true for software watchpoints.
2977 * symfile.h (struct dwarf2_debug_sections) <macro>: New field.
2978 * dwarf2read.c (read_indirect_string_at_offset): New function.
2979 (read_indirect_string): Use it.
2980 (dwarf_decode_macro_bytes): New function, taken from
2981 dwarf_decode_macros. Handle DW_MACRO_GNU_*.
2982 (dwarf_decode_macros): Use it. handle DW_MACRO_GNU_*.
2983 (dwarf_parse_macro_header, skip_form_bytes, skip_unknown_opcode):
2985 (struct dwarf2_per_objfile) <macro>: New field.
2986 (dwarf2_elf_names): Add .debug_macro.
2987 (dwarf2_macros_too_long_complaint): Add 'section' argument.
2988 (dwarf2_locate_sections): Handle new section.
2989 (read_file_scope): Handle DW_AT_GNU_macros.
2990 (dwarf2_per_objfile_free): Unmap the .debug_macro section.
2994 * NEWS: Mention dcache configuration.
2995 * dcache.c (dcache_set_list, dcache_show_list): New variables.
2996 (dcache_size, dcache_line_size): New variables.
2997 (LINE_SIZE_MASK, XFORM, MASK): Adjust.
2998 (struct dcache_block): Make it expandable.
2999 (struct dcache_struct): New field.
3000 (dcache_invalidate): Discard freelist upon dcache_line_size changes.
3001 (dcache_hit, dcache_alloc, dcache_peek_byte): Adjust.
3002 (dcache_poke_byte, dcache_print_line): Adjust.
3003 (set_dcache_size, set_dcache_line_size): New functions.
3004 (set_dcache_command, show_dcache_command): New functions.
3005 (_initialize_dcache): Add new commands.
3009 * progspace.h (struct program_space): Add solib_add_generation.
3010 * infcmd.c (post_create_inferior): Only call solib_add if not
3012 * solib.c (solib_add): Increment solib_add_generation.
3016 Fix implicit pointer offsets.
3017 * dwarf2loc.c (indirect_pieced_value): Comment byte_offset. Use also
3022 * ada-lang.c (ada_exception_breakpoint_ops): Make return type
3024 (ada_exception_sal): Make 'ops' const.
3025 (ada_decode_exception_location): Likewise.
3026 (ada_decode_assert_location): Likewise.
3027 (catch_assert_command): Update.
3028 (catch_ada_exception_command): Update.
3029 (create_ada_exception_catchpoint): Make 'ops' const.
3030 * breakpoint.c (set_raw_breakpoint_without_location)
3031 (set_raw_breakpoint, momentary_breakpoint_from_master): Make 'ops'
3033 (create_internal_breakpoint): Update.
3034 (init_raw_breakpoint_without_location): Make 'ops' const.
3035 (init_raw_breakpoint, init_catchpoint)
3036 (create_fork_vfork_event_catchpoint)
3037 (create_syscall_event_catchpoint, init_breakpoint_sal)
3038 (create_breakpoint_sal, create_breakpoints_sal)
3039 (create_breakpoint, init_ada_exception_breakpoint): Likewise.
3040 * breakpoint.h (struct breakpoint) <ops>: Now const.
3041 (init_ada_exception_breakpoint, create_breakpoint): Make 'ops'
3046 * linux-thread-db.c (thread_from_lwp): Initialize th.th_unique.
3050 * breakpoint.h (print_recreate_thread): Declare.
3051 (struct breakpoint): Move step_count, pass_count,
3052 number_on_target, static_trace_marker_id,
3053 static_trace_marker_id_idx ...
3054 (struct tracepoint): ... to this new struct.
3055 (get_tracepoint, get_tracepoint_by_number_on_target)
3056 (get_tracepoint_by_number): Change return type to struct
3058 * breakpoint.c (is_tracepoint_type): New, factored out from
3060 (is_tracepoint): Adjust.
3061 (print_one_breakpoint_location): Cast to struct tracepoint as
3062 necessary, and adjust.
3063 (print_recreate_catch_fork, print_recreate_catch_vfork)
3064 (print_recreate_catch_syscall, print_recreate_catch_exec): Call
3065 print_recreate_thread.
3066 (init_breakpoint_sal): New, factored out from
3067 create_breakpoint_sal.
3068 (create_breakpoint_sal): Reimplement.
3069 (create_breakpoint): Allocate a struct tracecepoint if the caller
3070 wanted a tracepoint. Use init_breakpoint_sal and
3072 (print_recreate_ranged_breakpoint, print_recreate_watchpoint)
3073 (print_recreate_masked_watchpoint)
3074 (print_recreate_exception_catchpoint): Call print_recreate_thread.
3075 (tracepoint_print_one_detail): Adjust.
3076 (tracepoint_print_recreate): Adjust. Call print_recreate_thread.
3077 Dump the pass count here.
3078 (update_static_tracepoint): Adjust.
3079 (addr_string_to_sals): Adjust.
3080 (create_tracepoint_from_upload): Adjust. Change return type to
3081 struct tracepoint pointer.
3082 (trace_pass_set_count): Change parameter type to struct tracepoint
3083 pointer, and adjust.
3084 (trace_pass_command): Adjust.
3085 (get_tracepoint, get_tracepoint_by_number_on_target)
3086 (get_tracepoint_by_number): Change return type to struct
3087 tracepoint pointer, and adjust.
3088 (print_recreate_thread): New, factored out from save_breakpoints.
3089 (save_breakpoints): Don't print thread and task and passcount
3091 * remote.c (remote_download_tracepoint): Adjust.
3092 * tracepoint.c (trace_actions_command, validate_actionline)
3093 (start_tracing, tfind_1, trace_find_tracepoint_command)
3094 (trace_dump_command): Adjust.
3095 (find_matching_tracepoint): Change return type to struct
3096 tracepoint pointer, and adjust.
3097 (merge_uploaded_tracepoints, tfile_get_traceframe_address)
3098 (tfile_trace_find, tfile_fetch_registers): Adjust.
3099 * tracepoint.h (create_tracepoint_from_upload): Change return type
3100 to struct tracepoint pointer.
3101 * ada-lang.c (print_recreate_exception): Call
3102 print_recreate_thread.
3103 * mi/mi-cmd-break.c (mi_cmd_break_passcount): Adjust.
3107 * breakpoint.h (struct breakpoint): Move ops as first field. Move
3108 exp_string, exp_string_reparse, exp, exp_valid_block, cond_exp,
3109 cond_exp_valid_block, val, val_valid, watchpoint_frame,
3110 watchpoint_thread, watchpoint_triggered ...
3111 (struct watchpoint): ... to this new struct.
3112 (is_watchpoint): Declare.
3113 (install_breakpoint): Add new `internal' parameter.
3114 * breakpoint.c (is_watchpoint): Delete declaration.
3115 (set_breakpoint_condition): Handle watchpoints.
3116 (is_watchpoint): Make public.
3117 (watchpoint_in_thread_scope): Change parameter type to struct
3119 (watchpoint_del_at_next_stop): Change parameter type to struct
3120 watchpoint. Remove assertion. Adjust.
3121 (update_watchpoint): Ditto.
3122 (insert_breakpoints, breakpoint_init_inferior)
3123 (watchpoints_triggered, watchpoint_check)
3124 (bpstat_check_watchpoint, bpstat_check_breakpoint_conditions)
3125 (bpstat_stop_status, print_one_breakpoint_location)
3126 (print_one_breakpoint_location, watchpoint_locations_match): Cast
3127 to struct watchpoint as necessary, and adjust.
3128 (install_breakpoint): Add `internal' argument. If true, don't
3129 mention the new breakpoint. Use set_breakpoint_number.
3130 (create_fork_vfork_event_catchpoint)
3131 (create_syscall_event_catchpoint): Adjust.
3132 (dtor_watchpoint): New.
3133 (re_set_watchpoint, insert_watchpoint, remove_watchpoint)
3134 (breakpoint_hit_watchpoint, resources_needed_watchpoint)
3135 (print_it_watchpoint, print_mention_watchpoint)
3136 (print_recreate_watchpoint, insert_masked_watchpoint)
3137 (remove_masked_watchpoint, resources_needed_masked_watchpoint)
3138 (print_one_detail_masked_watchpoint)
3139 (print_mention_masked_watchpoint)
3140 (print_recreate_masked_watchpoint): Cast to struct watchpoint as
3141 necessary, and adjust.
3142 (watch_command_1): Allocate and initialize a struct watchpoint
3143 instead of a struct breakpoint. Use install_breakpoint.
3144 (catch_exec_command_1): Adjust.
3145 (base_breakpoint_dtor): Delete accesses to watchpoint specific
3147 (delete_breakpoint, enable_breakpoint_disp)
3148 (invalidate_bp_value_on_memory_change): Cast to struct watchpoint
3149 as necessary, and adjust.
3150 (initialize_breakpoint_ops): Install dtor_watchpoint as
3151 watchpoints' dtor method.
3152 * ada-lang.c (create_ada_exception_catchpoint): Adjust.
3153 * python/py-breakpoint.c (bppy_get_expression): Use is_watchpoint.
3154 to struct watchpoint as necessary, and adjust.
3158 * ada-lang.c (dtor_exception, re_set_exception): Indirect through
3159 the the base class ops table.
3160 (catch_exception_breakpoint_ops)
3161 (catch_exception_unhandled_breakpoint_ops)
3162 (catch_assert_breakpoint_ops): Don't statically initialize.
3163 (initialize_ada_catchpoint_ops): New.
3164 (_initialize_ada_language): Call it.
3165 * breakpoint.c (base_breakpoint_ops, bkpt_base_breakpoint_ops)
3166 (bkpt_breakpoint_ops): Forward declare.
3167 (catch_fork_breakpoint_ops, catch_vfork_breakpoint_ops)
3168 (catch_syscall_breakpoint_ops, catch_exec_breakpoint_ops)
3169 (ranged_breakpoint_ops, watchpoint_breakpoint_ops)
3170 (masked_watchpoint_breakpoint_ops)
3171 (gnu_v3_exception_catchpoint_ops): Don't statically initialize.
3172 (dtor_catch_syscall, dtor_catch_exec): Indirect through the the
3173 base class ops table.
3174 (null_re_set, null_check_status, null_works_in_software_mode)
3175 (null_resources_needed, null_print_one_detail): Delete.
3176 (bkpt_dtor): Rename to ...
3177 (base_breakpoint_dtor): ... this. Make static.
3178 (bkpt_allocate_location): Rename to ...
3179 (base_breakpoint_allocate_location): ... this. Make static.
3180 (base_breakpoint_re_set): New.
3181 (internal_error_pure_virtual_called): New.
3182 (base_breakpoint_insert_location, base_breakpoint_remove_location)
3183 (base_breakpoint_breakpoint_hit, base_breakpoint_check_status)
3184 (base_breakpoint_works_in_software_mode)
3185 (base_breakpoint_resources_needed, base_breakpoint_print_it)
3186 (base_breakpoint_print_one_detail, base_breakpoint_print_mention)
3187 (base_breakpoint_print_recreate): New functions.
3188 (base_breakpoint_ops): New global.
3189 (bkpt_re_set, bkpt_insert_location, bkpt_remove_location)
3190 (bkpt_breakpoint_hit): Make static.
3191 (bkpt_check_status): Delete.
3192 (bkpt_resources_needed): Make static.
3193 (bkpt_works_in_software_mode): Delete.
3194 (bkpt_print_it, bkpt_print_mention, bkpt_print_recreate): Make
3196 (bkpt_breakpoint_ops, internal_breakpoint_ops)
3197 (momentary_breakpoint_ops): Don't statically initialize.
3198 (internal_bkpt_print_recreate, momentary_bkpt_print_recreate):
3200 (tracepoint_insert_location, tracepoint_remove_location)
3201 (tracepoint_check_status, tracepoint_works_in_software_mode)
3202 (tracepoint_print_it): Delete.
3203 (tracepoint_breakpoint_ops): Don't statically initialize.
3204 (initialize_breakpoint_ops): New.
3205 (_initialize_breakpoint): Call it.
3206 * breakpoint.h (null_re_set, null_works_in_software_mode)
3207 (null_resources_needed, null_check_status, null_print_one_detail):
3208 (bkpt_dtor, bkpt_allocate_location, bkpt_re_set)
3209 (bkpt_insert_location, bkpt_remove_location, bkpt_breakpoint_hit)
3210 (bkpt_check_status, bkpt_resources_needed)
3211 (bkpt_works_in_software_mode, bkpt_print_it)
3212 (null_print_one_detail, bkpt_print_mention, bkpt_print_recreate):
3213 Delete declarations.
3214 (initialize_breakpoint_ops): Declare.
3218 * breakpoint.c (bkpt_print_it, internal_bkpt_print_it)
3219 (momentary_bkpt_print_it): Simplify.
3223 Split internal, momentary and user breakpoints breakpoint_ops
3226 * breakpoint.c (internal_breakpoint_ops)
3227 (momentary_breakpoint_ops): Forward declare.
3228 (create_internal_breakpoint): Add new breakpoint_ops parameter.
3229 Pass it down, rather than hardcoding bkpt_breakpoint_ops.
3230 (create_overlay_event_breakpoint)
3231 (create_std_terminate_master_breakpoint)
3232 (create_exception_master_breakpoint): Create breakpoints with
3233 internal_breakpoint_ops vtable.
3234 (set_longjmp_breakpoint): Create momentary breakpoints with
3235 momentary_breakpoint_ops vtable, using
3236 momentary_breakpoint_from_master.
3237 (create_thread_event_breakpoint, create_jit_event_breakpoint)
3238 (create_solib_event_breakpoint): Create breakpoints with
3239 internal_breakpoint_ops vtable.
3240 (set_momentary_breakpoint): Create breakpoints with
3241 momentary_breakpoint_ops vtable.
3242 (momentary_breakpoint_from_master): New, factored out from
3243 clone_momentary_breakpoint.
3244 (clone_momentary_breakpoint): Adjust.
3245 (watch_command_1): Create scope breakpoints with
3246 momentary_breakpoint_ops vtable.
3247 (bkpt_re_set): Remove handling of internal and momentary
3249 (bkpt_print_mention, bkpt_print_recreate): New.
3250 (bkpt_breakpoint_ops): Adjust.
3251 (internal_bkpt_re_set, internal_bkpt_check_status)
3252 (internal_bkpt_print_it, internal_bkpt_print_mention)
3253 (internal_bkpt_print_recreate, internal_breakpoint_ops): New.
3254 (momentary_bkpt_re_set, momentary_bkpt_check_status)
3255 (momentary_bkpt_print_it, momentary_bkpt_print_mention)
3256 (momentary_bkpt_print_recreate): New.
3257 (momentary_breakpoint_ops): New.
3261 Implement most breakpoint_ops methods for all breakpoint types,
3262 and move the default handlings to the proper callbacks.
3264 * breakpoint.c (update_watchpoint): Always call the breakpoint's
3265 works_in_software_mode method.
3266 (insert_bp_location): Go through breakpoint_ops->insert_location
3267 for software and hardware watchpoints.
3268 (create_internal_breakpoint): Pass bkpt_breakpoint_ops as
3270 (remove_breakpoint_1): Go through breakpoint_ops->remove_location
3271 for software and hardware watchpoints.
3272 (print_it_typical): Delete.
3273 (print_bp_stop_message): Always call the breakpoint_ops->print_it
3275 (watchpoint_check): Adjust comment.
3276 (bpstat_check_location): Simply always call the breakpoint's
3277 breakpoint_hit method.
3278 (bpstat_stop_status): Always call the breakpoint's check_status
3279 method. Remove special cases for watchpoints and internal event
3280 breakpoints from here (moved to the check_status implementations).
3281 (print_one_breakpoint_location): Assume b->ops is never NULL.
3282 Remove static tracepoint marker id printing from here (moved to
3283 the print_one_detail callback implementation of tracepoints).
3284 (init_bp_location): Assert OPS is never NULL.
3285 (allocate_bp_location): Always call the breakpoint's
3286 allocate_location method, and remove the default code from here.
3287 (free_bp_location): Always call the location's dtor method, and
3288 remove the default code from here.
3289 (init_raw_breakpoint_without_location): Assert OPS is never NULL.
3290 (set_raw_breakpoint_without_location): Add new breakpoint_ops
3291 parameter. Pass it down.
3292 (set_raw_breakpoint): Ditto.
3293 (print_it_catch_fork): Adjust to take a bpstat as argument.
3294 (catch_fork_breakpoint_ops): Install methods.
3295 (print_it_catch_vfork): Adjust to take a bpstat as argument.
3296 (catch_vfork_breakpoint_ops): Install methods.
3297 (dtor_catch_syscall): Call the base dtor.
3298 (print_it_catch_syscall): Adjust to take a bpstat as argument.
3299 (catch_syscall_breakpoint_ops): Install methods.
3300 (dtor_catch_exec): Call the base dtor.
3301 (print_it_catch_exec): Adjust to take a bpstat as argument.
3302 (catch_exec_breakpoint_ops): Install methods.
3303 (hw_breakpoint_used_count, hw_watchpoint_used_count): Always call
3304 the breakpoint's resources_needed method, and remove the default
3306 (set_momentary_breakpoint): Pass bkpt_breakpoint_ops as
3308 (clone_momentary_breakpoint): Clone the original's ops.
3309 (mention): Always call the breakpoint's print_mention method, and
3310 remove the default code from here.
3311 (create_breakpoint_sal): Adjust to pass the ops to
3312 set_raw_breakpoint rather than setting it manually.
3313 (create_breakpoint): Assert ops is never NULL. Adjust to pass the
3314 ops to set_raw_breakpoint_without_location rather than setting it
3316 (break_command_1): Pass bkpt_breakpoint_ops as breakpoint_ops.
3317 (print_it_ranged_breakpoint): Adjust to take a bpstat as argument.
3318 (ranged_breakpoint_ops): Install methods.
3319 (break_range_command): Adjust to pass the ops to
3320 set_raw_breakpoint rather than setting it manually.
3321 (re_set_watchpoint, breakpoint_hit_watchpoint)
3322 (check_status_watchpoint, resources_needed_watchpoint)
3323 (works_in_software_mode_watchpoint, print_it_watchpoint)
3324 (print_mention_watchpoint, print_recreate_watchpoint): New
3326 (watchpoint_breakpoint_ops): Install new methods.
3327 (print_it_masked_watchpoint): New function.
3328 (masked_watchpoint_breakpoint_ops): Install new methods.
3329 (watch_command_1): Adjust to pass the right breakpoint_ops to
3330 set_raw_breakpoint_without_location rather than setting it
3331 manually later. Record the current pspace.
3332 (print_it_exception_catchpoint): Adjust to take a bpstat as
3334 (gnu_v3_exception_catchpoint_ops): Install new methods.
3335 (say_where): New function.
3336 (null_re_set, null_check_status, null_works_in_software_mode)
3337 (null_resources_needed, null_print_one_detail, bp_location_dtor):
3339 (bp_location_ops): New global.
3340 (bkpt_dtor, bkpt_allocate_location, bkpt_re_set)
3341 (bkpt_insert_location, bkpt_remove_location, bkpt_breakpoint_hit)
3342 (bkpt_check_status, bkpt_resources_needed)
3343 (bkpt_works_in_software_mode, bkpt_print_it, bkpt_print_mention)
3344 (bkpt_print_recreate): New functions.
3345 (bkpt_breakpoint_ops): New global.
3346 (tracepoint_re_set, tracepoint_insert_location)
3347 (tracepoint_remove_location, tracepoint_breakpoint_hit)
3348 (tracepoint_check_status, tracepoint_works_in_software_mode)
3349 (tracepoint_print_it, tracepoint_print_one_detail)
3350 (tracepoint_print_mention, tracepoint_print_recreate): New
3352 (tracepoint_breakpoint_ops): New global.
3353 (delete_breakpoint): Always call the breakpoint's dtor method, and
3354 remove the default handling from here.
3355 (breakpoint_re_set_default): Make static.
3356 (breakpoint_re_set_one): Always call the breakpoints re_set
3357 method, and remove the default handling from here.
3358 (trace_command, ftrace_command, strace_command)
3359 (create_tracepoint_from_upload): Pass appropriate breakpoints_ops
3360 to create_breakpoint.
3361 (save_breakpoints): Always call the breakpoint's print_recreate
3362 method, and remove the default handling from here.
3364 * ada-lang.c (dtor_exception): Call the base dtor.
3365 (re_set_exception): Call the base method.
3366 (print_it_exception, print_it_catch_exception): Adjust to take a
3368 (catch_exception_breakpoint_ops): Install methods.
3369 (print_it_catch_exception_unhandled): Adjust to take a bpstat as
3371 (catch_exception_unhandled_breakpoint_ops): Install methods.
3372 (print_it_catch_assert): Adjust to take a bpstat as argument.
3373 (catch_assert_breakpoint_ops): Install methods.
3375 * breakpoint.h (struct breakpoint_ops): Adjust the print_it method
3376 to take a bpstat as argument.
3377 (enum print_stop_action): Add describing comments to each enum
3379 (breakpoint_re_set_default): Delete declaration.
3380 (null_re_set, null_works_in_software_mode, null_resources_needed)
3381 (null_check_status, null_print_one_detail): Declare.
3382 (bkpt_breakpoint_ops): Declare.
3383 (bkpt_dtor, bkpt_allocate_location, bkpt_re_set)
3384 (bkpt_insert_location, bkpt_remove_location, bkpt_breakpoint_hit)
3385 (bkpt_check_status, bkpt_resources_needed)
3386 (bkpt_works_in_software_mode, bkpt_print_it)
3387 (null_print_one_detail, bkpt_print_mention, bkpt_print_recreate):
3390 * mi/mi-cmd-break.c (mi_cmd_break_insert): Adjust to pass
3391 bkpt_breakpoint_ops.
3392 * python/py-breakpoint.c (bppy_init): Ditto.
3396 * MAINTAINERS (Write After Approval): Add myself to the list.
3400 * elfread.c (elf_rel_plt_read): Fix off-by-one bug.
3404 * i386-nat.c (I386_DR_VACANT, I386_DR_LOCAL_ENABLE)
3405 (I386_DR_GLOBAL_ENABLE, I386_DR_DISABLE, I386_DR_SET_RW_LEN)
3406 (I386_DR_GET_RW_LEN, I386_DR_WATCH_HIT): Add state parameter and
3408 (dr_mirror, dr_status_mirror, dr_control_mirror): Delete.
3409 (struct i386_debug_reg_state): New.
3410 (i386_init_dregs): New.
3412 (i386_cleanup_dregs): Use i386_init_dregs.
3413 (i386_show_dr): Add state parameter and adjust.
3414 (i386_insert_aligned_watchpoint): Ditto. Don't pass the info to
3416 (i386_remove_aligned_watchpoint): Likewise.
3417 (i386_handle_nonaligned_watchpoint): Add state parameter and adjust.
3418 (i386_update_inferior_debug_regs): New.
3419 (i386_insert_watchpoint): Work on a local mirror of the debug
3420 registers, and only update the inferior on success.
3421 (i386_remove_watchpoint): Ditto.
3422 (i386_region_ok_for_watchpoint): Adjust.
3423 (i386_stopped_data_address): Adjust.
3424 (i386_insert_hw_breakpoint): Adjust.
3425 (i386_remove_hw_breakpoint): Adjust.
3429 * amd64-tdep.c (amd64_pseudo_register_read_value): Rename
3430 from amd64_pseudo_register_read. Change arguments. Call
3431 mark_value_bytes_unavailable when needed.
3432 (amd64_init_abi): Use set_gdbarch_pseudo_register_read_value, not
3433 set_gdbarch_pseudo_register_read.
3434 * sentinel-frame.c (sentinel_frame_prev_register): Use
3435 regcache_cooked_read_value.
3436 * regcache.h (regcache_cooked_read_value): Declare.
3437 * regcache.c (regcache_cooked_read_value): New function.
3438 (regcache_cooked_read): Call
3439 gdbarch_pseudo_register_read_value if available.
3440 * i386-tdep.h (i386_pseudo_register_read_value): Declare.
3441 (i386_pseudo_register_read): Remove.
3442 * i386-tdep.c (i386_pseudo_register_read_into_value): Rename from
3443 i386_pseudo_register_read. Change arguments. Call
3444 mark_value_bytes_unavailable when needed.
3445 (i386_pseudo_register_read_value): New function.
3446 (i386_gdbarch_init): Call set_gdbarch_pseudo_register_read_value,
3447 not set_gdbarch_pseudo_register_read.
3448 * gdbarch.sh (pseudo_register_read_value): New method.
3449 * gdbarch.c, gdbarch.h: Rebuild.
3450 * findvar.c (value_from_register): Call get_frame_register_value.
3454 * event-top.c (cli_command_loop): Use get_prompt, get_suffix,
3456 (display_gdb_prompt): Likewise.
3457 (change_annotation_level): Likewise.
3458 (push_prompt): Likewise.
3459 (pop_prompt): Likewise.
3460 (handle_stop_sig): Use get_prompt with a level.
3461 * top.c (command_loop): Use get_prompt with a level.
3462 (set_async_annotation_level): Use set_prompt with a level.
3463 (get_prefix): New function.
3464 (set_prefix): Ditto.
3465 (set_suffix): Ditto.
3466 (get_suffix): Ditto.
3467 (get_prompt): Accept a level argument.
3468 (set_prompt): Accept a level argument. Free old prompts. Set
3469 new_async_prompt if level is 0.
3470 (init_main): Use set_prompt with a level. Do not set
3472 * event-top.h (PROMPT, SUFFIX, PREFIX): Move to top.c
3473 * top.h: Declare set_suffix, get_suffix, set_prefix, get_prefix.
3474 Modify set_prompt, get_prompt to account for levels.
3475 * tui/tui-interp.c (tui_command_loop): Use get_prompt with a
3477 * python/python.c (before_prompt_hook): Use set_prompt.
3481 * defs.h: Add guard against inclusion in gdbserver.
3482 (struct ptid, ptid_t): Move to common/ptid.h.
3483 (xfree, xzalloc, xasprintf, xvasprintf, xstrprintf, xstrvprintf,
3484 xsnprintf, internal_error): Move to common/common-utils.h.
3486 * gdb_assert.h: Move into common/ sub-directory.
3487 * gdb_locale.h: Ditto.
3488 * gdb_dirent.h: Ditto.
3489 * inferior.h (minus_one_ptid, null_ptid, ptid_build, pid_to_ptid,
3490 ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal, ptid_is_pid):
3491 Move into common/ptid.h.
3492 * xml-support.c (xml_escape_text): Move into common/xml-utils.c.
3493 (gdb_xml_create_parser_and_cleanup_1, xml_fetch_context_from_file):
3494 Change nomem to malloc_failure.
3495 * xml-support.h (xml_escape_text): Move into common/xml-utils.h.
3496 * utils.c (nomem): Rename to malloc_failure.
3497 (xmalloc, xzalloc, xrealloc, xcalloc, xfree, xstrprintf, xasprintf,
3498 xvasprintf, xstrvprintf, xsnprintf): Move to common/common-utils.c.
3499 (gdb_buildargv): Change nomem to malloc_failure.
3500 * infrun.c (null_ptid, minus_one_ptid, ptid_build, pid_to_ptid,
3501 ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal,
3502 ptid_is_pid): Move into common/ptid.c.
3503 (initialize_infrun): Delete initialization of null_ptid and
3505 * linux-nat.c (linux_nat_xfer_osdata): Defer to
3506 linux_common_xfer_osdata.
3507 * Makefile.in (SFILES): Add common/common-utils.c, common/xml-utils.c,
3508 common/ptid.c and common/buffer.c.
3509 (HFILES_NO_SRCDIR): Add common/common-utils.h, common/xml-utils.h,
3510 common/ptid.h, common/buffer.h and common/linux-osdata.h.
3511 (COMMON_OBS): Add xml-utils.o, common-utils.o, buffer.o and ptid.o.
3512 (common-utils.o, xml-utils.o, ptid.o, buffer.o, linux-osdata.o): New
3514 * common/gdb_assert.h: New.
3515 * common/gdb_dirent.h: New.
3516 * common/gdb_locale.h: New.
3517 * common/buffer.c: New.
3518 * common/buffer.h: New.
3519 * common/ptid.c: New.
3520 * common/ptid.h: New.
3521 * common/xml-utils.c: New.
3522 * common/xml-utils.h: New.
3523 * common/common-utils.c: New.
3524 * common/common-utils.h: New.
3525 * common/linux-osdata.c: New.
3526 * common/linux-osdata.h: New.
3527 * config/alpha/alpha-linux.mh (NATDEPFILES): Add linux-osdata.o.
3528 * config/arm/linux.mh (NATDEPFILES): Ditto.
3529 * config/i386/linux.mh (NATDEPFILES): Ditto.
3530 * config/i386/linux64.mh (NATDEPFILES): Ditto.
3531 * config/ia64/linux.mh (NATDEPFILES): Ditto.
3532 * config/m32r/linux.mh (NATDEPFILES): Ditto.
3533 * config/m68k/linux.mh (NATDEPFILES): Ditto.
3534 * config/mips/linux.mh (NATDEPFILES): Ditto.
3535 * config/pa/linux.mh (NATDEPFILES): Ditto.
3536 * config/powerpc/linux.mh (NATDEPFILES): Ditto.
3537 * config/powerpc/ppc64-linux.mh (NATDEPFILES): Ditto.
3538 * config/s390/s390.mh (NATDEPFILES): Ditto.
3539 * config/sparc/linux.mh (NATDEPFILES): Ditto.
3540 * config/sparc/linux64.mh (NATDEPFILES): Ditto.
3541 * config/xtensa/linux.mh (NATDEPFILES): Ditto.
3545 * NEWS: Add info macros and info definitions commands.
3549 * NEWS: Document Python prompt substitution hook.
3554 * macrotab.h (macro_callback_fn): Add new arguments to callback.
3555 * macrotab.c (foreach_macro): Ditto.
3556 (foreach_macro_in_scope): Ditto.
3557 * macrocmd.c (print_macro_callback): New function.
3558 (info_macro_command): Move some code to print_macro_definition.
3559 (print_macro_definition): New function.
3560 (print_one_macro): Add new arguments to callback.
3561 (info_definitions_command): New function.
3562 (info_macros_command): Ditto.
3563 (_initialize_macrocmd): Add info macros and info definitions commands.
3564 * symtab.c (add_macro_name): Add new arguments to callback.
3569 * top.c (set_prompt): Rewrite to free previous prompt, free
3570 asynch_new_prompt and set both on new prompts.
3571 * event-top.c (display_gdb_prompt): Add prompt substitution
3573 * python/python.c (before_prompt_hook): New function.
3577 * bfin-tdep.c (bfin_extract_return_value): Fix swapped
3578 arguments to store_unsigned_integer.
3582 * dwarf2read.c (process_enumeration_scope): Do not call new_symbol
3583 in some declaration-only cases.
3588 * dwarf2read.c (dwarf2_section_info_def): New typedef.
3589 (struct dwarf2_per_objfile) <types>: Change to a VEC.
3590 (struct dwarf2_per_cu_data) <from_debug_types>: Remove.
3591 <debug_type_section>: New field.
3592 (dwarf2_locate_sections): Push .debug_types sections onto VEC.
3593 (load_cu): Use appropriate section.
3594 (create_signatured_type_table_from_index): Add 'section'
3596 (dwarf2_read_index): Only allow a single .debug_types section.
3597 (dw2_get_file_names): Use appropriate section.
3598 (read_type_comp_unit_head): Add 'section' argument.
3599 (create_debug_types_hash_table): Loop over all .debug_types
3601 (init_cu_die_reader): Use appropriate section.
3602 (process_psymtab_comp_unit, load_partial_comp_unit)
3603 (load_full_comp_unit, read_die_and_children, find_partial_die)
3604 (lookup_die_type, determine_prefix, follow_die_offset): Update.
3605 (lookup_signatured_type_at_offset): Add 'section' argument.
3606 (read_signatured_type_at_offset): Add 'sect' argument.
3607 (read_signatured_type): Use appropriate section.
3608 (set_die_type, get_die_type_at_offset): Update.
3609 (dwarf2_per_objfile_free): Free all .debug_types sections, and
3611 (write_psymtabs_to_index): Don't allow index with more than one
3612 .debug_types section.
3616 Fix crash if referenced CU is aged out.
3617 * dwarf2loc.c (per_cu_dwarf_call): New variable back_to, use to for
3618 xfree of block.data.
3619 (indirect_pieced_value): New variable back_to, use to for xfree of
3621 (dwarf2_compile_expr_to_ax): New variable back_to, use to for xfree of
3623 * dwarf2read.c (dwarf2_find_base_address): New prototype.
3624 (load_cu): New function from ...
3625 (dw2_do_instantiate_symtab): ... the code here ...
3626 (process_full_comp_unit): ... and here.
3627 (dwarf2_fetch_die_location_block): Call load_cu first. Call xmemdup on
3632 * dwarf2loc.c (indirect_pieced_value): Use check_typedef for VALUE's
3637 * infrun.c (struct execution_control_state): New member
3638 stop_func_filled_in.
3639 (clear_stop_func, fill_in_stop_func): New functions.
3640 (handle_inferior_event): Call clear_stop_func rather than
3641 manipulating the execution control state directly.
3642 Call fill_in_stop_func lazily as required rather than
3643 directly calling find_pc_partial_function in all cases.
3647 * dwarf2read.c (read_subrange_type): Use attr_form_is_block when
3648 checking for variable-sized array.
3652 * varobj.h (varobj_languages): Add vlang_ada definition to the list
3653 of supported languages.
3654 * varobj.c: Add top definitions and basic implementation of the
3655 following callbacks: ada_number_of_children, ada_name_of_variable,
3656 ada_name_of_child, ada_path_expr_of_child, ada_value_of_root,
3657 ada_value_of_child, ada_type_of_child, ada_value_of_variable.
3658 (languages): Register Ada-specific callbacks.
3659 (variable_language): Add the Ada case in the language setter switch.
3663 * remote-mips.c (pmon_download): Fix ignored return value GCC warning.
3668 * dwarf2-frame.c (dwarf2_frame_ctx_funcs): New.
3669 (execute_stack_op): Use dwarf2_frame_ctx_funcs
3670 * dwarf2expr.c (dwarf_get_base_type): Access get_base_type via funcs.
3671 (execute_stack_op): Access read_reg, get_frame_base, read_mem,
3672 get_frame_cfa, get_tls_address and dwarf_call via funcs.
3673 * dwarf2expr.h (struct dwarf_expr_context): New forward declaration.
3674 (struct dwarf_expr_context_funcs): New, move here methods from ...
3675 (struct dwarf_expr_context): ... here. New fields funcs.
3676 * dwarf2loc.c (dwarf_expr_dwarf_call): Access get_frame_pc via funcs.
3677 (dwarf_expr_ctx_funcs): New.
3678 (dwarf2_evaluate_loc_desc_full): Use dwarf_expr_ctx_funcs.
3679 (needs_frame_dwarf_call): Access get_frame_pc via funcs.
3680 (needs_frame_ctx_funcs): New.
3681 (dwarf2_loc_desc_needs_frame): Use needs_frame_ctx_funcs.
3685 * MAINTAINERS (Write After Approval): Add myself to the list.
3689 * dwarf2-frame.c (decode_frame_entry, decode_frame_entry_1): Ensure
3690 that CIE pointer of an FDE really points to a CIE .
3694 * remote.c (remote_get_trace_status): Add comments.
3698 Code cleanup - constify struct lval_funcs.
3699 * dwarf2loc.c (pieced_value_funcs): Make it const.
3700 * infrun.c (siginfo_value_funcs): Likewise.
3701 * opencl-lang.c (opencl_value_funcs): Likewise.
3702 * valops.c (value_assign, value_ind): Make the funcs variable const.
3703 * value.c (struct value): Make location.computed.funcs target const.
3704 Rearrange the comments.
3705 (allocate_computed_value): Make the funcs parameter target const.
3706 (value_computed_funcs): Return the funcs target const.
3707 (value_free, value_copy, set_value_component_location): Make the funcs
3709 * value.h (allocate_computed_value): Make the funcs parameter target
3711 (value_computed_funcs): Return the funcs target const.
3712 * windows-tdep.c (tlb_value_funcs): Make it const.
3716 * remote.c (remote_get_trace_status): Initialize p.
3721 * remote.c (remote_get_trace_status): New variable ex. Put
3722 remote_get_noisy_reply into TRY_CATCH. Call exception_fprintf for it.
3726 * dwarf2expr.c (execute_stack_op) <DW_OP_GNU_regval_type>: Use
3727 value_from_contents for final conversion.
3732 * dwarf2loc.c (dwarf_expr_frame_base_1, dwarf2_evaluate_loc_desc_full):
3733 Indent prototypes so they do not get into tags.
3737 Code cleanup making also optimized out values lazy.
3738 * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use
3739 allocate_optimized_out_value. Twice.
3740 (loclist_read_variable) Use allocate_optimized_out_value. Once.
3741 * findvar.c (read_var_value): Likewise.
3742 * value.c (allocate_optimized_out_value): New function.
3743 * value.h (allocate_optimized_out_value): New declaration.
3747 Fix occasional crash of CTRL-C during DWARF read in.
3748 * dwarf2read.c (dwarf2_mark_helper): Return on NULL CU.
3752 * regcache.c (struct regcache_descr): Fix typo.
3753 * i387-tdep.c (i387_supply_xsave): Fix typo.
3757 * dwarf2read.c (handle_DW_AT_stmt_list): New function.
3758 (read_file_scope, read_type_unit_scope): Use it.
3762 * dwarf2expr.c (read_sleb128): Fix signed extension overflowing host
3768 * python/python.c: Set gdbpy_should_print_stack default to off.
3769 (set_python): Deprecate maint set python print-stack to
3771 (_initialize_python): Deprecate maint set/show python print-stack.
3772 Add new prefix command, python. Add new setting, print-backtrace.
3773 * NEWS: Document set python print-stack. Document default change.
3777 * python/py-inferior.c (infpy_dealloc): New function.
3778 (inferior_to_inferior_object): Return a new object, or a
3779 new reference to the existing object.
3780 (find_thread_object): Cleanup references to inferior.
3781 (delete_thread_object): Ditto.
3782 * python/py-infthread.c (create_thread_object): Do not increment
3783 inferior reference count.
3787 * dwarf2loc.c (locexpr_regname): New function.
3788 (locexpr_describe_location_piece): Use it.
3789 (disassemble_dwarf_expression): Add per_cu argument. Use
3791 <DW_OP_GNU_deref_type, DW_OP_GNU_const_type,
3792 DW_OP_GNU_regval_type, DW_OP_GNU_convert, DW_OP_GNU_reinterpret>:
3794 (locexpr_describe_location_1): Add per_cu argument.
3795 (locexpr_describe_location): Update.
3796 (loclist_describe_location): Update.
3800 * dwarf2expr.c (execute_stack_op): Add QUIT.
3806 * remote.c (remote_start_remote): Add TRY_CATCH for
3807 remote_get_trace_status.
3808 * tracepoint.c (disconnect_tracing): Ditto.
3812 * cli/cli-setshow.c (do_setshow_command): Display var_zinteger
3813 variables as signed, not unsigned.
3817 * jit.c (jit_inferior_init): Reformat forward declaration.
3821 * MAINTAINERS (Write After Approval): Add myself to the list.
3825 * remote.c (remote_start_remote): Add TRY_CATCH for
3826 remote_get_trace_status.
3827 * tracepoint.c (disconnect_tracing): Ditto.
3831 * symtab.c (operator_chars): Now static.
3832 * linespec.c (operator_chars): Don't declare.
3836 * ui-out.h (ui_out_field_core_addr): Fix typo in comment.
3840 * gnu-v3-abi.c (gnuv3_rtti_type): Check TYPE_CPLUS_REALLY_JAVA.
3841 * gdbtypes.h (struct cplus_struct_type) <is_java>: New field.
3842 (TYPE_CPLUS_REALLY_JAVA): New macro.
3843 * dwarf2read.c (process_structure_scope): Set
3844 TYPE_CPLUS_REALLY_JAVA.
3848 * ada-lang.c: Fix typos.
3849 * amd64-tdep.c: Likewise.
3850 * breakpoint.c: Likewise.
3851 * cli/cli-decode.c: Likewise.
3852 * findcmd.c: Likewise.
3853 * inline-frame.c: Likewise.
3854 * mi/mi-main.c: Likewise.
3855 * minsyms.c: Likewise.
3856 * monitor.c: Likewise.
3857 * monitor.h: Likewise.
3858 * prologue-value.c: Likewise.
3859 * reverse.c: Likewise.
3860 * s390-tdep.c: Likewise.
3864 * jit.c (jit_inferior_init): Forward declare.
3865 (jit_breakpoint_re_set_internal): Call jit_inferior_init.
3869 * osabi.c (generic_elf_osabi_sniffer): Minor comment reformatting.
3873 * ada-tasks.c (KNOWN_TASKS_LIST): New macro.
3874 (tcb_fieldno): Add activation_link field.
3875 (get_known_tasks_addr): Moved and rewritten.
3876 (get_tcb_types_info): Set activation_link field.
3877 (read_known_tasks_array): Add parameter. Rewritten.
3878 (read_known_tasks_list): New function.
3879 (read_known_tasks): New function.
3880 (ada_build_task_list): Call read_known_tasks instead of
3881 read_known_tasks_array.
3882 * ravenscar-thread.c: Add first_task_name constant.
3883 (has_ravenscar_runtime): Check for task list too.
3887 * ada-tasks.c: Renames fieldno to actb_fieldno.
3888 (ada_get_task_number): Indentation.
3889 (get_tcb_types_info): Remove all parameters. Write directly
3891 (ptid_from_atcb_common): Adjust.
3892 (read_atcb): Adjust.
3896 * symtab.c (in_prologue): Remove mention of ppc's refine_prologue_limit.
3900 * ui-out.c (ui_out_field_core_addr): Mention that the function
3901 description is in the header file.
3902 * ui-out.h (ui_out_field_core_addr): Document function.
3906 * ui-out.c (ui_out_get_field_separator): Remove unused function.
3907 * ui-out.h (ui_out_get_field_separator): Remove prototype.
3911 * symtab.c (expand_line_sal): Remove empty line.
3915 * osabi.c (generic_elf_osabi_sniffer) <ELFOSABI_GNU>: Handle in the
3916 same way as ELFOSABI_NONE.
3917 <ELFOSABI_LINUX, ELFOSABI_HURD>: Remove cases.
3921 * breakpoint.c: Fix typos in comments.
3922 * linespec.c: Likewise.
3923 * symtab.c: Likewise.
3927 * dwarf2-frame.c (dwarf2_build_frame_info): Do not load .eh_frame
3928 section in separate object files.
3932 Fix false GCC warning.
3933 * linespec.c (decode_line_1): Initialize values.
3937 * linespec.c (find_method): Accept the function type automatically only
3938 if it was specified with parameter types.
3942 Stop on first linespec terminator instead of eating what we can.
3943 * linespec.c (is_linespec_boundary): New function.
3944 (name_end): Remove function.
3945 (keep_name_info): New parameter on_boundary, replace the body.
3946 (decode_line_1): Provide the parameter to keep_name_info.
3947 (decode_compound): Likewise. Drop the trailing java return type
3952 Fall back linespec to minimal symbols.
3953 * linespec.c (decode_line_1): New variable ex, saved_argptr. Protect
3954 decode_compound by TRY_CATCH, fall back on minsyms if it failed.
3955 (find_method, symbol_found): Change error to cplusplus_error.
3959 * symtab.c (symbol_find_demangled_name): Remove DMGL_VERBOSE.
3964 * dwarf2read.c (check_physname): New variable.
3965 (dwarf2_physname): Prefer DW_AT_linkage_name over dwarf2_compute_name.
3966 (show_check_physname): New function.
3967 (_initialize_dwarf2_read): Add `check-physname' for check_physname.
3971 * machoread.c (macho_symfile_read): Delete OBE comment.
3975 * machoread.c (struct macho_oso_data): Delete.
3976 (current_oso): Delete.
3977 (macho_relocate_common_syms): New function, mostly extracted
3979 (macho_add_oso_symfile): Call macho_relocate_common_syms.
3980 Remove code that sets and unset current_oso.
3981 (macho_symfile_relocate): Delete handling of common symbols,
3982 now moved to macho_relocate_common_syms.
3986 * darwin-nat.c (darwin_ptrace): Add documentation.
3987 Set errno to zero before calling ptrace. If ptrace returns
3988 -1 and errno is zero, then change then return zero.
3989 (darwin_kill_inferior): Issue a warning instead of triggering
3990 a failed assertion when the PT_KILL ptrace operations returned
3995 * darwin-nat.c (darwin_detach): Call darwin_resume_inferior
3996 only when inf->private->no_ptrace.
4000 * ada-lang.c (print_it_exception): Print temporary catchpoints
4001 as "Temporary catchpoint".
4002 (print_mention_exception): Likewise.
4006 * jv-lang.c (java_language_defn): Use java_printchar,
4008 (java_get_encoding): New function.
4009 (java_emit_char): Use generic_emit_char.
4010 (java_printchar): New function.
4011 (java_printstr): Likewise.
4015 * ada-typeprint.c (print_record_type): If unable to decode
4016 the name of the parent type, use the encoded name.
4020 * ada-typeprint.c (ada_print_type): Fix both PAD type and
4021 pointer to constrained packed array type output.
4022 * ada-valprint.c (ada_val_print_1): Fix pointer to constrained
4023 packed array output.
4027 * ada-typeprint.c (print_array_type): removed if condition on show
4028 being negative for bounds printing.
4032 * ada-lang.c (ada_identical_enum_types_p): New function.
4033 (symbols_are_identical_enums): New function.
4034 (remove_extra_symbols): Do nothing if NSYMS < 2.
4035 Use symbols_are_identical_enums.
4039 * ada-valprint.c (ada_value_print): Handle typedefs.
4043 * ada-lang.c (ada_evaluate_subexp): Add missing word in comment.
4047 * ada-lang.c (thin_descriptor_type): Deal with typedefs.
4048 (decode_constrained_packed_array): Likewise.
4049 (ada_evaluate_subexp) <TERNOP_SLICE>: Likewise.
4053 * ada-exp.y (convert_char_literal): Handle typedef types.
4057 * ada-lang.c (ada_remove_trailing_digits): Expand documentation.
4061 * varobj.c (varobj_create): Call do_cleanups on early exit path.
4062 * valops.c (find_overload_match): Call do_cleanups on early exit
4064 * solib.c (solib_find): Call do_cleanups on early exit path.
4068 * symfile-mem.c (symbol_file_add_from_memory): Call do_cleanups.
4069 * solib-svr4.c (open_symbol_file_object): Call do_cleanups on all
4070 return paths. Defer final do_cleanups until last return.
4071 * arm-tdep.c (arm_exidx_new_objfile): Make null cleanup after
4076 * Makefile.in (SUBDIR_MI_CFLAGS): Don't add -DMI_OUT=1.
4080 * MAINTAINERS (Write After Approval): Add myself to the list.
4084 Disable epilogue unwinders on recent GCCs.
4085 * amd64-tdep.c (amd64_in_function_epilogue_p): New variable symtab,
4086 initialize it, return 0 on EPILOGUE_UNWIND_VALID.
4087 * dwarf2read.c (process_full_comp_unit): Initialize
4088 EPILOGUE_UNWIND_VALID.
4089 * i386-tdep.c (i386_in_function_epilogue_p): New variable symtab,
4090 initialize it, return 0 on EPILOGUE_UNWIND_VALID.
4091 * symtab.h (struct symtab): New field epilogue_unwind_valid.
4095 Code cleanup - reformatting.
4096 * dwarf2read.c (producer_is_gcc_ge_4_0): Rename to ...
4097 (producer_is_gcc_ge_4): ... here, change the return value.
4098 (process_full_comp_unit): New variable gcc_4_minor, adjust the value
4103 Fix non-only rename list for Fortran modules import.
4104 * cp-namespace.c (cp_scan_for_anonymous_namespaces): Adjust the
4105 cp_add_using_directive caller.
4106 (cp_add_using_directive): New parameter excludes, describe it. New
4107 variables ix and param. Compare if also excludes match. Allocate NEW
4108 with variable size, initialize EXCLUDES there.
4109 (cp_lookup_symbol_imports): New variable excludep, test
4110 current->EXCLUDES with it.
4111 * cp-support.h: Include vec.h.
4112 (struct using_direct): New field excludes, describe it.
4113 (DEF_VEC_P (const_char_ptr)): New.
4114 (cp_add_using_directive): New parameter excludes.
4115 * defs.h (const_char_ptr): New typedef.
4116 * dwarf2read.c (read_import_statement): New variables child_die,
4117 excludes and cleanups, read in excludes.
4118 (read_namespace): Adjust the cp_add_using_directive caller.
4123 * cp-namespace.c (cp_add_using_directive): Turn positive comparison to
4124 negative comparisons.
4128 * mi/mi-main.c (mi_cmd_list_features): Emit
4129 breakpoint-notifications.
4134 * valprint.h (generic_emit_char, generic_printstr): Declare.
4135 * valprint.c (wchar_printable, append_string_as_wide)
4136 (print_wchar): Move from c-lang.c.
4137 (generic_emit_char): New function; mostly taken from c_emit_char.
4138 (generic_printstr): New function; mostly taken from c_printstr.
4139 * f-valprint.c (f_val_print) <TYPE_CODE_ARRAY>: Handle strings
4140 represented as arrays.
4141 <TYPE_CODE_CHAR>: Treat as TYPE_CODE_INT; recognize as character
4143 * f-typeprint.c (f_type_print_base) <TYPE_CODE_CHAR>: Treat
4144 identically to TYPE_CODE_INT.
4145 * f-lang.c (f_get_encoding): New function.
4146 (f_emit_char): Use generic_emit_char.
4147 (f_printchar): Replace comment.
4148 (f_printstr): Use generic_printstr.
4149 * dwarf2read.c (read_base_type) <DW_ATE_unsigned>: Handle Fortran
4150 "character" types specially.
4151 <DW_ATE_signed_char, DW_ATE_unsigned_char>: Make TYPE_CODE_CHAR
4153 * c-lang.c (wchar_printable, append_string_as_wide, print_wchar):
4155 (c_emit_char): Call generic_emit_char.
4156 (c_printstr): Call generic_printstr.
4160 * breakpoint.c (bpstat_what): Removed duplicated case.
4164 * python/python-internal.h (PY_SSIZE_T_CLEAN): Define.
4168 * valops.c (find_overload_match): Call do_cleanups before early
4170 * top.c (execute_command): Call do_cleanups before early return.
4171 (command_loop): Likewise.
4172 * stack.c (backtrace_command): Make a null cleanup early. Don't
4173 conditionally call do_cleanups.
4174 * python/py-value.c (TRY_CATCH): Move cleanup handling into
4176 * python/py-breakpoint.c (gdbpy_breakpoint_has_py_cond): Rearrange
4177 so cleanups are always run.
4178 * mi/mi-cmd-var.c (mi_cmd_var_delete): Reset old_cleanups.
4179 * findcmd.c (parse_find_args): Call do_cleanups on early return
4181 * dbxread.c (elfstab_build_psymtabs): Make a null cleanup early.
4182 Don't conditionally call do_cleanups.
4183 * cli/cli-script.c (execute_user_command): Initialize 'old_chain'
4188 * MAINTAINERS (Write After Approval): Use default email address.
4192 * MAINTAINERS (Write After Approval): Add Eric Botcazou.
4196 * sparc-tdep.h (struct sparc_frame_cache): Add frame_offset,
4197 saved_regs_mask and copied_regs_mask fields.
4198 (sparc_record_save_insn): New prototype.
4199 * sparc-tdep.c (sparc_alloc_frame_cache): Initialize the new fields.
4200 (sparc_record_save_insn): New function.
4201 (sparc_analyze_prologue): Add head comment. Recognize store insns
4202 of call-saved registers. Use OFFSET consistently. Recognize flat
4203 frames and cache their settings.
4204 (sparc32_skip_prologue): Handle flat frames.
4205 (sparc_frame_cache): Add frame_offset to the base address.
4206 (sparc32_frame_cache): Adjust to new frame description.
4207 (sparc32_frame_prev_register): Likewise.
4208 * sparc64-tdep.c (sparc64_frame_prev_register): Likewise.
4209 * sparc-sol2-tdep.c (sparc32_sol2_sigtramp_frame_cache): Likewise.
4210 * sparc64-sol2-tdep.c (sparc64_sol2_sigtramp_frame_cache): Likewise.
4211 * sparcnbsd-tdep.c (sparc32nbsd_sigcontext_frame_cache): Force the
4212 frame by calling sparc_record_save_insn.
4213 * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_frame_cache): Likewise.
4214 * sparcobsd-tdep.c (sparc32obsd_sigtramp_frame_cache): Likewise.
4215 * sparc64obsd-tdep.c (sparc64obsd_frame_cache): Likewise.
4219 * dwarf2read.c (struct dwarf2_section_info): Replace was_mmapped
4220 field by map_addr and map_len.
4221 (dwarf2_read_section): Adjust for the new bfd_mmap api.
4222 (munmap_section_buffer): Likewise.
4226 * varobj.c (update_dynamic_varobj_children): Make 'name' const.
4227 * symtab.h (lookup_struct, lookup_union, lookup_enum): Update.
4228 * python/python.c (gdbpy_parameter): Make 'arg' const.
4229 (execute_gdb_command): Likewise.
4230 (gdbpy_decode_line): Likewise. Copy it.
4231 (gdbpy_parse_and_eval): Make 'expr_string' const. Copy it.
4232 (gdbpy_write): Make 'arg' const.
4233 * python/py-type.c (typy_lookup_typename): Make 'type_name'
4235 (gdbpy_lookup_type): Likewise.
4236 * python/py-prettyprint.c (print_children): Make 'name' const.
4237 * python/py-param.c (parmpy_init): Make 'name' const. Copy it.
4238 * python/py-inferior.c (infpy_write_memory): Make 'buf_len' a
4240 * python/py-function.c (fnpy_init): Make 'name' const.
4241 * python/py-cmd.c (cmdpy_init): Make 'name' const. Copy it.
4242 (gdbpy_string_to_argv): Make 'input' const.
4243 * python/py-breakpoint.c (bppy_init): Make 'spec' const. Copy
4245 * gdbtypes.h (lookup_typename): Update.
4246 * gdbtypes.c (lookup_typename): Make 'name' const.
4247 (lookup_struct): Likewise.
4248 (lookup_union): Likewise.
4249 (lookup_enum): Likewise.
4253 * Makefile.in (HFILES_NO_SRCDIR): Add "common/" to
4254 gdb_thread_db.h. Move all common/ entries to be together.
4255 (TAGS): Don't depend on DEPFILES.
4259 * infrun.c (start_remote): Move call init_wait_for_inferior to ...
4260 * remote.c (remote_start_remote): ... here.
4261 * monitor.c (monitor_open): ... here.
4265 * gdbtypes.c (append_composite_type_field_aligned): Fix
4266 calculation of bit position based on alignment.
4270 * breakpoint.c (bpstat_stop_status): Call the check_status
4271 breakpoint_ops method.
4272 (print_one_breakpoint_location): Also print the condition for Ada
4273 exception catchpoints.
4274 (allocate_bp_location): New, factored out from
4275 allocate_bp_location.
4276 (allocate_bp_location): Adjust. Call the owner breakpoint's
4277 allocate_location method, if there is one.
4278 (free_bp_location): Call the locations's dtor method, if there is
4280 (init_raw_breakpoint_without_location): New breakpoint_ops
4282 (set_raw_breakpoint_without_location): Adjust.
4283 (init_raw_breakpoint): New breakpoint_ops parameter. Pass it down.
4284 (set_raw_breakpoint): Adjust.
4285 (catch_fork_breakpoint_ops, catch_vfork_breakpoint_ops)
4286 (catch_syscall_breakpoint_ops): Install NULL allocate_location,
4287 re_set and check_status methods.
4288 (init_catchpoint): Don't memset, initialize thread, addr_string
4289 and enable_state. Pass the ops down to init_raw_breakpoint.
4290 (install_catchpoint): Rename to ...
4291 (install_breakpoint): ... this, and make extern.
4292 (create_fork_vfork_event_catchpoint): Adjust.
4293 (catch_exec_breakpoint_ops): Install NULL allocate_location,
4294 re_set and check_status methods.
4295 (create_syscall_event_catchpoint): Adjust.
4296 (ranged_breakpoint_ops, watchpoint_breakpoint_ops)
4297 (masked_watchpoint_breakpoint_ops): Install NULL
4298 allocate_location, re_set and check_status methods.
4299 (catch_exec_command_1): Adjust.
4300 (gnu_v3_exception_catchpoint_ops): Install NULL allocate_location,
4301 re_set and check_status methods.
4302 (create_ada_exception_breakpoint): Rename to ...
4303 (init_ada_exception_breakpoint): ... this. Add a struct
4304 breakpoint parameter, and delete the exp_string, cond_string and
4305 cond parameters. Use init_raw_breakpoint, and don't install or
4306 mention the breakpoint yet. Don't clear breakpoint fields that
4307 init_raw_breakpoint already clears.
4308 (re_set_breakpoint): Delete, split into ...
4309 (breakpoint_re_set_default, prepare_re_set_context): ... these new
4311 (breakpoint_re_set_one): Call the breakpoint's
4312 breakpoint_ops->re_set implementation, if there's one. Adjust.
4313 * breakpoint.h: Forward declare struct bpstats and struct bp_location.
4314 (struct bp_location_ops): New type.
4315 (struct bp_location): New field `ops'.
4316 (struct breakpoint_ops): New `allocate_location', `re_set' and
4317 `check_status' fields. Make `breakpoint_hit''s description match
4319 (init_bp_location): Declare.
4320 (breakpoint_re_set_default): Declare.
4321 (create_ada_exception_breakpoint): Rename to ...
4322 (init_ada_exception_breakpoint): ... this. Add a struct
4323 breakpoint parameter, and delete the exp_string, cond_string and
4325 (install_breakpoint): Declare.
4326 * ada-lang.c: Include exceptions.h.
4327 <Ada exceptions description>: Update.
4328 (struct ada_catchpoint_location): New type.
4329 (ada_catchpoint_location_dtor): New function.
4330 (ada_catchpoint_location_ops): New global.
4331 (ada_catchpoint): New type.
4332 (create_excep_cond_exprs): New function.
4333 (dtor_exception, allocate_location_exception, re_set_exception)
4334 (should_stop_exception, check_status_exception): New functions.
4335 (print_one_exception, print_mention_exception)
4336 (print_recreate_exception): Adjust.
4337 (dtor_catch_exception, allocate_location_catch_exception)
4338 (re_set_catch_exception, check_status_catch_exception): New
4340 (catch_exception_breakpoint_ops): Install them.
4341 (dtor_catch_exception_unhandled)
4342 (allocate_location_catch_exception_unhandled)
4343 (re_set_catch_exception_unhandled)
4344 (check_status_catch_exception_unhandled): New functions.
4345 (catch_exception_unhandled_breakpoint_ops): Install them.
4346 (dtor_catch_assert, allocate_location_catch_assert)
4347 (re_set_catch_assert, check_status_catch_assert): New functions.
4348 (catch_assert_breakpoint_ops): Install them.
4349 (ada_exception_catchpoint_p): Delete.
4350 (catch_ada_exception_command_split)
4351 (ada_exception_catchpoint_cond_string): Rename exp_string
4352 parameter to excep_string. Adjust.
4353 (ada_parse_catchpoint_condition): Delete.
4354 (ada_exception_sal): Rename the exp_string parameter to
4355 excep_string. Delete the cond_string and cond parameters.
4357 (ada_decode_exception_location): Rename the exp_string parameter
4358 to excep_string. Delete the cond_string and cond parameters.
4360 (create_ada_exception_catchpoint): New function.
4361 (catch_ada_exception_command, ada_decode_assert_location)
4362 (catch_assert_command): Adjust.
4363 * ada-lang.h (ada_exception_catchpoint_p): Delete declaration.
4367 * ada-lang.c: Include arch-utils.h.
4368 (ada_decode_exception_location): Make static.
4369 (catch_ada_exception_command): Moved here from breakpoint.c.
4370 (ada_decode_assert_location): Make static.
4371 (catch_assert_command): Moved here from breakpoint.c.
4372 (_initialize_ada_lang): Install the exception and assert
4373 catchpoint commands here.
4374 * ada-lang.h (ada_decode_exception_location)
4375 (ada_decode_assert_location): Delete declarations.
4376 * breakpoint.c (CATCH_PERMANENT, CATCH_TEMPORARY): Moved to
4378 (create_ada_exception_breakpoint): Make extern.
4379 (catch_ada_exception_command, catch_assert_command): Moved to
4381 (add_catch_command): Make extern.
4382 (_initilize_breakpoint): Don't install the exception and assert
4383 catchpoint commands here.
4384 * breakpoint.h (CATCH_PERMANENT, CATCH_TEMPORARY): Moved from
4386 (add_catch_command, create_ada_exception_breakpoint): Declare.
4390 * breakpoint.c (init_raw_breakpoint_without_location): Don't add
4391 the breakpoint to the breakpoint chain here.
4392 (set_raw_breakpoint_without_location): Add the breakpoint to the
4393 breakpoint chain here.
4394 (init_raw_breakpoint): Adjust comments.
4395 (set_raw_breakpoint): Add the breakpoint to the breakpoint chain
4397 (init_catchpoint): Don't set the catchpoint's breakpoint number
4399 (install_catchpoint): New function.
4400 (create_fork_vfork_event_catchpoint)
4401 (create_syscall_event_catchpoint, catch_exec_command_1): Adjust to
4402 use install_catchpoint.
4406 * breakpoint.c (create_catchpoint_without_mention)
4407 (create_catchpoint): Delete.
4411 * breakpoint.h (struct breakpoint): Delete field `exec_pathname'.
4412 * breakpoint.c (init_raw_breakpoint_without_location): Remove
4413 reference to exec_pathname.
4414 (struct exec_catchpoint): New type.
4415 (dtor_catch_exec): New function.
4416 (insert_catch_exec, print_it_catch_exec, print_one_catch_exec): Adjust.
4417 (catch_exec_breakpoint_ops): Install dtor_catch_syscall.
4418 (catch_exec_command_1): Adjust to use init_catchpoint.
4419 (delete_breakpoint): Remove reference to exec_pathname.
4423 * breakpoint.h (struct breakpoint_ops): New field `dtor'.
4424 (struct breakpoint): Delete field `syscalls_to_be_caught'.
4425 * breakpoint.c (init_raw_breakpoint_without_location): Remove
4426 reference to syscalls_to_be_caught.
4427 (catch_fork_breakpoint_ops, catch_vfork_breakpoint_ops): Install a
4429 (struct syscall_catchpoint): New type.
4430 (dtor_catch_syscall): New function.
4431 (insert_catch_syscall, remove_catch_syscall)
4432 (breakpoint_hit_catch_syscall, print_one_catch_syscall)
4433 (print_recreate_catch_syscall): Adjust.
4434 (catch_syscall_breakpoint_ops): Install dtor_catch_syscall.
4435 (catch_exec_breakpoint_ops): Install a NULL `dtor'.
4436 (create_syscall_event_catchpoint): Adjust to use init_catchpoint.
4437 (ranged_breakpoint_ops, watchpoint_breakpoint_ops)
4438 (masked_watchpoint_breakpoint_ops)
4439 (gnu_v3_exception_catchpoint_ops): Install a NULL `dtor'.
4440 (delete_breakpoint): Call the `dtor' breakpoint_ops method, if
4441 there is one. Remove references to syscalls_to_be_caught.
4442 (catching_syscall_number): Adjust.
4443 * ada-lang.c (catch_exception_breakpoint_ops)
4444 (catch_exception_unhandled_breakpoint_ops)
4445 (catch_assert_breakpoint_ops): Install a NULL `dtor'.
4449 * breakpoint.h (struct breakpoint): Delete forked_inferior_pid
4451 * breakpoint.c (init_raw_breakpoint_without_location): Remove
4452 reference to forked_inferior_pid.
4453 (struct fork_catchpoint): New type.
4454 (breakpoint_hit_catch_fork, print_it_catch_fork)
4455 (print_one_catch_fork, breakpoint_hit_catch_vfork)
4456 (print_it_catch_vfork, print_one_catch_vfork): Adjust.
4457 (create_fork_vfork_event_catchpoint): Adjust to use
4462 * breakpoint.c (add_to_breakpoint_chain)
4463 (init_raw_breakpoint_without_location): New functions, factored
4465 (set_raw_breakpoint_without_location): ... this one.
4466 (init_raw_breakpoint): New function, factored out from
4467 set_raw_breakpoint and adjusted to use
4468 init_raw_breakpoint_without_location.
4469 (set_raw_breakpoint): Adjust.
4470 (init_catchpoint): New function, factored out from
4471 create_catchpoint_without_mention and adjusted to use
4472 init_raw_breakpoint.
4473 (create_catchpoint_without_mention): Adjust.
4477 * dwarf2expr.c (execute_stack_op) <DW_OP_GNU_convert>: Treat type
4478 argument of 0 specially.
4482 * infrun.c (handle_inferior_event): Remove write-only local variable
4483 `sw_single_step_trap_p'.
4487 * symtab.c (lookup_language_this): End loop if block is NULL.
4491 * valops.c (value_of_this): Use lookup_language_this.
4492 * symtab.h (lookup_language_this): Declare.
4493 * symtab.c (lookup_language_this): New function.
4494 (lookup_symbol_aux): Use lookup_language_this.
4495 * ax-gdb.c (gen_expr) <OP_THIS>: Use lookup_language_this.
4499 * value.h (value_of_this): Update.
4500 (value_of_local): Remove.
4501 * valops.c (value_of_this): Rename from value_of_local. Change
4503 * p-exp.y (exp): Update.
4504 (variable): Likewise.
4505 * eval.c (evaluate_subexp_standard) <OP_THIS>: Use value_of_this.
4509 * valops.c (value_of_local): Complain if NAME is NULL.
4510 * std-operator.def (OP_OBJC_SELF): Remove.
4511 * parse.c (operator_length_standard) <OP_OBJC_SELF>: Remove.
4512 * objc-exp.y (name_not_typename): Use OP_THIS.
4513 * expprint.c (print_subexp_standard) <OP_THIS>: Print language's
4515 <OP_OBJC_SELF>: Remove.
4516 * eval.c (evaluate_subexp_standard) <OP_OBJC_SELF>: Remove.
4520 * python/py-events.h (gdb_py_events): Make it extern.
4521 * python/py-evtregistry.c (gdb_py_events): Declare.
4525 * remote.c (remote_trace_set_readonly_regions): Add check for
4526 remote_protocol_packets[PACKET_qXfer_traceframe_info].support before
4531 * arm-linux-tdep.c: Include "auxv.h".
4533 (ARM_LINUX_SIZEOF_VFP): Define.
4534 (arm_linux_supply_vfp): New function.
4535 (arm_linux_collect_vfp): Likewise.
4536 (arm_linux_regset_from_core_section): Handle .reg-arm-vfp sections.
4537 (arm_linux_fpa_regset_sections): New variable.
4538 (arm_linux_vfp_regset_sections): Likewise.
4539 (arm_linux_core_read_description): New function.
4540 (arm_linux_init_abi): Install arm_linux_core_read_description and
4541 arm_linux_fpa_regset_sections or arm_linux_vfp_regset_sections as
4542 appropriate for the architecture.
4543 * arm-tdep.h (struct gdbarch_tdep): Add member "vfpregset".
4544 (tdesc_arm_with_m): Declare.
4545 (tdesc_arm_with_iwmmxt): Likewise.
4546 (tdesc_arm_with_vfpv2): Likewise.
4547 (tdesc_arm_with_vfpv3): Likewise.
4548 (tdesc_arm_with_neon): Likewise.
4549 * arm-linux-nat.c: Move features/*.c includes ...
4550 * arm-tdep.c: ... here.
4551 * arm-linux-nat.c (arm_linux_read_description): Move initializing
4552 target description data structures ...
4553 * arm-tdep.c (_initialize_arm_tdep): ... here.
4554 * arm-linux-nat.c (HWCAP_VFP, HWCAP_IWMMXT, HWCAP_NEON, HWCAP_VFPv3,
4555 HWCAP_VFPv3D16): Move definitions ...
4556 * arm-linux-tdep.h: ... here.
4560 * remote.c (remote_trace_set_readonly_regions): Add a check for
4565 * coffread.c (coffread_objfile): Rename from current_objfile.
4566 * dbxread.c (dbxread_objfile): Rename from current_objfile.
4567 * mdebugread.c (mdebugread_objfile): Rename from current_objfile.
4571 * jv-lang.c (jv_type_objfile_data_key, dynamics_objfile)
4572 (class_symtab): Remove.
4573 (jv_dynamics_progspace_key): New global.
4574 (jv_per_objfile_free): Reset program space data. Update assert.
4575 Don't clear globals.
4576 (get_dynamics_objfile): Use and set program space data.
4577 (get_java_class_symtab): Use get_dynamics_objfile.
4578 (add_class_symbol): Likewise.
4579 (java_link_class_type): Likewise.
4580 (java_object_type, jv_clear_object_type, set_java_object_type):
4582 (get_java_object_type): Update. Don't cache result.
4583 (is_object_type): Don't call set_java_object_type.
4584 (_initialize_java_language): Don't set jv_type_objfile_data_key;
4585 initialize jv_dynamics_progspace_key.
4589 * symtab.h (current_objfile): Don't declare.
4590 * objfiles.h (current_objfile): Don't declare.
4591 * objfiles.c (current_objfile): Remove.
4592 * mdebugread.c (current_objfile): New file-scope global.
4593 * dbxread.c (current_objfile): New file-scope global.
4594 * coffread.c (current_objfile): New file-scope global.
4598 * top.h (line): Rename to ...
4599 (saved_command_line): ... this.
4600 (linesize): Rename to ...
4601 (saved_command_line_size): ... this.
4602 * top.c (line): Rename to ...
4603 (saved_command_line): ... this.
4604 (linesize): Rename to ...
4605 (saved_command_line_size): ... this.
4606 (dont_repeat, command_line_input, dont_repeat_command): Adjust.
4607 * event-top.c (command_line_handler): Adjust.
4608 * main.c (captured_main): Adjust.
4612 * i386-tdep.c (i386_epilogue_frame_cache): Simplify code. Call
4613 get_frame_func instead of get_frame_pc to determine the code
4614 address used to construct the frame ID.
4615 (i386_epilogue_frame_unwind_stop_reason): Fix coding style.
4616 (i386_epilogue_frame_this_id): Likewise.
4617 (i386_epilogue_frame_prev_register): New function.
4618 (i386_epilogue_frame_unwind): Use i386_epilogue_frame_prev_register.
4619 (i386_stack_tramp_frame_sniffer): Fix coding style.
4620 (i386_stack_tramp_frame_unwind): Use i386_epilogue_frame_prev_register.
4621 (i386_gdbarch_init): Fix comments.
4625 * i386-tdep.c (i386_match_insn_block): Use length of the proper
4626 instruction when walking back through the instruction stream.
4630 * symtab.c (output_partial_symbol_filename): Exchange the filename and
4631 fullname parameters order.
4636 * dwarf2read.c (dw2_map_symbol_filenames): Use symbol_filename_ftype
4638 * psymtab.c (map_symbol_filenames_psymtab)
4639 (map_partial_symbol_filenames): Likewise.
4640 * psymtab.h: Include symfile.h.
4641 (map_partial_symbol_filenames): Use symbol_filename_ftype for fun.
4642 * symfile.h (symbol_filename_ftype): New.
4643 (struct quick_symbol_functions): Use symbol_filename_ftype for fun of
4644 map_symbol_filenames, clarify more the naming in comment.
4648 * cc-with-index.sh: Fix typos in comment.
4649 Look for ../../gdb, for fullname.exp.
4654 * cli/cli-cmds.c (shell_escape): Use waitpid.
4655 * rs6000-nat.c (exec_one_dummy_insn): Likewise.
4659 * xcoffread.c (dwarf2_xcoff_names): New variable.
4660 (aix_process_linenos): Add a guard.
4661 (xcoff_symfile_finish): Free dwarf2.
4662 (xcoff_initial_scan): Add dwarf2 support.
4666 * infcall.c (run_inferior_call): Don't mask async. Instead force
4667 a synchronous wait, if the target can async.
4669 * target.h (struct target_ops): Delete to_async_mask.
4670 (target_async_mask): Delete.
4671 * target.c (update_current_target): Delete references to to_async_mask.
4672 * linux-nat.c (linux_nat_async_mask_value): Delete.
4673 (linux_nat_is_async_p, linux_nat_can_async_p): Remove references
4674 to linux_nat_async_mask_value.
4675 (linux_nat_async_mask): Delete.
4676 (linux_nat_async, linux_nat_close): Remove references to
4677 linux_nat_async_mask_value.
4678 * record.c (record_async_mask_value): Delete.
4679 (record_async): Remove references to record_async_mask_value.
4680 (record_async_mask): Delete.
4681 (record_can_async_p, record_is_async_p): Remove references to
4682 record_async_mask_value.
4683 (init_record_ops, init_record_core_ops): Remove references to
4685 * remote.c (remote_async_mask_value): Delete.
4686 (init_remote_ops): Remove reference to remote_async_mask.
4687 (remote_can_async_p, remote_is_async_p): Remove references to
4688 remote_async_mask_value.
4689 (remote_async): Remove references to remote_async_mask_value.
4690 (remote_async_mask): Delete.
4692 * infrun.c (fetch_inferior_event): Don't claim registers changed
4693 if the current thread is already not executing.
4698 * breakpoint.c, breakpoint.h, cli/cli-dump.c, dwarf2expr.c,
4699 gdbarch.c, gdbarch.sh, remote.c: Various spelling fixes.
4703 * dwarf2expr.c (execute_stack_op) [DW_OP_deref]: Handle
4704 the case where ADDR_SIZE is different from TYPE_LENGTH (type).
4708 * python/py-inferior.c (python_inferior_exit): Use inferior's exit
4710 * python/py-exitedevent.c (create_exited_event_object): Change
4711 type of 'exit_code'. Optionally add exit_code attribute.
4712 (emit_exited_event): Change type of 'exit_code'.
4713 * python/py-event.h (emit_exited_event): Update.
4714 * mi/mi-interp.c (mi_inferior_exit): Print exit code.
4715 * infrun.c (handle_inferior_event): Set exit code fields on
4717 * inferior.h (struct inferior) <has_exit_code, exit_code>: New
4719 * inferior.c (exit_inferior_1): Initialize new fields.
4723 * dwarf2expr.c (get_signed_type): New function.
4724 (execute_stack_op) <DW_OP_shra>: Always perform a signed shift.
4728 * objc-lang.c (find_methods): Increment objfile_csym earlier.
4732 * top.h (simplified_command_loop): Delete declaration.
4736 * remote-sim.c (gdbsim_open): Add the strlen of " --sysroot=" and
4737 gdb_sysroot to the "len" variable. Append both to "arg_buf".
4741 * objfiles.h (obj_section_addr): Update reference to objfile from
4743 (obj_section_endaddr): Likewise.
4747 * MAINTAINERS: Update my email address and affiliation. Also
4753 * linespec.c (get_search_block): New function.
4754 (find_methods): Add FILE_SYMTATB parameter and use it and
4755 get_search_block to pass an appropriate block to
4756 lookup_symbol_in_namespace.
4757 (decode_line_1): Record if *ARGPTR is single-quote enclosed.
4758 Check if *ARGPTR starts with a filename first.
4759 If it does, call locate_first_half again to locate the next
4760 "first half" of the linespec.
4761 Pass FILE_SYMTATB to decode_objc and decode_compound.
4762 Swallow the trailing single-quote if IS_SQUOTE_ENCLOSED.
4763 (locate_first_half): Stop on the first colon seen.
4764 (decode_compound): Add FILE_SYMTAB parameter.
4765 Pass FILE_SYMTAB to lookup_prefix_sym and find_method.
4766 (lookup_prefix_sym): Add FILE_SYMTAB parameter and use
4767 get_search_block with lookup_symbol.
4768 (find_method): Add FILE_SYMTAB parameter and pass it to
4770 (decode_objc): Use get_search_block.
4775 * cp-namespace.c (ANONYMOUS_NAMESPACE_LEN): Remove.
4776 (cp_scan_for_anonymous_namespaces): Use CP_ANONYMOUS_NAMESPACE_STR
4777 and CP_ANONYMOUS_NAMESPACE_LEN.
4778 (cp_is_anonymous): Likewise.
4779 * cp-support.h (CP_ANONYMOUS_NAMESPACE_STR): Define.
4780 (CP_ANONYMOUS_NAMESPACE_LEN): Define.
4781 * dwarf2read.c (namespace_name): Likewise.
4782 (fixup_partial_die): Likewise.
4783 * linespec.c (decode_compound): If CP_ANONYMOUS_NAMESPACE_STR is
4784 seen in the input, keep it.
4788 * target.h (enum inferior_event_type): Delete INF_QUIT_REQ.
4789 * inf-loop.h (inferior_event_handler_wrapper): Delete.
4790 * inf-loop.c (inferior_event_handler_wrapper): Delete.
4791 (inferior_event_handler): Don't handle INF_QUIT_REQ.
4792 * remote.c (_initialize_remote): Register
4793 async_remote_interrupt_twice directly as
4794 sigint_remote_twice_token event.
4798 * target.h (enum inferior_event_type): Delete INF_ERROR.
4799 * inf-loop.c (inferior_event_handler): Don't handle INF_ERROR.
4803 * interps.c (interp_set): Don't cancel continuations.
4807 * linux-nat.c (linux_lwp_is_zombie): Use xsnprintf.
4811 * continuations.h (continuation_ftype): Add `err' parameter.
4812 Document parameters.
4813 (do_all_continuations, do_all_continuations_thread)
4814 (do_all_intermediate_continuations)
4815 (do_all_intermediate_continuations_thread)
4816 (do_all_inferior_continuations): Add `err' parameter.
4817 * continuations.c (do_my_continuations_1, do_my_continuations)
4818 (do_all_inferior_continuations, do_all_continuations_ptid)
4819 (do_all_continuations_thread_callback)
4820 (do_all_continuations_thread, do_all_continuations)
4821 (do_all_intermediate_continuations_thread_callback)
4822 (do_all_intermediate_continuations_thread)
4823 (do_all_intermediate_continuations): Add `err' parameter, and pass
4824 it down all the way to the continuations proper.
4825 * inf-loop.c (inferior_event_handler): If fetching an inferior
4826 event throws an error, don't pop the target, and still call the
4827 continuations, but with `err' set. Adjust all other continuation
4829 * breakpoint.c (until_break_command_continuation): Add `err'
4831 * infcmd.c (step_1_continuation): Add `err' parameter. Don't
4832 issue another step if `err' is set.
4833 (struct until_next_continuation_args): New.
4834 (until_next_continuation): Add `err' parameter. Adjust.
4835 (until_next_command): Adjust.
4836 (struct finish_command_continuation_args): Add `thread' field.
4837 (finish_command_continuation): Add `err' parameter. Handle it.
4838 (finish_forward): Adjust.
4839 (attach_command_continuation): Add `err' parameter. Handle it.
4840 * infrun.c (infrun_thread_stop_requested_callback): Adjust to
4841 cancel the continuations.
4842 * interps.c (interp_set): Adjust to cancel the continuations.
4843 * thread.c (clear_thread_inferior_resources): Adjust to cancel the
4844 continuations rather than discarding.
4845 (free_thread): Don't clear thread inferior resources here.
4846 (delete_thread_1): Do it here instead. And do it before removing
4847 the thread from the threads list. Tag the thread as exited before
4848 clearing thread inferior resources.
4852 * infcall.c (call_function_by_hand): Rephrase error message.
4856 * defs.h (struct thread_info, struct inferior): Delete forward
4858 * breakpoint.h (struct thread_info): New forward declaration.
4859 * observer.sh (struct inferior): New forward declaration.
4860 * python/python-internal.h (struct inferior): New forward
4865 * defs.h (struct continuation, continuation_ftype)
4866 (continuation_free_arg_ftype, add_continuation)
4867 (do_all_continuations, do_all_continuations_thread)
4868 (discard_all_continuations, discard_all_continuations_thread)
4869 (add_intermediate_continuation, do_all_intermediate_continuations)
4870 (do_all_intermediate_continuations_thread)
4871 (discard_all_intermediate_continuations)
4872 (discard_all_intermediate_continuations_thread)
4873 (add_inferior_continuation, do_all_inferior_continuations)
4874 (discard_all_inferior_continuations): Move to ...
4875 * continuations.h: ... this new file.
4876 * breakpoint.c, continuations.c, event-top.c, inf-loop.c,
4877 infcmd.c, inferior.c, infrun.c, interps.c: Include
4883 Fix PR 10970, PR 12702.
4884 * linux-nat.c (linux_lwp_is_zombie): New function.
4885 (wait_lwp): Initialize status. New variable prev_mask. Block signals.
4886 Check for linux_lwp_is_zombie. Use WNOHANG and sigsuspend.
4890 * defs.h (continuation_ftype, continuation_free_arg_ftype): New
4892 (add_continuation, add_intermediate_continuation)
4893 (add_inferior_continuation): Use them.
4894 * continuations.c (struct continuation): Use them.
4895 (make_continuation_ftype): Delete.
4896 (make_continuation, add_inferior_continuation, add_continuation)
4897 (add_intermediate_continuation): Use continuation_ftype and
4898 continuation_free_arg_ftype. Rename parameters to shorter names.
4902 * continuations.c (make_continuation): Make it return void.
4903 (do_my_continuations): Rename to ...
4904 (do_my_continuations_1): ... this. Remove old_chain parameter and
4906 (do_my_continuations): New.
4907 (discard_my_continuations): Rename to ...
4908 (discard_my_continuations_1): ... this. Remove old_chain
4909 parameter and adjust.
4910 (discard_my_continuations): New.
4911 (add_inferior_continuation): Simplify.
4912 (do_all_inferior_continuations): Reimplement on top
4913 do_my_continuations.
4914 (discard_all_inferior_continuations): Simplify.
4915 (add_continuation): Simplify.
4916 (do_all_continuations_ptid): Simplify.
4917 (discard_all_continuations_thread_callback): Simplify.
4918 (add_intermediate_continuation): Simplify.
4919 (discard_all_intermediate_continuations_thread_callback):
4924 * utils.c (struct continuation, add_continuation)
4925 (add_inferior_continuation)
4926 (do_all_inferior_continuations, discard_all_inferior_continuations)
4927 (restore_thread_cleanup, do_all_continuations_ptid)
4928 (do_all_continuations_thread_callback)
4929 (do_all_continuations_thread, do_all_continuations)
4930 (discard_all_continuations_thread_callback)
4931 (discard_all_continuations_thread, discard_all_continuations)
4932 (add_intermediate_continuation)
4933 (do_all_intermediate_continuations_thread_callback)
4934 (do_all_intermediate_continuations_thread)
4935 (do_all_intermediate_continuations)
4936 (discard_all_intermediate_continuations_thread_callback)
4937 (discard_all_intermediate_continuations_thread)
4938 (discard_all_intermediate_continuations): Move to ...
4939 * continuations.c: ... this new file, and adjust to no longer
4940 implement continuations on top of cleanups.
4941 * Makefile.in (SFILES): Add continuations.c.
4942 (COMMON_OBS): Add continuations.o.
4946 * inferior.h (enum exec_direction_kind): Delete EXEC_ERROR.
4947 * infrun.c (show_exec_direction_func): Don't handle EXEC_ERROR.
4948 Internal error on invalid values.
4949 * reverse.c: Don't handle EXEC_ERROR.
4950 * mi/mi-main.c: Don't handle EXEC_ERROR.
4954 * record.c: Include event-loop.h, inf-loop.h.
4955 (record_beneath_to_async): New global.
4956 (tmp_to_async): New global.
4957 (record_async_inferior_event_token): New global.
4958 (record_open_1): Don't error out if async is enabled.
4959 (record_open): Handle to_async. Create an async event source in
4961 (record_close): Delete the async event source.
4962 (record_resumed): New global.
4963 (record_execution_dir): New global.
4964 (record_resume, record_core_resume): Set them. Register the
4965 target on the event loop.
4966 (record_wait): Rename to ...
4967 (record_wait_1): ... this. Add more debug output. Handle
4968 TARGET_WNOHANG, and the target beneath returning
4969 TARGET_WAITKIND_IGNORE.
4970 (record_wait): Reimplement on top of record_wait_1.
4971 (record_async_mask_value): New global.
4972 (record_async, record_async_mask, record_can_async_p)
4973 (record_is_async_p, record_execution_direction): New functions.
4974 (init_record_ops, init_record_core_ops): Install new methods.
4975 * infrun.c (fetch_inferior_event): Temporarily switch the global
4976 execution direction to the direction the target was going.
4977 (execution_direction): Change type to int.
4978 * target.c (default_execution_direction): New function.
4979 (update_current_target): Inherit and de_fault
4980 to_execution_direction.
4981 * target.h (struct target_ops) <to_execution_direction>: New
4983 (target_execution_direction): New macro.
4984 * inferior.h (execution_direction): Change type to int.
4988 * infcall.c (call_function_by_hand): Don't allow calling functions
4989 in reverse execution mode.
4993 * infcmd.c (finish_command): Allow async finish in reverse.
4997 * gdb_thread_db.h: Delete. Move to ...
4998 * common/gdb_thread_db.h: ... here.
5002 * infcmd.c (finish_backward): Set a step-resume breakpoint at the
5003 function's entry point instead of a manually managed momentary
5004 breakpoint, and only ever issue one proceed call.
5005 * infrun.c (handle_inferior_event) <BPSTAT_WHAT_STEP_RESUME>: If
5006 doing a reverse-finish, switch to stepi mode, to do another step.
5007 (insert_step_resume_breakpoint_at_sal): Make public.
5008 (normal_stop): No need to save function value return registers if
5010 * inferior.h (insert_step_resume_breakpoint_at_sal): Declare.
5014 * breakpoint.h (enum bptype) <bp_hp_step_resume>: New.
5015 (enum bpstat_what_main_action): Move BPSTAT_WHAT_STEP_RESUME
5016 before BPSTAT_WHAT_STOP_SILENT. Add BPSTAT_WHAT_HP_STEP_RESUME
5018 * breakpoint.c (update_breakpoints_after_exec): Also delete hp
5019 step-resume breakpoints.
5020 (print_it_typical): Handle bp_hp_step_resume.
5021 (bpstat_what): Ditto.
5022 (bptype_string): Ditto.
5023 (print_one_breakpoint_location): Ditto.
5024 (allocate_bp_location): Ditto.
5026 (breakpoint_re_set_one): Ditto.
5027 * infrun.c (handle_inferior_event): Adjust. Split
5028 BPSTAT_WHAT_STEP_RESUME handling in BPSTAT_WHAT_STEP_RESUME and
5029 BPSTAT_WHAT_HP_STEP_RESUME.
5030 (insert_step_resume_breakpoint_at_sal): Rename to ...
5031 (insert_step_resume_breakpoint_at_sal_1): ... this. Add bptype
5032 parameter. Handle it.
5033 (insert_step_resume_breakpoint_at_sal): Reimplement on top of
5034 insert_step_resume_breakpoint_at_sal_1.
5035 (insert_step_resume_breakpoint_at_frame): Rename to ...
5036 (insert_hp_step_resume_breakpoint_at_frame): ... this. Adjust to
5037 set a high-priority step-resume breakpoint.
5038 (insert_step_resume_breakpoint_at_frame): Adjust comment.
5039 (insert_step_resume_breakpoint_at_caller): Ditto.
5043 * breakpoint.c (iterate_over_related_breakpoints): New.
5044 (do_map_delete_breakpoint): New.
5045 (delete_command): Pass do_map_delete_breakpoint to
5046 map_breakpoint_numbers.
5047 (do_disable_breakpoint): New.
5048 (do_map_disable_breakpoint): Iterate over the breakpoint's related
5050 (do_enable_breakpoint): Rename to ...
5051 (enable_breakpoint_disp): ... this.
5052 (enable_breakpoint): Adjust.
5053 (do_enable_breakpoint): New.
5054 (enable_once_breakpoint): Delete.
5055 (do_map_enable_breakpoint): New.
5056 (do_map_enable_once_breakpoint): New.
5057 (enable_once_command, enable_delete_command)
5058 (delete_trace_command): Iterate over the breakpoint's related
5063 * alpha-tdep.c (alpha_cannot_fetch_register): Don't return true
5064 for ALPHA_ZERO_REGNUM.
5065 (alpha_supply_int_regs): Explicitly supply zero as the value for
5066 ALPHA_ZERO_REGNUM in the register cache.
5067 * alpha-nat.c (fetch_osf_core_registers): Ditto.
5071 * gdb/gdb_thread_db.h: Remove HAVE_UINTPTR_T.
5075 * symfile.h (struct dwarf2_section_names): New type.
5076 (struct dwarf2_debug_sections): New type.
5077 (dwarf2_has_info): Add parameter.
5078 * dwarf2read.c (dwarf2_elf_names): New variable.
5079 (INFO_SECTION, ABBREV_SECTION, LINE_SECTION, LOC_SECTION)
5080 (MACINFO_SECTION, STR_SECTION, RANGES_SECTION, TYPES_SECTION)
5081 (FRAME_SECTION, EH_FRAME_SECTION, GDB_INDEX_SECTION): Remove.
5082 (dwarf2_has_info): Add names parameter. Pass names
5083 to dwarf2_locate_sections.
5084 (section_is_p): Rewrite using the names parameter.
5085 (dwarf2_locate_sections): Use section names from the names parameter.
5086 * coffread.c (coff_symfile_read): Adjust call to dwarf2_has_info.
5087 * elfread.c (read_psyms): Ditto.
5088 * machoread.c (macho_symfile_read): Ditto.
5093 * event-loop.c (handle_file_event): Don't handle POLLHUP as error.
5098 * linespec.c (keep_name_info): Add handling for "volatile" keyword.
5099 (decode_compound): Unconditionally call keep_name_info.
5103 * breakpoint.c (watchpoint_check): If the watchpoint went out of
5104 scope, clear its command list.
5105 (map_breakpoint_numbers): Don't walk the related breakpoints list
5110 * MAINTAINERS: Move Jim Blandy to past maintainers.
5114 * symfile.h (enum dwarf2_section_enum): New type.
5115 (dwarf2_get_section_info): New prototype.
5116 * dwarf2read.c (dwarf2_get_section_info): Replace parameter
5117 section_name by sect. Use a switch to select the info.
5118 * dwarf2-frame.c (warf2_get_section_info): Remove prototype.
5119 (dwarf2_build_frame_info): Adjust calls to dwarf2_get_section_info.
5123 * solib-svr4.c (svr4_solib_create_inferior_hook): Skip setting
5124 shared library event breakpoint if there's no execution.
5128 * breakpont.c (remove_hw_watchpoints): Remove unused function.
5129 * breakpoint.h remove_hw_watchpoints(): Remove prototype.
5133 * c-lang.c (evaluate_subexp_c): Use expect_type if it is not
5138 * python/lib/gdb/printing.py (register_pretty_printer): Add missing
5139 entry for RuntimeError to doc string.
5143 * sparc-tdep.c (sparc_skip_stack_check): Recognize a new instruction
5144 sequence for probing loops.
5148 * infrun.c (user_visible_resume_ptid): Fix typos in describing
5153 * sparc-nat.c (sparc_fetch_inferior_registers): Explicitly supply
5154 zero as the value for %g0 in the register cache.
5155 * sparc-tdep.c (sparc32_supply_gregset): Likewise.
5156 * sparc64-tdep.c (sparc64_supply_gregset): Likewise.
5160 * infrun.c (proceed): Set previous_inferior_ptid here.
5161 (init_wait_for_inferior): Initialize previous_inferior_ptid from
5162 inferior_ptid, not null_ptid.
5163 (wait_for_inferior): Don't initialize previous_inferior_ptid here.
5164 (fetch_inferior_event): Nor here.
5168 * inf-loop.c (inferior_event_handler): Only output a message if
5173 * MAINTAINERS: Update my e-mail address.
5177 * infrun.c (proceed): Switch the inferior event loop to
5178 INF_EXEC_COMPLETE if the target refused to resume from a
5183 * infcmd.c: Include "inf-loop.h".
5184 (step_once): When stepping into an inline subroutine, pretend the
5185 target has run. If the target can async, switch the inferior
5186 event loop to INF_EXEC_COMPLETE.
5187 * inferior.h (user_visible_resume_ptid): Declare.
5188 * infrun.c (user_visible_resume_ptid): New function, factored out
5191 * mi/mi-main.c (mi_execute_async_cli_command): Remove assertion
5192 that the current thread is running. Merge async and sync
5197 * infcmd.c (step_1): Simplify synchronous case.
5201 * tracepoint.c: Include exceptions.h.
5202 (TFILE_PID): Move higher in file.
5203 (tfile_open): Delay pushing the tfile target until we're assured
5204 the tfile header is present in the file. Wrap reading the initial
5205 newline-terminated lines in TRY_CATCH. Pop the target if the
5206 initial setup failed. Add the tfile's thread immediately
5207 aftwards, before any non-essential setup. Don't skip
5208 post_create_inferior if there are no traceframes present in the
5210 (tfile_close): Remove redundant check for null before xfree call.
5211 (tfile_thread_alive): New function.
5212 (init_tfile_ops): Register it as to_thread_alive callback.
5216 * tracepoint.c (tfile_open): Delete #if 0'd code.
5220 Fix -readnow for -gdwarf-4 unused type units.
5221 * dwarf2read.c (struct signatured_type): Remove the field offset.
5222 (create_signatured_type_table_from_index): Remove its initialization.
5223 (create_debug_types_hash_table): Likewise. Initialize per_cu.offset
5224 instead. Add a complaint call.
5225 (process_psymtab_comp_unit): Change assignment to gdb_assert.
5226 (process_type_comp_unit, lookup_die_type, dump_die_shallow)
5227 (lookup_signatured_type_at_offset, read_signatured_type)
5228 (write_one_signatured_type): Update the field for per_cu.
5232 * python/py-inferior.c (python_inferior_exit): Use
5234 (python_on_resume): Likewise.
5238 * breakpoint.c (bpstat_do_actions_1): Call prevent_dont_repeat.
5242 * tracepoint.c (tfile_trace_find): Return directly when num is -1.
5246 * xcoffread.c (read_xcoff_symtab): Initialize fcn_aux_saved.
5250 * dwarf2read.c (dwarf2_add_field): Constify.
5251 * value.c (value_static_field): Constify.
5252 * gdbtypes.h (struct main_type) <field.field_location.physname>:
5254 * ax-gdb.c (gen_static_field): Constify
5258 * linux-nat.c (kill_callback): Use SIGKILL first.
5262 * ada-lang.c (print_it_exception): Avoid use of sprintf.
5266 * value.c (value_fn_field): Constify.
5267 * symtab.c (gdb_mangle_name): Constify.
5268 * stabsread.c (update_method_name_from_physname): Make 'physname'
5270 * p-typeprint.c (pascal_type_print_method_args): Make arguments
5271 const. Use explicit fputc_filtered loop.
5272 (pascal_type_print_base): Constify.
5273 * p-lang.h (pascal_type_print_method_args): Update.
5274 * linespec.c (add_matching_methods): Constify.
5275 (add_constructors): Likewise.
5276 * jv-typeprint.c (java_type_print_base): Constify.
5277 * gdbtypes.h (struct cplus_struct_type)
5278 <fn_fieldlist.fn_field.physname>: Now const.
5279 * dwarf2read.c (compute_delayed_physnames): Constify.
5280 (dwarf2_add_member_fn): Likewise.
5281 * c-typeprint.c (c_type_print_base): Constify. Use cleanups.
5285 * infrun.c (resume): Mention which is the current thread, and its
5286 current PC in debug output.
5287 (prepare_to_proceed): Mention the thread switching in debug
5292 * linux-thread-db.c (try_thread_db_load_from_pdir_1): Fix absolute
5293 path check. Use xmalloc and cleanups.
5294 (try_thread_db_load_from_dir): Use xmalloc and cleanups.
5298 * cp-valprint.c (cp_print_value_fields): Catch errors from
5303 * dwarf2read.c (dwarf2_get_die_type): Call
5304 get_die_type_at_offset.
5305 * dwarf2expr.c (dwarf_get_base_type): Handle NULL return from
5306 get_base_type function.
5310 * infrun.c (handle_inferior_event) <handling deferred step>: Clear
5315 * python/py-auto-load.c (source_section_scripts): Mention objfile
5320 * linux-thread-db.c (try_thread_db_load_from_pdir_1): New function.
5321 (try_thread_db_load_from_pdir): Call it. If unable to find
5322 libthread_db in directory of libpthread, see if we're looking at
5323 the separate-debug-info copy.
5325 * python/py-autoload.c (print_script): Print "Missing" instead of
5326 "No" for missing scripts.
5327 (info_auto_load_scripts): Tweak "Loaded" column to fit "Missing".
5331 * ui-file.c (stdio_file_write_async_safe): Add comment.
5335 * ui-file.c (stdio_file_write_async_safe): Add empty check for build.
5339 Support $pdir and $sdir in libthread-db-search-path.
5340 * NEWS: Mention $sdir,$pdir.
5341 * gdb_thread_db.h (LIBTHREAD_DB_SEARCH_PATH): Add $sdir:$pdir.
5342 * linux-thread-db.c (try_thread_db_load_from_pdir): New function.
5343 (try_thread_db_load_from_sdir): New function.
5344 (try_thread_db_load_from_dir): New function.
5345 (thread_db_load_search): Handle $pdir, $sdir. Remove trying of
5346 system directories if search of libthread-db-search-path fails,
5347 that is now done via $sdir.
5348 (has_libpthread): New function.
5349 (thread_db_load): Remove search for libthread_db in directory of
5350 libpthread, that is now done via $pdir.
5352 * NEWS: Mention "info auto-load-scripts".
5353 * python/py-auto-load.c (struct auto_load_pspace_info): New member
5354 script_not_found_warning_printed.
5355 (init_loaded_scripts_info): Renamed from create_loaded_scripts_hash,
5356 all callers updated. Initialize script_not_found_warning_printed.
5357 (get_auto_load_pspace_data_for_loading): New function.
5358 (maybe_add_script): New function.
5359 (source_section_scripts): Simplify. Only print one warning regardless
5360 of the number of auto-load scripts not found.
5361 (clear_section_scripts): Clear script_not_found_warning_printed.
5362 (auto_load_objfile_script): Record script in hash table.
5363 (count_matching_scripts): New function.
5364 (maybe_print_script): Renamed from maybe_print_section_script, all
5365 callers updated. Rewrite to use ui_out_*.
5366 (info_auto_load_scripts): Renamed from
5367 maintenance_print_section_scripts, all callers updated.
5368 (gdbpy_initialize_auto_load): "maintenance print section-scripts"
5369 renamed as "info auto-load-scripts".
5373 * dwarf2expr.c (read_uleb128): Cast intermediate result.
5374 (read_sleb128): Likewise.
5378 * dwarf2loc.c (disassemble_dwarf_expression): Fix instruction
5383 * linux-nat.c (debug_linux_nat_async): Delete.
5384 Replace all references to use debug_linux_nat instead.
5385 (show_debug_linux_nat_async): Delete.
5386 (sigchld_handler): Call ui_file_write_async_safe instead of
5388 (_initialize_linux_nat): Remove `set debug lin-lwp-async'.
5389 * ui-file.c (struct ui_file): New member to_write_async_safe.
5390 (null_file_write_async_safe): New function.
5391 (ui_file_write_async_safe): New function.
5392 (set_ui_file_write_async_safe): New function.
5393 (ui_file_new): Initialize to_write_async_safe.
5394 (stdio_file_write_async_safe): New function.
5395 (struct stdio_file): New member fd.
5396 (stdio_file_new): Initialize to_write_async_safe, fd.
5397 (stdio_file_read, stdio_file_isatty): New stdio->fd instead of calling
5399 * ui-file.h (ui_file_write_async_safe_ftype): New typedef.
5400 (set_ui_file_write_async_safe): Declare.
5401 (ui_file_write_async_safe): Declare.
5405 * utils.c (do_value_free): New function.
5406 (make_cleanup_value_free): Likewise.
5407 * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Handle value
5409 (dwarf2_loc_desc_needs_frame): Call
5410 make_cleanup_value_free_to_mark.
5411 * dwarf2expr.h (struct dwarf_expr_context) <mark>: Remove field.
5412 * dwarf2expr.c (free_dwarf_expr_context): Don't call
5414 (new_dwarf_expr_context): Don't call value_mark.
5415 * dwarf2-frame.c (execute_stack_op): Call
5416 make_cleanup_value_free_to_mark.
5417 * defs.h (make_cleanup_value_free): Declare.
5421 * mi/mi-main.c (mi_cmd_execute): Use cleanup from
5422 prepare_execute_command.
5423 * top.c (prepare_execute_command): Return cleanup.
5424 (execute_command): Use cleanup from prepare_execute_command.
5425 * top.h (prepare_execute_command): Change prototype to return
5427 * defs.h (struct value): Add opaque declaration.
5428 (make_cleanup_value_free_to_mark): Add prototype.
5429 * utils.c (do_value_free_to_mark): New function.
5430 (make_cleanup_value_free_to_mark): Likewise.
5434 * dwarf2expr.c (execute_stack_op) <DW_OP_shr>: Unconditionally
5435 cast left-hand-side to unsigned.
5440 * value.h (value_from_contents): Declare.
5441 * value.c (value_from_contents): New function.
5442 * dwarf2read.c (dwarf_stack_op_name): Add new values.
5443 (dwarf2_get_die_type): New function.
5444 * dwarf2loc.c (dwarf_expr_get_base_type): New function.
5445 (allocate_piece_closure): Acquire reference to values.
5446 (read_pieced_value): Update for value-based expressions.
5447 (write_pieced_value): Likewise.
5448 (free_pieced_value_closure): Call value_free as needed.
5449 (dwarf2_evaluate_loc_desc_full): Set get_base_type field.
5450 Update for value-based expressions.
5451 * dwarf2loc.h (dwarf2_get_die_type): Declare.
5452 * dwarf2expr.h (struct dwarf_stack_value) <value>: Change type.
5453 <get_base_type>: New field.
5454 (struct dwarf_expr_piece) <v.value>: Change type.
5455 <v.regno>: New field.
5456 (struct dwarf_expr_context) <mark>: New field.
5457 (dwarf_expr_piece, dwarf_expr_fetch): Update.
5458 (dwarf_expr_pop, dwarf_expr_push): Remove.
5459 (dwarf_expr_push_address): Declare.
5460 * dwarf2expr.c (dwarf_arch_cookie): New global.
5461 (struct dwarf_gdbarch_types): New.
5462 (dwarf_gdbarch_types_init, dwarf_expr_address_type): New
5464 (dwarf_expr_push): Change type of 'value' argument. Update. Now
5466 (dwarf_expr_push_address): New function.
5467 (dwarf_expr_pop): Now static.
5468 (dwarf_expr_fetch): Change return type.
5469 (dwarf_require_integral): New function.
5470 (dwarf_expr_fetch): Simplify.
5471 (add_piece): Update.
5472 (base_types_equal_p, dwarf_get_base_type, get_unsigned_type): New
5474 (execute_stack_op) <sign_ext>: Remove.
5475 Use values for DWARF stack.
5476 <DW_OP_GNU_const_type, DW_OP_GNU_deref_type,
5477 DW_OP_GNU_regval_type, DW_OP_GNU_convert, DW_OP_GNU_reinterpret>:
5479 (_initialize_dwarf2expr): New function.
5480 (add_piece): Update.
5481 (new_dwarf_expr_context): Set new field.
5482 (free_dwarf_expr_context): Call value_free_to_mark.
5483 * dwarf2-frame.c (no_base_type): New function.
5484 (execute_stack_op): Set get_base_type field. Update.
5488 * dwarf2read.c (read_common_block): Fix formatting.
5492 * breakpoint.c (disable_breakpoint): Disable all locations
5493 associated with a tracepoint on target if a trace experiment is
5495 (disable_command): Disable a specific tracepoint location on target if
5496 a trace experiment is running.
5497 (do_enable_breakpoint): Enable all locations associated with a
5498 tracepoint on target if a trace experiment is running.
5499 (enable_command) Enable a specific tracepoint location on target if a
5500 trace experiment is running.
5501 * target.c (update_current_target): Add INHERIT and de_fault clauses for
5502 to_supports_enable_disable_tracepoint, to_enable_tracepoint and
5503 to_disable_tracepoint.
5504 * target.h: Add declaration of struct bp_location.
5505 (struct target_ops): Add new functions
5506 to_supports_enable_disable_tracepoint, to_enable_tracepoint and
5507 to_disable_tracepoint to target operations.
5508 (target_supports_enable_disable_tracepoint): New macro.
5509 (target_enable_tracepoint): New macro.
5510 (target_disable_tracepoint): New macro.
5511 * remote.c (struct remote_state): Add new field.
5512 (remote_enable_disable_tracepoint_feature): New.
5513 (remote_protocol_features): Add new entry.
5514 (remote_supports_enable_disable_tracepoint): New.
5515 (remote_enable_tracepoint): New.
5516 (remote_disable_tracepoint): New.
5517 (init_remote_ops): Add remote_enable_tracepoint,
5518 remote_disable_tracepoint and remote_supports_enable_disable_tracepoint
5519 to remote operations.
5520 * tracepoint.c (start_tracing): Allow tracing to start without any
5521 tracepoints enabled with just a warning if they can be re-enabled
5523 * NEWS: Add news item for the new behaviour of the enable and disable
5524 GDB commands when applied to tracepoints.
5525 Add news items for the new remote packets QTEnable and QTDisable.
5529 * config.in: Regenerate.
5530 * configure: Regenerate.
5531 * configure.ac <--with-system-readline> (for readline_echoing_p):
5533 * tui/tui-io.c (tui_old_readline_echoing_p): Rename to ...
5534 (tui_old_rl_echoing_p): ... here.
5535 (tui_setup_io): Rename extern declaration readline_echoing_p to
5536 _rl_echoing_p. Adjust assignments for the both renames.
5540 * symtab.c (lookup_symtab): Run cleanup before returning.
5544 * dwarf2read.c (handle_data_member_location): New function.
5545 (dwarf2_add_field): Use it.
5546 (read_common_block): Likewise.
5550 Make addrs->SECTINDEX always defined.
5551 * symfile.c (relative_addr_info_to_section_offsets): Check for
5552 SECTINDEX -1, not for zero ADDR.
5553 (addrs_section_compar): Remove checking for invalid SECTINDEX.
5554 (addr_info_make_relative): Set SECTINDEX to -1 for unmatched entries.
5555 * symfile.h (struct section_addr_info) <sectindex>: Update the comment
5560 * linux-thread-db.c: Whitespace cleanup.
5561 (try_thread_db_load_1): Fix comment.
5563 * linux-thread-db.c (set_libthread_db_search_path): New function.
5564 (_initialize_thread_db): Add setter for libthread-db-search-path.
5568 * NEWS: Mention --with-iconv-bin.
5569 * configure.ac: New option --with-iconv-bin.
5570 * configure: Regenerate.
5571 * config.in: Regenerate.
5572 * defs.h (relocate_gdb_directory): Declare.
5573 * main.c (relocate_gdb_directory): Renamed from relocate_directory,
5574 removed progname parameter, and exported. All callers updated.
5575 * charset.c (find_charset_names): Use --with-iconv-bin if specified.
5577 * linux-nat.c (lin_lwp_attach_lwp): For !WIPSTOPPED case,
5578 adding missing call to restore_child_signals_mask.
5582 * inferior.h (wait_for_inferior): Remove `thread_exec_as_sigtrap'
5584 * infrun.c (proceed, start_remote): Adjust.
5585 (wait_for_inferior): Remove `thread_exec_as_sigtrap' parameter,
5586 and adjust to not handle it.
5587 * solib-irix.c (irix_solib_create_inferior_hook): Adjust.
5588 * solib-osf.c (osf_solib_create_inferior_hook): Adjust.
5589 * solib-sunos.c (sunos_solib_create_inferior_hook): Adjust.
5590 * solib-svr4.c (svr4_solib_create_inferior_hook): Adjust.
5591 * windows-nat.c (do_initial_windows_stuff): Adjust.
5592 * infcmd.c (attach_command): Adjust.
5593 (notice_new_inferior): Adjust.
5597 * ppc-linux-tdep.c (ppu2spu_prev_register): Handle pseudo registers.
5598 (ppu2spu_unwind_register): Mark pseudo registers unavailable.
5599 * spu-tdep.c (op_selb): Use correct value.
5603 * spu-linux-nat.c (spu_symbol_file_add_from_memory): Add NULL
5604 "parent" parameter to symbol_file_add_from_bfd call.
5609 Implement support for PowerPC BookE masked watchpoints.
5610 * NEWS: Mention masked watchpoint support. Create "Changed commands"
5612 * breakpoint.h (struct breakpoint_ops) <works_in_software_mode>: New
5613 method. Initialize to NULL in all existing breakpoint_ops instances.
5614 (struct breakpoint) <hw_wp_mask>: New field.
5615 * breakpoint.c (is_masked_watchpoint): Add prototype.
5616 (update_watchpoint): Don't set b->val for masked watchpoints. Call
5617 breakpoint's breakpoint_ops.works_in_software_mode if available.
5618 (watchpoints_triggered): Handle the case of a hardware masked
5620 (watchpoint_check): Likewise.
5621 (works_in_software_mode_watchpoint): New function.
5622 (insert_masked_watchpoint, remove_masked_watchpoint)
5623 (resources_needed_masked_watchpoint)
5624 (works_in_software_mode_masked_watchpoint, print_it_masked_watchpoint)
5625 (print_one_detail_masked_watchpoint, print_mention_masked_watchpoint)
5626 (print_recreate_masked_watchpoint, is_masked_watchpoint): New
5628 (masked_watchpoint_breakpoint_ops): New structure.
5629 (watch_command_1): Check for the existence of the `mask' parameter.
5630 Set b->ops according to the type of hardware watchpoint being created.
5631 * ppc-linux-nat.c (ppc_linux_insert_mask_watchpoint)
5632 (ppc_linux_remove_mask_watchpoint)
5633 (ppc_linux_masked_watch_num_registers): New functions.
5634 (_initialize_ppc_linux_nat): Initialize to_insert_mask_watchpoint,
5635 to_remove_mask_watchpoint and to_masked_watch_num_registers.
5636 * target.c (update_current_target): Mention to_insert_mask_watchpoint,
5637 to_remove_mask_watchpoint, and to_masked_watch_num_registers.
5638 (target_insert_mask_watchpoint, target_remove_mask_watchpoint)
5639 (target_masked_watch_num_registers): New functions.
5640 * target.h (struct target_ops) <to_insert_mask_watchpoint>,
5641 <to_remove_mask_watchpoint>, <to_masked_watch_num_registers>: New
5643 (target_insert_mask_watchpoint, target_remove_mask_watchpoint)
5644 (target_masked_watch_num_registers): Add prototypes.
5649 * dwarf2read.c (struct dwarf2_cu): New field has_loclist.
5650 (producer_is_gcc_ge_4_0): New function.
5651 (process_full_comp_unit): Set also symtab->locations_valid. Move the
5652 symtab->language code.
5653 (var_decode_location): Set cu->has_loclist.
5654 * symtab.c (skip_prologue_sal): New variables saved_pc, force_skip and
5655 skip. Intialize force_skip from locations_valid. Move the prologue
5656 skipping code into two passes.
5657 * symtab.h (struct symtab): Make the primary field a bitfield. New
5658 field locations_valid.
5662 * c-exp.y (qualified_name): Call destructor_name_p with $1.type.
5663 (classify_inner_name): Call cp_lookup_nested_type with
5665 * cp-namespace.c (cp_lookup_nested_type): New variable
5666 saved_parent_type. Call CHECK_TYPEDEF for parent_type. Call
5667 type_name_no_tag_or_error with saved_parent_type.
5668 * dwarf2read.c (load_partial_dies): Read in any children of
5669 DW_TAG_typedef with complaint in such case.
5670 * gdbtypes.c (type_name_no_tag_or_error): New function.
5671 * gdbtypes.h (type_name_no_tag_or_error): New prototype.
5672 * valops.c (destructor_name_p): New comment for parameter type. Remove
5673 type const. Make dname and cp const. Call type_name_no_tag_or_error.
5674 * value.h (destructor_name_p): Remove type const.
5678 * symtab.c (compare_symbol_name): New function.
5679 (completion_list_add_name, expand_partial_symbol_name): Call it,
5680 remove the variable ncmp.
5681 (default_make_symbol_completion_list_break_on): Reduce SYM_TEXT_LEN,
5686 Demote to sw watchpoint only in update_watchpoint.
5687 * breakpoint.c (update_watchpoint): Change between software and
5688 hardware watchpoint for all kinds of watchpoints, not just
5689 read/write ones. Determine b->exact value here instead of
5690 in watch_command_1. Error out if there are not enough resources
5691 for a read or access hardware watchpoint.
5692 (watch_command_1): Remove logic of checking whether there are
5693 enough resources available, since update_watchpoint will do that
5694 work now. Don't set b->exact here. Catch exceptions thrown by
5695 update_watchpoint and delete the watchpoint.
5696 (can_use_hardware_watchpoint): Remove exact_watchpoints argument.
5697 Use target_exact_watchpoints instead.
5698 (delete_breakpoint): Notify observers only if deleted watchpoint
5699 has a breakpoint number assigned to it.
5703 * MAINTAINERS: Add myself as a write-after-approval maintainer.
5707 * i386-tdep.c (i386_in_stack_tramp_p, i386_stack_tramp_frame_sniffer):
5709 (i386_stack_tramp_frame_unwind): New static global.
5710 (i386_match_pattern): New function, extracted from i386_match_insn.
5711 (i386_match_insn): Use i386_match_pattern.
5712 (i386_match_insn_block): New function.
5713 (i386_tramp_chain_in_reg_insns)
5714 (i386_tramp_chain_on_stack_insns): New static variables.
5715 (i386_gdbarch_init): Add i386_stack_tramp_frame_unwind to list
5720 * configure.host (xscale*): Don't handle target.
5721 * configure.tgt (thumb*-*-* | strongarm*-*-* | xscale-*-*): Don't
5726 * gdb_wait.h: remove WAITTYPE and WCOREDUMP.
5732 | * elfread.c (elf_symtab_read): Stop memory leak.
5736 * nto-tdep.c (nto_target): Replace deprecated call to
5737 cygwin_conv_to_posix_path functions by cygwin_conv_path calls.
5741 Fix false GCC warning.
5742 * breakpoint.c (do_enable_breakpoint): Initialize orig_enable_state.
5746 * breakpoint.c (update_watchpoint): Move code to change
5747 the enable state of breakpoint from here ...
5748 (do_enable_breakpoint): ... to here.
5752 * valprint.c (val_print_array_elements): Fixed poor performance
5753 of printing very large arrays with repeat_count_threshold set
5754 to unlimited. New comment.
5758 * mi/mi-parse.c (mi_parse): Remove incorrect sizeof.
5759 (mi_parse): Likewise.
5760 * breakpoint.c (break_range_command): Use sizeof char*, not
5762 (create_breakpoint): Likewise.
5763 (parse_breakpoint_sals): Likewise.
5767 * linux-nat.c (linux_child_remove_fork_catchpoint)
5768 (linux_child_remove_vfork_catchpoint)
5769 (linux_child_remove_exec_catchpoint): New functions.
5770 (linux_target_install_ops): Install them.
5776 * varobj.c (install_default_visualizer): Do not install a
5777 visualizer if the varobj is CPLUS_FAKE_CHILD.
5778 (construct_visualizer): Likewise.
5782 * symtab.c (expand_partial_symbol_name): New variable NCMP. Support
5783 case insensitive comparison.
5787 * infrun.c (proceed): Revert previous change.
5788 (resume): Instead, handle the case of signal delivery while stepping
5789 off a breakpoint location here, and only if software single-stepping
5790 is used. Handle nested signals.
5794 * arm-tdep.c (copy_unmodified): Rename to ...
5795 (arm_copy_unmodified): .. this. New.
5796 (copy_preload): Move common part to ...
5797 (install_preload): .. this. New.
5798 (arm_copy_preload): New.
5799 (copy_preload_reg): Move common part to ...
5800 (install_preload_reg): ... this. New.
5801 (arm_copy_preload_reg): New.
5802 (copy_b_bl_blx): Move common part to ...
5803 (install_b_bl_blx): .. this. New.
5804 (arm_copy_b_bl_blx): New.
5805 (copy_bx_blx_reg): Move common part to ...
5806 (install_bx_blx_reg): ... this. New.
5807 (arm_copy_bx_blx_reg): New.
5808 (copy_alu_reg): Move common part to ...
5809 (install_alu_reg): ... this. New.
5810 (arm_copy_alu_reg): New.
5811 (copy_alu_shifted_reg): Move common part to ...
5812 (install_alu_shifted_reg): ... this. New.
5813 (copy_ldr_str_ldrb_strb): Move common part to ...
5814 (install_ldr_str_ldrb_strb): ... this. New.
5815 (arm_copy_ldr_str_ldrb_strb): New.
5816 (copy_copro_load_store): Move some common part to ...
5817 (install_copy_copro_load_store): ... this. New.
5818 (arm_copy_copro_load_store): New.
5820 (arm_copy_svc): Renamed from copy_svc.
5821 (copy_undef): Delete.
5822 (arm_copy_undef): Renamed from copy_undef.
5823 (decode_ext_reg_ld_st): Delete.
5824 (arm_decode_ext_reg_ld_st): Renamed from decode_ext_reg_ld_st.
5825 (decode_svc_copro): Delete.
5826 (arm_decode_svc_copro): Renamed from decode_svc_copro.
5827 (copy_copro_load_store, copy_alu_imm): update callers.
5828 (copy_extra_ld_st, copy_block_xfer): Likewise.
5829 (decode_misc_memhint_neon, decode_unconditional): Likewise.
5830 (decode_miscellaneous, decode_dp_misc): Likewise.
5831 (decode_ld_st_word_ubyte, decode_media): Likewise.
5832 (decode_b_bl_ldmstm, decode_ext_reg_ld_st): Likewise.
5833 (decode_svc_copro, decode_misc_memhint_neon): Likewise.
5834 (decode_unconditional, decode_miscellaneous): Likewise.
5835 (decode_media, decode_b_bl_ldmstm): Likewise.
5836 (arm_process_displaced_insn): Likewise..
5837 (decode_misc_memhint_neon): Delete.
5838 (arm_decode_misc_memhint_neon): Renamed from decode_misc_memhint_neon.
5839 (decode_miscellaneous): Delete.
5840 (arm_decode_miscellaneous): Renamed from decode_miscellaneous.
5841 (decode_dp_misc): Delete.
5842 (arm_decode_dp_misc): Renamed from decode_dp_misc.
5843 (decode_ld_st_word_ubyte): Delete.
5844 (arm_decode_ld_st_word_ubyte): Renamed from decode_ld_st_word_ubyte.
5845 (decode_media): Delete.
5846 (arm_decode_media): Renamed from decode_media.
5847 (decode_b_bl_ldmstm): Delete.
5848 (arm_decode_b_bl_ldmstm): Renamed from decode_b_bl_ldmstm.
5849 (decode_ext_reg_ld_st): Delete.
5850 (arm_decode_ext_reg_ld_st): Renamed from decode_ext_reg_ld_st.
5851 (decode_unconditional): Delete.
5852 (arm_decode_unconditional): Renamed from decode_unconditional.
5856 Case insensitive lookups implementation.
5857 * dwarf2read.c: Include ctype.h.
5858 (struct mapped_index): New field version.
5859 (mapped_index_string_hash): New parameter index_version. New comment
5860 for it. Call tolower appropriately.
5861 (find_slot_in_mapped_hash): New variable cmp, initialize it, use it.
5862 Choose the right index version for mapped_index_string_hash.
5863 (dwarf2_read_index): Support also the index version 5. Initialize the
5864 new struct mapped_index field version.
5865 (hash_strtab_entry): Pass INT_MAX for the new parameter, explain why.
5866 (find_slot): Explain the version needs. Pass INT_MAX for the new
5868 (write_psymtabs_to_index): Produce version 5.
5869 * minsyms.c (lookup_minimal_symbol): New variable cmp, initialize it,
5870 use it. New comment for SYMBOL_MATCHES_SEARCH_NAME.
5871 * psymtab.c (lookup_partial_symbol): Find the
5872 SYMBOL_MATCHES_SEARCH_NAME start of the found block of matching
5874 * symtab.c (lookup_symbol_in_language): Remove the case_sensitive_off
5876 (search_symbols): Pass REG_ICASE to regcomp for case_sensitive_off.
5877 (completion_list_add_name): New variable ncmp, initialize it, use it.
5878 * symtab.h (SYMBOL_HASH_NEXT): Always call tolower.
5879 * utils.c (strcmp_iw): Support case_sensitive_off.
5880 (strcmp_iw_ordered): Sort in a way compatible with case_sensitive_off.
5881 New function comment part. New variables saved_string1,
5882 saved_string2 and case_pass. Add a proper second pass.
5886 Replace re_comp/re_exec by regcomp/regexec.
5887 * symtab.c (struct search_symbols_data): New fields preg, preg_p.
5888 (search_symbols_name_matches): Use them, use regexec.
5889 (search_symbols): New variable retval_chain, adjust the use of
5890 old_chain against it. Replace re_comp by regcomp. Use the new struct
5891 search_symbols_data fields, use regexec instead of re_exec.
5895 Format the code for the next patch.
5896 * dwarf2read.c (struct mapped_index): Include delimiting newlines.
5897 * utils.c (strcmp_iw_ordered): Reformat the code for the next patch.
5898 New variables c1 and c2.
5902 * infrun.c (proceed): Do not single-step into signal delivery
5903 when stepping off a breakpoint location.
5904 (insert_step_resume_breakpoint_at_frame): Move prototype earlier.
5905 (insert_step_resume_breakpoint_at_caller): Likewise.
5906 (insert_step_resume_breakpoint_at_sal): Likewise.
5907 (insert_longjmp_resume_breakpoint): Likewise.
5911 * common/linux-ptrace.h: Remove include <sys/wait.h>.
5915 * procfs.c (procfs_pass_signals): Fix advance declaration.
5919 * target.h (struct target_ops): Remove to_notice_signals;
5920 add to_pass_signals.
5921 (target_notice_signals): Remove.
5922 (target_pass_signals): Add prototype.
5923 * target.c (update_current_target): Remove to_notice_signals;
5924 mention to_pass_signals.
5925 (target_pass_signals): New function.
5926 (debug_to_notice_signals): Remove.
5927 (setup_target_debug): Do not install debug_to_notice_signals.
5929 * infrun.c (signal_pass): New global.
5930 (resume): Call target_pass_signals.
5931 (handle_inferior_event): Report all signals while stepping over
5932 non-steppable watchpoint. Reset trap_expected to ensure breakpoints
5933 are re-inserted when stepping over a signal handler.
5934 (signal_cache_update): New function.
5935 (signal_stop_update): Call it.
5936 (signal_print_update): Likewise.
5937 (signal_pass_update): Likewise.
5938 (handle_command): Call signal_cache_update and target_pass_signals
5939 instead of target_notice_signals.
5940 (_initialize_infrun): Initialize signal_pass.
5942 * linux-nat.c (pass_mask): New global.
5943 (linux_nat_pass_signals): New function.
5944 (linux_nat_create_inferior): Report all signals initially.
5945 (linux_nat_attach): Likewise.
5946 (linux_nat_resume): Use pass_mask to decide whether to directly
5947 handle an inferior signal.
5948 (linux_nat_wait_1): Likewise.
5949 (linux_nat_add_target): Install to_pass_signals callback.
5951 * nto-procfs.c (notice_signals): Remove.
5952 (procfs_resume): Do not call notice_signals.
5953 (procfs_notice_signals): Remove.
5954 (procfs_pass_signals): New function.
5955 (init_procfs_ops): Install to_pass_signals callback instead of
5956 to_notice_signals callback.
5957 (_initialize_procfs): Report all signals initially.
5959 * procfs.c (procfs_notice_signals): Remove.
5960 (procfs_pass_signals): New function.
5961 (procfs_target): Install to_pass_signals callback instead of
5962 to_notice_signals callback.
5963 (register_gdb_signals): Remove.
5964 (procfs_debug_inferior): Report all signals initially.
5965 (procfs_init_inferior): Remove redundant register_gdb_signals call.
5967 * remote.c (remote_pass_signals): Add numsigs and pass_signals
5968 parameters; use them instead of calling signal_..._state routines.
5969 (remote_notice_signals): Remove.
5970 (remote_start_remote): Report all signals initially.
5971 (remote_resume): Do not call remote_pass_signals.
5972 (_initialize_remote): Install to_pass_signals callback instead of
5973 to_notice_signals callback.
5977 * breakpoint.c (user_settable_breakpoint): Delete.
5978 (user_breakpoint_p): Remove check on user_settable_breakpoint.
5979 (delete_command): Check user_breakpoint_p instead of looking at
5980 the breakpoint's type.
5981 (disable_command): Ditto.
5982 (enable_command): Ditto.
5983 (delete_trace_command): Use user_breakpoint_p instead of looking
5984 at the breakpoint number directly. When checking if there are
5985 user visible tracepoints, in order to know whether to ask the user
5986 for confirmation, check whether the breakpoint is actually a
5991 * python/py-breakpoint.c (gdbpy_breakpoint_created): Fix
5996 MI breakpoint notifications.
5998 * annotate.c (breakpoint_changed): Adjust parameter type.
5999 * breakpoint.c (set_breakpoint_condition): Adjust to change
6000 in breakpoint_modified type.
6001 (breakpoint_set_commands): Likewise.
6002 (do_map_commands_command): Likewise.
6003 (bpstat_check_breakpoint_conditions): Notify that breakpoint has
6004 changed after bumping hit count.
6005 (bpstat_stop_status): Likewise.
6006 (print_one_breakpoint_location): Don't wrap in tuple here.
6007 (print_one_breakpoint): Always print individual locations.
6008 For locations, use unnamed tuple.
6009 (disable_breakpoints_in_unloaded_shlib): Notify that breakpoint
6011 (create_catchpoint, create_syscall_event_catchpoint): Call
6012 breakpoint_created obsever.
6013 (mention): Don't call breakpoint_created observer.
6014 (create_breakpoint_sal): Call breakpoint_created observer.
6015 (create_breakpoint, watch_command_1): Likewise.
6016 (create_ada_exception_breakpoint): Likewise.
6017 (delete_breakpoint): Call breakpoint_deleted breakpoint.
6018 (locations_are_equal): New.
6019 (update_breakpoint_locations): If locations were changed, notify.
6020 (set_ignore_count, disable_breakpoint, do_enable_breakpoint):
6021 Call breakpoint_modified observer.
6023 * mi/mi-cmd-break.c (breakpoint_notify): Adjust.
6024 (mi_cmd_break_insert): Don't set observers for modify and delete.
6025 * mi/mi-interp.c (mi_suppress_breakpoint_notifications): New.
6026 (mi_breakpoint_created, mi_breakpoint_deleted)
6027 (mi_breakpoint_modified): New.
6028 (mi_interpreter_init): Hook the above.
6029 * mi/mi-main.c (mi_cmd_execute): Disable breakpoint notifications
6030 while -break-* commands are executing.
6031 * mi/mi-main.h (mi_suppress_breakpoint_notifications): New.
6032 * mi/mi-out.c (struct ui_out_data): New field original_buffer.
6034 (mi_ui_out_impl): Hook in mi_redirect.
6035 (mi_field_skip): True to the name, skip the field, don't output
6036 a field with an empty value.
6038 * python/py-breakpoint.c (gdbpy_breakpoint_created)
6039 (gdbpy_breakpoint_deleted): Adjust.
6040 * tui/tui-hooks.c (tui_event_create_breakpoint)
6041 (tui_event_delete_breakpoint, tui_event_modify_breakpoint): Adjust.
6045 * nto-procfs.c (procfs_insert_hw_watchpoint): Fix prototype.
6046 (procfs_remove_hw_watchpoint): Likewise.
6050 * remote.c (remote_start_remote): Ack packet after sending the
6055 * linux-nat.c: Move common macros to ...
6056 Include linux-ptrace.h.
6057 * common/linux-ptrace.h: ... here. New.
6061 * elfread.c (elf_symfile_read): Protect dwarf2_initialize_objfile by
6062 !objfile_has_partial_symbols. New comment.
6063 * objfiles.c (objfile_has_partial_symbols): Call HAS_SYMBOLS if
6064 SYM_READ_PSYMBOLS is not present. Extend the comment.
6065 * symfile.h (struct sym_fns): Extend the sym_read_psymbols comment.
6069 * defs.h (ENUM_BITFIELD): Remove.
6074 * NEWS: Document the new gdbserver --once option.
6078 * MAINTAINERS: Update my email address.
6082 * gdb_wchar.h (USE_INTERMEDIATE_ENCODING_FUNCTION): New macro.
6083 (INTERMEDIATE_ENCODING): Change value to intermediate_encoding
6084 function call if __STDC_ISO_10646__ macro is defined.
6085 (intermediate_encoding): New prototype.
6086 * charset.c (your_gdb_wchar_t_is_bogus): New extern test variable
6087 to generate compile time error for unsupported gdb_wchar_t size.
6088 (ENDIAN_SUFFIX): New macro.
6089 (intermediate_encoding): New function.
6093 * ada-lang.c (struct add_partial_datum): Update the comment for
6094 expand_partial_symbol_name.
6095 (ada_add_partial_symbol_completions): Rename to ...
6096 (ada_expand_partial_symbol_name): ... here, change return type, update
6097 function comment, call symbol_completion_match instead of
6098 symbol_completion_add.
6099 (ada_make_symbol_completion_list): Use now expand_partial_symbol_names
6100 and ada_expand_partial_symbol_name.
6101 * dwarf2read.c (dw2_expand_symtabs_matching): Support NULL
6103 (dw2_map_symbol_names): Remove.
6104 (dwarf2_gdb_index_functions): Unlist dw2_map_symbol_names.
6105 * psymtab.c (map_symbol_names_psymtab): Remove.
6106 (expand_symtabs_matching_via_partial): Support NULL FILE_MATCHER.
6107 Support KIND == ALL_DOMAIN. Exchange the NAME_MATCHER and KIND check
6109 (psym_functions): Unlist map_symbol_names_psymtab.
6110 (map_partial_symbol_names): Rename to ...
6111 (expand_partial_symbol_names): ... here, change the FUN type, call
6112 expand_symtabs_matching with ALL_DOMAIN and NULL FILE_MATCHER now.
6113 * psymtab.h (map_partial_symbol_names): Rename to ...
6114 (expand_partial_symbol_names): ... here, change the FUN type.
6115 * symfile.h (struct quick_symbol_functions): Update the description of
6116 expand_symtabs_matching. Remove map_symbol_names.
6117 * symtab.c (search_symbols): Add ALL_DOMAIN to the function comment.
6118 (struct add_name_data): Update the comment for
6119 expand_partial_symbol_name.
6120 (add_partial_symbol_name): Rename to ...
6121 (expand_partial_symbol_name): ... here. Replace
6122 completion_list_add_name call by strncmp.
6123 (default_make_symbol_completion_list_break_on): Use now
6124 expand_partial_symbol_names and expand_partial_symbol_name.
6125 * symtab.h (enum search_domain): New element ALL_DOMAIN.
6129 * dwarf2read.c (save_gdb_index_command): Replace format
6130 documentation with a pointer to the manual.
6134 * regcache.c: Include remote.h.
6135 (enum regcache_dump_what) <regcache_dump_remote>: New enum value.
6136 (regcache_dump): Handle regcache_dump_remote.
6137 (maintenance_print_remote_registers): New function.
6138 (_initialize_regcache): Install "maint print remote-registers"
6140 * remote.c (map_regcache_remote_table): New function, factored out
6142 (init_remote_state): ... here.
6143 (remote_register_number_and_offset): New.
6144 * remote.h (remote_register_number_and_offset): Declare.
6148 * regcache.c (get_thread_arch_regcache): If creating a regcache for
6149 null_ptid, assume and allow a NULL address space, instead of
6150 asking the target for the ptid's address space.
6151 * infrun.c (ptid_is_pid): Remove assertion.
6155 * windows-tdep.c (windows_xfer_shared_library):
6156 * windows-nat.c (get_module_name, windows_make_so):
6157 * v850-tdep.c (v850_handle_pushm):
6158 * utils.c (null_cleanup, gdb_realpath):
6159 * ui-out.c (get_next_header):
6160 * tracepoint.c (clear_traceframe_info):
6161 * symtab.c (lookup_symtab):
6162 * serial.h (struct serial_ops):
6163 * mipsread.c (read_alphacoff_dynamic_symtab):
6164 * infcmd.c (print_return_value):
6165 * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address):
6166 * f-exp.y (parse_number):
6167 * exceptions.c (catch_exceptions):
6168 * dummy-frame.c (dummy_frame_this_id):
6169 * defs.h (struct cleanup):
6170 * breakpoint.c (disable_breakpoints_in_unloaded_shlib):
6171 * arm-tdep.c (arm_push_dummy_call):
6172 * amd64-tdep.h (amd64_collect_xsave):
6173 * amd64-tdep.c (amd64_collect_xsave):
6174 * alpha-tdep.c (alpha_heuristic_frame_unwind_cache):
6175 * README (typing): Remove duplicate words.
6176 * cli/cli-decode.c (lookup_cmd_composition): Add comma.
6177 * infrun.c (siginfo_value_read): Fix typo.
6178 * solib-frv.c (frv_fdpic_find_global_pointer): Likewise.
6179 * top.c (source_line_number): Add comma.
6183 * thread.c (any_live_thread_of_process): Prioritize threads
6184 that are not executing.
6185 * gdbthread.h (any_live_thread_of_process): Update comment
6186 as per above change.
6190 * xcoffread.c (process_xcoff_symbol): Remove useless cast.
6191 (scan_xcoff_symtab): Likewise.
6195 * xcoffread.c (process_xcoff_symbol): ARI fix: Avoid assignment
6201 * xstormy16-tdep.c (xstormy16_push_dummy_call): Add local
6202 variables to simplify code and avoid == operator at end of
6203 line as this is against GNU coding standards.
6207 * solib-svr4.c (svr4_keep_data_in_core): Rename local variable
6208 lm_name to name_lm to avoid conflict with lm_name function.
6212 ARI fixes: Use only lowercase function name for static functions.
6213 * nto-tdep.c (LM_ADDR): Rename to...
6214 (lm_addr): New function name.
6215 (nto_relocate_section_addresses): Adapt to change above.
6216 * solib-sunos.c (LM_ADDR): Rename to...
6217 (lm_addr): New function name.
6218 (LM_NEXT): Rename to...
6219 (lm_next): New function name.
6220 (sunos_current_sos, sunos_relocate_section_addresses): Adapt to
6221 function name changes above.
6222 * solib-svr4.c (LM_ADDR_FROM_LINK_MAP): Rename to...
6223 (lm_addr_from_link_map): New function name.
6224 (HAS_LM_DYNAMIC_FROM_LINK_MAP): Rename to...
6225 (has_lm_dynamic_from_link_map): New function name.
6226 (LM_DYNAMIC_FROM_LINK_MAP): Rename to...
6227 (lm_dynamic_from_link_map): New function name.
6228 (LM_ADDR_CHECK): Rename to...
6229 (lm_addr_check): New function name.
6230 (LM_NEXT): Rename to...
6231 (lm_next): New function name.
6232 (LM_PREV): Rename to...
6233 (lm_prev): New function name.
6234 (LM_NAME): Rename to...
6235 (lm_name): New function name.
6236 (IGNORE_FIRST_LINK_MAP_ENTRY): Rename to...
6237 (ignore_first_link_map_entry): New function name.
6238 (svr4_keep_data_in_core): Adapt to function name changes above.
6239 (svr4_current_sos): Likewise.
6240 (enable_break): Likewise.
6241 (svr4_relocate_section_addresses): Likewise.
6246 * xtensa-tdep.c (xtensa_register_type): Use xstrprintf instead of
6247 sprintf. Simplify code and avoid loosing memory.
6248 (xtensa_register_reggroup_p): Extract assignment out of IF clause.
6249 (call0_frame_cache): Remove && operator from end of line.
6253 Fix libraries displacement if they change whether they were prelinked.
6254 * solib-svr4.c (LM_ADDR_CHECK): Set L_ADDR even if the DYNAMIC pointer
6255 does not match. Comment why.
6259 * corelow.c: Include wrapper.h.
6260 (core_open): Call now gdb_target_find_new_threads.
6261 * wrapper.c: Include target.h.
6262 (gdb_target_find_new_threads): New.
6263 * wrapper.h (gdb_target_find_new_threads): New declaration.
6267 * linux-thread-db.c (find_new_threads_callback): Exit on zero TI_TID
6268 even if !TARGET_HAS_EXECUTION.
6272 Fix convert_code_addr_to_desc_addr for ppc64 files after eu-strip.
6273 * elfread.c (elf_symfile_read): New variable synth_abfd, pass it to
6274 bfd_get_synthetic_symtab.
6275 * jit.c (jit_register_code): Pass NULL to the new parameter parent.
6276 * machoread.c (macho_add_oso_symfile): Pass main_objfile to the new
6277 parameter parent, remove the call to add_separate_debug_objfile.
6278 * solib.c (solib_read_symbols): Pass NULL to the new parameter parent.
6279 * symfile-mem.c (symbol_file_add_from_memory): Likewise.
6280 * symfile.c (symbol_file_add_with_addrs_or_offsets): New parameter
6281 parent, new comment for it, call add_separate_debug_objfile for it.
6282 (symbol_file_add_separate): Pass objfile as the parameter parent,
6283 remove the call to add_separate_debug_objfile.
6284 (symbol_file_add_from_bfd): New parameter parent, pass it.
6285 (symbol_file_add): Pass NULL to the new parameter parent.
6286 * symfile.h (symbol_file_add_from_bfd): New parameter parent.
6290 * elfread.c (elf_symtab_read): Do not ignore .L symbols if they are
6295 Fix Python access to inlined frames.
6296 * python/py-frame.c (frapy_read_var): Find BLOCK using get_frame_block.
6297 * python/py-symbol.c (gdbpy_lookup_symbol): Likewise.
6301 * dwarf2read.c (add_index_entry): Use VEC_last, not VEC_length.
6305 * MAINTAINERS: Add myself to write-after-approval section.
6309 * remote-sim.c (sim_command_completer): New function.
6310 (_initialize_remote_sim): Set completer to sim_command_completer.
6314 * breakpoint.c (print_exception_catchpoint): Rename to ...
6315 (print_it_exception_catchpoint): ... this.
6316 (gnu_v3_exception_catchpoint_ops): Update with new name
6317 for print_it_exception_catchpoint.
6321 * MAINTAINERS: Add myself for write after approval privileges.
6325 * MAINTAINERS: Add myself as a write-after-approval maintainer.
6329 * breakpoint.c (watch_command_1): Remove colon from exp_string.
6333 * breakpoint.c (save_breakpoints): Verify whether
6334 breakpoint_ops.print_recreate is defined before calling it.
6338 Fix failure with --enable-maintainer-mode.
6339 * Makefile.in (aclocal_m4_deps): Updated gnulib dependencies.
6344 * symtab.c (search_symbols): Reorder the KIND description in the
6345 function comment. Remove the unused 4th element of types, types2,
6346 types3 and types4. New gdb_assert on KIND.
6347 (symtab_symbol_info): Remove the unused 4th element of classnames.
6348 New gdb_assert on KIND.
6349 * symtab.h (enum search_domain): New warning in the enum comment.
6350 Assign numbers to the elements VARIABLES_DOMAIN, FUNCTIONS_DOMAIN and
6355 Fix crash of gdb save-index on a STABS file.
6356 * dwarf2read.c (write_psymtabs_to_index): Return also on no
6361 Fix DW_AT_accessibility compatibility with gcc-4.6+.
6362 * dwarf2read.c: Include ctype.h.
6363 (producer_is_gxx_lt_4_6, dwarf2_default_access_attribute): New
6365 (dwarf2_add_field): Fix new_field->accessibility by calling
6366 dwarf2_default_access_attribute. Restructure setting accessibility
6368 (dwarf2_add_member_fn): New variable accessibility. Fix fnp
6369 is_private and is_protected by calling
6370 dwarf2_default_access_attribute.
6374 * rx-tdep.c (rx_frame_unwind): Add default_frame_unwind_stop_reason
6375 to the initialization.
6379 * Add default_frame_unwind_stop_reason value to libunwind_frame_unwind
6384 Remove support for old Cygwin 1.5 versions.
6385 * remote-fileio.c: Remove macros used to emulate new cygwin_conv_path
6386 function on old Cygwin version.
6387 * windows-nat.c: Remove cygwin version check and always define
6388 __USEWIDE for Cygwin compilation.
6392 * arm-linux-tdep.c (arm_linux_copy_svc): Remove parameters INSN
6394 * arm-tdep.c (cleanup_svc): Handle variable instruction size.
6395 (arm_copy_svc): Remove parameters INSN and TO.
6396 (decode_svc_copro): Update caller.
6397 * arm-tdep.h (struct displaced_step_closure): Remove parameters
6398 from function pointer `copy_svc_os'.
6402 * arm-tdep.c (cleanup_branch): Set a correct return address in
6403 LR for ARM and Thumb.
6408 * dictionary.c (dict_hash): Use SYMBOL_HASH_NEXT.
6409 * dwarf2read.c (mapped_index_string_hash): Refer to SYMBOL_HASH_NEXT
6410 in the function comment, a new note on values compatibility.
6411 * minsyms.c (msymbol_hash_iw, msymbol_hash): Use SYMBOL_HASH_NEXT.
6412 * symtab.h (SYMBOL_HASH_NEXT): New.
6416 * ppc-linux-nat.c (check_condition): Add len output parameter.
6417 Set it based on the memory region referenced in the condition
6418 expression. Update all callers.
6422 Fix crash regression on systems featuring .gdb_index.
6423 * objfiles.c (free_objfile): Move the
6424 forget_cached_source_info_for_objfile call earlier. Comment it.
6425 Extend the comment for objfile_free_data.
6429 Fix regression of displaying the debug format.
6430 * buildsym.c (end_symtab): Set symtab's debugformat and producer from
6435 * cli/cli-interp.c (struct captured_execute_command_args):
6437 (do_captured_execute_command): Remove.
6438 (safe_execute_command): Use TRY_CATCH.
6439 * cli/cli-script.c (struct wrapped_read_command_file_args):
6441 (wrapped_read_command_file): Remove.
6442 (script_from_file): Use TRY_CATCH.
6443 * exceptions.c (catch_exception): Remove.
6444 * exceptions.h (catch_exception): Remove.
6445 (deprecated_throw_reason): Update comment.
6446 * mi/mi-main.c (captured_mi_execute_command): Change 'data'
6447 argument to 'context'.
6448 (mi_execute_command): Use TRY_CATCH.
6449 * remote.c (struct start_remote_args): Remove.
6450 (remote_start_remote): Update; change arguments.
6451 (remote_open_1): Use TRY_CATCH.
6455 * tracepoint.c (scope_info): Update.
6456 * symtab.c (decode_line_spec): Update.
6457 * python/python.c (gdbpy_decode_line): Update.
6458 * linespec.h (decode_line_1): Update.
6459 * linespec.c (decode_line_1): Remove 'not_found_ptr' argument.
6460 (decode_compound, find_method, symtab_from_filename)
6461 (decode_variable): Likewise.
6462 * cli/cli-cmds.c (edit_command): Update.
6463 (list_command): Update.
6464 * breakpoint.c (parse_breakpoint_sals): Remove 'not_found_ptr'
6466 (create_breakpoint): Update.
6467 (until_break_command): Update.
6468 (addr_string_to_sals): Update.
6469 (decode_line_spec_1): Update.
6473 * breakpoint.c (struct captured_parse_breakpoint_args): Remove.
6474 (do_captured_parse_breakpoint): Remove.
6475 (create_breakpoint): `e' is now volatile. Remove `parse_args'.
6476 Use TRY_CATCH directly.
6480 * symtab.h (free_symtab): Remove.
6481 (forget_cached_source_info_for_objfile): Declare.
6482 * symmisc.c (free_symtab): Remove.
6483 * source.c (forget_cached_source_info_for_objfile): New function.
6484 (forget_cached_source_info): Use it.
6485 * objfiles.c (free_objfile): Simplify check before calling
6486 clear_current_source_symtab_and_line. Call
6487 forget_cached_source_info_for_objfile.
6491 * mdebugread.c (psymtab_to_symtab_1): Copy linetable to obstack.
6492 (new_symtab): Don't set `free_code' on symtab.
6493 (new_linetable): Properly handle size==0.
6494 * symtab.h (struct symtab) <free_code, free_func>: Remove.
6495 * symmisc.c (free_symtab): Don't free the linetable. Don't call
6497 * jv-lang.c (struct jv_per_objfile_data): New.
6498 (jv_per_objfile_free): Free the data.
6499 (get_dynamics_objfile): Allocate a jv_per_objfile_data.
6500 (get_java_class_symtab): Set the `dict' field on the
6501 jv_per_objfile_data.
6502 (free_class_block): Remove.
6503 * buildsym.c (end_symtab): Don't set `free_code' or `free_func' on
6508 * symfile.c (reread_symbols): Update.
6509 * objfiles.h (struct objfile) <cp_namespace_symtab>: Remove
6511 * objfiles.c (allocate_objfile): Update.
6512 * cp-support.h (cp_check_possible_namespace_symbols): Don't
6514 * cp-namespace.c (lookup_symbol_file): Don't call
6515 lookup_possible_namespace_symbol.
6516 (initialize_namespace_symtab, get_possible_namespace_block)
6517 (free_namespace_block, cp_check_possible_namespace_symbols)
6518 (check_possible_namespace_symbols_loop)
6519 (check_one_possible_namespace_symbol)
6520 (lookup_possible_namespace_symbol): Remove.
6521 (maintenance_cplus_namespace): Replace with notice.
6522 (_initialize_cp_namespace): Deprecate `maint cplus namespace'.
6526 * xcoffread.c (read_xcoff_symtab): Make `debugfmt' const.
6527 * symtab.h (struct symtab) <producer, debugformat>: Now const.
6528 * symmisc.c (free_symtab): Don't free debugformat.
6529 * buildsym.h (struct subfile) <producer, debugformat>: Now const.
6530 (record_debugformat, record_producer): Document.
6531 * buildsym.c (end_symtab): Don't save debugformat and producer
6533 (end_symtab): Don't free debugformat and producer fields.
6534 (record_debugformat): Don't call xstrdup.
6535 (record_producer): Likewise.
6539 * source.c (find_source_lines): Remove LSEEK_NOT_LINEAR code.
6540 (source_line_charpos, source_charpos_line): Remove.
6544 * symtab.h (domain_enum): Split in two...
6545 (enum search_domain): New.
6546 (search_symbols): Update.
6547 * symtab.c (print_symbol_info, symtab_symbol_info): Remove
6548 redundant declarations.
6549 (search_symbols): Change 'kind' argument to search_domain.
6551 (print_symbol_info): Likewise.
6552 (symtab_symbol_info): Likewise.
6553 * symfile.h (struct quick_symbol_functions)
6554 <pre_expand_symtabs_matching>: Change type of 'kind' argument.
6555 <expand_symtabs_matching>: Likewise.
6556 * psymtab.c (pre_expand_symtabs_matching_psymtabs): Update.
6557 (expand_symtabs_matching_via_partial): Update.
6558 * dwarf2read.c (dw2_pre_expand_symtabs_matching): Update.
6559 (dw2_expand_symtabs_for_function): Update.
6560 * block.h: Moved anonymous enum...
6561 * defs.h (enum block_enum): ... here. Now named.
6565 GDB 7.3 branch created (branch timestamp: 2011-04-01 01:00 UTC)
6566 * version.in: Bump version to 7.3.50.20110403-cvs.
6570 * NEWS: Create a new section for the next release branch.
6571 Rename the section of the current branch, now that it has
6576 * arm-tdep.c (arm_gdbarch_init): Enfore correct register number
6577 for "fpscr" in target description.
6581 * dwarf2read.c (find_slot_in_mapped_hash): New variable back_to,
6582 initialize it. Delay HASH initialization. Strip the part after open
6583 parenthesis for languages with qualifiers. Call do_cleanups.
6587 * utils.c (report_command_stats): Don't print `-' for negative
6592 * ada-lang.c (ada_is_simple_array_type, ada_value_slice_from_ptr)
6593 (ada_value_slice, empty_array, to_fixed_array_type): Deal with
6598 * breakpoint.h (bpdisp_text): Add declaration.
6599 * breakpoint.c (bpdisp_text): Make non-static.
6600 * ada-lang.c: #include "mi/mi-common.h".
6601 (print_it_exception): Rewrite to improve GDB/MI output.
6605 * arm-tdep.h (struct address_space): Add forward declaration.
6609 * arm-tdep.h (arm_insert_single_step_breakpoint): Add prototype.
6610 * arm-tdep.c (arm_override_mode): New global.
6611 (arm_pc_is_thumb): Respect arm_override_mode. Remove single-step
6612 execution mode heuristics.
6613 (thumb_get_next_pc_raw): Remove INSERT_BKTP argument; always insert
6614 second single-step breakpoint if needed, using
6615 arm_insert_single_step_breakpoint.
6616 (arm_get_next_pc_raw): Remove INSERT_BKTP argument. Only handle
6617 ARM execution mode, do not call thumb_get_next_pc_raw.
6618 (arm_get_next_pc): Encode execution mode in return value. Call
6619 either arm_get_next_pc_raw or thumb_get_next_pc_raw.
6620 (arm_insert_single_step_breakpoint): New function.
6621 (arm_software_single_step): Call it.
6622 * arm-linux-tdep.c (arm_linux_sigreturn_return_addr): Add IS_THUMB
6623 argument to return execution mode of sigreturn target.
6624 (arm_linux_syscall_next_pc): Use it.
6625 (arm_linux_copy_svc): Update call.
6626 (arm_linux_software_single_step): Call
6627 arm_insert_single_step_breakpoint.
6631 * dwarf2read.c (dwarf2_read_index): Fix .gdb_index version number in
6636 * varobj.c (update_dynamic_varobj_children): Properly handle
6637 errors from iterator.
6641 * dwarf2read.c (dwarf2_name): Initialize DEMANGLED. Avoid demangling
6642 struct linkage name twice.
6646 * python/py-prettyprint.c (print_stack_unless_memory_error): Add
6647 missing ">" to message.
6651 * varobj.c (instantiate_pretty_printer): Remove duplicate
6656 * i386-tdep.c (i386_frame_prev_register): Unwind SP from memory
6657 if neither saved value nor register available (e.g. signal frame).
6661 * macroexp.c (expand): Avoid uninitialized variable
6666 * breakpoint.c (break_range_command): Fix typo in comment.
6671 Implement support for PowerPC BookE ranged breakpoints.
6672 * NEWS: Mention support for ranged breakpoints on embedded PowerPC.
6673 * breakpoint.h (struct bp_target_info) <length>: New member
6675 (struct breakpoint_ops) <breakpoint_hit>: Take struct bp_location
6676 instead of struct breakpoint as argument, and also add ASPACE
6677 and BP_ADDR arguments. Update all callers.
6678 (struct breakpoint_ops) <print_one_detail>: New method.
6679 (struct breakpoint) <addr_string_range_end>: New member variable.
6680 * breakpoint.c (breakpoint_location_address_match): Add function
6682 (insert_bp_location): Set bl->target_info.length.
6683 (breakpoint_here_p): Call breakpoint_location_address_match.
6684 (moribund_breakpoint_here_p): Likewise.
6685 (regular_breakpoint_inserted_here_p): Likewise.
6686 (breakpoint_thread_match): Likewise.
6687 (bpstat_stop_status): Likewise.
6688 (bpstat_check_location): Move call to
6689 breakpoint_ops.breakpoint_hit to the top.
6690 (print_one_breakpoint_location): Call
6691 breakpoint_ops.print_one_detail if available.
6692 (breakpoint_address_match_range): New function.
6693 (breakpoint_location_address_match): Likewise.
6694 (breakpoint_locations_match): Compare the length field of the
6696 (hw_breakpoint_used_count): Count resources used by all locations
6697 in a breakpoint, and use breakpoint_ops.resources_needed if
6699 (breakpoint_hit_ranged_breakpoint): New function.
6700 (resources_needed_ranged_breakpoint): Likewise.
6701 (print_it_ranged_breakpoint): Likewise.
6702 (print_one_ranged_breakpoint): Likewise.
6703 (print_one_detail_ranged_breakpoint): Likewise.
6704 (print_mention_ranged_breakpoint): Likewise.
6705 (print_recreate_ranged_breakpoint): Likewise.
6706 (ranged_breakpoint_ops): New structure.
6707 (find_breakpoint_range_end): New function.
6708 (break_range_command): Likewise.
6709 (delete_breakpoint): Free addr_string_range_end.
6710 (update_breakpoint_locations): Add SALS_END argument. Update
6711 all callers. Calculate breakpoint length if a non-zero SALS_END
6712 is given. Call breakpoint_locations_match instead of
6713 breakpoint_address_match.
6714 (reset_breakpoint): Find SaL of the end of the range if B is a
6716 (_initialize_breakpoint): Register break-range command.
6717 * defs.h (print_core_address): Add function prototype.
6718 * ppc-linux-nat.c (ppc_linux_ranged_break_num_registers): New
6720 (ppc_linux_insert_hw_breakpoint): Support ranged breakpoints.
6721 (ppc_linux_remove_hw_breakpoint): Likewise.
6722 (_initialize_ppc_linux_nat): Initialize
6723 to_ranged_break_num_registers.
6724 * target.c (update_current_target): Add comment about
6725 to_ranged_break_num_registers.
6726 (target_ranged_break_num_registers): New function.
6727 * target.h (struct target_ops) <to_ranged_break_num_registers>:
6729 (target_ranged_break_num_registers): Add function prototype.
6730 * ui-out.c (ui_out_field_core_addr): Move address-printing logic to ...
6731 * utils.c (print_core_address): ... here.
6735 * breakpoint.c (addr_string_to_sals): Avoid uninitialized
6736 variable compiler warning.
6740 * breakpoint.c (breakpoint_re_set_one): Factor out breakpoint-resetting
6742 (re_set_breakpoint): ... to here ...
6743 (addr_string_to_sals): ... and here.
6747 * Makefile.in (SFILES): Add missing C sources.
6748 (HFILES_NO_SRCDIR): Remove gdbserver subdirectory headers.
6749 Add missing headers.
6753 * .gitignore: New file.
6757 * NEWS: Mention new cfi device simulation.
6761 * dwarf2read.c (fixup_partial_die): Handle linkage name on
6762 otherwise anonymous types.
6763 (dwarf2_name): Likewise.
6764 * valops.c (value_struct_elt_for_reference): Refine artificial
6765 type logic. Call error if j==-1.
6769 Fix false GCC warning.
6770 * infcall.c (find_function_addr): Initialize funaddr.
6774 Fix mingw compilation with --enable-targets=all.
6775 * remote-mips.c (gdb_usleep.h): Include header.
6776 (mips_enter_debug): Use gdb_usleep instead of sleep.
6780 Support resolution of STT_GNU_IFUNC via breakpoints.
6781 * breakpoint.c (print_it_typical): Support bp_gnu_ifunc_resolver and
6782 bp_gnu_ifunc_resolver_return.
6783 (bpstat_what): Rename parameter to bs_head, new variable bs, adjust
6784 the loop. Support bp_gnu_ifunc_resolver and
6785 bp_gnu_ifunc_resolver_return. New comment after the loop. New loop
6786 for bp_gnu_ifunc_resolver and bp_gnu_ifunc_resolver_return
6788 (bptype_string, print_one_breakpoint_location): Support
6789 bp_gnu_ifunc_resolver and bp_gnu_ifunc_resolver_return.
6790 (user_settable_breakpoint): Return true also for
6791 bp_gnu_ifunc_resolver.
6792 (allocate_bp_location): Support bp_gnu_ifunc_resolver and
6793 bp_gnu_ifunc_resolver_return.
6794 (set_breakpoint_location_function): New parameter explicit_loc,
6795 describe it. Call find_pc_partial_function_gnu_ifunc with new
6796 variable IS_GNU_IFUNC and adjust the address for STT_GNU_IFUNC if
6797 EXPLICIT_LOC is not set.
6798 (set_raw_breakpoint): Set EXPLICIT_LOC for
6799 set_breakpoint_location_function.
6800 (clone_momentary_breakpoint): Use true for EXPLICIT_LOC of
6801 set_breakpoint_location_function.
6802 (mention): Support bp_gnu_ifunc_resolver and
6803 bp_gnu_ifunc_resolver_return.
6804 (add_location_to_breakpoint): Set EXPLICIT_LOC for
6805 set_breakpoint_location_function.
6806 (update_breakpoint_locations): Remove static.
6807 (breakpoint_re_set_one): Support bp_gnu_ifunc_resolver and
6808 bp_gnu_ifunc_resolver_return.
6809 * breakpoint.h (enum bptype): New fields bp_gnu_ifunc_resolver and
6810 bp_gnu_ifunc_resolver_return.
6811 (update_breakpoint_locations): New declaration.
6812 * elfread.c: Include gdbthread.h and regcache.h.
6813 (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop): New
6815 (elf_gnu_ifunc_fns): Install them.
6816 * minsyms.c (stub_gnu_ifunc_resolver_stop)
6817 (stub_gnu_ifunc_resolver_return_stop): New functions.
6818 (stub_gnu_ifunc_fns): Install them.
6819 * symtab.h (struct gnu_ifunc_fns): New fields gnu_ifunc_resolver_stop
6820 and gnu_ifunc_resolver_return_stop.
6821 (gnu_ifunc_resolver_stop, gnu_ifunc_resolver_return_stop): New.
6825 STT_GNU_IFUNC reader implementation.
6826 * elfread.c: Include gdbtypes.h, value.h and infcall.h.
6827 (SYMBOL_GOT_PLT_SUFFIX, elf_rel_plt_read)
6828 (elf_objfile_gnu_ifunc_cache_data, struct elf_gnu_ifunc_cache)
6829 (elf_gnu_ifunc_cache_hash, elf_gnu_ifunc_cache_eq)
6830 (elf_gnu_ifunc_record_cache, elf_gnu_ifunc_resolve_by_cache)
6831 (elf_gnu_ifunc_resolve_by_got, elf_gnu_ifunc_resolve_name)
6832 (elf_gnu_ifunc_resolve_addr): New.
6833 (elf_symfile_read): Call elf_rel_plt_read.
6834 (elf_gnu_ifunc_fns): New.
6835 (_initialize_elfread): Initialize elf_objfile_gnu_ifunc_cache_data.
6836 Install elf_gnu_ifunc_fns.
6837 * infcall.c (find_function_return_type): New function.
6838 (find_function_addr): Resolve TYPE_GNU_IFUNC functions, if possible.
6839 * minsyms.c (stub_gnu_ifunc_resolve_addr)
6840 (stub_gnu_ifunc_resolve_name): New functions.
6841 (stub_gnu_ifunc_fns, gnu_ifunc_fns_p): New variables.
6842 * symtab.h (struct gnu_ifunc_fns, gnu_ifunc_resolve_addr)
6843 (gnu_ifunc_resolve_name, gnu_ifunc_fns_p): New.
6847 Code cleanup for later STT_GNU_IFUNC support.
6848 * infcall.c (find_function_addr): Remove variable code, use explicit
6849 dereferences for it. Move VALUE_TYPE initialization later.
6853 GDB find_pc_partial_function support for STT_GNU_IFUNC.
6854 * blockframe.c (cache_pc_function_is_gnu_ifunc): New variable.
6855 (clear_pc_function_cache): Clear it.
6856 (find_pc_partial_function): Rename to ...
6857 (find_pc_partial_function_gnu_ifunc): ... this function. New
6858 parameter is_gnu_ifunc_p, describe it. Set *IS_GNU_IFUNC_P.
6859 (find_pc_partial_function): New wrapper for this function.
6860 * symtab.h (find_pc_partial_function_gnu_ifunc): New declaration.
6864 GDB internal type support for STT_GNU_IFUNC.
6865 * elfread.c (record_minimal_symbol): Support mst_text_gnu_ifunc.
6866 (elf_symtab_read): Set mst_text_gnu_ifunc for
6867 BSF_GNU_INDIRECT_FUNCTION.
6868 * eval.c (evaluate_subexp_standard): Support TYPE_GNU_IFUNC.
6869 * gdbtypes.c (init_type): Support TYPE_FLAG_GNU_IFUNC,
6870 builtin_func_func, nodebug_text_gnu_ifunc_symbol and
6871 nodebug_got_plt_symbol.
6872 * gdbtypes.h (enum type_flag_value): New entry TYPE_FLAG_GNU_IFUNC.
6873 (TYPE_GNU_IFUNC): New.
6874 (struct main_type): New field flag_gnu_ifunc.
6875 (struct builtin_type): New field builtin_func_func.
6876 (struct objfile_type): New fields nodebug_text_gnu_ifunc_symbol and
6877 nodebug_got_plt_symbol.
6878 * minsyms.c (lookup_minimal_symbol_text): Support mst_text_gnu_ifunc.
6879 (in_gnu_ifunc_stub): New.
6880 (prim_record_minimal_symbol, find_solib_trampoline_target): Support
6882 * parse.c (write_exp_msymbol): New variable ifunc_msym. Detect and
6883 support mst_text_gnu_ifunc. Support mst_slot_got_plt.
6884 * solib-svr4.c (svr4_in_dynsym_resolve_code): Return true also for
6886 * symmisc.c (dump_msymbols): Support mst_text_gnu_ifunc.
6887 * symtab.c (search_symbols): Likewise.
6888 * symtab.h (enum minimal_symbol_type): New fields mst_text_gnu_ifunc
6889 and mst_slot_got_plt.
6890 (in_gnu_ifunc_stub): New declaration.
6894 Support a ring of related breakpoints.
6895 * breakpoint.c (watchpoint_del_at_next_stop): New, move here code from
6896 other functions, add gdb_assert.
6897 (update_watchpoint, watchpoint_check): Add gdb_assert. Use
6898 watchpoint_del_at_next_stop.
6899 (bpstat_check_watchpoint): Use watchpoint_del_at_next_stop.
6900 (bpstat_stop_status): Handle ring in related_breakpoint.
6901 (set_raw_breakpoint_without_location): Initialize ring in
6903 (delete_breakpoint): Handle ring in related_breakpoint, use
6904 watchpoint_del_at_next_stop.
6905 (map_breakpoint_numbers): Handle ring in related_breakpoint.
6910 * dwarf2read.c (prepare_one_comp_unit): Don't call set_cu_language
6911 with `language_minimal'.
6915 * arm-tdep.c (arm_elf_make_msymbol_special): Use ARM_SYM_BRANCH_TYPE
6916 instead of checking for STT_ARM_TFUNC symbol type.
6920 * linespec.c (symbol_found): Restore line-based result for
6921 non-LOC_LABEL symbols.
6925 * tui/tui-source.c (tui_set_source_content): Use filename_cmp
6926 instead of strcmp for comparison.
6927 (tui_source_is_displayed): Likewise.
6928 * tui/tui-winsource.c (tui_update_breakpoint_info): Likewise.
6932 * dwarf2read.c (lookup_signatured_type): Use DW_FORM_ref_sig8 in
6934 (skip_one_die): Use DW_FORM_ref_sig8, not DW_FORM_sig8.
6935 (find_partial_die_in_comp_unit): Likewise in comment.
6936 (read_attribute_value): Likewise.
6937 (lookup_die_type): Likewise.
6938 (dwarf_form_name): Likewise.
6939 (dump_die_shallow): Likewise.
6940 (follow_die_ref_or_sig): Likewise.
6944 PR breakpoints/11816:
6945 * linespec.c (decode_line_1): Parse `function:label' linespecs.
6946 (decode_compound): Update.
6947 (find_function_symbol): New function.
6948 (decode_dollar): Update.
6949 (decode_label): Add 'function_symbol' parameter. Handle
6950 function-relative labels.
6951 (decode_variable): Update.
6952 (symbol_found): Add 'function_symbol' parameter. Use label's PC,
6953 not its line. Set `special_display' and canonical name for
6958 * linespec.h (struct linespec_result) <special_display>: New
6960 * breakpoint.h (struct breakpoint) <display_canonical>: New
6962 * breakpoint.c (print_breakpoint_location): Respect
6964 (create_breakpoint_sal): Add 'display_canonical' parameter.
6965 (create_breakpoints_sal): Update.
6966 (create_breakpoint): Update.
6970 * symtab.c (decode_line_spec): Update.
6971 * linespec.c (build_canonical_line_spec): Change type of
6973 (decode_line_2, decode_line_1, decode_objc, decode_compound)
6974 (find_method, decode_all_digits, decode_dollar, decode_label)
6975 (symbol_found): Likewise.
6976 (init_linespec_result): New function.
6977 * breakpoint.c (struct captured_parse_breakpoint_args)
6978 <canonical_p>: New field, replaces addr_string_p.
6979 (create_breakpoints_sal): Add 'canonical' parameter, replacing
6981 (parse_breakpoint_sals): Likewise.
6982 (do_captured_parse_breakpoint): Update.
6983 (create_breakpoint): Use struct linespec_result.
6984 (until_break_command): Update.
6985 (breakpoint_re_set_one): Update.
6986 (decode_line_spec_1): Update.
6987 * linespec.h (struct linespec_result): New.
6988 (init_linespec_result): Declare.
6992 * regcache.c (regcache_raw_read): If the target didn't supply a
6993 given raw register, mark it as unavailable.
6997 * breakpoint.c (clear_command): Use filename_cmp
6998 instead of strcmp for comparison.
6999 * buildsym.c (watch_main_source_file_lossage): Likewise.
7000 (patch_subfile_names): Use IS_DIR_SEPARATOR instead of
7001 checking just for slash.
7002 * dbxread.c (read_dbx_symtab): Use lbasename instead of
7003 strrchr and filename_cmp instead of strcmp for filenames.
7004 (add_old_header_file): Use filename_cmp
7005 instead of strcmp for comparison.
7006 * exec.c (exec_set_section_address): Likewise.
7007 * macrotab.c (macro_lookup_inclusion): Likewise.
7008 (macro_lookup_inclusion): Likewise.
7009 * elfread.c (_initialize_elfread): Likewise.
7010 (elfstab_offset_sections): Likewise.
7011 (elfstab_offset_sections): Use lbasename instead of
7013 * mdebugread.c (parse_partial_symbols): Likewise.
7014 (arse_partial_symbols): Use filename_(n)cmp instead of
7015 str(n)cmp for comparison.
7016 * minsyms.c (lookup_minimal_symbol): Likewise.
7017 * psymtab.c (read_psymtabs_with_filename): Likewise.
7018 * solib.c (solib_read_symbols): Likewise.
7019 (reload_shared_libraries_1): Likewise.
7020 * symmisc.c (maintenance_print_symbols): Likewise.
7021 * symfile.c (separate_debug_file_exists): Likewise.
7022 (reread_symbols): Likewise.
7023 (find_separate_debug_file_by_debuglink): Likewise.
7024 * remote-fileio.c (remote_fileio_func_rename): Likewise.
7025 * source.c (add_path): Likewise.
7026 * symtab.c (filename_seen): Likewise.
7027 (file_matches): Likewise.
7028 (print_symbol_info): Likewise.
7029 (maybe_add_partial_symtab_filename): Likewise.
7030 (make_source_files_completion_list): Likewise.
7031 * xml-syscall.c (init_sysinfo): Likewise.
7032 * windows-nat.c (_initialize_check_for_gdb_ini): Use
7033 IS_DIR_SEPARATOR for checking for trailing path separator.
7037 * dwarf2expr.c (execute_stack_op): Handle DW_OP_GNU_entry_value. New
7038 label abort_expression.
7039 * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Handle
7040 DWARF_VALUE_OPTIMIZED_OUT.
7045 * c-typeprint.c (c_type_print_args): Change parameter show_artificial
7046 to linkage_name. Invert its value. Update the function comment.
7047 (c_type_print_varspec_suffix): Invert it at the caller.
7048 * dwarf2read.c (dwarf2_compute_name): Invert it at the caller.
7052 * infcmd.c (post_create_inferior): Ignore NOT_AVAILABLE_ERROR
7053 errors when reading the `stop_pc'.
7054 * printcmd.c (pc_prefix): Use get_frame_pc_if_available instead of
7059 * NEWS: Document gdb.Write stream keyword.
7065 * dwarf2read.c (producer_is_gxx_lt_4_6): New function.
7066 (dwarf2_add_field): Fix new_field->accessibility for
7067 cu->header.version >= 3 while verifying also producer_is_gxx_lt_4_6.
7073 * python/py-function.c (fnpy_call): Treat GdbErrors differently to
7074 other error classes. Do not print stack trace.
7078 * dwarf2read.c (producer_is_gxx_lt_4_6): New function.
7079 (dwarf2_add_field): Fix new_field->accessibility for
7080 cu->header.version >= 3 while verifying also producer_is_gxx_lt_4_6.
7084 * arm-tdep.c (arm_analyze_prologue): Do not abort parsing when
7085 encountering a load via a non-SP register.
7089 * tramp-frame.c (tramp_frame_prepend_unwinder): Set stop_reason
7090 field in returned unwinder.
7094 * ada-lang.c (replace_operator_with_call): Copy also GDBARCH.
7098 * ada-lang.c (replace_operator_with_call): Use xzalloc instead
7103 * frame.c (frame_unwind_register): Throw an error if unwinding the
7105 * get_prev_frame_1 (get_prev_frame_1): Ask the unwinder if there's
7106 an unwind stop reason.
7107 (frame_stop_reason_string): Handle UNWIND_UNAVAILABLE.
7108 * frame.h (enum unwind_stop_reason) <UNWIND_OUTERMOST,
7109 UNWIND_UNAVAILABLE>: New.
7110 * inline-frame.c (inline_frame_unwind): Install
7111 default_frame_unwind_stop_reason.
7112 * frame-unwind.c: Include "exceptions.h".
7113 (frame_unwind_find_by_frame): Swallow NOT_AVAILABLE_ERROR errors.
7114 (default_frame_unwind_stop_reason): New.
7115 * frame-unwind.h (frame_unwind_stop_reason_ftype): New typedef.
7116 (default_frame_unwind_stop_reason): Declare.
7117 (struct frame_unwind) <stop_reason>: New function pointer.
7119 * dummy-frame.c: Install default_frame_unwind_stop_reason.
7120 * dwarf2-frame.c: Include exceptions.h.
7121 (struct dwarf2_frame_cache) <unavailable_retaddr>: New field.
7122 (dwarf2_frame_cache): Swallow NOT_AVAILABLE_ERROR errors when
7123 computing the CFA. If such an error was thrown, set
7124 unavailable_retaddr.
7125 (dwarf2_frame_unwind_stop_reason): New.
7126 (dwarf2_frame_this_id): Don't build a frame id if the CFA was
7128 (dwarf2_frame_unwind): Install dwarf2_frame_unwind_stop_reason.
7129 (dwarf2_signal_frame_unwind): Ditto.
7131 * amd64-tdep.c: Include "exceptions.h".
7132 (struct amd64_frame_cache): New field "base_p".
7133 (amd64_init_frame_cache): Clear it.
7134 (amd64_frame_cache_1): New, factored out from amd64_frame_cache.
7135 Avoid reading registers with functions that throw if the register
7136 is not necessary to compute the frame base.
7137 (amd64_frame_cache): Reimplement wrapping amd64_frame_cache_1, and
7138 swallowing NOT_AVAILABLE_ERROR.
7139 (amd64_frame_unwind_stop_reason): New.
7140 (amd64_frame_this_id): Don't build a frame id if the frame base
7142 (amd64_frame_unwind): Install amd64_frame_unwind_stop_reason.
7143 (amd64_sigtramp_frame_cache): Swallow NOT_AVAILABLE_ERROR, and set
7144 base_p if the frame base was computable.
7145 (amd64_sigtramp_frame_unwind_stop_reason): New.
7146 (amd64_sigtramp_frame_this_id): Don't build a frame id if the
7147 frame base was unavailable.
7148 (amd64_sigtramp_frame_unwind): Install
7149 amd64_sigtramp_frame_unwind_stop_reason.
7150 (amd64_epilogue_frame_cache): Swallow NOT_AVAILABLE_ERROR, and set
7151 base_p if the frame base was computable.
7152 (amd64_epilogue_frame_unwind_stop_reason): New.
7153 (amd64_epilogue_frame_this_id): Don't build a frame id if the
7154 frame base was unavailable.
7155 (amd64_epilogue_frame_unwind): Install
7156 amd64_epilogue_frame_unwind_stop_reason.
7157 * i386-tdep.c: Include "exceptions.h".
7158 (struct i386_frame_cache): New field "base_p".
7159 (i386_init_frame_cache): Clear it.
7160 (i386_frame_cache_1): New, factored out from amd64_frame_cache.
7161 Avoid reading registers with functions that throw if the register
7162 is not necessary to compute the frame base.
7163 (i386_frame_cache): Reimplement wrapping amd64_frame_cache_1, and
7164 swallowing NOT_AVAILABLE_ERROR.
7165 (i386_frame_unwind_stop_reason): New.
7166 (i386_frame_this_id): Don't build a frame id if the frame base was
7168 (i386_frame_prev_register): Handle unavailable SP.
7169 (i386_frame_unwind): Install i386_frame_unwind_stop_reason.
7170 (i386_epilogue_frame_cache): Swallow NOT_AVAILABLE_ERROR, and set
7171 base_p if the frame base was computable.
7172 (i386_epilogue_frame_unwind_stop_reason): New.
7173 (i386_epilogue_frame_this_id): Don't build a frame id if the frame
7174 base was unavailable.
7175 (i386_epilogue_frame_unwind): Install
7176 i386_epilogue_frame_unwind_stop_reason.
7177 (i386_sigtramp_frame_cache): Swallow NOT_AVAILABLE_ERROR, and set
7178 base_p if the frame base was computable.
7179 (i386_sigtramp_frame_unwind_stop_reason): New.
7180 (i386_sigtramp_frame_this_id): Don't build a frame id if the frame
7181 base was unavailable.
7182 (i386_sigtramp_frame_unwind): Install
7183 i386_sigtramp_frame_unwind_stop_reason.
7184 * sentinel-frame.c (sentinel_frame_prev_register): Use the value
7185 type's size, not the register's.
7186 (sentinel_frame_unwind): Install default_frame_unwind_stop_reason.
7188 * alpha-mdebug-tdep.c (alpha_mdebug_frame_unwind): Install
7189 default_frame_unwind_stop_reason.
7190 * alpha-tdep.c (alpha_sigtramp_frame_unwind)
7191 (alpha_heuristic_frame_unwind): Ditto.
7192 * amd64obsd-tdep.c (amd64obsd_trapframe_unwind): Ditto.
7193 * arm-tdep.c (arm_prologue_unwind, arm_stub_unwind): Ditto.
7194 * avr-tdep.c (avr_frame_unwind): Ditto.
7195 * cris-tdep.c (cris_sigtramp_frame_unwind, cris_frame_unwind):
7197 * frv-linux-tdep.c (frv_linux_sigtramp_frame_unwind): Ditto.
7198 * frv-tdep.c (frv_frame_unwind): Ditto.
7199 * h8300-tdep.c (h8300_frame_unwind): Ditto.
7200 * hppa-hpux-tdep.c (hppa_hpux_sigtramp_frame_unwind): Ditto.
7201 * hppa-linux-tdep.c (hppa_linux_sigtramp_frame_unwind): Ditto.
7202 * hppa-tdep.c (hppa_frame_unwind, hppa_fallback_frame_unwind)
7203 (hppa_stub_frame_unwind): Ditto.
7204 * i386obsd-tdep.c (i386obsd_trapframe_unwind): Ditto.
7205 * ia64-tdep.c (ia64_frame_unwind, ia64_sigtramp_frame_unwind)
7206 (ia64_libunwind_frame_unwind)
7207 (ia64_libunwind_sigtramp_frame_unwind): Ditto.
7208 * iq2000-tdep.c (iq2000_frame_unwind): Ditto.
7209 * lm32-tdep.c (lm32_frame_unwind): Ditto.
7210 * m32c-tdep.c (m32c_unwind): Ditto.
7211 * m32r-linux-tdep.c (m32r_linux_sigtramp_frame_unwind): Ditto.
7212 * m32r-tdep.c (m32r_frame_unwind): Ditto.
7213 * m68hc11-tdep.c (m68hc11_frame_unwind): Ditto.
7214 * m68k-tdep.c (m68k_frame_unwind): Ditto.
7215 * m68klinux-tdep.c (m68k_linux_sigtramp_frame_unwind): Ditto.
7216 * m88k-tdep.c (m88k_frame_unwind): Ditto.
7217 * mep-tdep.c (mep_frame_unwind): Ditto.
7218 * microblaze-tdep.c (microblaze_frame_unwind): Ditto.
7219 * mips-tdep.c (mips_insn16_frame_unwind, mips_insn32_frame_unwind)
7220 (mips_stub_frame_unwind): Ditto.
7221 * mn10300-tdep.c (mn10300_frame_unwind): Ditto.
7222 * moxie-tdep.c (moxie_frame_unwind): Ditto.
7223 * mt-tdep.c (mt_frame_unwind): Ditto.
7224 * ppc-linux-tdep.c (ppu2spu_unwind): Ditto.
7225 * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_unwind): Ditto.
7226 * rs6000-tdep.c (rs6000_frame_unwind): Ditto.
7227 * s390-tdep.c (s390_frame_unwind, s390_stub_frame_unwind)
7228 (s390_sigtramp_frame_unwind): Ditto.
7229 * score-tdep.c (score_prologue_unwind): Ditto.
7230 * sh-tdep.c (sh_frame_unwind): Ditto.
7231 * sh64-tdep.c (sh64_frame_unwind): Ditto.
7232 * sparc-sol2-tdep.c (sparc32_sol2_sigtramp_frame_unwind): Ditto.
7233 * sparc-tdep.c (sparc32_frame_unwind): Ditto.
7234 * sparc64-sol2-tdep.c (sparc64_sol2_sigtramp_frame_unwind): Ditto.
7235 * sparc64-tdep.c (sparc64_frame_unwind): Ditto.
7236 * sparc64fbsd-tdep.c (sparc64fbsd_sigtramp_frame_unwind): Ditto.
7237 * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_frame_unwind): Ditto.
7238 * sparc64obsd-tdep.c (sparc64obsd_frame_unwind)
7239 (sparc64obsd_trapframe_unwind): Ditto.
7240 * sparcnbsd-tdep.c (sparc32nbsd_sigcontext_frame_unwind): Ditto.
7241 * sparcobsd-tdep.c (sparc32obsd_sigtramp_frame_unwind): Ditto.
7242 * spu-tdep.c (spu_frame_unwind, spu2ppu_unwind): Ditto.
7243 * v850-tdep.c (v850_frame_unwind): Ditto.
7244 * vax-tdep.c (vax_frame_unwind): Ditto.
7245 * vaxobsd-tdep.c (vaxobsd_sigtramp_frame_unwind): Ditto.
7246 * xstormy16-tdep.c (frame_unwind xstormy16_frame_unwind): Ditto.
7247 * xtensa-tdep.c (xtensa_unwind): Ditto.
7251 * tui/tui-hooks.c (tui_selected_frame_level_changed_hook): Assume
7252 there's always a frame. Use get_frame_pc_if_available instead of
7253 get_frame_pc, and if there's no PC available, don't look up a
7258 * stack.c (print_frame_local_vars, print_frame_arg_vars): Handle
7263 * tracepoint.c (set_traceframe_context): Handle unavailable PC
7268 * frame.h (frame_unwind_caller_pc_if_available): Declare.
7269 * frame.c (frame_unwind_caller_pc_if_available): New.
7270 * stack.c (frame_info): Handle unavailable PC.
7274 * frame.c (frame_unwind_pc): Rename to ...
7275 (frame_unwind_pc_if_available): ... this. New `pc' output
7276 parameter. Change return type to int. Gracefully handle
7277 gdbarch_unwind_pc throwing NOT_AVAILABLE_ERROR. Return 0 if that
7278 happened, or 1 otherwise.
7279 (frame_unwind_pc): Reimplement on top of
7280 frame_unwind_pc_if_available.
7281 (get_frame_func): Rename to ...
7282 (get_frame_func_if_available): New `pc' output parameter. Change
7283 return type to int. Gracefully handle the PC not being available.
7284 (get_frame_func): Reimplement on top of
7285 get_frame_func_if_available.
7286 (select_frame): Handle the PC being unavailable.
7287 (get_prev_frame): Handle the PC being unavailable.
7288 (get_frame_pc_if_available): New.
7289 (get_frame_address_in_block_if_available): New.
7290 (find_frame_sal): Handle the frame PC not being available.
7291 * frame.h (get_frame_pc_if_available): Declare.
7292 (get_frame_address_in_block_if_available): Declare.
7293 (get_frame_func_if_available): Declare.
7294 * stack.c (print_frame_info): Handle the PC being unavailable.
7295 (find_frame_funname): Ditto.
7296 (print_frame): Handle the PC being unavailable.
7297 (get_frame_language): Ditto.
7298 * blockframe.c (get_frame_block): Ditto.
7299 * macroscope.c (default_macro_scope): Ditto.
7300 * tui/tui-stack.c (tui_show_frame_info): Ditto.
7304 * dwarf2loc.c (dwarf2_evaluate_loc_desc): Catch
7305 NOT_AVAILABLE_ERROR when evaluating the location expression.
7309 * dwarf2loc.c (read_pieced_value): Handle get_frame_register_bytes
7310 returning that the register piece is unavailable/optimized out.
7311 (write_pieced_value): Handle get_frame_register_bytes returning
7312 that the register piece is unavailable/optimized out when doing a
7313 read-modify write of a bitfield.
7314 * findvar.c (value_from_register): Handle get_frame_register_bytes
7315 returning that the register piece is unavailable/optimized out.
7316 * frame.c (get_frame_register_bytes): New parameters `optimizedp'
7317 and `unavailablep'. Throw error on bad debug info. Use
7318 frame_register instead of frame_register_read, to fill in the new
7320 * frame.h (get_frame_register_bytes): New parameters `optimizedp'
7322 * valops.c: (value_assign): Adjust, and handle
7323 get_frame_register_bytes failing.
7324 * spu-tdep.c: Include exceptions.h.
7325 (spu_software_single_step): Adjust, and handle
7326 get_frame_register_bytes failing.
7327 (spu_get_longjmp_target): Ditto.
7328 * gdbarch.sh (register_to_value): Change to return int. New
7329 parameters `optimizedp' and `unavailablep'.
7330 * gdbarch.h, gdbarch.c: Regenerate.
7331 * i386-tdep.c (i386_register_to_value): Adjust to new
7332 gdbarch_register_to_value interface.
7333 * i387-tdep.c (i387_register_to_value): Ditto.
7334 * i387-tdep.h (i387_register_to_value): Ditto.
7335 * alpha-tdep.c (alpha_register_to_value): Ditto.
7336 * ia64-tdep.c (ia64_register_to_value): Ditto.
7337 * m68k-tdep.c (m68k_register_to_value): Ditto.
7338 * mips-tdep.c (mips_register_to_value): Ditto.
7339 * rs6000-tdep.c (rs6000_register_to_value): Ditto.
7343 * findvar.c (value_of_register): Mark the value as unavailable, if
7344 the register is unavailable.
7345 * frame.h (frame_register_unwind): New `unavailablep' parameter.
7346 (frame_register): New `unavailablep' parameter.
7347 (frame_register_read): Update comment.
7348 * frame.c (frame_register_unwind): New `unavailablep' parameter.
7349 Set it if the register is unavailable. If the register is
7350 unavailable, clear the output buffer.
7351 (frame_register): New `unavailablep' parameter. Pass it down.
7352 (frame_unwind_register): Adjust.
7353 (put_frame_register): Adjust.
7354 (frame_register_read): Adjust. Also return false if the register
7356 (frame_register_unwind_location): Adjust.
7357 * sentinel-frame.c (sentinel_frame_prev_register): If the register
7358 is unavailable, mark the value accordingly.
7359 * stack.c (frame_info): Handle unavailable registers.
7363 * mi/mi-main.c (register_changed_p): Handle REG_UNAVAILABLE, and
7364 simplify, using regcache_cooked_read.
7368 * regcache.h (regcache_raw_read, regcache_raw_read_signed)
7369 (regcache_raw_read_unsigned, regcache_raw_read_signed)
7370 (regcache_raw_read_unsigned, regcache_raw_read_part)
7371 (regcache_cooked_read, regcache_cooked_read_signed)
7372 (regcache_cooked_read_unsigned, regcache_cooked_read_part)
7373 (regcache_cooked_read_ftype): Change return to enum
7375 * regcache.c: Include exceptions.h
7376 (regcache_save): Adjust to handle REG_UNAVAILABLE registers.
7377 (do_cooked_read): Change return to enum register_status. Always
7378 forward to regcache_cooked_read.
7379 (regcache_raw_read): Change return to enum register_status. If
7380 the register is not REG_VALID, memset the buffer. Return the
7382 (regcache_raw_read_signed): Handle non-REG_VALID registers and
7383 return the register's status.
7384 (regcache_raw_read_unsigned): Ditto.
7385 (regcache_cooked_read): Change return to enum register_status.
7386 Assert that with read-only regcaches, the register's status must
7387 be known. If the regcache is read-only, and the register is not
7388 REG_VALID, memset the buffer. Return the register's status.
7389 (regcache_cooked_read_signed): Change return to enum
7390 register_status. Handle non-REG_VALID registers and return the
7392 (regcache_cooked_read_unsigned): Change return to enum
7393 register_status. Handle non-REG_VALID registers and return the
7395 (regcache_xfer_part, regcache_raw_read_part)
7396 (regcache_cooked_read_part): Change return to enum
7397 register_status. Return the register's status.
7398 (regcache_read_pc): Throw NOT_AVAILABLE_ERROR if the register is
7400 (regcache_dump): Handle unavailable cooked registers.
7401 * frame.c (do_frame_register_read): Adjust interface to match
7402 regcache_cooked_read_ftype.
7403 * gdbarch.sh (pseudo_register_read): Change return to enum
7405 * gdbarch.h, gdbarch.c: Regenerate.
7407 * i386-tdep.h (i386_pseudo_register_read): Change return to enum
7409 * i386-tdep.c (i386_pseudo_register_read): Change return to enum
7410 register_status. If reading a raw register indicates the raw
7411 register is not valid, return the raw register's status,
7412 otherwise, return REG_VALID.
7413 * amd64-tdep.c (amd64_pseudo_register_read): Change return to enum
7414 register_status. Handle non-REG_VALID raw registers and return
7415 the register's status.
7416 * arm-tdep.c (arm_neon_quad_read)
7417 (arm_pseudo_read): Change return to enum register_status. Handle
7418 non-REG_VALID raw registers and return the register's status.
7419 * avr-tdep.c (avr_pseudo_register_read): Ditto.
7420 * frv-tdep.c (frv_pseudo_register_read): Ditto.
7421 * h8300-tdep.c (h8300_pseudo_register_read): Ditto.
7422 * hppa-tdep.c (hppa_pseudo_register_read): Ditto.
7423 * m32c-tdep.c (m32c_move_reg_t): Change return to enum
7425 (m32c_raw_read, m32c_raw_write, m32c_banked_read)
7426 (m32c_banked_write, m32c_sb_read, m32c_sb_write, m32c_part_read)
7427 (m32c_part_write, m32c_cat_read, m32c_cat_write)
7428 (m32c_r3r2r1r0_read, m32c_r3r2r1r0_write)
7429 (m32c_pseudo_register_read): Change return to enum
7430 register_status. Adjust.
7431 * m68hc11-tdep.c (m68hc11_pseudo_register_read): Change return to
7432 enum register_status. Return the register's status.
7433 * mep-tdep.c (mep_pseudo_cr32_read): Change return to enum
7434 register_status. Return the register's status.
7435 (mep_pseudo_cr64_read, mep_pseudo_register_read): Ditto.
7436 * mips-tdep.c (mips_pseudo_register_read): Ditto.
7437 * mt-tdep.c (mt_pseudo_register_read): Ditto.
7438 * rs6000-tdep.c (move_ev_register_func): New typedef.
7439 (e500_move_ev_register): Use it. Change return to enum
7440 register_status. Return the register's status.
7441 (do_regcache_raw_read): New function.
7442 (do_regcache_raw_write): New function.
7443 (e500_pseudo_register_read): Change return to enum
7444 register_status. Return the register's status. Use
7445 do_regcache_raw_read.
7446 (e500_pseudo_register_write): Adjust. Use do_regcache_raw_write.
7447 (dfp_pseudo_register_read): Change return to enum register_status.
7448 Return the register's status.
7449 (vsx_pseudo_register_read): Ditto.
7450 (efpr_pseudo_register_read): Ditto.
7451 (rs6000_pseudo_register_read): Ditto.
7452 * s390-tdep.c (s390_pseudo_register_read): Change return to enum
7453 register_status. Return the register's status.
7454 * sh64-tdep.c (pseudo_register_read_portions): New function.
7455 (sh64_pseudo_register_read): Change return to enum
7456 register_status. Use pseudo_register_read_portions. Return the
7458 * ia64-tdep.c (ia64_pseudo_register_read): Change return to enum
7459 register_status. Return the register's status.
7460 * sh-tdep.c (pseudo_register_read_portions): New function.
7461 (sh_pseudo_register_read): Change return to enum register_status.
7462 Use pseudo_register_read_portions. Return the register's status.
7463 * sparc-tdep.c (sparc32_pseudo_register_read): Change return to
7464 enum register_status. Return the register's status.
7465 * sparc64-tdep.c (sparc64_pseudo_register_read): Ditto.
7466 * spu-tdep.c (spu_pseudo_register_read_spu)
7467 (spu_pseudo_register_read): Ditto.
7468 * xtensa-tdep.c (xtensa_register_read_masked)
7469 (xtensa_pseudo_register_read): Ditto.
7470 * bfin-tdep.c (bfin_pseudo_register_read): Ditto.
7474 * python/py-value.c (valpy_getitem): Fix formatting of error function
7479 ARI fixes: Add missing internationalization markups throughout
7481 * darwin-nat-info.c: Ditto.
7484 * mi/mi-main.c: Ditto.
7488 ARI fixes: Add missing internationalization markups throughout
7491 * cp-name-parser.y: Ditto.
7494 * objc-exp.y: Ditto.
7499 ARI fixes: Messages should have no trailing new lines.
7500 * darwin-nat.c (mach_check_error): Remove trailing new line from
7501 warning function call message.
7502 * record.c (bfdcore_read): Idem for error call.
7506 * common/signals.c (target_signal_from_host): Add _ markup to error
7507 function call message.
7508 (target_signal_to_host): Add _ markup and remove trailing new line
7509 from warning call message.
7510 (target_signal_from_command): Add _ markup to error function call
7517 * python/python.c (gdbpy_write): Accept a stream argument and
7518 operate to the appropriate stream.
7519 (gdbpy_flush): Likewise.
7520 (_initialize_python): Add stream constants.
7521 (finish_python_initialization): Add GdbOutputErrorFile class.
7525 * MAINTAINERS: Add myself as a write-after-approval maintainer.
7529 * amd64-tdep.c (amd64_relocate_instruction): Fix ordering of arguments
7530 to store_signed_integer. Add debug message when relocating CALL
7531 instructions. Fix formatting of debug message.
7532 * i386-tdep.c (i386_relocate_instruction): Ditto.
7536 * target.h (struct target_ops): Remove to_lookup_symbol field.
7537 (target_lookup_symbol): Delete macro.
7538 * target.c (nosymbol, debug_to_lookup_symbol): Delete.
7539 (update_current_target, setup_target_debug): Remove handling
7540 of to_lookup_symbol target_ops field.
7541 * ada-tasks.c (get_known_tasks_addr): Remove use of
7542 target_lookup_symbol.
7543 * coffread.c (coff_symtab_read): Likewise.
7544 * dbxread.c (read_dbx_symtab): Ditto.
7549 * configure.ac: Add getthrds declaration check.
7550 * configure, config.in: Regenerate.
7551 * aix-thread.c (getthrds): Declare only if not already declared
7552 in procinfo.h. More declaration out of get_signaled_thread to
7557 * python/py-symtab.c: Populate symtab_object_methods,
7559 (stpy_is_valid): New function.
7560 (salpy_is_valid): Ditto.
7561 * python/py-symbol.c: Declare symbol_object_methods. Populate.
7562 (sympy_is_valid): New function.
7563 * python/py-objfile.c: Declare objfile_object_methods. Populate.
7564 (objfpy_is_valid): New function.
7565 * python/py-inferior.c: Populate inferior_object_methods.
7566 (infpy_is_valid): New function.
7567 * python/py-infthread.c: Populate thread_object_methods.
7568 (thpy_is_valid): New function.
7569 * python/py-block.c: Declare block_object_methods. Populate. Declare
7570 block_iterator_object_methods. Populate.
7571 (blpy_is_valid): New function.
7572 (blpy_iter_is_valid): Ditto.
7576 * linespec.c (find_methods): Canonicalize NAME before looking
7578 (name_end): New function.
7579 (keep_name_info): New function.
7580 (decode_line_1): Use keep_name_info.
7581 (decode_compound): Likewise.
7582 * cli/cli-utils.h (remove_trailing_whitespace): New function.
7583 * cli/cli-utils.c (remove_trailing_whitespace): Likewise.
7586 * linespec.c (locate_first_half): Keep overload information, too.
7587 (decode_compound): Use a string to represent break characters
7589 If P points to a break character, do not increment it.
7590 For C++ and Java, keep overload information and relevant keywords.
7591 If we cannot find a symbol, search the minimal symbols.
7594 * linespec.c (decode_compound): Rename SAVED_ARG to
7596 Make a copy of THE_REAL_SAVED_ARG in SAVED_ARG and strip
7598 Pass a valid block to lookup_symbol.
7599 (lookup_prefix_sym): Likewise.
7600 (find_method): Construct search name based on SYM_CLASS instead
7602 * psymtab.c (lookup_partial_symbol): Add language parameter.
7603 (lookup_symbol_aux_psymtabs): Likewise.
7604 Don't assume that the psymtab we found was the right one. Search
7605 for the desired symbol in the symtab to be certain.
7606 (psymtab_search_name): New function.
7607 (lookup_partial_symbol): Use psymtab_search_name.
7608 Add language parameter.
7609 (read_symtabs_for_function): Add language parameter and pass to
7610 lookup_partial_symbol.
7611 (find_symbol_file_from_partial): Likewise.
7616 * dwarf2read.c (noop_record_line): New function.
7617 (dwarf_decode_lines): Ignore line tables for GCd functions.
7621 Fix ARI warnings about new lines at the end of messages, which
7622 are unneeded as there is a new line added at the end of the message
7624 * darwin-nat.c (darwin_stop_inferior): Ditto.
7625 * dec-thread.c (dec_thread_get_ada_task_ptid): Ditto.
7626 * dfp.c (decimal_to_number): Ditto.
7627 * exec.c (print_section_info): Ditto.
7628 * i386-darwin-nat.c (darwin_set_sstep): Ditto.
7629 * osdata.c (get_osdata): Ditto.
7630 * record.c (bfdcore_write): Ditto.
7631 * remote-mips.c (mips_readchar): Ditto.
7632 * remote.c (read_ptid): Ditto.
7633 * ser-mingw.c (ser_windows_raw): Ditto.
7634 * tracepoint.c (add_local_symbols): Ditto.
7635 * windows-nat.c (fake_create_process): Ditto.
7639 * tracepoint.c (stop_tracing): Don't declare.
7640 * event-top.c (after_char_processing_hook): Add `(void)'.
7644 * NEWS: Add Parameter sub-classing description.
7648 * MAINTAINERS: Update my e-mail address.
7652 * MAINTAINERS: Add myself for write after approval privileges.
7656 * frame.c (find_frame_sal): Assert sym is not null.
7658 * dbxread.c (process_one_symbol): Assert 'name' is not null.
7660 * objc-lang.c (selectors_info): Check strchr for null result.
7662 * stabsread.c (define_symbol): Guard against bad stabstring input.
7666 Remove trailing spaces and tabulations from pascal language
7671 p-valprint.c: Ditto.
7675 * dwarf2read.c (dwarf2_get_pc_bounds): Require HIGH strictly higher
7676 than LOW. Comment it.
7677 (read_partial_die): Call complaint for inappropriate zero LOWPC or
7678 HIGHPC not strictly higher than LOWPC.
7682 Fix formatting of function declarations returning a pointer in
7684 * varobj.c (varobj_add_child): Ditto.
7685 * hppa-tdep.h (hppa_init_objfile_priv_data): Ditto.
7686 * inferior.h (get_displaced_step_closure_by_addr): Ditto.
7690 * ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Add support
7691 for the "generic" vector ABI used with GCC 4.3 and later.
7692 (ppc64_sysv_abi_return_value): Likewise.
7696 * infcall.c (call_function_by_hand): Function return value is
7697 always a non_lval, even when using struct_return.
7701 * printcmd.c (ALL_DISPLAYS_SAFE): New.
7702 (map_display_numbers): New.
7703 (do_delete_display): New.
7704 (undisplay_command): Use map_display_numbers.
7705 (do_enable_disable_display): New.
7706 (enable_disable_display_command): New function.
7707 (enable_display): Delete.
7708 (enable_display_command): New.
7709 (disable_display_command): Reimplement.
7710 (_initialize_printcmd): Adjust "enable display" command to use
7711 `enable_display_command' as callback.
7715 * NEWS: Add Python breakpoint 'stop' operation.
7719 * NEWS: Delete duplicate entry. Fix typo.
7723 Fix ARI warning about function names in first column.
7724 Put prototype declaration on same line as return type.
7725 * objc-exp.y: Ditto.
7727 * python/py-stopevent.h: Ditto.
7728 For long function names, split parameters to
7729 allow function name on same line as return type.
7730 * solib-pa64.c: Ditto.
7733 For long function declaration, use single line.
7734 * hppa-tdep.h: Ditto.
7735 * inferior.h: Ditto.
7739 * python/python.h: Declare gdbpy_should_stop and
7740 gdbpy_breakpoint_has_py_cond.
7741 * python/python.c: Add python.h to includes. Remove python.h from
7742 HAVE_PYTHON definition
7743 (gdbpy_should_stop): New dummy function.
7744 (gdbpy_breakpoint_has_py_cond): New dummy function.
7745 * python/py-breakpoint.c (bppy_init): Rewrite to allow
7746 sub-classing capabilities.
7747 (gdbpy_should_stop): New function.
7748 (gdbpy_breakpoint_has_py_cond): New function.
7749 (local_setattro): New function.
7750 * breakpoint.c (condition_command): Add check for Python 'stop'
7752 (bpstat_check_breakpoint_conditions): Execute Python 'stop'
7753 operation function as part of stop/continue tests.
7758 * dwarf2loc.c (dwarf_expr_dwarf_call): Remove 'return'.
7759 (needs_frame_dwarf_call): Likewise.
7763 Fix ARI warning about functions without parameters that do not
7765 * breakpoint.c (all_tracepoints): Replace () by (void).
7766 * f-exp.y (match_string_literal): Ditto.
7768 * m2-exp.y (yylex): Ditto.
7769 * mep-tdep.c (current_me_module): Ditto.
7770 (current_options): Ditto.
7771 (current_cop_data_bus_width): Ditto.
7772 (current_cr_names): Ditto.
7773 (current_cr_is_float): Ditto.
7774 (current_ccr_names): Ditto.
7775 * objc-exp.y (yylex): Ditto.
7776 * p-exp.y (yylex): Ditto.
7777 * remote.c (send_interrupt_sequence): Ditto.
7778 * tracepoint.c (current_trace_status): Ditto.
7779 * python/py-evts.c (gdbpy_initialize_py_events): Ditto.
7780 * python/py-prettyprint.c (push_dummy_python_frame): Ditto.
7784 * cli/cli-decode.h (CMD_LIST_AMBIGUOUS): Define.
7785 * cli/cli-decode.c (lookup_cmd_1): Use CMD_LIST_AMBIGUOUS.
7786 (lookup_cmd): Test for CMD_LIST_AMBIGUOUS.
7787 * completer.c (complete_line_internal): Use CMD_LIST_AMBIGUOUS.
7788 * top.c (set_verbose): Use CMD_LIST_AMBIGUOUS.
7790 * event-loop-c (delete_async_signal_handler): Assert prev_ptr.
7791 (delete_async_event_handler): Ditto.
7793 * python/py-breakpoint.c (bppy_set_condition): Stop memory leak.
7795 * python/py-breakpoint.c (bppy_get_commands): Fix memory leak.
7797 * top.c (set_verbose): Assert showcmd was found.
7801 * xtensa-tdep.c (warning_once): Correct style issues.
7805 * arm-tdep.c (copy_ldr_str_ldrb_strb): Remove redundant statements.
7809 * common/aclocal.m4: Remove.
7813 * xtensa-tdep.c (windowing_enabled): Remove inline attribute.
7814 (xtensa_write_register, xtensa_read_register): Likewise.
7815 (xtensa_hextochar): Removed.
7816 (xtensa_init_reggroups): Replace xtensa_hextochar () by explicit code.
7820 * xtensa-tdep.c (xtensa_c0reg_t): Update comments.
7821 (xtensa_call0_frame_cache_t): Update comments. New fields added.
7822 (xtensa_alloc_frame_cache): Add initialization for new fields.
7823 (xtensa_frame_cache): Change the way how call0_frame_cache () is called.
7824 (warning_once): New function.
7825 (xtensa_insn_kind): New item c0opc_and.
7826 (call0_classify_opcode): Add the case for AND instruction.
7827 (call0_track_op): Change arguments. New local variable litbase.
7828 Add the case to handle c0opc_and. Update algorithms for c0opc_mov,
7829 c0opc_l32r, c0opc_s32i to take into account dynamic stack adjustments
7831 Add cases for c0opc_l32e, c0opc_s32e, c0opc_rfwo, c0opc_rfwu.
7832 (call0_analyze_prologue): Update the comments. Change arguments.
7833 Add the variety of updates to handle extended prologues, which now can
7834 conduct dynamic stack adjustments.
7835 (call0_frame_cache): Likewise.
7836 (xtensa_skip_prologue): Update call0_analyze_prologue () function call.
7837 (xtensa_gdbarch_init): Initialize xtensa_session_once_reported.
7841 * tracepoint.c (cmd_qtv): Discard unused value 'packet'.
7842 (cmd_qtframe): Ditto.
7843 (cmd_qtbuffer): Ditto.
7844 (cmd_bigqtbuffer): Ditto.
7848 * tracepoint.c (trace_actions_command): Update.
7849 * thread.c (thread_apply_command): Update.
7850 * reverse.c (delete_bookmark_command): Update.
7851 (bookmarks_info): Update.
7852 * printcmd.c (undisplay_command): Update.
7853 * memattr.c (mem_enable_command): Update.
7854 (mem_disable_command): Update.
7855 (mem_delete_command): Update.
7856 * inferior.c (detach_inferior_command): Update.
7857 (kill_inferior_command): Update.
7858 (remove_inferior_command): Update.
7859 * cli/cli-utils.h (struct get_number_or_range_state): New.
7860 (init_number_or_range): Declare.
7861 (get_number_or_range): Update.
7862 * cli/cli-utils.c (init_number_or_range): New function.
7863 (get_number_or_range): Change 'pp' parameter to 'state'. Remove
7865 (number_is_in_list): Update.
7866 * breakpoint.h (get_tracepoint_by_number): Update.
7867 * breakpoint.c (map_breakpoint_numbers): Update for change to
7868 get_number_or_range.
7869 (find_location_by_number): Use get_number, not
7870 get_number_or_range.
7871 (trace_pass_set_count): New function.
7872 (trace_pass_command): Update for change to get_number_or_range.
7874 (get_tracepoint_by_number): Remove 'multi_p' parameter; add
7879 * python/py-param.c (add_setshow_generic): Add set/show callback
7880 parameters. Register Python object context.
7881 (get_show_value): New function.
7882 (get_set_value): New function.
7883 (call_doc_function): New function.
7884 (get_doc_string): Move behind get_show_value/get_set_value.
7888 * fbsd-nat.c (fbsd_make_corefile_notes): Constify local `fname'.
7892 * xtensa-tdep.c (xtensa_read_register): Add comment.
7893 (xtensa_write_register): Likewise.
7894 (xtensa_hextochar): Add comment and update to match coding conventions.
7895 (xtensa_frame_cache, xtensa_return_value): Follow coding conventions.
7896 (execute_l32e, execute_s32e, execute_code): Update comments.
7897 (xtensa_exception_handler_t): Update to match coding conventions.
7898 (xtensa_insn_kind): Likewise.
7902 * mi-cmd-disas.c (mi_cmd_disassemble): Fix memory leak.
7906 * nto-tdep.c (nto_find_and_open_solib): Constify local `base'.
7910 * thread.c (restore_selected_frame): Handle frame_level == -1.
7911 (make_cleanup_restore_current_thread): Use
7912 get_selected_frame_if_set.
7913 * frame.h (get_selected_frame_if_set): Declare.
7914 * frame.c (get_selected_frame_if_set): New function.
7918 * cli/cli-cmds.c (shell_escape): Use lbasename.
7919 * coffread.c (coff_start_symtab): Constify parameter.
7920 (complete_symtab): Constify `name' parameter.
7921 (coff_symtab_read): Constify `filestring' local.
7922 (coff_getfilename): Constify return and `result' local.
7924 * fbsd-nat.c (fbsd_make_corefile_notes): Use lbasename.
7925 * linux-fork.c (info_checkpoints_command): Use lbasename.
7926 * linux-nat.c (linux_nat_make_corefile_notes): Use lbasename.
7927 * minsyms.c (lookup_minimal_symbol): Use lbasename.
7928 * nto-tdep.c (nto_find_and_open_solib): Use lbasename.
7929 * procfs.c (procfs_make_note_section): Use lbasename.
7930 * tui/tui-io.c (printable_part): Constity return and parameter.
7932 (print_filename): Constify parameters, and local `s'.
7933 (tui_rl_display_match_list): Constify local `temp'.
7939 Fix DWARF-3+ DW_AT_accessibility default assumption.
7940 * dwarf2read.c (dwarf2_add_field): Fix new_field->accessibility for
7941 cu->header.version >= 3.
7945 * common/Makefile.in: Remove.
7946 * common/configure: Remove.
7947 * common/configure.ac: Remove.
7954 * common/Makefile.in: Add copyright header.
7958 * Makefile.in: Remove signals.o from COMMON_OBS. Link
7960 * configure.ac: Add common to sub dir.
7961 * configure: Regenerate.
7965 * xtensa-tdep.c (call0_ret): New function.
7966 (xtensa_skip_prologue): Speed up analysis.
7970 * xtensa-tdep.c (xtensa_register_reggroup_p): Count in all registers
7971 while executing MI command -data-list-changed-registers.
7975 * xtensa-tdep.c (xtensa_read_register): New function.
7976 (xtensa_write_register): New function.
7977 (xtensa_find_register_by_name): New function.
7978 (xtensa_windowed_frame_cache): Update comments in type description.
7979 (xtensa_frame_cache): Likewise.
7980 (xtensa_window_interrupt_insn): New function.
7981 (xtensa_frame_cache): Add analysis for Xtensa Window Exception frames.
7982 (xtensa_insn_kind): Add new instructions.
7983 (rwx_special_register): New function.
7984 (call0_classify_opcode): Add new instructions to the analysis.
7985 (a0_saved, a7_saved, a11_saved): New variables.
7986 (a0_was_saved, a7_was_saved, a11_was_saved): New variables.
7987 (execute_l32e): New function.
7988 (execute_s32e): New function.
7989 (xtensa_exception_handler_t): New type.
7990 (execute_code): New function.
7991 (xtensa_window_interrupt_frame_cache): New function to conduct frame
7992 analysis for Xtensa Window Exception handlers.
7996 * xtensa-tdep.c (TX_PS): New.
7997 (windowing_enabled): Update to count for Call0 ABI.
7998 (xtensa_hextochar): New.
7999 (xtensa_init_reggroups): Make algorithm generic.
8000 (xtensa_frame_cache): Use TX_PS on Tiny Xtensa.
8004 * xtensa-tdep.h (XTENSA_MAX_COPROCESSOR): Update.
8008 * i386-tdep.c (i386_follow_jump): Check return value of
8010 (i386_analyze_struct_return): Ditto.
8011 (i386_skip_probe): Ditto.
8012 (i386_match_insn): Ditto.
8013 (i386_skip_noop): Ditto.
8014 (i386_analyze_frame_setup): Ditto.
8015 (i386_analyze_register_saves): Ditto.
8016 (i386_skip_prologue): Ditto.
8017 (i386_skip_main_prologue): Ditto.
8019 * target.c (read_whatever_is_readable): Fix memory leak.
8021 * i386-tdep.c (i386_process_record): Document fall through.
8025 Fix DWARF-3+ DW_AT_accessibility default assumption.
8026 * dwarf2read.c (dwarf2_add_field): Fix new_field->accessibility for
8027 cu->header.version >= 3.
8031 * remote.c (remote_check_symbols): Skip if the target has no
8036 * target.c (read_whatever_is_readable): Reformat comment,
8037 with a minor typo fix. Minor reformatting of the code.
8041 * arm-tdep.c: Remove prototype declaration displaced_in_arm_mode.
8042 (displaced_read_reg): Add `dsc' parameter, remove `from' parameter.
8043 Use cached result instead of calling displaced_in_arm_mode again.
8044 (branch_write_pc, alu_write_pc, load_write_pc): Add `dsc' parameter.
8045 (displaced_write_reg, copy_preload, copy_preload_reg): Callers update.
8046 (cleanup_copro_load_store, copy_copro_load_store): Likewise.
8047 (cleanup_branch, copy_bx_blx_reg, copy_alu_imm): Likewise.
8048 (cleanup_alu_reg, copy_alu_reg, cleanup_alu_shifted_reg): Likewise.
8049 (copy_alu_shifted_reg, cleanup_load, cleanup_store): Likewise.
8050 (copy_extra_ld_st, copy_ldr_str_ldrb_strb): Likewise.
8051 (cleanup_block_load_all, cleanup_block_store_pc): Likewise.
8052 (cleanup_block_load_pc, copy_block_xfer): Likewise.
8053 * arm-linux-tdep.c (arm_linux_copy_svc): Callers update.
8054 (arm_catch_kernel_helper_return): Likewise.
8055 * gdb/arm-tdep.h : Update function declarations.
8059 * dwarf2loc.c (indirect_pieced_value): Assert 'piece' not null.
8061 * ser-unix.c (hardwire_get_tty_state): Stop memory leak.
8063 * mi/mi-cmd-env.c (_initialize_mi_cmd_env): Free environment.
8065 * elfread.c (elf_symtab_read): Stop memory leak.
8067 * main.c (captured_main): Fix memory leak.
8071 * ada-lang.c (compare_names): Call is_name_suffix with string1
8076 * xcoffread.c (xcoff_sym_fns): Update.
8077 * symfile.h (struct sym_fns) <sym_read_psymbols>: New field.
8078 (enum symfile_add_flags) <SYMFILE_NO_READ>: New constant.
8079 * symfile.c (syms_from_objfile): Handle SYMFILE_NO_READ.
8080 (symbol_file_add_with_addrs_or_offsets): Likewise.
8081 (reread_symbols): Handle OBJF_PSYMTABS_READ.
8082 * somread.c (som_sym_fns): Update.
8083 * psymtab.h (require_partial_symbols): Declare.
8084 * psymtab.c (require_partial_symbols): New function.
8085 (ALL_OBJFILE_PSYMTABS_REQUIRED): New macro.
8086 (ALL_OBJFILE_PSYMTABS): Undef.
8087 (ALL_PSYMTABS): Move from psympriv.h.
8088 (lookup_partial_symtab, find_pc_sect_psymtab)
8089 (lookup_symbol_aux_psymtabs, relocate_psymtabs)
8090 (find_last_source_symtab_from_partial)
8091 (forget_cached_source_info_partial)
8092 (print_psymtab_stats_for_objfile, read_symtabs_for_function)
8093 (expand_partial_symbol_tables, read_psymtabs_with_filename)
8094 (map_symbol_names_psymtab, map_symbol_filenames_psymtab)
8095 (find_symbol_file_from_partial, map_matching_symbols_psymtab)
8096 (expand_symtabs_matching_via_partial, maintenance_info_psymtabs):
8097 Use ALL_OBJFILE_PSYMTABS_REQUIRED.
8098 * psympriv.h (ALL_PSYMTABS): Move to psymtab.c.
8099 * objfiles.h (OBJF_PSYMTABS_READ): New macro.
8100 * objfiles.c (objfile_has_partial_symbols): Handle lazily-read
8102 * mipsread.c (ecoff_sym_fns): Update.
8103 * machoread.c (macho_sym_fns): Update.
8104 * elfread.c (elf_symfile_read): Set up for lazy psymtab reading.
8105 (read_psyms): New function.
8106 (elf_sym_fns, elf_sym_fns_gdb_index): Update.
8107 (elf_sym_fns_lazy_psyms): New global.
8108 * dwarf2read.c (dwarf2_initialize_objfile): Don't call
8109 dwarf2_build_psymtabs.
8110 * dbxread.c (aout_sym_fns): Update.
8111 * coffread.c (coff_sym_fns): Update.
8115 * infrun.c (print_exited_reason): Include inferior id and pid in
8120 * target.h (struct target_ops) <to_has_execution>: Add ptid_t
8122 (target_has_execution_1): Update.
8123 (target_has_execution_current): Declare.
8124 (target_has_execution): Call target_has_execution_current.
8125 (default_child_has_execution): Update.
8126 * target.c (default_child_has_execution): Add 'the_ptid'
8128 (target_has_execution_1): Likewise.
8129 (target_has_execution_current): New function.
8130 (add_target): Update.
8131 (init_dummy_target): Update.
8132 * remote-m32r-sdi.c (m32r_has_execution): New function.
8133 (init_m32r_ops): Use it.
8134 * record.c (record_core_has_execution): Now static. Add
8135 'the_ptid' parameter.
8136 * inferior.c (have_live_inferiors): Don't save current thread.
8137 Use target_has_execution_1.
8141 * Makefile.in (aclocal_m4_deps): Remove gnulib/m4/memcmp.m4.
8145 * elfread.c (elf_symtab_read): Minor reformatting.
8149 * objc-lang.c (selectors_info): Minor reformatting.
8153 * ada-lang.c (compare_names): Add FALLTHROUGH comment.
8158 * ada-valprint.c (ada_val_print_array): Move the declaration of
8159 "byte_order" and "elttype" inside the block where these variables
8160 are actually used. Remove some special handling for the case
8161 where "elttype" and "eltlen" are null. Replace by a comment
8162 and a couple of assertion checks.
8166 * source.c (add_path): Replace semicolon at end of block.
8167 * dwarf2expr.c (execute_stack_op): Ditto.
8171 * bfin-tdep.c: Include sim-regno.h and gdb/sim-bfin.h.
8172 * configure.tgt (bfin-*-*linux*): Define gdb_sim.
8173 (bfin-*-*): Likewise.
8177 * dwarf2expr.c (execute_stack_op): Delete superfluous semicolon.
8178 * mdebugread.c (parse_symbol): Ditto.
8179 * parse.c (parse_exp_in_context): Ditto.
8180 * source.c (add_path): Ditto.
8181 * utils.c (gnu_debuglink_crc32): Ditto.
8182 * varobj.c (variable_language): Ditto.
8184 * linux-tdep.c (linux_get_siginfo_type): Stop memory leak.
8188 * linux-fork.c (inferior_call_waitptid): Fix copy/paste error.
8190 * symfile.c (simple_overlay_update): Check for null return value
8191 from lookup_minimal_symbol.
8193 * xml-syscall.c (syscall_start_syscall): Assert name is non null.
8197 * eval.c (parse_and_eval_address_1): Remove function.
8198 * linespec.c (decode_indirect): Call parse_to_comma_and_eval
8199 instead of parse_and_eval_address_1.
8200 * value.h (parse_and_eval_address_1): Remove prototype.
8204 * remote.c (putpkt_binary): Document that case stmt falls through.
8208 * breakpointc (print_it_typical): Move NULL check from here...
8209 (print_bp_stop_message): ... to here.
8213 * breakpoint.c (enable_command): Use break instead of continue,
8214 and fill in a missing break.
8215 (disable_command): Ditto.
8219 * inflow.c (terminal_init_inferior_with_pgrp): Copy ttystate.
8220 (terminal_save_ours): Remove misleading comment.
8221 (inflow_inferior_data_cleanup): Free ttystate.
8222 (inflow_inferior_exit): Likewise.
8223 (copy_terminal_info): Copy ttystate.
8225 * serial.c (serial_copy_tty_state): New function.
8226 * serial.h (serial_copy_tty_state): Add prototype.
8227 (struct serial_ops): Add copy_tty_state callback.
8228 * ser-base.c (ser_base_copy_tty_state): New function.
8229 * ser-base.h (ser_base_copy_tty_state): Add prototype.
8230 * ser-go32.c (dos_copy_tty_state): New function.
8231 (dos_ops): Install copy_tty_state callback.
8232 * ser-mingw.c (_initialize_ser_windows): Likewise.
8233 * ser-pipe.c (_initialize_ser_pipe): Likewise.
8234 * ser-unix.c (hardwire_copy_tty_state): New function.
8235 (_initialize_ser_hardwire): Install it.
8239 * breakpoint.c (create_breakpoint): Add missing break statement.
8241 Reverting this patch:
8242 * infcall.c (call_function_by_hand): Add break statements for lint.
8244 Reverting this patch:
8245 * cli/cli-script.c (script_from_file): Add break for lint.
8249 * solib.c (reload_shared_libraries_1): Close memory leak.
8254 * dwarf2read.c (process_psymtab_comp_unit): Handle case where
8259 * remote-fileio.c (remote_fileio_func_fstat): Initialize all
8260 fields of struct 'st' to zero.
8262 * tui/tui-winsource.c (tui_update_source_window_as_is): Initialize
8263 sal.pspace before calling set_current_source_symtab_and_line.
8267 * Makefile.in (configure-common): Remove. Let Makefile
8268 in dir common to rebuild itself.
8269 (common/Makefile): Likewise.
8273 * utils.c (parse_escape): Add i18n markup in error message.
8277 * gdb/arm-tdep.c (shifted_reg_val): Replace magic number 15 with
8279 (thumb_get_next_pc_raw, arm_get_next_pc_raw): Likewise.
8280 (displaced_write_reg, displaced_read_reg): Likewise.
8281 (copy_ldr_str_ldrb_strb, cleanup_block_load_all): Likewise.
8282 (cleanup_block_load_pc, copy_block_xfer): Likewise.
8283 (cleanup_branch): Replace magic number 14 and 15 with
8284 ARM_LR_REGNUM and ARM_PC_REGNUM respectively.
8288 * maint.c (maintenance_do_deprecate): No need to check for NULL.
8290 * cli/cli-script.c (script_from_file): Add break for lint.
8292 * mdebugread.c (parse_partial_symbols): Fix indent.
8294 * target-descriptions.c (tdesc_gdb_type): No need to call
8295 xstrdup, callee saves a copy.
8297 * printcmd.c (print_scalar_formatted): Use strncpy for safety.
8299 * infcall.c (call_function_by_hand): Add break statements for lint.
8301 * utils.c (parse_escape): Escape the escape char.
8303 * python/py-inferior.c (build_inferior_list): Error out if
8304 PyList_Append fails.
8305 (gdbpy_inferiors): Error out if build_inferior_list fails.
8307 * linux-nat.c (linux_nat_xfer_partial): Preserve errno around
8310 * record.c (record_restore): Move printf to before error return.
8314 * arm-tdep.h (struct displaced_step_closure): Add two new fields
8315 is_thumb and insn_size.
8316 * arm-tdep.c (displaced_read_reg): Adjust correct pipeline offset
8317 on both ARM and Thumb mode.
8318 (arm_process_displaced_insn): Set is_thumb and insn_size.
8319 (arm_displaced_init_closure): Handle both 16-bit and 32-bit.
8320 (arm_displaced_step_fixup): Likewise.
8324 * cli/cli-dump.c (dump_bfd_file): Check error return and warn.
8326 * jv-lang.c (evaluate_subexp_java): Conditional can't be true.
8328 * dwarf2read.c (dwarf2_compute_name): NAME cannot be null here.
8330 * cli/cli-dump.c (restore_binary_file): Validate ftell return value.
8332 * ada-lang.c (ada_make_symbol_completion_list): Replace malloc
8335 * ada-lang.c (aggregate_assign_others): Rename inner scope variable
8336 which shadows function parameter.
8338 * tracepoint.c (create_tsv_from_upload): Superfluous call
8339 to xstrdup. Callee already calls xstrdup.
8341 * linespec.c (decode_line_1): Remove unnecessary null check.
8343 * tracepoint.c (scope_info): Fix mem leak, remove underused
8346 * python/py-prettyprint.c (apply_val_pretty_printer): Remove
8347 superfluous null check.
8349 * std-regs.c (value_of_builtin_frame_pc_reg): Frame can't be null.
8350 (value_of_builtin_frame_fp_reg): Ditto.
8352 * event-top.c (display_gdb_prompt): Remove superfluous null check.
8354 * python/py-prettyprint.c (apply_val_pretty_printer): VAL may
8357 * linespec.c (decode_line_1): Check for null before dereference.
8359 * reverse.c (record_restore): Move null-check to before pointer
8362 * python/py-utils.c (gdbpy_obj_to_string): Delete unused variable.
8364 * objc-lang.c (selectors_info): Add explanitory comment.
8365 (classes_info): Ditto.
8369 * arm-linux-tdep.c (ARM_LDR_PC_SP_4): Add define.
8370 (arm_linux_restart_syscall_init): Handle both on-stack and in-kernel
8371 versions of the trampoline. Handle Thumb vs. ARM addresses.
8372 (arm_kernel_linux_restart_syscall_tramp_frame): New global.
8373 (arm_linux_init_abi): Install it.
8374 * arm-tdep.c (arm_psr_thumb_bit): Make global.
8375 * arm-tdep.c (arm_psr_thumb_bit): Add prototype.
8379 * ui-out.c (ui_out_field_core_addr): Make local char buffer
8380 a little bigger, to avoid possibility of an overflow.
8382 * breakpoint.c (breakpoint_adjustment_warning): Make local char
8383 buffers a little bigger, to avoid possibility of an overflow.
8385 * coffread.c (coff_getfilename): Add check to avoid overflow.
8387 * objc-lang.c (selectors_info): Add a small safety margin to
8389 (classes_info): Error out on too long REGEXP.
8391 * infrun.c (handle_inferior_event): Remove unused function call.
8393 * fork-child.c (fork_inferior): Remove ifdef'd code and
8396 * linux-thread-db.c (attach_thread): Discard unused value.
8398 * linux-nat.c (linux_handle_extended_wait): Delete unused variable.
8400 * remote.c (remote_get_noisy_reply): Discard unused value.
8401 (remote_vcont_resume): Ditto.
8402 (remote_stop_ns): Ditto.
8404 * linespec.c (decode_objc): Delete unused variable.
8406 * tui/tui-regs.c (tui_register_format): Delete unused variable.
8408 * dwarf2read.c (add_partial_symbol): Discard unused values.
8409 (read_base_type): Delete unused variable.
8411 * dbxread.c (read_dbx_symtab): Discard unused value.
8413 * eval.c (evaluate_subexp_standard): Delete unused variable,
8414 and discard unused values.
8416 * infcmd.c (_initialize_infcmd): Discard unused values.
8418 * stabsread.c (rs6000_builtin_type): Missing break statement.
8420 * dbxread.c (process_one_symbol): Discard unused value.
8422 * coffread.c (coff_end_symtab): Delete unused variable.
8424 * dwarf2read.c (dw2_get_file_names): Discard unused value.
8425 (dwarf2_add_typedef): Delete unused variable.
8426 (read_namespace): Ditto.
8427 (dwarf_decode_macros): Ditto.
8429 * m2-lang.c (evaluate_subexp_modula2): Discard unused variable.
8431 * opencl-lang.c (evaluate_subexp_opencl): Discard unused value.
8433 * p-valprint.c (pascal_val_print): Discard unused value.
8435 * utils.c (nquery): Call va_end before return;
8439 * proc-service.c (ps_plog): Call va_end before return.
8443 * python/python.c (gdbpy_value_cst): New global.
8444 (_initialize_python): Initialize it.
8445 * python/python-internal.h (gdbpy_value_cst): Declare.
8446 * python/py-value.c (convert_value_from_python): Use
8451 * python/py-cmd.c (cmdpy_init): Fix memory leak.
8453 * breakpoint.c (catch_syscall_completer): Free malloced list.
8455 * jv-lang.c (java_primitive_type_from_name): Add missing break.
8457 * opencl-lang.c (lval_func_check_validity): Rename inner variables.
8458 (lval_func_check_synthetic_pointer): Ditto.
8459 (lval_func_free_closure): Fix use-after-free.
8463 * psymtab.c (expand_partial_symbol_tables): Use
8464 ALL_OBJFILE_PSYMTABS.
8468 * objc-lang.c (selectors_info): Error on too long REGEXP.
8472 * python/py-param.c (set_parameter_value): Add missing
8475 * linux-record.c (record_linux_system_call): Add missing
8480 * breakpoint.c (print_one_breakpoint_location): Remove unused
8481 argument PRINT_ADDRESS_BITS. Update callers.
8482 (print_one_breakpoint): Likewise.
8486 * breakpoint.c (wrap_indent_at_field): New function.
8487 (print_breakpoint_location): Use it instead of WRAP_INDENT argument.
8488 Allocate ui_stream locally instead of using STB argument.
8489 (print_one_breakpoint_location): Update call.
8490 * ui-out.c (ui_out_query_field): New function.
8491 * ui-out.h (ui_out_query_field): Add prototype.
8496 * ada-exp.y (write_object_renaming): Add FALLTHROUGH comment.
8500 * objc-lang.c (selectors_info): Prevent string overrun.
8502 * tui/tui-stack.c (tui_get_function_from_frame): Fix off by one
8505 * symtab.c (rbreak_command): Move variable 'file_name' to
8508 * d-valprint.c (dynamic_array_type): Avoid shadowing a function
8509 param with a local variable of the same name.
8513 * value.c (value_from_history_ref): New function.
8514 * value.h (value_from_history_ref): Export.
8515 * cli/cli-utils.c (get_number_trailer): Use value_from_history_ref
8516 to parse value history references.
8517 * cli/cli-utils.h (get_number_trailer): Update comment.
8521 * inferior.c (detach_inferior_command): Use get_number_or_range.
8522 (kill_inferior_command): Ditto.
8523 (remove_inferior_command): Ditto.
8524 (initialize_inferiors): Make command names plural.
8525 Update help strings.
8529 * darwin-nat-info.c: Fix comment typo.
8530 * dwarf2expr.h: Ditto.
8531 * fbsd-nat.c: Ditto.
8532 * fbsd-nat.h: Ditto.
8533 * frame-unwind.h: Ditto.
8535 * hppa-hpux-tdep.c: Ditto.
8536 * i386-linux-nat.c: Ditto.
8537 * linux-nat.c: Ditto.
8538 * nbsd-nat.c: Ditto.
8539 * nbsd-nat.h: Ditto.
8540 * ppc-linux-tdep.c: Ditto.
8543 * tui/tui-winsource.c: Ditto.
8547 * breakpoint.c (reattach_breakpoints): Avoid resource leak (ui_file).
8549 * maint.c (maintenance_do_deprecate): Plug a memory leak.
8551 * dwarf2loc.c (insert_bits): Avoid shadowing a function param
8552 with a local variable of the same name.
8554 * i387-tdep.c (i387_supply_fxsave): Avoid shadowing a function
8555 param with a local variable of the same name.
8556 (i387_supply_xsave): Ditto.
8558 * linux-low.c (linux_nat_xfer_osdata): Rename local variable so
8559 that it does not shadow a function parameter.
8561 * i386-nat.c (i386_length_and_rw_bits): Document that case
8562 statement is meant to fall through.
8564 * expprint.c (dump_subexp_body_standard): Document that case
8565 statement is meant to fall through.
8567 * amd64-linux-tdep.c (amd64_linux_syscall_record): Delete
8568 dead if statement. Condition can't be false.
8572 * arm-tdep.c: Fix typos in comments.
8573 * bsd-uthread.c: Ditto.
8574 * completer.c: Ditto.
8576 * cp-namespace.c: Ditto.
8577 * cp-support.c: Ditto.
8578 * cris-tdep.c: Ditto.
8580 * dwarf2read.c: Ditto.
8582 * gdbtypes.h: Ditto.
8583 * inferior.h: Ditto.
8584 * mdebugread.c: Ditto.
8585 * mips-tdep.c: Ditto.
8586 * ppc-linux-nat.c: Ditto.
8587 * ppc-linux-tdep.c: Ditto.
8588 * printcmd.c: Ditto.
8589 * sol-thread.c: Ditto.
8590 * solib-frv.c: Ditto.
8592 * sparc64-tdep.c: Ditto.
8593 * spu-tdep.c: Ditto.
8594 * stabsread.c: Ditto.
8599 * python/py-block.c: Ditto.
8600 * python/py-symbol.c: Ditto.
8601 * python/py-symtab.c: Ditto.
8602 * python/py-value.c: Ditto.
8603 * tui/tui-win.c: Ditto.
8607 * inferior.c (print_inferior): Accept a string instead of an int
8608 for requested_inferiors, and use get_number_or_range to parse it.
8609 (info_inferiors_command): Pass args string to print_inferior.
8610 (initialize_inferiors): Change help string for info inferiors.
8611 * inferior.h (print_inferior): Export prototype change.
8615 * common/ax.def (invalid2): Set to 0x31.
8619 * dwarf2loc.c (disassemble_dwarf_expression) <DW_OP_breg[0-9]+>: Use
8621 (disassemble_dwarf_expression) <DW_OP_bregx>: Drop variable offset,
8623 (disassemble_dwarf_expression) <DW_OP_fbreg>: Use L and plongest.
8627 * Makefile.in (clean): Make clean should remove generated files
8628 observer.h and observer.inc.
8632 Revert the following patch (not approved yet):
8634 * Makefile.in (HFILES_NO_SRCDIR): Add printcmd.h.
8635 * ax-gdb.c (gen_printf_expr_callback): New function.
8636 * ax-gdb.h (gen_printf_expr_callback): Forward declare.
8637 * ax-general.c (ax_memcpy): New function.
8638 (ax_print): Handle "printf".
8640 * ax.h (ax_memcpy): Forward declare.
8641 * common/ax.def (invalid2): Removed.
8642 (printf): New entry.
8643 * printcmd.c (printcmd.h): New include.
8644 (string_printf): New function.
8645 (ui_printf): Removed.
8646 (printf_command): Remove static. Call string_printf.
8647 (eval_command): Call string_printf.
8648 * printcmd.h: New file.
8649 * tracepoint.c (validate_actionline,
8650 encode_actions_1): handle printf_command.
8654 * ax-general.c (ax_pick): Add missing newline.
8658 * breakpoint.c (breakpoint_1): Change first argument from an int
8659 to a char pointer, so that the function now accepts a list of
8660 breakpoints rather than just one. Use new function
8661 'number_is_in_list' to implement.
8662 (breakpoints_info): Pass char * instead of int to breakpoint_1.
8663 (watchpoints_info): Ditto.
8664 (tracepoints_info): Ditto.
8665 (maintenance_info_breakpoints): Ditto.
8666 (_initialize_breakpoint): Update help strings to reflect the fact
8667 that these functions can now take more than one argument.
8668 * cli/cli-utils.c (number_is_in_list): New function.
8669 * cli/cli-utils.h (number_is_in_list): Export.
8673 * memattr.c (mem_enable_command): Use get_number_or_range.
8674 (mem_disable_command): Ditto.
8675 (mem_delete_command): Ditto.
8676 (_initialize_mem): Tweak usage message to reflect multiple
8681 Add gdb.lookup_global_symbol python function.
8683 * python/py-symbol.c (gdbpy_lookup_global_symbol): New function.
8684 * python/python-internal.h (gdbpy_lookup_global_symbol): Declare it.
8685 * python/python.c (GdbMethods): Add entry for lookup_global_symbol.
8689 * language.c (language_class_name_from_physname): Rename
8690 'curr_language' argument to 'lang'; use in body.
8694 * cli/cli-utils.c (number_is_in_list): Check for zero return.
8698 * frame-unwind.h: Fix comment to mention the this frame, not the
8703 * symfile.c (auto_solib_limit): Remove.
8704 * symfile.h (auto_solib_limit): Remove.
8708 * Makefile.in (INSTALLED_LIBS): Delete. Update comment.
8712 * gdbthread.h (print_thread_info): Change prototype.
8713 * thread.c (print_thread_info): Accept char* instead of int for
8714 requested_threads argument. Use new function number_is_in_list
8715 to determine which threads to list.
8716 (info_threads_command): Pass char* to print_thread_info.
8717 * cli/cli-utils.c (number_is_in_list): New function.
8718 * cli/cli-utils.h (number_is_in_list): Export.
8719 * mi/mi-main.c (mi_cmd_thread_info): Pass char* to
8721 (print_one_inferior): Ditto.
8722 (mi_cmd_list_thread_groups): Ditto.
8726 * common/Makefile.in (CFLAGS): New.
8727 (COMPILE): Add $(CFLAGS).
8731 * breakpoint.c (catch_syscall_command_1): Fix typo.
8735 * reverse.c: Include cli-utils.h.
8736 * printcmd.c: Include cli-utils.h.
8737 (string_printf): Use skip_spaces.
8738 * cli/cli-utils.h: New file.
8739 * cli/cli-utils.c: New file.
8740 * cli/cli-dump.h (skip_spaces): Move to cli-utils.h.
8741 * cli/cli-dump.c (skip_spaces): Move to cli-utils.c.
8742 * breakpoint.h (get_number, get_number_or_range): Move to
8744 * breakpoint.c: Include cli-utils.h.
8745 (get_number_trailer, get_number, get_number_or_range)
8746 (ep_skip_leading_whitespace): Move to cli-utils.c.
8747 (create_breakpoint_sal, find_condition_and_thread)
8748 (decode_static_tracepoint_spec, watch_command_1)
8749 (watch_maybe_just_location, ep_parse_optional_if_clause)
8750 (catch_fork_command_1, catch_exec_command_1)
8751 (catch_syscall_command_1): Use skip_spaces, skip_to_space.
8752 * Makefile.in (SUBDIR_CLI_OBS): Add cli-utils.o.
8753 (SUBDIR_CLI_SRCS): Add cli-utils.c.
8754 (HFILES_NO_SRCDIR): Add cli-utils.h.
8755 (cli-utils.o): New target.
8759 * remote.c (remote_close): Reset INFERIOR_PTID to NULL_PTID
8760 before calling discard_all_inferiors.
8764 * opencl-lang.c (STRUCT_OCL_TYPE): Remove.
8765 (struct builtin_opencl_type): Remove.
8766 (builtin_opencl_type): Change return type to "struct type **".
8767 (lookup_opencl_vector_type): Update caller.
8768 (opencl_language_arch_info): Copy primitive type vector from gdbarch.
8769 (build_opencl_types): Install plain array of "struct type *"
8770 instead of "struct builtin_opencl_type".
8775 * arm-linux-nat.c: Include "observer.h" and "gdbthread.h".
8776 (PTRACE_GETHBPREGS, PTRACE_SETHBPREGS): Define.
8777 (struct arm_linux_hwbp_cap): New type.
8778 (arm_linux_get_hwbp_cap): New function.
8779 (arm_linux_get_hw_breakpoint_count): Likewise.
8780 (arm_linux_get_hw_watchpoint_count): Likewise.
8781 (arm_linux_can_use_hw_breakpoint): Likewise.
8782 (arm_hwbp_type): New type.
8783 (arm_hwbp_control_t): Likewise.
8784 (struct arm_linux_hw_breakpoint): Likewise.
8785 (struct arm_linux_thread_points): Likewise.
8786 (arm_threads): New global variable.
8787 (arm_linux_find_breakpoints_by_tid): New function.
8788 (arm_hwbp_control_initialize): Likewise.
8789 (arm_hwbp_control_is_enabled): Likewise.
8790 (arm_hwbp_control_disable): Likewise.
8791 (arm_linux_hw_breakpoint_initialize): Likewise.
8792 (arm_linux_get_hwbp_type): Likewise.
8793 (arm_linux_hw_watchpoint_initialize): Likewise.
8794 (arm_linux_hw_breakpoint_equal): Likewise.
8795 (arm_linux_insert_hw_breakpoint1): Likewise.
8796 (arm_linux_remove_hw_breakpoint1): Likewise.
8797 (arm_linux_insert_hw_breakpoint): Likewise.
8798 (arm_linux_remove_hw_breakpoint): Likewise.
8799 (arm_linux_region_ok_for_hw_watchpoint): Likewise.
8800 (arm_linux_insert_watchpoint): Likewise.
8801 (arm_linux_remove_watchpoint): Likewise.
8802 (arm_linux_stopped_data_address): Likewise.
8803 (arm_linux_stopped_by_watchpoint): Likewise.
8804 (arm_linux_watchpoint_addr_within_range): Likewise.
8805 (arm_linux_new_thread): Likewise.
8806 (arm_linux_thread_exit): Likewise.
8807 (_initialize_arm_linux_nat): Install hardware breakpoint/watchpoint
8808 related target callbacks. Register arm_linux_new_thread and
8809 arm_linux_thread_exit.
8810 * arm-tdep.h (arm_pc_is_thumb): Add prototype.
8811 * arm-tdep.c (arm_pc_is_thumb): Make global.
8812 (arm_gdbarch_init): Call set_gdbarch_have_nonsteppable_watchpoint.
8816 * breakpoint.c (update_watchpoint): Do not attempt to recreate
8817 per-frame locations while within a function epilogue.
8821 * ser-mingw.c (ser_windows_close): Reformat comment to better conform
8822 to GNU coding standards.
8826 Allow use of mingw native on Windows 95 OS.
8827 * ser-mingw.c (CancelIo): New macro for dynamically loaded DLL entry.
8828 (ser_windows_close): Only call CancelIo if function exists.
8829 (_initialize_ser_windows): Use LoadLirary/GetProcAddress
8830 to check for existence of CancelIo function in kernel32 DLL.
8834 * Makefile.in (HFILES_NO_SRCDIR): Add printcmd.h.
8835 * ax-gdb.c (gen_printf_expr_callback): New function.
8836 * ax-gdb.h (gen_printf_expr_callback): Forward declare.
8837 * ax-general.c (ax_memcpy): New function.
8838 (ax_print): Handle "printf".
8840 * ax.h (ax_memcpy): Forward declare.
8841 * common/ax.def (invalid2): Removed.
8842 (printf): New entry.
8843 * printcmd.c (printcmd.h): New include.
8844 (string_printf): New function.
8845 (ui_printf): Removed.
8846 (printf_command): Remove static. Call string_printf.
8847 (eval_command): Call string_printf.
8848 * printcmd.h: New file.
8849 * tracepoint.c (validate_actionline,
8850 encode_actions_1): handle printf_command.
8854 * reverse.c (delete_one_bookmark): Argument is now bookmark
8855 id rather than pointer to bookmark struct.
8856 (delete_bookmark_command): Use get_number_or_range.
8857 (goto_bookmark_command): Parse with get_number instead of strtoul.
8858 (bookmark_1): New function. Print info for one bookmark.
8859 (bookmarks_info): Use get_number_or_range and bookmark_1.
8863 * thread.c (info_threads_command): Re-implement using
8864 get_number_or_range.
8865 (thread_apply_command): Ditto.
8869 * common/ax.def: New file.
8870 * ax.h (enum agent_op): Use ax.def.
8871 * ax-general.c (aop_map): Use ax.def.
8875 * ax-general.c (aop_map): Add pick and rot.
8876 * dwarf2loc.c (compile_dwarf_to_ax) <DW_OP_over>: Reimplement.
8877 <DW_OP_rot>: Implement.
8878 * ax.h (enum agent_op) <aop_pick, aop_rot>: New constants.
8880 * ax-general.c (ax_pick): New function.
8884 * Makefile.in (HFILES_NO_SRCDIR): Don't mention ada-operator.inc.
8889 * cp-support.c (make_symbol_overload_list_namespace): Do not call
8890 make_symbol_overload_list_block with NULL BLOCK.
8891 * valarith.c (unop_user_defined_p): Resolve also TYPE_CODE_TYPEDEF.
8895 * breakpoint.c (get_number_trailer): No longer accept a NULL PP.
8896 * breakpoint.h (get_number_or_range): Declare.
8897 * printcmd.c (ALL_DISPLAYS): Declare.
8898 (delete_display): Reimplement taking a display pointer.
8899 (undisplay_command): Accept a range of displays to delete, using
8900 get_number_or_range.
8904 * c-valprint.c (c_val_print): Add embedded_offset to address
8905 for arrays of unspecified length.
8906 * p-valprint.c (pascal_val_print): Likewise.
8910 * gdb/arm-tdep.c (arm_displaced_step_copy_insn): Move code to ...
8911 (arm_process_displaced_insn): .. here. Remove parameter INSN.
8912 (thumb_process_displaced_insn): New.
8913 * gdb/arm-linux-tdep.c (arm_linux_displaced_step_copy_insn): Update
8914 call to arm_process_displaced_insn.
8915 * gdb/arm-tdep.h : Update declaration of arm_process_displaced_insn.
8919 * dwarf2loc.h (dwarf2_compile_expr_to_ax): Declare.
8920 * dwarf2loc.c (dwarf2_compile_expr_to_ax): Rename from
8921 compile_dwarf_to_ax. No longer static. Call
8922 dwarf2_compile_cfa_to_ax.
8923 (locexpr_tracepoint_var_ref): Update.
8924 (loclist_tracepoint_var_ref): Update.
8925 * dwarf2-frame.h (dwarf2_compile_cfa_to_ax): Declare.
8926 * dwarf2-frame.c (execute_cfa_program): Remove 'this_frame'
8927 argument; add 'gdbarch' and 'pc'.
8928 (dwarf2_compile_cfa_to_ax): New function.
8929 (dwarf2_frame_cache): Update.
8933 * ada-lang.c (ada_type_of_array): Fix the size of the array
8934 in the case of an unconstrained packed array.
8938 * common/Makefile.in: Add more targets for make.
8942 * dwarf2loc.c (unimplemented): Fix typo.
8946 * dwarf2loc.c (unimplemented): Handle unnamed opcodes.
8947 (compile_dwarf_to_ax) <default>: Use unimplemented.
8948 <DW_OP_deref>: Update.
8949 (disassemble_dwarf_expression): Update.
8950 * dwarf2read.c (dwarf_stack_op_name): Remove 'def' argument.
8951 (decode_locdesc): Update.
8952 * dwarf2expr.h (dwarf_stack_op_name): Update.
8956 * ax.h (struct aop_map) <name>: Now const.
8960 * ax-gdb.c.c (gen_expr) <UNOP_MEMVAL>: Handle value kinds other
8965 * infrun.c (get_displaced_step_closure_by_addr): New.
8966 * inferior.h: Declare it.
8967 * arm-tdep.c: (arm_pc_is_thumb): Call
8968 get_displaced_step_closure_by_addr. Adjust MEMADDR if it
8975 * tracepoint.c (memrange_sortmerge): Fix list A's end calculation.
8980 * value.c (value_contents_copy_raw): Extend describing comment.
8981 Assert that the destination contents we're overwriting are wholly
8983 (value_contents_copy): Extend describing comment.
8988 * value.c (value_available_contents_eq): Remove redundant local
8989 variables. Fix available contents comparision.
8990 * value.h (value_available_contents_eq): Extend describing
8995 * thread.c (info_threads_command): Add missing i18n markup and remove
9000 * breakpoint.c (longjmp_names): New variable.
9001 (struct breakpoint_objfile_data): New type.
9002 (breakpoint_objfile_key): New variable.
9003 (msym_not_found): New variable.
9004 (msym_not_found_p): New predicate.
9005 (get_breakpoint_objfile_data): New function.
9006 (create_overlay_event_breakpoint): Check per-objfile cache for
9008 (create_longjmp_master_breakpoint): Likewise.
9009 (create_std_terminate_master_breakpoint): Likewise.
9010 (create_exception_master_breakpoint): Likewise.
9011 (_initialize_breakpoint): Register per-objfile data key.
9015 * breakpoint.c ((create_overlay_event_breakpoint): Const-propagate
9017 (create_longjmp_master_breakpoint): Loop over longjmp names.
9018 (create_std_terminate_master_breakpoint): Const-propagate parameter
9020 (update_breakpoints_after_exec): Adjust.
9021 (breakpoint_re_set): Adjust.
9025 * thread.c (info_threads_command): Process arg as thread id,
9026 or list of thread ids.
9027 (thread_find_command): New command.
9028 (_initialize_thread): Document argument for info threads.
9029 Document 'thread find' command.
9030 * NEWS: Document new command "thread find".
9034 * Makefile.in (ACLOCAL_AMFLAGS): Add `-I ../config'.
9035 * aclocal.m4: Regenerated with aclocal-1.11.1.
9036 * common/configure: Regenerate with autoconf-2.64.
9040 * opencl-lang.c (build_opencl_types): Set the size of the built-in
9041 bool data type to a size of one byte.
9046 * target.c (memory_xfer_live_readonly_partial): Document where to
9047 look for interface description.
9052 * arm-tdep.c (copy_ldr_str_ldrb_strb): Replace PC with SP in
9053 order to store PC value on stack instead of text section.
9057 * rs6000-tdep.c (IS_EFP_PSEUDOREG): Use correct constant for
9058 the EFP register set size.
9059 (efpr_pseudo_register_read): Use regcache_raw_read_part to read
9060 data from the VMX register.
9061 (efpr_pseudo_register_write): Use regcache_raw_write_part to read
9062 and write data from/to the VMX register.
9066 * command.h (enum command_class): New class 'no_set_class', for
9067 "show" commands without a corresponding "set" command.
9068 * value.c (_initialize_values): Use 'no_set_class' for "show values".
9069 * copying.c (_initialize_copying): Ditto for "show copying" and
9071 * cli/cli-cmds.c (init_cli_cmds): Ditto for "show commands" and
9073 * cli/cli-setshow.c (cmd_show_list): Skip "show" commands for
9074 which there is no corresponding "set" command (eg. "show copying").
9079 * exec.c (section_table_available_memory): Change `len' parameter
9081 * exec.h (section_table_available_memory): Ditto.
9082 * value.h (read_value_memory): Rename the `offset' parameter to
9088 * memrange.c (compare_mem_ranges): Mention sort order in
9090 (normalize_mem_ranges): Add comment. Fix ra->length calculation.
9091 * tracepoint.c (traceframe_available_memory): Extend comment to
9092 mention what happens to RESULT when the target does not support
9098 * value.c (mark_value_bytes_unavailable): Fix indexing the `bef'
9103 * value.c (value_bits_valid, value_bits_synthetic_pointer):
9104 No longer handle NULL values.
9108 * exceptions.h (NOT_AVAILABLE_ERROR): New error.
9109 * value.c: Include "exceptions.h".
9110 (require_available): Throw NOT_AVAILABLE_ERROR instead of a
9112 * cp-abi.c: Include gdb_assert.h.
9113 (baseclass_offset): Add `embedded_offset' and `val' parameters.
9114 Assert the method is implemented. Wrap NOT_AVAILABLE_ERROR
9116 * cp-abi.h (baseclass_offset): Add `embedded_offset' and `val'
9117 parameters. No longer returns -1 on error.
9118 (struct cp_abi_ops) <baseclass_offset>: Add `embedded_offset' and
9120 * cp-valprint.c: Include exceptions.h.
9121 (cp_print_value): Handle NOT_AVAILABLE_ERROR errors when fetching
9122 the baseclass_offset. Handle unavailable base classes. Use
9123 val_print_invalid_address.
9124 * p-valprint.c: Include exceptions.h.
9125 (pascal_object_print_value): Handle NOT_AVAILABLE_ERROR errors
9126 when fetching the baseclass_offset. No longer expect
9127 baseclass_offset returning -1. Handle unavailable base classes.
9128 Use val_print_invalid_address.
9129 * valops.c (dynamic_cast_check_1): Rename `contents' parameter to
9130 `valaddr' parameter, and change its type to gdb_byte pointer. Add
9131 `embedded_offset' and `val' parameters. Adjust.
9132 (dynamic_cast_check_2): Rename `contents' parameter to `valaddr'
9133 parameter, and change its type to gdb_byte pointer. Add
9134 `embedded_offset' and `val' parameters. Adjust. No longer expect
9135 baseclass_offset returning -1.
9136 (value_dynamic_cast): Use value_contents_for_printing rather than
9137 value_contents. Adjust.
9138 (search_struct_field): No longer expect baseclass_offset returning
9140 (search_struct_method): If reading memory from the target is
9141 necessary, wrap it in a new value to pass to baseclass_offset. No
9142 longer expect baseclass_offset returning -1.
9143 (find_method_list): No longer expect baseclass_offset returning
9144 -1. Use value_contents_for_printing rather than value_contents.
9145 * valprint.c (val_print_invalid_address): New function.
9146 * valprint.h (val_print_invalid_address): Declare.
9147 * gdbtypes.c (is_unique_ancestor_worker): New `embedded_offset'
9148 and `val' parameters. No longer expect baseclass_offset returning
9150 * gnu-v2-abi.c: Include "exceptions.h".
9151 (gnuv2_baseclass_offset): Add `embedded_offset' and `val'
9152 parameters. Handle unavailable memory. Recurse through
9153 gnuv2_baseclass_offset directly, rather than through
9154 baseclass_offset. No longer returns -1 on not found, instead
9156 * gnu-v3-abi.c (gnuv3_baseclass_offset): Add `embedded_offset' and
9157 `val' parameters. Adjust.
9161 * tracepoint.c (memrange_sortmerge): Don't merge ranges that are
9162 almost but not quite adjacent.
9166 * value.h (value_entirely_available): Declare.
9167 * value.c (value_entirely_available): New function.
9168 * c-valprint.c (c_value_print): Don't try fetching the pointer's
9169 real type if the pointer is unavailable.
9173 * valops.c (value_repeat): Use read_value_memory instead of
9178 * value.h (value_contents_copy, value_contents_copy_raw): Declare.
9179 * value.c (value_contents_copy_raw, value_contents_copy): New
9181 (value_primitive_field): Use value_contents_copy_raw instead of
9183 * valops.c (value_fetch_lazy): Use value_contents_copy instead of
9185 (value_array, value_slice): Ditto.
9186 * valarith.c (value_subscripted_rvalue): Use
9187 value_contents_copy_raw instead of memcpy.
9191 <unavailable> references.
9193 * valops.c (get_value_at): Use value_from_contents_and_address,
9194 avoiding read_memory.
9198 * c-valprint.c (c_val_print): Print a string with unavailable
9199 contents as an array.
9203 * value.h (unpack_bits_as_long): Delete declaration.
9204 (unpack_value_bits_as_long): Declare.
9205 (unpack_value_field_as_long): Declare.
9206 (value_field_bitfield): Declare.
9207 * value.c (unpack_bits_as_long): Rename to...
9208 (unpack_value_bits_as_long_1): ... this. Add embedded_offset and
9209 value parameters. Return the extracted result in a new output
9210 parameter. If the value contents are unavailable, return false,
9211 otherwise return true.
9212 (unpack_value_bits_as_long): New.
9213 (unpack_field_as_long): Rename to...
9214 (unpack_value_field_as_long_1): ... this. Add embedded_offset and
9215 Add embedded_offset and value parameters. Return the extracted
9216 result in a new output parameter. If the value contents are
9217 unavailable, return false, otherwise return true.
9218 (unpack_value_field_as_long): New.
9219 (unpack_field_as_long_1): New.
9220 (unpack_field_as_long): Reimplement as wrapper around
9221 unpack_value_field_as_long_1.
9222 (value_field_bitfield): New function.
9223 * valops.c (value_fetch_lazy): When fetching a bitfield, use
9224 unpack_value_bits_as_long. Mark the value as unavailable, if it
9226 * jv-valprint.c (java_print_value_fields): Use
9227 value_field_bitfield.
9228 * p-valprint.c (pascal_object_print_value_fields): Use
9229 value_field_bitfield.
9230 * cp-valprint.c (cp_print_value_fields): Use value_field_bitfield.
9234 * value.c (get_internalvar_integer): Also return the int value of
9235 TYPE_CODE_INT INTERNALVAR_VALUE values.
9236 (set_internalvar): Don't special case TYPE_CODE_INT.
9240 * value.c (struct internalvar) <enum internalvar_kind>: Remove
9241 INTERNALVAR_POINTER.
9243 (value_of_internalvar): Remove INTERNALVAR_POINTER handling.
9244 (set_internalvar): Remove special TYPE_CODE_PTR handling.
9245 (preserve_one_internalvar): Remove INTERNALVAR_POINTER handling.
9249 * value.h (value_available_contents_eq): Declare.
9250 * value.c (find_first_range_overlap): New function.
9251 (value_available_contents_eq): New function.
9252 * valprint.c (val_print_array_elements): Use
9253 value_available_contents_eq.
9254 * ada-valprint.c (val_print_packed_array_elements): Use
9255 value_available_contents_eq.
9256 * jv-valprint.c (java_value_print): Use
9257 value_available_contents_eq.
9261 * target.c (target_read_live_memory): New function.
9262 (memory_xfer_live_readonly_partial): New.
9263 (memory_xfer_partial): If reading from a traceframe, fallback to
9264 reading unavailable read-only memory from read-only regions of
9266 * tracepoint.c (disconnect_tracing): Adjust.
9267 (set_current_traceframe): New, factored out from
9268 set_traceframe_number.
9269 (set_traceframe_number): Reimplement to only change the traceframe
9270 number on the GDB side.
9271 (do_restore_current_traceframe_cleanup): Adjust.
9272 (make_cleanup_restore_traceframe_number): New.
9273 (cur_traceframe_number): New global.
9274 (tfile_open): Set cur_traceframe_number to no traceframe.
9275 (set_tfile_traceframe): New function.
9276 (tfile_trace_find): If looking up a traceframe using any method
9277 other than by number, make sure the current tfile traceframe
9278 matches gdb's current traceframe. Update the current tfile
9279 traceframe if the lookup succeeded.
9280 (tfile_fetch_registers, tfile_xfer_partial)
9281 (tfile_get_trace_state_variable_value): Make sure the remote
9282 traceframe matches gdb's current traceframe.
9283 * remote.c (remote_traceframe_number): New global.
9284 (remote_open_1): Set it to -1.
9285 (set_remote_traceframe): New function.
9286 (remote_fetch_registers, remote_store_registers)
9287 (remote_xfer_memory, remote_xfer_partial)
9288 (remote_get_trace_state_variable_value): Make sure the remote
9289 traceframe matches gdb's current traceframe.
9290 (remote_trace_find): If looking up a traceframe using any method
9291 other than by number, make sure the current remote traceframe
9292 matches gdb's current traceframe. Update the current remote
9293 traceframe if the lookup succeeded.
9294 * infrun.c (fetch_inferior_event): Adjust.
9295 * tracepoint.h (set_current_traceframe): Declare.
9296 (get_traceframe_number, set_traceframe_number): Add describing
9301 Mark pieces of values as unavailable if the corresponding memory
9304 * valops.c: Include tracepoint.h.
9305 (value_fetch_lazy): Use read_value_memory.
9306 (read_value_memory): New.
9307 * value.h (read_value_memory): Declare.
9308 * dwarf2loc.c (read_pieced_value): Use read_value_memory.
9309 * exec.c (section_table_available_memory): New function.
9310 * exec.h (section_table_available_memory): Declare.
9314 * Makefile.in (SFILES): Add memrange.c.
9315 (HFILES_NO_SRCDIR): Add memrange.h.
9316 (COMMON_OBS): Add memrange.o.
9317 * memrange.c: New file.
9318 * memrange.h: New file.
9319 * tracepoint.c: Include memrange.h.
9320 (struct mem_range): Delete.
9321 (mem_range_s): Delete.
9322 (traceframe_available_memory): New function.
9323 * tracepoint.h (traceframe_available_memory): Declare.
9327 * target.h (struct traceframe_info): Forward declare.
9328 (enum target_object): Add TARGET_OBJECT_TRACEFRAME_INFO.
9329 (struct target_ops) <to_traceframe_info>: New field.
9330 (target_traceframe_info): New.
9331 * target.c (update_current_target): Inherit and default
9333 * remote.c (PACKET_qXfer_traceframe_info): New.
9334 (remote_protocol_features): Register qXfer:traceframe-info:read.
9335 (remote_xfer_partial): Handle TARGET_OBJECT_TRACEFRAME_INFO.
9336 (remote_traceframe_info): New.
9337 (init_remote_ops): Install it.
9338 (_initialize_remote): Install "set/show remote traceframe-info"
9340 * tracepoint.h (parse_traceframe_info): Declare.
9341 * tracepoint.c (struct mem_range): New.
9342 (mem_range_s): New typedef.
9343 (struct traceframe_info): New.
9344 (traceframe_info): New global.
9345 (free_traceframe_info): New function.
9346 (clear_traceframe_info): New function.
9347 (start_tracing, tfind_1, set_traceframe_number): Clear traceframe
9349 (build_traceframe_info): New function.
9350 (tfile_traceframe_info): New function.
9351 (init_tfile_ops): Install tfile_traceframe_info.
9352 (traceframe_info_start_memory, free_result): New functions.
9353 (memory_attributes, traceframe_info_elements): New globals.
9354 (parse_traceframe_info, get_traceframe_info): New functions.
9355 * features/traceframe-info.dtd: New file.
9356 * Makefile.in (XMLFILES): Add traceframe-info.dtd.
9360 Base support for <unavailable> value contents.
9362 * value.h (value_bytes_available): Declare.
9363 (mark_value_bytes_unavailable): Declare.
9364 * value.c (struct range): New struct.
9365 (range_s): New typedef.
9366 (ranges_overlap): New function.
9367 (range_lessthan): New function.
9368 (ranges_contain_p): New function.
9369 (struct value) <unavailable>: New field.
9370 (value_bytes_available): New function.
9371 (mark_value_bytes_unavailable): New function.
9372 (require_not_optimized_out): Constify parameter.
9373 (require_available): New function.
9374 (value_contents_all, value_contents): Require all bytes be
9376 (value_free): Free `unavailable'.
9377 (value_copy): Copy `unavailable'.
9378 * valprint.h (val_print_unavailable): Declare.
9379 * valprint.c (valprint_check_validity): Rename `offset' parameter
9380 to `embedded_offset'. If printing a scalar, check whether the
9381 value chunk is available.
9382 (val_print_unavailable): New.
9383 (val_print_scalar_formatted): Check whether the value is
9385 * python/py-prettyprint.c (apply_val_pretty_printer): Refuse
9386 pretty-printing unavailable values.
9390 Fix const/volatile qualifiers of C++ types, PR c++/12328.
9391 * c-typeprint.c (c_type_print_args): Update the function comment. New
9392 variable param_type, initialize it. Remove const/volatile qualifiers
9393 for language_cplus and !show_artificial. Use param_type.
9397 * symtab.c (find_pc_sect_line): New variable objfile, initialize it
9398 from S. Iterate S using ALL_OBJFILE_SYMTABS. Verify BV for each S.
9399 * symtab.h (struct symtab) <next>: Comment extension.
9403 * Makefile.in (CLEANDIRS): Remove duplicated common dir.
9407 * common/Makefile.in: Add copyright header.
9411 * infrun.c (proceed): Move switching out and in of tfind mode from
9413 (fetch_inferior_event): ... to here.
9417 * Makefile.in: Remove signals.o from COMMON_OBS. Link
9419 * configure.ac: Add common to sub dir.
9420 * configure: Regenerate.
9426 * common/Makefile.in: New.
9427 * common/configure.ac: New.
9428 * common/aclocal.m4: New.
9429 * common/configure: Generate.
9433 * vec.h (VEC_block_remove): Place VEC_ASSERT_INFO on the right
9434 side of the parenthesis.
9438 * vec.h (VEC_block_remove): Fix comment.
9442 * linux-nat.c (linux_nat_filter_event): Fix typo in comment.
9446 * i386-tdep.c (i386_process_record): Rename l suffixes to d suffixes
9447 in comments for pcmpgtd, pcmpeqd, psubd, paddd, pcmpgtd, pcmpeqd,
9453 * i386-tdep.c (i386_process_record) <0x660f3807>: Fix the comment to
9455 (i386_process_record) <lddqu>: Fix the opcode to 0xf20ff0.
9456 (i386_process_record) <0x0f3807>: Fix the comment to phsubsw.
9460 * dwarf2read.c (read_subroutine_type): Set special calling
9461 convention flag for functions compiled by IBM XL C for OpenCL.
9462 * ppc-sysv-tdep.c: Include "dwarf2.h"
9463 (ppc_sysv_abi_push_dummy_call): Implement IBM OpenCL vector types
9465 (do_ppc_sysv_return_value): Add FUNC_TYPE argument. Implement
9466 IBM OpenCL vector types calling convention.
9467 (ppc_sysv_abi_return_value): Pass through FUNC_TYPE.
9468 (ppc_sysv_abi_broken_return_value): Likewise.
9469 (ppc64_sysv_abi_push_dummy_call): Implement IBM OpenCL vector
9470 types calling convention.
9471 (ppc64_sysv_abi_return_value): Likewise.
9472 * spu-tdep.c: Include "dwarf2.h"
9473 (spu_return_value): Implement IBM OpenCL vector types calling
9478 * ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Implement
9479 correct ABI for AltiVec vector arguments.
9483 * valprint.c (val_print): Extend comment.
9484 * ada-valprint.c (ada_valprint): Rewrite comment deferring
9485 interface explanation to val_print.
9486 (ada_val_print_array): Adjust comment to current interface.
9487 (print_field_values): Adjust comment to current interface.
9488 * c-valprint.c (c_val_print): Rewrite comment deferring interface
9489 explanation to val_print.
9490 * f-valprint.c (f_val_print): Ditto.
9491 * jv-valprint.c (java_val_print): Ditto.
9492 * m2-valprint.c (m2_val_print): Ditto.
9493 * p-valprint.c (pascal_val_print): Ditto.
9497 * breakpoint.c (parse_breakpoint_sals): Fix description.
9502 * python/py-inferior.c (python_on_normal_stop): New function.
9503 (python_on_resume): New function.
9504 (python_inferior_exit): New function.
9505 (gdbpy_initialize_inferior): Add normal_stop, target_resumed, and
9506 inferior_exit observers.
9507 * python/py-evtregistry.c: New file.
9508 * python/py-threadevent.c : New file.
9509 * python/py-event.c: New file.
9510 * python/py-evts.c: New file.
9511 * python/py-continueevent.c: New file.
9512 * python/py-bpevent.c: New file.
9513 * python/py-signalevent.c: New file.
9514 * python/py-exetiedevent.c: New file.
9515 * python/py-breakpoint.c (gdbpy_breakpoint_from_bpstats): New function.
9516 Move struct breakpoint_object from here...
9517 * python/python-internal.h: ... to here.
9518 * python/py-event.h: New file.
9519 * python/py-events.h: New file.
9520 * Makefile.in (SUBDIR_PYTHON_OBS): Add py-breakpointstopevent.o,
9521 py-continueevent.o, py-event.o, py-eventregistry.o, py-events.o,
9522 py-exitedevent.o, py-signalstopevent.o, and py-stopevent.o.
9523 (SUBDIR_PYTHON_SRCS): Add py-breakpointstopevent.c,
9524 py-continueevent.c, py-event.c, py-eventregistry.c, py-events.c,
9525 py-exitedevent.c, py-signalstopevent.c, and py-stopevent.c.
9526 Add build rules for all the above.
9530 * dwarf2read.c (dwarf2_section_empty_p): New function.
9531 (dwarf2_read_section): Use dwarf2_section_empty_p.
9532 (dwarf2_section_size): New function.
9533 (dwarf2_get_section_info): Unconditionally read section.
9534 (dwarf2_read_index): Use dwarf2_section_empty_p.
9535 (partial_read_comp_unit_head): Use dwarf2_section_size.
9536 (dwarf2_symbol_mark_computed): Likewise.
9540 * NEWS: Add item for "catch syscall" on mips*-linux* targets.
9544 * mips-linux-tdep.c: Include xml-syscall.h.
9545 (mips_linux_get_syscall_number): New function.
9546 (mips_linux_init_abi): Add calls to
9547 mips_linux_get_syscall_number() and set_xml_syscall_file_name().
9548 * data-directory/Makefile.in (SYSCALLS_FILES): Add
9549 mips-o32-linux.xml, mips-n32-linux.xml and mips-n64-linux.xml
9550 * syscalls/mips-n32-linux.xml: New file.
9551 * syscalls/mips-n64-linux.xml: New file.
9552 * syscalls/mips-o32-linux.xml: New file.
9556 * dwarf2read.c (dwarf2_ranges_read): Skip empty range entries.
9557 Complain about inverted range entries.
9558 (dwarf2_record_block_ranges): Likewise.
9563 * breakpoint.c (update_watchpoint): Fix name of the
9564 update_global_location_list function.
9565 (print_one_breakpoint): Fix typo.
9566 (_initialize_breakpoint): Remove extra space in hbreak help
9568 * breakpoint.h (struct bp_location) <length>: Fix field
9573 * regcache.c (registers_changed_ptid): Don't explictly always
9574 clear `current_regcache'. Only clear current_thread_ptid and
9575 current_thread_arch when PTID matches. Only reinit the frame
9576 cache if PTID matches the current inferior_ptid. Move alloca(0)
9578 (registers_changed): ... here.
9582 * arm-tdep.c (arm_skip_stack_protector): Accept any symbol that
9583 starts with __stack_chk_guard as stack guard symbol.
9587 * disasm.c (compare_lines): Handle the end of sequence markers
9588 within the line table to better support disassembling over
9589 compilation unit boundaries.
9593 * arm-tdep.c (skip_prologue_function): Add GDBARCH and IS_THUMB
9594 arguments. Skip in-prologue calls to glibc __aeabi_read_tp
9595 implementation even if no symbols are available.
9596 (thumb_analyze_prologue): Update call to skip_prologue_function.
9597 (arm_analyze_prologue): Likewise.
9601 * arm-tdep.c: Include "observer.h".
9602 (arm_prologue_this_id): Use frame PC if get_frame_func returns 0.
9603 (arm_exidx_data_key): New static variable.
9604 (struct arm_exidx_entry, arm_exidx_entry_s): New data types.
9605 (struct arm_exidx_data): Likewise.
9606 (arm_exidx_data_free): New function.
9607 (arm_compare_exidx_entries): Likewise.
9608 (arm_obj_section_from_vma): Likewise.
9609 (arm_exidx_new_objfile): Likewise.
9610 (arm_find_exidx_entry): Likewise.
9611 (arm_exidx_fill_cache): Likewise.
9612 (arm_exidx_unwind_sniffer): Likewise.
9613 (arm_exidx_unwind): New global variable.
9614 (arm_gdbarch_init): Append unwinder arm_exidx_unwind.
9615 (_initialize_arm_tdep): Attach arm_exidx_new_objfile to new_objfile
9616 observer. Register arm_exidx_data_key as objfile data.
9620 * arm-tdep.c (arm_analyze_load_stack_chk_guard): Avoid build break
9621 due to accessing uninitialized variable. Fix indentation.
9625 * c-valprint.c (c_value_print): When doing virtual base pointer
9626 adjustment, create a new value with adjusted contents rather than
9627 changing the contents of the value being printed (and getting it
9632 * xml-support.c (xml_find_attribute): New.
9633 (xinclude_start_include): Use it.
9634 * xml-support.h (xml_find_attribute): Declare.
9635 * memory-map.c (memory_map_start_memory)
9636 (memory_map_start_property): Use xml_find_attribute.
9637 * osdata.c (osdata_start_osdata, osdata_start_column): Use
9639 * remote.c (start_thread): Use xml_find_attribute.
9640 * solib-target.c (library_list_start_segment)
9641 (library_list_start_section, library_list_start_library)
9642 (library_list_start_list): Use xml_find_attribute.
9643 * xml-tdesc.c (tdesc_start_target, tdesc_start_feature)
9644 (tdesc_start_union, tdesc_start_struct, tdesc_start_flags)
9645 (tdesc_start_field): Use xml_find_attribute.
9649 * opencl-lang.c (STRINGIFY): Rename to OCL_STRING.
9650 (BUILD_OCL_VTYPES): Update.
9654 * configure.ac: Work around non-GNU sed limitation when computing
9655 python version number.
9656 * configure: Regenerate.
9660 Fix debug printing of TYPE_INSTANCE.
9661 * expprint.c (print_subexp_standard) <TYPE_INSTANCE>: New.
9662 (dump_subexp_body_standard) <TYPE_INSTANCE>: New.
9666 Fix debug printing of BINOP_IN, OP_OBJC_MSGCALL,
9667 OP_F77_UNDETERMINED_ARGLIST, OP_COMPLEX, OP_OBJC_SELECTOR, OP_NAME,
9668 OP_OBJC_NSSTRING, OP_F90_RANGE and OP_DECFLOAT.
9669 * ada-operator.inc: Rename the file to ...
9670 * ada-operator.def: ... here, wrap all the entries by macro OP.
9671 * expprint.c (op_name_standard): Remove all the entries. Include
9672 "std-operator.def" instead.
9673 * expression.h (enum exp_opcode): Include "std-operator.def" and
9674 "ada-operator.def". Move all the entries ...
9675 * std-operator.def: ... here, wrap all the entries by macro OP.
9679 * breakpoint.h (remove_jit_event_breakpoints): New prototype.
9680 * breakpoint.c (remove_jit_event_breakpoints): New function.
9681 * jit.c (jit_descriptor_addr): Delete.
9682 (registering_code): Delete.
9683 (clear_int): Delete.
9684 (jit_inferior_data): New variable.
9685 (struct jit_inferior_data): New type.
9686 (get_jit_inferior_data): New function.
9687 (jit_inferior_data_cleanup): New function.
9688 (jit_read_descriptor): Adjust.
9689 (jit_register_code): Adjust.
9690 (jit_breakpoint_re_set_internal): New function; move code here ...
9691 (jit_inferior_init): ... from here.
9692 (jit_breakpoint_re_set): Adjust.
9693 (jit_reset_inferior_data_and_breakpoints): New function.
9694 (jit_inferior_created_observer): Adjust.
9695 (jit_inferior_exit_hook): Adjust.
9696 (jit_executable_changed_observer): New function.
9697 (jit_event_handler): Adjust.
9698 (_initialize_jit): Adjust.
9702 * m32r-tdep.c (m32r_gdbarch_init): Replace accidentally deleted
9708 * python/python.c (execute_gdb_command): Call
9709 prevent_dont_repeat.
9710 * top.c (suppress_dont_repeat): New global.
9711 (dont_repeat): Use it.
9712 (prevent_dont_repeat): New function.
9713 * command.h (prevent_dont_repeat): Declare.
9717 * infcmd.c (finish_backward): Use breakpoint_set_silent.
9718 * python/py-breakpoint.c (bppy_set_silent): Use
9719 breakpoint_set_silent.
9720 (bppy_set_thread): Use breakpoint_set_thread.
9721 (bppy_set_task): Use breakpoint_set_task.
9722 * breakpoint.h (breakpoint_set_silent, breakpoint_set_thread)
9723 (breakpoint_set_task): Declare.
9724 (make_breakpoint_silent): Remove.
9725 * breakpoint.c (breakpoint_set_silent): New function.
9726 (breakpoint_set_thread): Likewise.
9727 (breakpoint_set_task): Likewise.
9728 (make_breakpoint_silent): Remove.
9732 * breakpoint.h (user_breakpoint_p): Declare.
9733 * breakpoint.c (user_breakpoint_p): New function.
9734 (breakpoint_1): Use it.
9735 (save_breakpoints): Likewise.
9739 * configure.ac: Add handling of Python distribution on Windows.
9740 * python-config.py: If the LIBS, SYSLIBS, LIBPL and/or LINKFORSHARED
9741 sysconfig variables are not defined, then do not use them.
9742 On Windows, if LIBPL is not defined, then use prefix + '/libs'
9743 instead. On Windows, return all paths using forward-slashes
9744 rather than backslashes.
9748 * configure.ac: Remove fallback behavior for building
9749 against Python. Remove tweaking of Python include path.
9750 Add PYTHON_CPPFLAGS and PYTHON_LIBS substitution.
9751 (AC_TRY_LIBPYTHON): Adjust program used in linking test.
9752 If link is successful, set PYTHON_CPPFLAGS and PYTHON_LIBS.
9753 Always restore CPPFLAGS and LIBS after linking test.
9754 * configure: Regenerated.
9755 * Makefile.in (INTERNAL_CPPFLAGS): Add @PYTHON_CPPFLAGS@.
9756 (INSTALLED_LIBS, CLIBS): Add @PYTHON_LIBS@.
9757 * python/python-internal.h: Adjust includes of Python .h files.
9761 * tracepoint.c (traceframe_walk_blocks): Add missing i18n markup
9766 * inflow.c (gdb_has_a_terminal): Fix typo in interactive_mode
9771 * arm-linux-nat.c: Update calls to regcache_register_status
9772 instead of regcache_valid_p.
9773 * aix-thread.c: Likewise.
9774 * i386gnu-nat.c: Likewise.
9779 * valops.c (compare_parameters): Verify TYPE_NFIELDS before
9780 touching TYPE_FIELD_ARTIFICIAL.
9784 * MAINTAINERS: Move myself from Responsible Maintainers to Authorized
9789 * tracepoint.c (tfile_xfer_partial): If there's no traceframe
9790 selected, don't try iterating over the traceframe's blocks.
9791 (tfile_has_stack): If there's no traceframe selected, then there's
9793 (tfile_has_registers): If there's no traceframe selected, then
9794 there's no registers.
9798 * target.c (memory_xfer_partial): No need to restore shadows if we
9799 haven't read anything.
9803 * mips-tdep.c (mips_print_register): Use get_frame_register_value
9804 and val_print_scalar_formatted.
9808 * tracepoint.c (tfile_read): New.
9809 (tfile_open): Use it.
9810 (tfile_get_traceframe_address): Use it.
9811 (tfile_trace_find): Use it.
9812 (walk_blocks_callback_func): New typedef.
9813 (match_blocktype): New function.
9814 (traceframe_walk_blocks): New function.
9815 (traceframe_find_block_type): New function.
9816 (tfile_fetch_registers, tfile_xfer_partial)
9817 (tfile_get_trace_state_variable_value): Use
9818 traceframe_find_block_type and tfile_read.
9822 * remote-mips.c: Add internationalization mark ups. Remove
9823 trailing \n from already marked up strings.
9827 * python/py-prettyprint.c (print_string_repr): Clear
9828 'addressprint' option when calling val_print_string.
9829 (print_children): Handle Val_pretty_default. Clear 'addressprint'
9830 option when calling val_print_string.
9834 * python/python.c (gdbpy_solib_name): Use gdb_py_longest and
9836 * python/python-internal.h (GDB_PY_LL_ARG, GDB_PY_LLU_ARG): New
9838 (gdb_py_longest, gdb_py_ulongest): New typedefs.
9839 (gdb_py_long_from_longest, gdb_py_long_from_ulongest)
9840 (gdb_py_long_as_ulongest): New defines.
9841 (gdb_py_object_from_longest, gdb_py_object_from_ulongest)
9842 (gdb_py_int_as_long): Declare.
9843 * python/py-value.c (valpy_lazy_string): Use gdb_py_longest,
9844 GDB_PY_LL_ARG, gdb_py_object_from_longest.
9845 (valpy_long): Add comment.
9846 * python/py-utils.c (get_addr_from_python): Use
9847 gdb_py_long_as_ulongest. Handle overflow properly.
9848 (gdb_py_object_from_longest): New function.
9849 (gdb_py_object_from_ulongest): Likewise.
9850 (gdb_py_int_as_long): Likewise.
9851 * python/py-type.c (typy_array): Use gdb_py_int_as_long.
9852 * python/py-symtab.c (salpy_get_pc): Use
9853 gdb_py_long_from_ulongest.
9854 (salpy_get_line): Use PyInt_FromLong.
9855 * python/py-param.c (set_parameter_value): Use
9857 * python/py-lazy-string.c (stpy_get_address): Use
9858 gdb_py_long_from_ulongest.
9859 * python/py-frame.c (frapy_pc): Use gdb_py_long_from_ulongest.
9860 * python/py-cmd.c (cmdpy_completer): Use gdb_py_int_as_long.
9861 * python/py-breakpoint.c (bppy_set_thread): Use
9863 (bppy_set_task): Likewise.
9864 (bppy_set_ignore_count): Likewise.
9865 (bppy_set_hit_count): Likewise.
9866 * python/py-block.c (blpy_get_start): Use
9867 gdb_py_object_from_ulongest.
9868 (blpy_get_end): Likewise.
9869 (gdbpy_block_for_pc): Use gdb_py_ulongest and GDB_PY_LLU_ARG.
9874 * gdb/objfiles.h (struct objfile) <addr_low>: New field.
9875 * gdb/solib.c (solib_read_symbols): Check for addr_low in
9876 equality test for objfile, initialize addr_low if needed.
9880 * tui/tui-regs.c (tui_register_format): Remove dead code.
9884 * printcmd.c (print_formatted): Use val_print_scalar_formatted
9885 instead of print_scalar_formatted.
9886 (print_scalar_formatted): Don't handle 's' format strings here,
9887 and add an assertion that we never see such format here.
9888 * valprint.h (val_print_scalar_formatted): Declare.
9889 * valprint.c (val_print_scalar_formatted): New.
9890 * c-valprint.c (c_val_print): Use val_print_scalar_formatted
9891 instead of print_scalar_formatted.
9892 * jv-valprint.c (java_val_print): Ditto.
9893 * p-valprint.c (pascal_val_print): Ditto.
9894 * ada-valprint.c (ada_val_print_1): Ditto.
9895 * f-valprint.c (f_val_print): Ditto.
9896 * infcmd.c (registers_info): Ditto.
9897 * m2-valprint.c (m2_val_print): Ditto.
9901 * m2-valprint.c (print_unbounded_array): Pass
9902 value_contents_for_printing rather than value_contents, to
9903 m2_print_array_contents. Also pass in the value.
9907 * dwarf2read.c (dwarf2_read_index, write_psymtabs_to_index)
9908 (save_gdb_index_command): Switch to .gdb_index version 4.
9912 * mi/mi-main.c (get_register): Use get_frame_register_value rather
9913 than frame_register, and always pass a valid value to val_print.
9917 Centralize printing "<optimized out>".
9919 * valprint.h (val_print_optimized_out): Declare.
9920 * cp-valprint.c (cp_print_value_fields): Use
9921 val_print_optimized_out.
9922 * jv-valprint.c (java_print_value_fields): Ditto.
9923 * p-valprint.c (pascal_object_print_value_fields): Ditto.
9924 * printcmd.c (print_formatted): Ditto.
9925 * valprint.c (valprint_check_validity): Ditto.
9926 (value_check_printable): Ditto.
9927 (val_print_optimized_out): New.
9931 * infcmd.c (default_print_registers_info): Allocate values so to
9932 never pass a NULL value to val_print.
9936 * cp-valprint.c (cp_print_value): Treat the 'skip' local as
9937 boolean. Make sure to always pass a value that matches the
9938 contents buffer to callees. Preserve `address' for following
9940 * value.c (value_contents_for_printing_const): New.
9941 (value_address): Constify value argument.
9942 * value.h (value_contents_for_printing_const): Declare.
9943 (value_address): Constify value argument.
9947 * regcache.c (struct regcache_descr): Rename
9948 sizeof_raw_register_valid_p field to sizeof_raw_register_status,
9949 and sizeof_cooked_register_valid_p to
9950 sizeof_cooked_register_status.
9951 (init_regcache_descr): Adjust.
9952 (struct regcache): Rename register_valid_p field to
9954 (regcache_xmalloc_1, regcache_xfree, regcache_save)
9955 (do_cooked_read): Adjust.
9956 (regcache_valid_p): Rename to ...
9957 (regcache_register_status): ... this. Adjust.
9958 (regcache_invalidate): Adjust.
9959 (regcache_raw_read, regcache_cooked_read, regcache_raw_write):
9961 (regcache_raw_supply): Adjust. If buf i NULL, mark the register
9962 as unavailable, not valid.
9963 (regcache_dump): Adjust.
9964 * regcache.h (enum register_status): New.
9965 (regcache_register_status): Declare.
9966 (regcache_invalidate): Delete declaration.
9967 * corelow.c (get_core_registers): Adjust.
9968 * tracepoint.c (tfile_fetch_registers): Adjust.
9969 * trad-frame.c (REG_VALUE): Rename to ...
9970 (TF_REG_VALUE): ... this.
9971 (REG_UNKNOWN): Rename to ...
9972 (TF_REG_UNKNOWN): ... this.
9973 (trad_frame_set_value, trad_frame_set_unknown): Adjust.
9974 * mi/mi-main.c (register_changed_p): Adjust.
9978 * regcache.c (struct regcache_descr): Remove outdated comment.
9979 (init_regcache_descr): Remove sizeof_raw_register_valid_p
9981 (regcache_xmalloc): Rename to ...
9982 (regcache_xmalloc_1): ... this. Add `readonly_p' parameter.
9983 Allocate the regcache type accordingly.
9984 (regcache_xmalloc): New as wrapper around regcache_xmalloc_1.
9985 (regcache_xfree): Asser the source is also readonly. Copy sizeof
9986 cooked registers, not raw.
9987 (regcache_dup_no_passthrough): Delete.
9988 (get_thread_arch_regcache): Use regcache_xmalloc_1.
9989 * h8300-tdep.c (h8300_push_dummy_call): Tweak comment to not
9990 mention obsolete write_register_bytes.
9991 * regcache.h (regcache_dup_no_passthrough): Delete declaration.
9995 Stop remote_read_bytes from handling partial reads itself.
9997 * remote-fileio.c: Include target.h.
9998 (remote_fileio_write_bytes): Delete.
9999 (remote_fileio_func_open, remote_fileio_func_write)
10000 (remote_fileio_func_rename, remote_fileio_func_unlink): Use
10001 target_read_memory.
10002 (remote_fileio_func_stat): Use target_read_memory and
10003 target_write_memory.
10004 (remote_fileio_func_gettimeofday): Use target_write_memory.
10005 (remote_fileio_func_system): Use target_read_memory.
10006 * remote.c (remote_write_bytes): Make it static.
10007 (remote_read_bytes): Don't handle partial reads here.
10008 * remote.h (remote_read_bytes): Delete declaration.
10012 Simplify XML parsing a bit.
10014 * xml-support.h (gdb_xml_parse_quick): Declare.
10015 * xml-support.c (gdb_xml_create_parser_and_cleanup_1): Renamed
10016 from gdb_xml_create_parser_and_cleanup, and added `old_chain'
10018 (gdb_xml_create_parser_and_cleanup): Reimplement on top of
10019 gdb_xml_create_parser_and_cleanup_1.
10020 (gdb_xml_parse_quick): New.
10021 * memory-map.c (parse_memory_map): Use gdb_xml_parse_quick.
10022 * osdata.c (osdata_parse): Ditto.
10023 * remote.c (remote_threads_info): Ditto.
10024 * solib-target.c (solib_target_parse_libraries): Ditto.
10025 * xml-syscall.c (syscall_parse_xml): Ditto.
10026 * xml-tdesc.c (tdesc_parse_xml): Ditto.
10030 * configure.tgt (mips*-*-elf): New; just like mips*-*-*, but
10031 with remote-mips.o added to gdb_target_obs.
10032 * Makefile.in (ALL_TARGET_OBS): Add remote-mips.o.
10036 * ada-valprint.c (val_print_packed_array_elements): Pass the
10037 correct struct value to val_print.
10038 (ada_val_print_1): Ditto.
10042 Don't lose embedded_offset in printing routines throughout.
10044 * valprint.h (val_print_array_elements): Change prototype.
10045 * valprint.c (val_print_array_elements): Add `embedded_offset'
10046 parameter, and adjust to pass it down to val_print, while passing
10047 `valaddr' or `address' unmodified. Take embedded_offset into
10048 account when checking repetitions.
10049 * c-valprint.c (c_val_print): Pass embedded_offset to
10050 val_print_array_elements instead of adjusting `valaddr' and
10052 * m2-valprint.c (m2_print_array_contents, m2_val_print): Pass
10053 embedded_offset to val_print_array_elements instead of adjusting
10055 * p-lang.h (pascal_object_print_value_fields): Adjust prototype.
10056 * p-valprint.c (pascal_val_print): Pass embedded_offset to
10057 val_print_array_elements and pascal_object_print_value_fields
10058 instead of adjusting `valaddr'.
10059 (pascal_object_print_value_fields): Add `offset' parameter, and
10061 (pascal_object_print_value): Add `offset' parameter, and adjust to
10063 (pascal_object_print_static_field): Use
10064 value_contents_for_printing/value_embedded_offset, rather than
10066 * ada-valprint.c (val_print_packed_array_elements): Add `offset'
10067 parameter, and adjust to use it. Use
10068 value_contents_for_printing/value_embedded_offset, rather than
10070 (ada_val_print): Rename `valaddr0' parameter to `valaddr'.
10071 (ada_val_print_array): Add `offset' parameter, and adjust to use
10073 (ada_val_print_1): Rename `valaddr0' parameter to `valaddr', and
10074 `embedded_offset' to `offset'. Don't re-adjust `valaddr'.
10075 Instead work with offsets. Use
10076 value_contents_for_printing/value_embedded_offset, rather than
10077 value_contents. Change `defer_val_int' local type to CORE_ADDR,
10078 and use value_from_pointer to extract a target pointer, rather
10079 than value_from_longest.
10080 (print_variant_part): Add `offset' parameter. Replace
10081 `outer_valaddr' parameter by a new `outer_offset' parameter.
10082 Don't re-adjust `valaddr'. Instead pass down adjusted offsets.
10083 (ada_value_print): Use
10084 value_contents_for_printing/value_embedded_offset, rather than
10086 (print_record): Add `offset' parameter, and adjust to pass it
10088 (print_field_values): Add `offset' parameter. Replace
10089 `outer_valaddr' parameter by a new `outer_offset' parameter.
10090 Don't re-adjust `valaddr'. Instead pass down adjusted offsets.
10091 Use value_contents_for_printing/value_embedded_offset, rather than
10093 * d-valprint.c (dynamic_array_type): Use
10094 value_contents_for_printing/value_embedded_offset, rather than
10096 * jv-valprint.c (java_print_value_fields): Add `offset' parameter.
10097 Don't re-adjust `valaddr'. Instead pass down adjusted offsets.
10098 (java_print_value_fields): Take `offset' into account. Don't
10099 re-adjust `valaddr'. Instead pass down adjusted offsets.
10100 (java_val_print): Take `embedded_offset' into account. Pass it to
10101 java_print_value_fields.
10102 * f-valprint.c (f77_print_array_1): Add `embedded_offset'
10103 parameter. Don't re-adjust `valaddr' or `address'. Instead pass
10104 down adjusted offsets.
10105 (f77_print_array): Add `embedded_offset' parameter. Pass it down.
10106 (f_val_print): Take `embedded_offset' into account.
10110 * inflow.c: Include "gdbcmd.h".
10111 (interactive_mode): New static global, moved here from top.c.
10112 (show_interactive_mode): New function, moved here from top.c.
10113 use gdb_has_a_terminal instead of input_from_terminal_p to
10114 determine the current mode.
10115 (gdb_has_a_terminal): Add handling of the "iteractive-mode"
10117 (_initialize_inflow): Add the "set/show interactive-mode"
10118 commands. Moved here from top.c, after having adjusted slightly
10120 * top.c (interactive_mode, show_interactive_mode): Delete, moved
10122 (input_from_terminal_p): Remove handling of "interactive-mode"
10123 setting, moved to infow.c.
10124 (init_main): Remove creation of the "set/show interactive-mode"
10125 commands, moved to inflow.c.
10129 * NEWS: Add entry for native ia64-hpux support.
10134 * thread.c (free_thread): Free 'name'.
10135 (print_thread_info): Emit thread name. Change CLI output.
10136 (thread_name_command): New function.
10137 (do_captured_thread_select): Emit newline.
10138 (_initialize_thread): Register 'thread name' command.
10139 * target.h (struct target_ops) <to_thread_name>: New field.
10140 (target_thread_name): New macro.
10141 * target.c (update_current_target): Handle to_thread_name.
10142 * python/py-infthread.c (thpy_get_name): New function.
10143 (thpy_set_name): Likewise.
10144 (thread_object_getset): Add "name".
10145 * linux-nat.c (linux_nat_thread_name): New function.
10146 (linux_nat_add_target): Set to_thread_name.
10147 * gdbthread.h (struct thread_info) <name>: New field.
10151 * ada-valprint.c (ada_print_scalar): Remove unsigned char downcast.
10152 (ada_val_print_1): Likewise.
10156 * rs6000-tdep.c (rs6000_skip_prologue): Make sure that the prologue
10157 upper limit address is not greater than the function end address
10158 when the upper limit could not be computed using the debugging
10163 * cli/cli-cmds.c (apropos_command): Free the compiled regex. Use
10165 * utils.c: Include gdb_regex.h.
10166 (do_regfree_cleanup): New function.
10167 (make_regfree_cleanup): Likewise.
10168 (get_regcomp_error): Likewise.
10169 * gdb_regex.h (make_regfree_cleanup, get_regcomp_error): Declare.
10173 * cli/cli-cmds.c (apropos_command): Fix formatting. Don't call
10174 re_compile_fastmap.
10178 * p-exp.y (intvar): New static variable, used to set CURRENT_TYPE
10179 for internal variables.
10180 (last_was_structop): New static variable.
10181 (COMPLETE): New token.
10182 (field_exp): New rule to group all '.' suffix handling.
10183 Add mark_struct_expression calls when approriate to be able
10184 to correctly find fields for completion.
10185 (yylex): Adapt to handle field completion and set INTVAR when
10190 * arm-tdep.c (arm_register_reggroup_p): FPS register is in
10191 save_reggroup, restore_reggroup and all_reggroup.
10195 * ada-valprint. (ada_printchar): Use the correct type length
10196 in call to ada_emit_char.
10197 * c-valprint.c (c_val_print): Remove cast in call to LA_PRINT_CHAR.
10201 * solib-som.h (hpux_major_release): Declare variable here.
10202 * solib-som.c: Remove <sys/utsname.h> header.
10203 (DEFAULT_HPUX_MAJOR_RELEASE): New macro.
10204 (hpux_major_release): Make global, change default value to
10205 DEFAULT_HPUX_MAJOR_RELEASE.
10206 (get_hpux_major_release): Simply return HPUX_MAJOR_RELEASE.
10207 * hppa-hpux-nat.c: Add <sys/utsname.h> include.
10208 Add "solib-som.h" header.
10209 (set_hpux_major_release): New function.
10210 (_initialize_hppa_hpux_nat): Call set_hpux_major_release.
10214 * configure.tgt (*-*-uclinux*): Match more Linux os targets
10218 * ia64-hpux-nat.c (ia64_hpux_fetch_register): Remove trailing
10219 new-line at end of warning message.
10220 (ia64_hpux_store_register): Remove trailing new-line at end of
10222 * ia64-hpux-tdep.c: Rephrase comment.
10223 * solib-ia64-hpux.c (struct dld_info): Change type of field
10224 dld_flags from "long long" to ULONGEST.
10228 * target.h (deprecated_child_ops): Delete declaration.
10229 * target.c (deprecated_child_ops): Delete definition.
10233 * Makefile.in (hpux-thread.o): Delete rule.
10234 * configure.ac: Don't check for HPUX DCE threads support.
10235 * configure, config.in: Regenerate.
10236 * hppa-hpux-nat.c (child_suppress_run): Delete.
10237 (hppa_hpux_child_can_run): Delete.
10238 (_initialize_hppa_hpux_nat): Don't override to_can_run.
10239 * hpux-thread.c: Delete.
10243 * hpux-thread.c (hpux_pid_to_str): Delete.
10247 * ada-valprint.c (ada_emit_char): Remove strange code.
10248 Check that c is <= UCHAR_MAX before passing it to isascii.
10249 (char_at): Do not assume that TYPE_LEN is either 1 or 2.
10253 * top.c (input_from_terminal_p): Restrict the use of interactive_mode
10254 to the case where instream is stdin.
10258 * ia64-tdep.h (struct regcache): Forward declare.
10259 (struct ia64_infcall_ops): New struct type.
10260 (struct gdbarch_tdep): New fields "find_global_pointer_from_solib"
10262 * ia64-tdep.c (ia64_find_global_pointer_from_dynamic_section):
10263 Renames ia64_find_global_pointer.
10264 (ia64_find_global_pointer, ia64_allocate_new_rse_frame)
10265 (ia64_store_argument_in_slot, ia64_set_function_addr: New function.
10266 (ia64_push_dummy_call): Adjust to use the new tdep ia64_infocall_ops
10268 (ia64_infcall_ops): New static global constant.
10269 (ia64_gdbarch_init): Set tdep->infcall_ops.
10270 * ia64-hpux-nat.c (ia64_hpux_xfer_solib_got): New function.
10271 (ia64_hpux_xfer_partial): Add TARGET_OBJECT_HPUX_SOLIB_GOT handing.
10272 * ia64-hpux-tdep.c: Include "regcache.h", "gdbcore.h" and "inferior.h".
10273 (ia64_hpux_dummy_code): New static global constant.
10274 (ia64_hpux_push_dummy_code, ia64_hpux_allocate_new_rse_frame)
10275 (ia64_hpux_store_argument_in_slot, ia64_hpux_set_function_addr)
10276 (ia64_hpux_dummy_id, ia64_hpux_find_global_pointer_from_solib):
10278 (ia64_hpux_infcall_ops): New static global constant.
10279 (ia64_hpux_init_abi): Install gdbarch and tdep methods needed
10280 for inferior function calls to work properly on ia64-hpux.
10284 * target.h (enum target_object): Add TARGET_OBJECT_HPUX_UREGS.
10285 * ia64-tdep.h (struct frame_info): forward declaration.
10286 (struct gdbarch_tdep): Add field size_of_register_frame.
10287 * ia64-tdep.c (ia64_access_reg): Use tdep->size_of_register_frame
10288 to determine the size of the register frame.
10289 (ia64_size_of_register_frame): New function.
10290 (ia64_gdbarch_init): Set tdep->size_of_register_frame.
10291 * ia64-hpux-tdep.c: Include "target.h" and "frame.h".
10292 (IA64_HPUX_UREG_REASON): New macro.
10293 (ia64_hpux_stopped_in_syscall, ia64_hpux_size_of_register_frame):
10295 (ia64_hpux_init_abi): Set tdep->size_of_register_frame.
10296 * ia64-hpux-nat.c (ia64_hpux_xfer_uregs): New function.
10297 (ia64_hpux_xfer_partial): Add handling of TARGET_OBJECT_HPUX_UREGS
10302 Add support for ia64-hpux.
10303 * config/ia64/hpux.mh, ia64-hpux-nat.c, ia64-hpux-tdep.c,
10304 ia64-hpux-tdep.h, solib-ia64-hpux.c, solib-ia64-hpux.h: New files.
10306 * configure.host: Add handling for ia64-hpux hosts. Add associated
10308 * configure.tgt: Add handling for ia64-hpux targets.
10309 * Makefile.in (ALL_64_TARGET_OBS): Add ia64-hpux-tdep.o.
10310 (HFILES_NO_SRCDIR): Add ia64-hpux-tdep.h.
10311 (ALLDEPFILES): Add ia64-hpux-nat.c ia64-hpux-tdep.c.
10315 [ttrace] Compute thread list immediately after attach.
10316 * inf_ttrace_attach (inf_ttrace_create_threads_after_attach):
10318 (inf_ttrace_attach): Use it.
10322 * libunwind-frame.c (libunwind_frame_cache): Do not return NULL
10323 if we could not determine the frame's function address. Instead,
10324 use the frame's PC, and then continue.
10328 * libunwind-frame.c (__LITTLE_ENDIAN, __BIG_ENDIAN): Define if
10329 not already defined.
10333 * ia64-tdep.c (ia64_struct_type_p): New function.
10334 (ia64_extract_return_value): Handle integral values that are
10335 less than 8 bytes long.
10336 (ia64_push_dummy_call): Likewise.
10340 * ia64-tdep.c (floatformat_ia64_ext_little): Renames
10341 floatformat_ia64_ext.
10342 (floatformat_ia64_ext_big): New static const.
10343 (floatformats_ia64_ext): Set first entry to &floatformat_ia64_ext_big.
10347 * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Fix error
10349 * mi/mi-main.c (mi_cmd_thread_select): Fix error messages.
10350 (mi_cmd_thread_list_ids): Likewise.
10351 (mi_cmd_data_list_changed_registers): Likewise.
10352 (mi_cmd_data_list_register_values): Likewise.
10353 (mi_cmd_data_write_register_values): Likewise.
10354 (mi_cmd_data_evaluate_expression): Likewise.
10355 (mi_cmd_data_read_memory): Likewise.
10356 (mi_cmd_data_read_memory_bytes): Likewise.
10357 (mi_cmd_data_write_memory): Likewise.
10358 (mi_cmd_enable_timings): Likewise.
10359 * mi/mi-interp.c (mi_cmd_interpreter_exec): Fix error messages.
10360 * mi/mi-cmd-var.c (mi_cmd_var_create): Fix error messages.
10361 (mi_cmd_var_delete): Likewise.
10362 (mi_cmd_var_set_format): Likewise.
10363 (mi_cmd_var_show_format): Likewise.
10364 (mi_cmd_var_info_num_children): Likewise.
10365 (mi_cmd_var_list_children): Likewise.
10366 (mi_cmd_var_info_type): Likewise.
10367 (mi_cmd_var_info_expression): Likewise.
10368 (mi_cmd_var_show_attributes): Likewise.
10369 (mi_cmd_var_assign): Likewise.
10370 (mi_cmd_var_update): Likewise.
10371 (mi_cmd_enable_pretty_printing): Likewise.
10372 (mi_cmd_var_set_update_range): Likewise.
10373 * mi/mi-cmd-target.c (mi_cmd_target_file_get): Fix error
10375 (mi_cmd_target_file_put): Likewise.
10376 (mi_cmd_target_file_delete): Likewise.
10377 * mi/mi-cmd-stack.c (mi_cmd_stack_list_frames): Fix error
10379 (mi_cmd_stack_info_depth): Likewise.
10380 (mi_cmd_stack_list_locals): Likewise.
10381 (mi_cmd_stack_list_args): Likewise.
10382 (mi_cmd_stack_select_frame): Likewise.
10383 (mi_cmd_stack_select_frame): Likewise.
10384 (mi_cmd_stack_info_frame): Likewise.
10385 * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file): Fix error
10387 (mi_cmd_file_list_exec_source_files): Likewise.
10388 * mi/mi-cmd-env.c (mi_cmd_env_pwd): Fix error messages.
10389 (mi_cmd_env_cd): Likewise.
10390 (mi_cmd_env_path): Likewise.
10391 (mi_cmd_env_dir): Likewise.
10392 (mi_cmd_inferior_tty_show): Likewise.
10393 * mi/mi-cmd-disas.c (mi_cmd_disassemble): Fix error messages.
10394 * mi/mi-cmd-break.c (mi_cmd_break_insert): Fix error messages.
10395 (mi_cmd_break_watch): Likewise.
10399 * ppc-linux-nat.c (booke_cmp_hw_point): Fix whitespace.
10400 (ppc_linux_insert_hw_breakpoint): Likewise.
10401 (ppc_linux_remove_hw_breakpoint): Likewise.
10402 (ppc_linux_insert_watchpoint): Likewise.
10407 PR fortran/11104 and DWARF unbound arrays detection.
10408 * dwarf2read.c (read_subrange_type): Set zero length on unspecified
10409 upper bound. Set TYPE_HIGH_BOUND_UNDEFINED if not language_ada on
10410 unspecified upper bound.
10411 * eval.c (evaluate_subexp_standard) <multi_f77_subscript>: Remove
10412 variables array_size_array, tmp_type and offset_item. New variable
10413 array. Remove call to f77_get_upperbound. New variables array_type
10414 and index. Call value_subscripted_rvalue for each dimenasion. Remove
10415 the final call to deprecated_set_value_type.
10419 Make value allocations more lazy.
10420 * ada-lang.c (coerce_unspec_val_to_type): Use allocate_value_lazy
10421 instead of allocate_value and set_value_lazy when possible.
10422 * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use allocate_value_lazy
10423 instead of allocate_value and set_value_lazy.
10424 * findvar.c (value_of_register_lazy): Likewise.
10425 (read_var_value): Remove V preallocation, call just check_typedef in
10426 advance. Move allocate_value to LOC_CONST, LOC_LABEL,
10427 LOC_CONST_BYTES. Use allocate_value_lazy in LOC_STATIC, LOC_ARG,
10428 LOC_REF_ARG, LOC_LOCAL, LOC_BLOCK. Set ADDR instead of
10429 set_value_address and break in LOC_BLOCK. Use allocate_value_lazy and
10430 remove lval_memory set in LOC_REGPARM_ADDR. Use allocate_value_lazy
10431 in LOC_UNRESOLVED and LOC_OPTIMIZED_OUT. Add setting lval_memory at
10432 the end, remove set_value_lazy there.
10433 * valarith.c (value_subscripted_rvalue): Use allocate_value_lazy
10434 instead of allocate_value and set_value_lazy when possible.
10435 * valops.c (value_fetch_lazy): Do nop for value_optimized_out VAL.
10436 * value.c (allocate_computed_value): Use allocate_value_lazy instead
10437 of allocate_value and set_value_lazy.
10438 (value_from_contents_and_address): Use allocate_value_lazy instead of
10439 allocate_value and set_value_lazy when possible.
10443 * disasm.c (dump_insns): Support dumping opcodes for MI.
10444 * mi/mi-cmd-disas.c (mi_cmd_disassemble): Allow mode to control
10445 dumping of instruction opcodes.
10449 * configure.tgt: Detect GNU/kFreeBSD and set `gdb_osabi'
10454 * thread.c (do_captured_thread_select): Emit newline before
10459 * s390-tdep.c: Comment cleanup, mostly periods and spaces.
10460 * score-tdep.c: Ditto.
10461 * score-tdep.h: Ditto.
10462 * ser-base.c: Ditto.
10463 * ser-go32.c: Ditto.
10466 * ser-mingw.c: Ditto.
10467 * ser-pipe.c: Ditto.
10468 * ser-tcp.c: Ditto.
10469 * ser-unix.c: Ditto.
10470 * sh64-tdep.c: Ditto.
10471 * shnbsd-nat.c: Ditto.
10472 * sh-tdep.c: Ditto.
10473 * sh-tdep.h: Ditto.
10475 * solib-darwin.c: Ditto.
10476 * solib-frv.c: Ditto.
10478 * solib-irix.c: Ditto.
10479 * solib-osf.c: Ditto.
10480 * solib-pa64.c: Ditto.
10481 * solib-som.c: Ditto.
10482 * solib-spu.c: Ditto.
10483 * solib-sunos.c: Ditto.
10484 * solib-svr4.c: Ditto.
10486 * sol-thread.c: Ditto.
10487 * somread.c: Ditto.
10490 * sparc64-linux-tdep.c: Ditto.
10491 * sparc64-tdep.c: Ditto.
10492 * sparc-linux-nat.c: Ditto.
10493 * sparc-linux-tdep.c: Ditto.
10494 * sparc-sol2-nat.c: Ditto.
10495 * sparc-sol2-tdep.c: Ditto.
10496 * sparc-tdep.c: Ditto.
10497 * sparc-tdep.h: Ditto.
10498 * spu-tdep.c: Ditto.
10499 * stabsread.c: Ditto.
10500 * stabsread.h: Ditto.
10502 * symfile.c: Ditto.
10503 * symfile.h: Ditto.
10504 * symmisc.c: Ditto.
10508 * target-descriptions.c: Ditto.
10509 * target-descriptions.h: Ditto.
10511 * target-memory.c: Ditto.
10512 * terminal.h: Ditto.
10515 * tracepoint.c: Ditto.
10516 * tracepoint.h: Ditto.
10517 * trad-frame.h: Ditto.
10518 * typeprint.c: Ditto.
10522 * ui-file.c: Comment cleanup, mostly periods and spaces.
10523 * ui-file.h: Ditto.
10527 * v850-tdep.c: Ditto.
10528 * valarith.c: Ditto.
10530 * valprint.c: Ditto.
10531 * valprint.h: Ditto.
10536 * vax-tdep.c: Ditto.
10539 * version.h: Ditto.
10540 * windows-nat.c: Ditto.
10541 * windows-tdep.c: Ditto.
10542 * xcoffread.c: Ditto.
10543 * xcoffsolib.c: Ditto.
10544 * xml-support.c: Ditto.
10545 * xstormy16-tdep.c: Ditto.
10546 * xtensa-tdep.c: Ditto.
10547 * xtensa-tdep.h: Ditto.
10551 * breakpoint.c (resources_needed_watchpoint): Fix indentation.
10552 * gdbtypes.c (is_scalar_type_recursive): Fix formatting.
10557 Implement support for PowerPC BookE ranged watchpoints.
10559 (struct breakpoint_ops) <resources_needed>: New method.
10560 Initialize to NULL in all existing breakpoint_ops instances.
10561 (struct breakpoint) <exact>: New field.
10562 (target_exact_watchpoints): Declare external global.
10563 * breakpoint.c (target_exact_watchpoints): New global flag.
10564 (update_watchpoint): Set b->type to bp_hardware_watchpoint and
10565 b->enable_state to bp_enabled before calling
10566 hw_watchpoint_used_count.
10567 (hw_watchpoint_used_count): Iterate over all bp_locations in a
10568 watchpoint. Call breakpoint's breakpoint_ops.resources_needed
10570 (insert_watchpoint, remove_watchpoint): Use fixed length of 1 byte
10571 if the watchpoint is exact.
10572 (resources_needed_watchpoint): New function.
10573 (watchpoint_breakpoint_ops): Add resources_needed_watchpoint.
10574 (watch_command_1): Set b->exact if the user asked for an exact
10575 watchpoint and one can be set.
10576 (can_use_hardware_watchpoint): Add exact_watchpoints argument.
10577 Pass fixed length of 1 to target_region_ok_for_hw_watchpoint if
10578 the user asks for an exact watchpoint and one can be set. Return
10579 number of needed debug registers to watch the expression.
10580 * gdbtypes.c (is_scalar_type): New function, based on
10581 valprint.c:scalar_type_p.
10582 (is_scalar_type_recursive): New function.
10583 * gdbtypes.h (is_scalar_type_recursive): Declare.
10584 * ppc-linux-nat.c (ppc_linux_region_ok_for_hw_watchpoint): Always
10585 handle regions when ranged watchpoints are available.
10586 (create_watchpoint_request): New function.
10587 (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint): Use
10588 create_watchpoint_request.
10589 * rs6000-tdep.c (show_powerpc_exact_watchpoints): New function.
10590 (_initialize_rs6000_tdep): Add `exact-watchpoints' boolean to the
10591 `set powerpc' and `show powerpc' commands.
10592 * target.h (struct target_ops) <to_region_ok_for_hw_watchpoint>:
10593 Mention documentation comment in the target macro.
10594 (target_region_ok_for_hw_watchpoint): Document return value.
10598 * breakpoint.c (update_watchpoint): Decide on using a software or
10599 hardware watchpoint after the bp_locations are created.
10603 Convert hardware watchpoints to use breakpoint_ops.
10604 * breakpoint.h (breakpoint_ops) <insert>: Rename to...
10605 <insert_location>: ... this. Return int instead of void.
10606 Accept pointer to struct bp_location instead of pointer to
10607 struct breakpoint. Adapt all implementations.
10608 (breakpoint_ops) <remove>: Rename to...
10609 <remove_location>: ... this. Accept pointer to struct bp_location
10610 instead of pointer to struct breakpoint. Adapt all implementations.
10611 * breakpoint.c (insert_catchpoint): Delete function.
10612 (insert_bp_location): Call the watchpoint or catchpoint's
10613 breakpoint_ops.insert method.
10614 (remove_breakpoint_1): Call the watchpoint or catchpoint's
10615 breakpoint_ops.remove method.
10616 (insert_watchpoint, remove_watchpoint): New functions.
10617 (watchpoint_breakpoint_ops): New structure.
10618 (watch_command_1): Initialize the OPS field.
10619 * inf-child.c (inf_child_insert_fork_catchpoint)
10620 (inf_child_remove_fork_catchpoint, inf_child_insert_vfork_catchpoint)
10621 (inf_child_remove_vfork_catchpoint, inf_child_insert_exec_catchpoint)
10622 (inf_child_remove_exec_catchpoint, inf_child_set_syscall_catchpoint):
10624 (inf_child_target): Remove initialization of to_insert_fork_catchpoint,
10625 to_remove_fork_catchpoint, to_insert_vfork_catchpoint,
10626 to_remove_vfork_catchpoint, to_insert_exec_catchpoint,
10627 to_remove_exec_catchpoint and to_set_syscall_catchpoint.
10628 * target.c (update_current_target): Change default implementation of
10629 to_insert_fork_catchpoint, to_remove_fork_catchpoint,
10630 to_insert_vfork_catchpoint, to_remove_vfork_catchpoint,
10631 to_insert_exec_catchpoint, to_remove_exec_catchpoint and
10632 to_set_syscall_catchpoint to return_one.
10633 (debug_to_insert_fork_catchpoint, debug_to_insert_vfork_catchpoint)
10634 (debug_to_insert_exec_catchpoint): Report return value.
10635 * target.h (to_insert_fork_catchpoint, to_insert_vfork_catchpoint)
10636 (to_insert_exec_catchpoint): Change declaration to return int instead
10641 * arm-tdep.c: Internationalization.
10643 * charset.c: Ditto.
10644 * fork-child.c: Ditto.
10645 * nto-procfs.c: Ditto.
10646 * ppc-sysv-tdep.c: Ditto.
10648 * remote-mips.c: Ditto.
10650 * rs6000-nat.c: Ditto.
10651 * rs6000-tdep.c: Ditto.
10655 * xml-support.c: Ditto.
10656 * mi/mi-cmd-break.c: Ditto.
10657 * mi/mi-cmd-var.c: Ditto.
10658 * mi/mi-interp.c: Ditto.
10659 * mi/mi-main.c: Ditto.
10663 * remote-sim.c (gdbsim_store_register): Update API to
10664 sim_store_register to check more error conditions.
10668 * nto-procfs.c: Comment cleanup, mostly periods and spaces.
10669 * nto-tdep.c: Ditto.
10670 * nto-tdep.h: Ditto.
10671 * objc-exp.y: Ditto.
10672 * objc-lang.c: Ditto.
10673 * objfiles.c: Ditto.
10674 * objfiles.h: Ditto.
10675 * observer.c: Ditto.
10676 * opencl-lang.c: Ditto.
10679 * parser-defs.h: Ditto.
10682 * posix-hdep.c: Ditto.
10683 * ppcbug-rom.c: Ditto.
10684 * ppc-linux-nat.c: Ditto.
10685 * ppc-linux-tdep.c: Ditto.
10686 * ppc-linux-tdep.h: Ditto.
10687 * ppcnbsd-tdep.c: Ditto.
10688 * ppcobsd-tdep.c: Ditto.
10689 * ppcobsd-tdep.h: Ditto.
10690 * ppc-sysv-tdep.c: Ditto.
10691 * ppc-tdep.h: Ditto.
10692 * printcmd.c: Ditto.
10693 * proc-abi.c: Ditto.
10694 * proc-flags.c: Ditto.
10696 * proc-utils.h: Ditto.
10697 * progspace.h: Ditto.
10698 * prologue-value.c: Ditto.
10699 * prologue-value.h: Ditto.
10700 * psympriv.h: Ditto.
10701 * psymtab.c: Ditto.
10702 * p-typeprint.c: Ditto.
10703 * p-valprint.c: Ditto.
10704 * ravenscar-sparc-thread.c: Ditto.
10705 * ravenscar-thread.c: Ditto.
10706 * ravenscar-thread.h: Ditto.
10708 * regcache.c: Ditto.
10709 * regcache.h: Ditto.
10711 * remote-fileio.c: Ditto.
10712 * remote-fileio.h: Ditto.
10714 * remote-m32r-sdi.c: Ditto.
10715 * remote-mips.c: Ditto.
10716 * remote-sim.c: Ditto.
10717 * rs6000-aix-tdep.c: Ditto.
10718 * rs6000-nat.c: Ditto.
10719 * rs6000-tdep.c: Ditto.
10723 * charset.c (validate): Internationalization.
10724 * coffread.c (read_one_sym): Ditto.
10725 * dwarf2read.c (dwarf2_attach_fields_to_type): Ditto.
10726 * h8300-tdep.c (H8300_extract_return_value): Ditto.
10727 * inflow.c (new_tty): Ditto.
10728 * iq2000-tdep.c (iq2000_breakpoint_from_pc): Ditto.
10729 * m32c-tdep.c (m32c_return_value): Ditto.
10730 * mep-tdep.c (mep_store_return_value): Ditto.
10731 * score-tdep.c (score7_fetch_insn): Ditto.
10732 * ser-mingw.c (pipe_windows_open): Ditto.
10733 * sh64-tdep.c (sh64_extract_return_value): Ditto.
10734 * spu-tdep.c (spu_register_type): Ditto.
10735 * tracepoint.c (trace_find_command): Ditto.
10736 * valarith.c (value_pos): Ditto.
10740 * ada-valprint.c (printstr): Minor comment reformatting.
10744 * m32r-rom.c (m32r_upload_command): Fix up ARI warnings for _
10749 * h8300-tdep.c: Comment cleanup, mostly periods and spaces.
10750 * hppa-hpux-tdep.c: Ditto.
10751 * hppa-linux-nat.c: Ditto.
10752 * hppa-linux-tdep.c: Ditto.
10753 * hppanbsd-tdep.c: Ditto.
10754 * hppa-tdep.c: Ditto.
10755 * hppa-tdep.h: Ditto.
10756 * hpux-thread.c: Ditto.
10757 * i386-cygwin-tdep.c: Ditto.
10758 * i386-darwin-nat.c: Ditto.
10759 * i386gnu-nat.c: Ditto.
10760 * i386-linux-nat.c: Ditto.
10761 * i386-linux-tdep.c: Ditto.
10762 * i386-nat.c: Ditto.
10763 * i386-nat.h: Ditto.
10764 * i386nbsd-tdep.c: Ditto.
10765 * i386-sol2-nat.c: Ditto.
10766 * i386-stub.c: Ditto.
10767 * i386-tdep.c: Ditto.
10768 * i386-tdep.h: Ditto.
10769 * i387-tdep.c: Ditto.
10770 * ia64-linux-nat.c: Ditto.
10771 * ia64-linux-tdep.c: Ditto.
10772 * ia64-tdep.c: Ditto.
10773 * infcall.c: Ditto.
10774 * infcall.h: Ditto.
10776 * inferior.c: Ditto.
10777 * inferior.h: Ditto.
10778 * infloop.c: Ditto.
10781 * interps.c: Ditto.
10782 * interps.h: Ditto.
10783 * iq2000-tdep.c: Ditto.
10784 * irix5-nat.c: Ditto.
10788 * jv-lang.c: Ditto.
10789 * jv-lang.h: Ditto.
10790 * jv-typeprint.c: Ditto.
10791 * jv-valprint.c: Ditto.
10792 * language.c: Ditto.
10793 * language.h: Ditto.
10794 * linespec.c: Ditto.
10795 * linux-fork.c: Ditto.
10796 * linux-nat.c: Ditto.
10797 * linux-thread-db.c: Ditto.
10798 * lm32-tdep.c: Ditto.
10802 * m2-exp.y: Comment cleanup, mostly periods and spaces.
10803 * m2-lang.c: Ditto.
10804 * m2-typeprint.c: Ditto.
10805 * m2-valprint.c: Ditto.
10806 * m32c-tdep.c: Ditto.
10807 * m32r-linux-nat.c: Ditto.
10808 * m32r-rom.c: Ditto.
10809 * m32r-tdep.c: Ditto.
10810 * m32r-tdep.h: Ditto.
10811 * m68hc11-tdep.c: Ditto.
10812 * m58klinux-nat.c: Ditto.
10813 * m68k-tdep.c: Ditto.
10814 * m88k-tdep.c: Ditto.
10815 * m88k-tdep.h: Ditto.
10816 * machoread.c: Ditto.
10817 * macrocmd.c: Ditto.
10818 * macroexp.c: Ditto.
10819 * macrotab.c: Ditto.
10822 * mdebugread.c: Ditto.
10823 * mdebugread.h: Ditto.
10824 * memattr.c: Ditto.
10825 * memattr.h: Ditto.
10826 * memory-map.h: Ditto.
10827 * mep-tdep.c: Ditto.
10828 * microblaze-rom.c: Ditto.
10829 * microblaze-tdep.c: Ditto.
10830 * minsyms.c: Ditto.
10831 * mips-irix-tdep.c: Ditto.
10832 * mips-linux-nat.c: Ditto.
10833 * mips-linux-tdep.c: Ditto.
10834 * mips-linux-tdep.h: Ditto.
10835 * mipsnbsd-nat.c: Ditto.
10836 * mipsnbsd-tdep.c: Ditto.
10837 * mipsread.c: Ditto.
10838 * mips-tdep.c: Ditto.
10839 * mips-tdep.h: Ditto.
10840 * mn10300-linux-tdep.c: Ditto.
10841 * mn10300-tdep.c: Ditto.
10842 * mn10300-tdep.h: Ditto.
10843 * monitor.c: Ditto.
10844 * monitor.h: Ditto.
10845 * moxie-tdep.c: Ditto.
10846 * moxie-tdep.h: Ditto.
10847 * mt-tdep.c: Ditto.
10851 * bfin-tdep.h (BFIN_A0_DOT_W_REGNUM): Fix typo in name.
10855 * fbsd-nat.c (fbsd_find_memory_regions): Fix typo.
10859 * charset.c (_initialize_charset): Fix typo in string.
10863 * mi/mi-cmd-disas.c (mi_cmd_disassemble): Mark up error message
10865 * tui/tui-layout.c (tui_set_layout_for_display_command):
10866 Split line so that operator goes to beginning of line.
10867 * tui/tui-winsource.c (tui_horizontal_source_scroll): Move
10868 assignment out of if statement.
10872 * ada-lang.c: Comment cleanup, mostly periods and spaces.
10873 * ada-lang.h: Ditto.
10874 * ada-tasks.c: Ditto.
10875 * ada-valprint.c: Ditto.
10876 * aix-threads.c: Ditto.
10877 * alpha-linux-nat.c: Ditto.
10878 * alpha-linux-tdep.c: Ditto.
10879 * alpha-mdebug-tdep.c: Ditto.
10880 * alpha-nat.c: Ditto.
10881 * alpha-osf1-tdep.c: Ditto.
10882 * alpha-tdep.c: Ditto.
10883 * alphabsd-nat.c: Ditto.
10884 * alphabsd-tdep.c: Ditto.
10885 * amd64-darwin-tdep.c: Ditto.
10886 * amd64-linux-nat.c: Ditto.
10887 * amd64-linux-tdep.c: Ditto.
10888 * amd64-sol2-tdep.c: Ditto.
10889 * amd64-tdep.c: Ditto.
10890 * amd64-fbsd-tdep.c: Ditto.
10891 * amd64-nbsd-tdep.c: Ditto.
10892 * amd64-obsd-tdep.c: Ditto.
10893 * amd64-linux-nat.c: Ditto.
10894 * amd64-linux-tdep.c: Ditto.
10895 * arm-tdep.c: Ditto.
10896 * arm-tdep.h: Ditto.
10897 * armnbsd-nat.c: Ditto.
10898 * avr-tdep.c: Ditto.
10899 * bfin-tdep.c: Ditto.
10900 * bsd-kvm.c: Ditto.
10901 * c-typeprintc: Ditto.
10902 * c-valprint.c: Ditto.
10903 * coff-pe-read.h: Ditto.
10904 * coffreead.c: Ditto.
10905 * cris-tdep.c: Ditto.
10907 * darwin-nat-info.c: Ditto.
10908 * darwin-nat.c: Ditto.
10909 * dbug-rom.c: Ditto.
10910 * dbxread.c: Ditto.
10913 * dec-thread.c: Ditto.
10915 * demangle.c: Ditto.
10916 * dicos-tdep.c: Ditto.
10917 * dictionary.c: Ditto.
10918 * dictionary.h: Ditto.
10919 * dink32-rom.c: Ditto.
10921 * doublest.c: Ditto.
10923 * dummy-frame.c: Ditto.
10924 * dwarf2-frame.c: Ditto.
10925 * dwarf2expr.c: Ditto.
10926 * dwarf2loc.c: Ditto.
10927 * dwarf2read.c: Ditto.
10928 * elfread.c: Ditto.
10929 * environ.c: Ditto.
10931 * event-top.h: Ditto.
10932 * exceptions.c: Ditto.
10933 * exceptions.h: Ditto.
10935 * expprint.c: Ditto.
10936 * expression.h: Ditto.
10940 * f-typeprint.c: Ditto.
10941 * f-valprint.c: Ditto.
10942 * fbsd-nat.c: Ditto.
10943 * findvar.c: Ditto.
10944 * fork-child.c: Ditto.
10947 * frv-linux-tdep.c: Ditto.
10948 * frv-tdep.c: Ditto.
10950 * gdb-stabs.h: Ditto.
10951 * gdb_assert.h: Ditto.
10952 * gdb_string.h: Ditto.
10953 * gdb_thread_db.h: Ditto.
10954 * gdb_wait.h: Ditto.
10955 * gdbarch.sh: Ditto.
10956 * gdbcore.h: Ditto.
10957 * gdbthread.h: Ditto.
10958 * gdbtypes.c: Ditto.
10959 * gdbtypes.h: Ditto.
10960 * gnu-nat.c: Ditto.
10961 * gnu-nat.h: Ditto.
10962 * gnu-v2-abi.c: Ditto.
10963 * gnu-v3-abi.c: Ditto.
10964 * go32-nat.c: Ditto.
10965 * gdbarch.c: Regenerate.
10966 * gdbarch.h: Regenerate.
10970 * ax-gdb.c: Adjust some long output strings.
10971 * breakpoint.c: Ditto.
10972 * charset.c: Ditto.
10974 * infcall.c: Ditto.
10976 * linux-nat.c: Ditto.
10977 * solib-pa64.c: Ditto.
10978 * solib-som.c: Ditto.
10984 * python/python.c (GdbMethods): Add "newest_frame" method.
10985 * python/python-internal.h (gdbpy_newest_frame): Declare.
10986 * python/py-frame.c (gdbpy_newest_frame): New function.
10990 * jit.h (struct jit_code_entry): use ULONGEST for symfile_size.
10991 * jit.c (jit_debug): New variable.
10992 (show_jit_debug): New function.
10993 (struct target_buffer): Use ULONGEST.
10994 (bfd_open_from_target_memory): Likewise.
10995 (jit_register_code, jit_inferior_init): Add debug output.
10996 (_initialize_jit): Register "debug jit" command.
11000 * frame.h (enum frame_type) <INLINE_FRAME>: Fix comment.
11001 * python/py-frame.c (gdbpy_initialize_frames): Add INLINE_FRAME
11006 * python/py-frame.c (frapy_block): Use get_frame_block.
11010 Do not stop on SIGPRIO signals by default
11011 * infrun.c (_initialize_infrun): Unset signal_stop and
11012 signal_print for TARGET_SIGNAL_PRIO.
11016 * ada-tasks.c: Fix style violation in comment.
11020 * linespec.c (decode_compound, find_method): Remove trailing \n
11021 at end of error string.
11022 * solib-irix.c (irix_current_sos): Likewise.
11023 * varobj.c (uninstall_variable): Likewise.
11027 * copyright.py: New script.
11028 * copyright.sh (byhand): Add *.ads, *.adb, *.gpr and *.inc.
11029 Launch emacs without exec'ing. Call copyright.py afterwards.
11033 * addrmap.c: Shorten lines of >= 80 columns.
11034 * arch-utils.c: Ditto.
11035 * arch-utils.h: Ditto.
11037 * ax-general.c: Ditto.
11039 * blockframe.c: Ditto.
11040 * breakpoint.c: Ditto.
11041 * buildsym.c: Ditto.
11043 * c-typeprint.c: Ditto.
11044 * charset.c: Ditto.
11045 * coffread.c: Ditto.
11046 * command.h: Ditto.
11047 * corelow.c: Ditto.
11049 * cp-namespace.c: Ditto.
11050 * cp-support.c: Ditto.
11051 * dbug-rom.c: Ditto.
11052 * dbxread.c: Ditto.
11056 * dictionary.c: Ditto.
11058 * doublest.c: Ditto.
11059 * dwarf2-frame.c: Ditto.
11060 * dwarf2expr.c: Ditto.
11061 * dwarf2loc.c: Ditto.
11062 * dwarf2read.c: Ditto.
11063 * elfread.c: Ditto.
11065 * event-loop.c: Ditto.
11066 * event-loop.h: Ditto.
11067 * exceptions.h: Ditto.
11069 * expprint.c: Ditto.
11070 * expression.h: Ditto.
11072 * f-valprint.c: Ditto.
11073 * findcmd.c: Ditto.
11074 * frame-base.c: Ditto.
11075 * frame-unwind.c: Ditto.
11076 * frame-unwind.h: Ditto.
11080 * gdb-stabs.h: Ditto.
11081 * gdb_assert.h: Ditto.
11082 * gdb_dirent.h: Ditto.
11083 * gdb_obstack.h: Ditto.
11084 * gdbcore.h: Ditto.
11085 * gdbtypes.c: Ditto.
11086 * gdbtypes.h: Ditto.
11087 * inf-ttrace.c: Ditto.
11088 * infcall.c: Ditto.
11092 * inline-frame.h: Ditto.
11093 * language.c: Ditto.
11094 * language.h: Ditto.
11095 * libunwind-frame.c: Ditto.
11096 * libunwind-frame.h: Ditto.
11097 * linespec.c: Ditto.
11098 * linux-nat.c: Ditto.
11099 * linux-nat.h: Ditto.
11100 * linux-thread-db.c: Ditto.
11101 * machoread.c: Ditto.
11102 * macroexp.c: Ditto.
11103 * macrotab.c: Ditto.
11106 * mdebugread.c: Ditto.
11107 * memattr.c: Ditto.
11108 * minsyms.c: Ditto.
11109 * monitor.c: Ditto.
11110 * monitor.h: Ditto.
11111 * objfiles.c: Ditto.
11112 * objfiles.h: Ditto.
11114 * p-typeprint.c: Ditto.
11115 * p-valprint.c: Ditto.
11117 * printcmd.c: Ditto.
11118 * proc-events.c: Ditto.
11120 * progspace.c: Ditto.
11121 * progspace.h: Ditto.
11122 * psympriv.h: Ditto.
11123 * psymtab.c: Ditto.
11125 * regcache.c: Ditto.
11126 * regcache.h: Ditto.
11127 * remote-fileio.c: Ditto.
11129 * ser-mingw.c: Ditto.
11130 * ser-tcp.c: Ditto.
11131 * ser-unix.c: Ditto.
11134 * solib-frv.c: Ditto.
11135 * solib-irix.c: Ditto.
11136 * solib-osf.c: Ditto.
11137 * solib-pa64.c: Ditto.
11138 * solib-som.c: Ditto.
11139 * solib-sunos.c: Ditto.
11140 * solib-svr4.c: Ditto.
11141 * solib-target.c: Ditto.
11143 * somread.c: Ditto.
11145 * stabsread.c: Ditto.
11146 * stabsread.c: Ditto.
11149 * symfile-mem.c: Ditto.
11150 * symfile.c: Ditto.
11151 * symfile.h: Ditto.
11152 * symmisc.c: Ditto.
11155 * target-descriptions.c: Ditto.
11156 * target-memory.c: Ditto.
11159 * terminal.h: Ditto.
11162 * tracepoint.c: Ditto.
11163 * tracepoint.h: Ditto.
11164 * ui-file.c: Ditto.
11165 * ui-file.h: Ditto.
11167 * user-regs.c: Ditto.
11168 * user-regs.h: Ditto.
11170 * valarith.c: Ditto.
11172 * valprint.c: Ditto.
11173 * valprint.h: Ditto.
11178 * xcoffread.c: Ditto.
11179 * xcoffsolib.c: Ditto.
11180 * xcoffsolib.h: Ditto.
11181 * xml-syscall.c: Ditto.
11182 * xml-tdesc.c: Ditto.
11186 * cli/cli-cmds.c: Shorten lines of >= 80 columns.
11187 * cli/cli-decode.c: Ditto.
11188 * cli/cli-dump.c: Ditto.
11189 * cli/cli-logging.c: Ditto.
11190 * cli/cli-script.c: Ditto.
11191 * cli/cli-setshow.c: Ditto.
11192 * common/signals.c: Ditto.
11193 * mi/mi-cmd-break.c: Ditto.
11194 * mi/mi-cmd-disas.c: Ditto.
11195 * mi/mi-cmd-stack.c: Ditto.
11196 * mi/mi-cmd-var.c: Ditto.
11197 * mi/mi-cmds.c: Ditto.
11198 * mi/mi-common.h: Ditto.
11199 * mi/mi-console.c: Ditto.
11200 * mi/mi-interp.c: Ditto.
11201 * mi/mi-main.c: Ditto.
11202 * osf-share/cma_attr.c: Ditto.
11203 * osf-share/cma_deb_core.h: Ditto.
11204 * osf-share/cma_debug_client.h: Ditto.
11205 * osf-share/cma_handle.h: Ditto.
11206 * osf-share/cma_mutex.h: Ditto.
11207 * osf-share/cma_stack_int.h: Ditto.
11208 * osf-share/cma_tcb_defs.h: Ditto.
11209 * python/py-auto-load.c: Ditto.
11210 * python/py-breakpoint.c: Ditto.
11211 * python/py-cmd.c: Ditto.
11212 * python/py-frame.c: Ditto.
11213 * python/py-objfile.c: Ditto.
11214 * python/py-param.c: Ditto.
11215 * python/py-progspace.c: Ditto.
11216 * python/py-symbol.c: Ditto.
11217 * python/py-value.c: Ditto.
11218 * python/python-internal.h: Ditto.
11219 * python/python.c: Ditto.
11220 * tui/tui-data.c: Ditto.
11221 * tui/tui-disasm.c: Ditto.
11222 * tui/tui-hooks.c: Ditto.
11223 * tui/tui-io.c: Ditto.
11224 * tui/tui-layout.c: Ditto.
11225 * tui/tui-regs.c: Ditto.
11226 * tui/tui-source.c: Ditto.
11227 * tui/tui-stack.c: Ditto.
11228 * tui/tui-win.c: Ditto.
11229 * tui/tui-windata.c: Ditto.
11230 * tui/tui-winsource.c: Ditto.
11234 * configure.ac, gdb.1: Copyright year update.
11238 * frame.c (get_prev_frame_1) <UNWIND_INNER_ID>: New variables
11239 this_pc_in_block, morestack_msym and morestack_name. Check for
11240 "__morestack" minimal symbol there.
11244 * symfile.c (find_sym_fns): Add call to dont_repeat.
11248 Copyright year update in most files (performed by copyright.sh).
11252 * top.c (print_gdb_version): Update copyright year in version output.
11254 For older changes see ChangeLog-2010.
11260 version-control: never