3 * inferior.h (read_pc, write_pc): Remove.
4 * regcache.c (read_pc, write_pc): Remove.
6 * infrun.c (displaced_step_fixup): Use regcache_read_pc instead
8 (handle_inferior_event): Use regcache_read_pc instead of read_pc
9 when determining value of stop_pc. Replace subsequent uses of
10 read_pc by inspecting already-retrieved stop_pc value.
11 (keep_going): Use regcache_read_pc instead of read_pc.
13 * breakpoint.c (watchpoint_check): Use current frame architecture
14 and PC instead of current_gdbarch and read_pc ().
15 * tracepoint.c (set_traceframe_context): Replace PC argument
17 (trace_start_command, finish_tfind_command): Update calls.
18 (finish_tfind_command): Compare frame IDs to identify transitions
20 (trace_find_pc_command): Use regcache_read_pc instead of read_pc.
21 * rs6000-nat.c (exec_one_dummy_insn): Pass in regcache instead
22 of gdbarch. Use regcache_read_pc and regcache_write_pc instead
23 of read_pc and write_pc.
24 (store_register): Make regcache argument non-const. Update call
25 to exec_one_dummy_insn.
27 * thread.c (switch_to_thread): Use regcache_read_pc instead of read_pc.
28 * infcmd.c (post_create_inferior): Likewise.
29 * solib-darwin.c (darwin_solib_create_inferior_hook): Likewise.
30 * solib-pa64.c (pa64_solib_create_inferior_hook): Likewise.
31 * solib-sunos.c (sunos_solib_create_inferior_hook): Likewise.
32 * solib-svr4.c (enable_break, svr4_relocate_main_executable): Likewise.
33 * linux-fork.c (fork_load_infrun_state): Likewise.
34 * hppa-hpux-tdep.c (hppa_hpux_push_dummy_code): Likewise.
35 * record.c (record_wait): Likewise.
36 * procfs.c (procfs_wait): Likewise.
37 * remote-mips.c (common_open, mips_wait): Likewise.
38 * remote-m32r-sdi.c (m32r_resume): Likewise.
40 * symfile.c (generic_load): Use regcache_write_pc instead of write_pc.
41 * monitor.c (monitor_create_inferior, monitor_load): Likewise.
42 * m32r-rom.c (m32r_load, m32r_upload_command): Likewise.
43 * remote-m32r-sdi.c (m32r_create_inferior, m32r_load): Likewise.
44 * remote-mips.c (mips_create_inferior, mips_load): Likewise.
46 * solib-darwin.c: Include "regcache.h".
47 * solib-pa64.c: Include "regcache.h".
48 * solib-svr4.c: Include "regcache.h.".
50 * symfile.c: Do not mention read_pc or write_pc in comments.
51 * dink32-rom.c: Likewise.
52 * m32r-rom.c: Likewise.
53 * mips-tdep.c: Likewise.
57 * fork-child.c (startup_inferior): Move setting stop_pc ...
58 * infcmd.c (post_create_inferior): ... to here.
62 * go32-nat.c (go32_stop): Delete.
63 (go32_kill_inferior): Rewrite to only call go32_mourn_inferior.
64 (go32_create_inferior): Don't call go32_stop or
66 (go32_mourn_inferior): Inline go32_stop and go32_kill_inferior
68 (init_go32_ops): Don't register go32_stop.
72 * dbxread.c (read_dbx_symtab): Avoid compiler warnings for
75 * infcall.c (find_function_addr): Avoid compiler warnings for
80 * dictionary.c (dict_hashed_vector, dict_hashed_expandable_vector)
81 (dict_linear_vector, dict_linear_expandable_vector): Fix a comment typo.
85 * linux-thread-db.c (thread_db_pid_to_str): Delete unused assignment
90 * record.c (_initialize_record): Reformat and clarify doc strings
91 for stop-at-limit and insn-number-max.
93 * go32-nat.c: Add comments about dirty secrets of DJGPP debugging.
97 Make specifiable the make_function_type type memory ownership.
98 * gdbtypes.c (make_function_type): New parameter `objfile', use it
99 explicitely instead of TYPE-initialized removed local variable
100 `objfile'. Describe `objfile' it in the function comment.
101 (lookup_function_type): Update make_function_type callers.
102 * gdbtypes.h (make_function_type): Update the prototype.
103 * jv-lang.c (java_link_class_type): Update make_function_type callers.
104 * dwarf2read.c (read_subroutine_type): Likewise.
105 * stabsread.c (read_type): Likewise.
109 * go32-nat.c (go32_pid_to_str): Call normal_pid_to_str instead of
110 printing a bogus "Thread <main>".
111 (go32_thread_alive): Don't return 1 for null_ptid.
113 * i386-tdep.c (i386_go32_init_abi): Override the number of
114 registers due to non-support of SSE.
118 * configure.tgt: Link the moxie simulator in with gdb.
122 * elfread.c (elf_symtab_read): Don't assume .data and .rodata
128 I386 Linux process record and replay support.
130 * i386-linux-tdep.c (i386_linux_record_tdep): New variable.
131 This struct has the argument for the function
132 "record_linux_system_call".
133 (i386_linux_intx80_sysenter_record): New function. Parse the
134 system call instruction and call function
135 "record_linux_system_call" to record execute log.
136 (i386_linux_init_abi): Initialize "i386_linux_record_tdep".
137 Set "i386_linux_intx80_sysenter_record" to
138 "i386_intx80_record" and "i386_sysenter_record".
143 I386 architecture process record and replay support.
145 * i386-tdep.c (PREFIX_REPZ, PREFIX_REPNZ, PREFIX_LOCK,
146 PREFIX_DATA, PREFIX_ADDR): New macros. Help decode the i386
148 (aflag, dflag, override, modrm, mod, reg, rm, ot,
149 i386_record_pc): New variables. Ditto.
150 (i386_record_modrm, i386_record_lea_modrm_addr,
151 i386_record_lea_modrm): New functions. Ditto.
152 (i386_process_record): New function. Parse the instruction in
153 address "addr" and record the values of registers and memory
154 that will be changed by this instruction.
155 (i386_gdbarch_init): Set "i386_process_record" to GDBARCH
156 "process_record" interface.
157 * i386-tdep.h (gdbarch_tdep): New function pointers
158 "i386_intx80_record" and "i386_sysenter_record" that point to
159 the function that can record "intx80" and "sysenter" execute
165 * infrun.c (use_displaced_stepping): Return false if process
166 record and replay target is used.
167 (proceed): Call function "record_not_record_set" if pocess
168 record and replay target is used.
173 Linux process record and replay support.
175 * Makefile.in (ALLDEPFILES): Add linux-record.c.
176 (ALL_TARGET_OBS): Add linux-record.o.
177 * configure.tgt (x86_64-*-linux*): Add linux-record.o.
178 (i[34567]86-*-linux*): Add linux-record.o.
179 * linux-record.c, linux-record.h: New file.
184 Process record and replay target.
186 * Makefile.in (SFILES): Add record.c.
187 (COMMON_OBS): Add record.o.
188 * record.c, record.h: New file.
193 * target.h (strata): New stratum "record_stratum".
198 GDBARCH interface for process record and replay.
200 * gdbarch.sh (process_record): This interface point to the
201 function that records the inferior execute log.
205 * i386-nat.c (child_post_startup_inferior): Delete, unused.
209 * breakpoint.c (print_exception_catchpoint): Access `b' directly
210 instead of `b->loc->owner'.
211 (print_mention_exception_catchpoint): Ditto.
215 * macrocmd.c (info_macro_command): Print -Dname=value if LINE is zero.
219 * c-exp.y (yylex): Handle '[' and ']' like '(' and ')'.
223 * symtab.c (append_exact_match_to_sals): New function, extracted
224 from expand_line_sal.
225 (expand_line_sal): Use append_exact_match_to_sals to append exact
226 matches. If none found, append all best items.
230 * main.c (captured_main): Move gdbinit lookups after gdb_init.
235 * dwarf2read.c (unsigned_int_compar, inherit_abstract_dies): New.
236 (read_func_scope): Call inherit_abstract_dies.
240 * Makefile.in (ALLDEPFILES): Remove duplicate entries for
241 sparc-sol2-nat.c and sparc-sol2-tdep.c.
243 * stack.c (_initialize_stack) <disassemble-next-line>: Doc fix.
245 2009-04-24 Pierre Muller <muller.u-strasbg.fr>
247 ARI change: Use "/* ARI: rule */" pattern.
248 * utils.c: Update ARI patterns.
249 * gdb_dirent.h: Likewise.
253 * MAINTAINERS: Add moxie target.
254 * configure.tgt: Add moxie-*-elf target.
255 * moxie-tdep.c: New file.
256 * moxie-tdep.h: New file.
260 * ada-lang.c: Remove an extra empty line. No code change.
264 Fix double free on error inserting the breakpoint instruction.
265 * breakpoint.c (create_breakpoints): Move the
266 update_global_location_list call to ...
267 (break_command_really): ... here together with the second local call
268 both unified after all the cleanups.
273 * configure, config.in: Regenerate.
274 * configure.ac: Support for relocatable GDB datadir. Use
275 GDB_AC_WITH_DIR. Always define TARGET_SYSTEM_ROOT_RELOCATABLE.
276 * acinclude.m4 (GDB_AC_WITH_DIR): New defun.
277 * top.c (init_main): Add "set data-directory".
278 * defs.h (gdb_datadir): Declare.
279 * main.c (gdb_datadir): New global.
280 (captured_main): Initialize gdb_datadir. Use relocate_directory.
281 (relocate_path): New function.
282 (relocate_directory): Likewise.
283 (get_init_files): Use relocate_path.
284 (README): Mention --with-gdb-datadir.
288 * ada-tasks (task_command_1): Call target_find_new_threads.
292 * stack.c (do_gdb_disassembly): Print the exception message if an
293 error was thrown while trying to perform the disassembly.
297 * varobj.c (free_variable): Replace free_current_contents by xfree.
301 * arm-linux-nat.c (fetch_register, store_register): Use
302 ARM_CPSR_GREGNUM instead of ARM_CPSR_REGNUM.
303 * arm-linux-tdep.c (arm_linux_supply_gregset,
304 arm_linux_collect_gregset): Likewise.
305 * arm-linux-tdep.h (ARM_CPSR_GREGNUM): New.
306 * arm-tdep.h (ARM_CPSR_REGNUM): Remove.
310 * stack.c (_initialize_stack): Set the default of
311 disassemble-next-line to off.
315 * acinclude.m4: Use AS_HELP_STRING, not AC_HELP_STRING.
316 * configure.ac: Use AS_HELP_STRING, not AC_HELP_STRING.
320 * configure.ac: Add quotes to not lose brackets in help text.
321 * configure: Rebuild.
325 * configure.ac: Don't postprocess Makefile in config.status.
326 Substitute GDB_NM_FILE. Don't substitute nm_h.
327 * Makefile.in (GDB_NM_FILE): Substitute.
328 (TAGS): Use $(GDB_NM_FILE) instead of $(NAT_FILE).
329 * configure: Regenerate.
330 * gnulib/Makefile.in: Regenerate.
334 * configure.ac (--with-datarootdir, --with-docdir, --with-pdfdir,
335 --with-htmldir): New.
336 * configure: Regenerate.
340 * configure: Rebuild.
341 * configure.ac: Use lower case for start of help strings. Clean
342 up --with-sysroot help.
346 * configure: Rebuild.
347 * acinclude.m4 (AM_ICONV): Use AC_HELP_STRING.
348 * configure.ac: Use AC_HELP_STRING. Use upper case for variables
351 2009-04-21 Pierre Muller <muller.u-strasbg.fr>
353 ARI fix: remove "%p".
354 * ia64-tdep.c (ia64_frame_this_id): Use host_address_to_string function.
355 (ia64_sigtramp_frame_this_id): Ditto.
356 (ia64_libunwind_frame_this_id): Ditto.
357 (ia64_libunwind_sigtramp_frame_this_id): Ditto.
358 * symmisc.c (maintenance_info_psymtabs): Ditto.
362 * configure.ac (--with-relocated-sources): New.
363 * configure, config.in: Regenerate.
364 * source.c (add_substitute_path_rule): Remove static.
365 * source.h (add_substitute_path_rule): Declare.
366 * main.c: Include "source.h".
367 (captured_main): Add substitution rule if RELOC_SRCDIR.
369 2009-04-21 Pierre Muller <muller.u-strasbg.fr>
371 * gnu-nat.h (proc_debug): Add missing continuation line in macro.
375 * NEWS: Mention MIPS/Linux hardware watchpoint support.
379 * mips-linux-nat.c (command.h, gdbcmd.h, gdb_assert.h): New #includes.
380 (maint_show_dr, super_close): New variables.
381 (super_fetch_registers, super_store_registers): Make static.
382 (PTRACE_GET_WATCH_REGS, PTRACE_SET_WATCH_REGS, W_BIT, R_BIT, I_BIT)
383 (W_MASK, R_MASK, I_MASK, IRW_MASK, MAX_DEBUG_REGISTER): Define.
384 (pt_watch_style): Define new enum.
385 (mips32_watch_regs, mips64_watch_regs, pt_watch_regs, mips_watchpoint):
387 (watch_readback_valid, watch_readback, current_watches, watch_mirror):
389 (get_irw_mask, get_reg_mask, get_num_valid, get_watchlo)
390 (set_watchlo, get_watchhi, set_watchhi, mips_show_dr)
391 (mips_linux_read_watch_registers, mips_linux_can_use_hw_breakpoint)
392 (mips_linux_stopped_by_watchpoint, mips_linux_stopped_data_address)
393 (type_to_irw, fill_mask, try_one_watch)
394 (mips_linux_region_ok_for_hw_watchpoint, write_watchpoint_regs)
395 (mips_linux_new_thread, populate_regs_from_watches)
396 (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
397 (mips_linux_close): New functions.
398 (_initialize_mips_linux_nat): Register watchpoint functions with
399 the target_ops. Add show-debug-regs maintenance command.
403 * infrun.c (handle_inferior_event): Move gegisters_changed call down.
407 * NEWS: Mention gdbserver support for x86 Windows CE.
411 * config/djgpp/fnchange.lst: Fix typos.
413 Set default host and target charsets in the DJGPP port.
415 * config/djgpp/config.sed (am_cv_langinfo_codeset)
416 (bash_cv_langinfo_codeset, ac_cv_header_nl_types_h): Set to "yes"
417 in all configure scripts that define ac_cv_env_CPP_value.
419 * go32-nat.c (dos_codepage, nl_langinfo): New functions.
422 * config/djgpp/nl_types.h: New file.
424 * config/djgpp/langinfo.h: New file.
426 * config/i386/go32.mh (MH_CFLAGS): Add $(srcdir)/config/djgpp.
430 * Makefile.in (MAKEHTML): Set to makeinfo --html.
431 (MAKEHTMLFLAGS): Set to empty.
435 * NEWS: Mention all new set/show commands added since GDB 6.8 was
438 * go32-nat.c (go32_sysinfo): Check if the call to
439 __dpmi_get_capabilities fills the buffer with information, and
440 don't use the buffer if not.
444 * charset.c (_initialize_charset): Add special case for "646".
448 * configure.ac: AC_SUBST datarootdir, docdir, htmldir, pdfdir.
449 * configure: Regenerate.
450 * Makefile.in: Set datarootdir, docdir, htmldir, and pdfdir from
451 configure substitutions.
452 (FLAGS_TO_PASS): Add datarootdir, docdir, and htmldir.
454 2009-04-17 Pierre Muller <muller.u-strasbg.fr>
456 ARI fix: Do not use %p, replace by call to host_address_to_string
458 * darwin-nat.c (darwin_xfer_partial): Apply change.
459 * gnu-nat.c (inf_continue, gnu_xfer_memory): Ditto.
460 * gnu-nat.h (proc_debug): Ditto.
461 * symmisc.c (maintenance_info_symtabs): Ditto.
462 (maintenance_info_psymtabs): Ditto.
463 * windows-nat.c (handle_load_dll): Ditto.
464 (handle_unload_dll, info_w32_command, handle_exception): Ditto.
465 * xtensa-tdep.c (xtensa_unwind_pc): Ditto.
469 * configure.tgt (i[34567]86-*-linux*): Use 64-bit configuration if
471 (sparc-*-linux*): Likewise.
475 * go32-nat.c (go32_sysinfo): Update list of Windows versions of
480 * remote.c (remote_query_attached): Fix pasto in packet_ok result
485 * procfs.c (solib_mappings_callback, find_memory_regions_callback):
486 Revert the previous change. Might not be correct, actually.
490 * ada-lang.h (ada_adjust_exception_stop, ada_print_exception_stop)
491 (ada_get_current_task, ada_print_exception_breakpoint_nontask)
492 (ada_print_exception_breakpoint_task, ada_reset_thread_registers):
493 Remove declaration. These are non-existent functions.
497 * procfs.c (solib_mappings_callback, find_memory_regions_callback):
498 Fix a compilation warning on mips-irix due to casting from
499 a pointer of different size.
503 * ada-lang.c (symtab_for_sym): Delete.
504 (user_select_syms): Use sym->symtab instead of calling symtab_for_sym.
508 * ada-lang.c (extract_string): Delete.
509 (ada_main_name): Reimplement using target_read_string instead of
514 * m68klinux-nat.c: Remove obsolete comment.
515 (fetch_register, store_register): Don't call
516 gdbarch_cannot_fetch_register or gdbarch_cannot_store_register,
517 which are always nops here.
521 * c-lang.c (c_emit_char): Use INTERMEDIATE_ENCODING.
522 (c_printstr): Likewise.
523 * charset.c: Include gdb_wait.h.
524 (make_wchar_iterator): Use INTERMEDIATE_ENCODING.
525 (find_charset_names): Use pexecute. Handle libiconv's output.
527 (_initialize_charset): Use xstrdup.
528 * gdb_wchar.h: Check HAVE_BTOWC. Split PHONY_ICONV and wchar
530 (INTERMEDIATE_ENCODING): New define.
531 * configure, config.in: Rebuild.
532 * configure.ac: Check for btowc.
536 * c-lang.c (evaluate_subexp_c): Correctly handle EVAL_SKIP.
540 * utils.c (parse_escape): Initialize target_char to pacify GCC.
544 * c-lang.c (c_get_string): Fix xfree crash on a failed string read.
548 ARI fix: sprintf rule.
549 * ada-exp.y (convert_char_literal): Replace sprintf by xsnprintf.
550 * ada-lang.c (add_angle_brackets): Use xstrprintf.
551 (ada_decode): Replace sprintf by xsnprintf.
552 (find_old_style_renaming_symbol): Ditto.
553 (ada_to_fixed_type_1, ada_enum_name): Ditto.
558 * target.c (target_mourn_inferior): Call bfd_cache_close_all
559 after having executed the target mourn_inferior routine.
563 * config/djgpp/djconfig.sh (DEPDIR): Define to "_deps", if
568 * infrun.c (maybe_software_singlestep): New function.
569 (resume): Call maybe_software_singlestep.
570 (handle_inferior_event): Same.
574 * python/python-frame.c (frapy_richcompare): Return
575 Py_NotImplemented, not an error. Handle Py_NE as well.
579 * charset.c (EILSEQ): Define if not defined by system headers.
583 * config/djgpp/config.sed: Tweak ac_config_files in intl/configure
584 to be consistent with renaming config.intl.in into config_intl.in.
586 * go32-nat.c (go32_attach, go32_detach): Fix prototypes to be
587 consistent with the change from 2008-11-09.
591 * gdbtypes.c: Remove excessive parentheses at the return keywords.
592 * varobj.c (varobj_invalidate): Fix indentation.
593 * varobj.c (varobj_invalidate): Fix formatting text width.
597 Implement -exec-jump.
599 * mi/mi-cmds.h (mi_cmd_exec_jump): Declare.
600 * mi/mi-main.c (mi_cmd_exec_jump): New.
601 * mi/mi-cmds.c (mi_cmds): Register exec-jump.
605 * symfile.c (symbol_file_clear): Fix indentation.
609 * sparc64nbsd-nat.c (sparc64nbsd_supply_pcb): Fix comment.
613 * ppc-linux-nat.c (ppc_linux_target_wordsize): New function.
614 (ppc_linux_auxv_parse): New function.
615 (ppc_linux_read_description): Use ppc_linux_target_wordsize.
616 (_initialize_ppc_linux_nat): Install ppc_linux_auxv_parse.
620 * spu-linux-nat.c (spu_bfd_open): Set filename of in-memory
621 BFD to contents of SPU name note.
622 (spu_symbol_file_add_from_memory): Call symbol_file_add_from_bfd
623 with "from_tty" argument 1 instead of 0.
628 (new_symbol <DW_TAG_variable> <!DW_AT_location> <DW_AT_external>):
629 Create the symbol in local scope.
630 * symtab.h (cu->list_in_scope <LOC_UNRESOLVED>): New comment part.
634 * stabsread.c (read_member_functions): GCC may emit an extra space
635 at the end of the names "__base_ctor" and "__base_dtor"; so ignore
636 whitespace when looking for these functions.
640 Change the default value for "set print frame-arguments" to scalars.
642 * stack.c (print_frame_arguments): Set initial value to "scalars".
646 * mips-tdep.c (mips_numeric_register_alieses): New definition.
647 (mips_gdbarch_init): Add user registers from
648 mips_numeric_register_aliases.
652 * linux-nat.c (linux_nat_filter_event): Minor comment reformatting.
656 * linux-nat.c (linux_nat_filter_events): Do not delete the lwp if
657 this is the last one.
661 * remote.c (append_resumption): New.
662 (remote_vcont_resume): Use it.
666 * windows-nat.c (+windows_get_ada_task_ptid): New function.
667 (init_windows_ops): Set windows_ops.to_get_ada_task_ptid.
674 * Makefile.in (dbxread.o): Update.
675 * dbxread.c (read_dbx_symtab): Use cp_canonicalize_string.
676 * dwarf2read.c (GDB_FORM_cached_string): New.
677 (read_partial_die): Use dwarf2_canonicalize_name.
678 (dwarf2_linkage_name): Use dwarf2_name.
679 (dwarf2_canonicalize_name): New.
680 (dwarf2_name): Use dwarf2_canonicalize_name.
681 (dwarf_form_name, dump_die): Handle GDB_FORM_cached_string.
682 * stabsread.c (define_symbol, read_type): Use cp_canonicalize_string.
683 * symtab.c (lookup_symbol_in_language): Canonicalize input before
685 * cp-name-parser.y: operator() requires two parameters,
686 according to libiberty.
687 * minsyms.c (lookup_minimal_symbol): Canonicalize input
693 Provide support for (Ada) task-specific breakpoints.
695 * ada-lang.h (ada_get_task_number): Add declaration.
696 (breakpoint_ada_task_match): Delete declaration.
697 * ada-tasks.c (ada_get_task_number): Make non-static.
698 * breakpoint.h (struct breakpoint): Add field "task".
699 * breakpoint.c (print_one_breakpoint_location): Add handling of
700 task-specific breakpoints.
701 (create_breakpoint, create_breakpoints, find_condition_and_thread):
702 New parameter "task".
703 (break_command_really): Update calls to find_condition_and_thread
704 and create_breakpoints.
705 (breakpoint_re_set_one): Update call to find_condition_and_thread.
710 * ada-tasks.c (short_task_info): Eliminate the "Running" task state.
714 * remote.c (remote_notice_new_inferior): Use ptid_is_pid. Check
715 if the thread's ptid without a thread id field is in the list
716 before calling thread_change_ptid.
717 (extended_remote_attach_1): In non-stop mode, do not rely on
718 querying the current thread, instead, query the thread list, and
719 select the first thread of the process.
720 * gdbthread.h (first_thread_of_process): Declare.
721 * thread.c (first_thread_of_process): Define.
725 Make tracepoints into a type of breakpoint.
726 * breakpoint.h (enum bptype): Add bp_tracepoint.
727 (struct breakpoint): Add fields step_count, pass_count, actions.
728 (get_tracepoint, get_tracepoint_by_number): Declare.
729 (all_tracepoints): Declare.
730 * breakpoint.c: Include tracepoint.h, readline.h.
731 (ALL_TRACEPOINTS): Move here from tracepoint.c.
732 (tracepoint_count): Ditto.
733 (should_be_inserted): GDB does not insert tracepoints itself.
734 (print_it_typical): Add tracepoint case.
735 (bpstat_what): Ditto.
736 (print_one_breakpoint_location): Ditto, and add printing for
737 pass count, step count, and action list.
738 (user_settable_breakpoint): Add tracepoint case.
739 (allocate_bp_location): Ditto.
740 (set_breakpoint_location_function): Ditto.
741 (disable_breakpoints_in_shlibs): Ditto.
743 (break_command_really): Add argument traceflag, use to choose
744 basic breakpoint type.
745 (break_command_1): Pass extra argument.
746 (set_breakpoint, handle_gnu_v3_exceptions): Ditto.
747 (breakpoint_re_set_one): Add tracepoint case.
748 (disable_command, enable_command): Ditto.
749 (set_tracepoint_count): Move here from tracepoint.c.
750 (trace_command): Move here from tracepoint.c and use
751 break_command_really.
752 (tracepoints_info): Move here from tracepoint.c and call
754 (enable_trace_command): Move here from tracepoint.c and call
756 (disable_trace_command): Move here from tracepoint.c and call
758 (delete_trace_command): Move here from tracepoint.c and call
760 (trace_pass_command): Move here from tracepoint.c.
761 (get_tracepoint_by_number): Ditto.
762 (tracepoint_save_command): Ditto.
763 (get_tracepoint): New function.
764 (all_tracepoints): New function.
765 (_initialize_breakpoint): Move tracepoint init from tracepoint.c,
766 deprecate "enable trace" and "disable trace" commands.
767 * tracepoint.h (struct tracepoint): Remove.
768 (tracepoint_chain): Remove decl.
769 (deprecated_create_tracepoint_hook): Remove decl.
770 (deprecated_delete_tracepoint_hook): Remove decl.
771 (deprecated_modify_tracepoint_hook): Remove decl.
772 (ALL_TRACEPOINTS, ALL_TRACEPOINTS_SAFE): Remove.
773 (free_actions): Update signature.
774 (validate_actionline): Update signature.
775 (end_actions_pseudocommand): Declare.
776 (while_stepping_pseudocommand): Declare.
777 * tracepoint.c: Include breakpoint.h.
778 (tracepoint_chain, tracepoint_count): Remove.
779 (free_actions, make_cleanup_free_actions): Update signature.
780 (trace_command, set_raw_tracepoint): Remove.
781 (trace_mention): Remove.
782 (tracepoints_info): Remove.
783 (tracepoint_operation, map_args_over_tracepoints): Remove.
784 (get_tracepoint_by_number): Remove.
785 (enable_trace_command, disable_trace_command): Remove.
786 (delete_trace_command, trace_pass_command): Remove.
787 (trace_actions_command, read_actions): Update signature.
788 (validate_actionline): Update signature, use bp loc.
789 (encode_actions): Ditto.
790 (download_tracepoint): New function, body of trace_start_command.
791 (trace_start_command): Call it, use all_tracepoints.
792 (tracepoint_save_command): Remove.
793 (tracepoint_dump_command): Use get_tracepoint.
794 (end_actions_pseudocommand): Make globally visible.
795 (while_stepping_pseudocommand): Ditto.
796 (_initialize_tracepoint): Move command definitions to breakpoint.c.
800 Expose frames to Python.
801 * Makefile.in (SUBDIR_PYTHON_OBS): Add python-frame.o.
802 (SUBDIR_PYTHON_SRCS): Add python-frame.c.
803 (python-frame.o): New target.
804 * python/python-frame.c: New file.
805 * python/python-internal.h (gdbpy_frames, gdbpy_newest_frame,
806 gdbpy_frame_stop_reason_string, gdbpy_selected_frame,
807 gdbpy_initialize_frames): New prototypes.
808 * python/python.c (_initialize_python): Call gdbpy_initialize_frames.
809 (GdbMethods): Add `selected_frame' and `frame_stop_reason_string'
811 * stack.c (find_frame_funname): New function, factored out of
813 (print_frame): Call find_frame_funname.
814 * stack.h (find_frame_funname): Add prototype.
818 Remove unused value_object attribute `owned_by_gdb'.
819 * python/python-value.c (value_object): Remove owned_by_gdb
821 (valpy_dealloc): Remove reference to self->owned_by_gdb.
822 (valpy_new): Likewise.
823 (value_to_value_object): Likewise.
827 Change gdb.Value.address from a method to an attribute.
828 * python/python-value.c (value_object): Add `address' element.
829 (valpy_dealloc): Decrement reference to self->address if set.
830 (valpy_new): Initialize val_obj->address.
831 (valpy_address): Rename to ...
832 (valpy_get_address): ... this. Change signature from method to
833 attribute. Update self->address if not set.
834 (value_to_value_object): Initialize val_obj->address.
835 (value_object_getset): Add `address' element.
836 (value_object_methods): Remove `address' element.
840 * observer.sh: Set LANG/LC_ALL to C, not c.
844 * mn10300-tdep.c (mn10300_gdbarch_init): For mn10300, by default,
849 * remote.c (remote_stop_ns): If multi-process extensions are off,
850 and GDB is requesting the whole process to stop, sent "vCont;t",
855 * inf-loop.c (inferior_event_handler): Avoid calling is_running on
860 * config/djgpp/fnchange.lst: Update to fix ARI-reported problems.
864 * thread.c (do_restore_current_thread_cleanup): Redo test for
865 whether to restore old->inferior_ptid.
869 * breakpoint.c (resolve_sal_pc): Preserve original line number
870 when skipping prologue.
874 * thread.c (inferior_thread) Remove "extern" in definition.
878 Add gdb.Value.is_optimized_out attribute.
879 * python/python-value.c (valpy_get_is_optimized_out): New
881 (value_object_getset): New variable.
882 (value_object_type): Initialize tp_getset element.
886 Recognize missing DW_AT_location as <value optimized out>.
888 (new_symbol <DW_TAG_variable> <!DW_AT_location> <!DW_AT_external>):
889 Call add_symbol_to_list.
893 * gdbtypes.h (CHECK_TYPEDEF): Don't yield a value.
894 * stack.c (print_this_frame_argument_p): Use check_typedef.
898 * configure: Rebuild.
899 * acinclude.m4 (AM_ICONV): Set am_cv_use_build_libiconv.
900 Rearrange flags setting. Add comments.
904 * config/i386/nm-i386.h: Remove code within
905 I386_WATCHPOINTS_IN_TARGET_VECTOR conditional.
906 * config/i386/nm-cygwin.h: Remove I386_WATCHPOINTS_IN_TARGET_VECTOR
908 * config/i386/nm-cygwin64.h: Ditto.
909 * config/i386/nm-fbsd.h: Ditto.
910 * config/i386/nm-go32.h: Ditto.
911 * config/i386/nm-linux.h: Ditto.
912 * config/i386/nm-linux64.h: Ditto.
916 ARI fix: "xasprintf" rule.
917 * printcmd.c (sym_info): Replace xasprintf by xstrprintf.
921 * remote.c (remote_start_remote): In non-stop mode, call
922 init_wait_for_inferior before adding threads and inferiors.
926 * breakpoint.c (breakpoint_thread_match): Split a large condition
927 into several smaller conditions. No behavior change.
931 * infrun.c (infrun_thread_thread_exit): New.
932 (_initialize_infrun): Attach it to the thread_exit observer.
933 * thread.c (delete_thread_1): Always call the observer, passing it
935 * mi/mi-interp.c (mi_thread_exit): Add "silent" parameter. If
936 SILENT, return immediately.
940 * infrun.c (normal_stop): Use has_stack_frames instead of
942 * mi/mi-main.c (mi_execute_command): Avoid calling inferior_thread
943 when there is no thread selected.
944 (mi_cmd_execute): Don't special case commands that can run without
945 a valid selected thread.
946 * top.c (execute_command): Don't special case commands that can
947 run without a valid selected thread. Use has_stack_frames.
948 * infcmd.c (ensure_valid_thread): New.
949 (continue_1, step_1, jump_command, signal_command): Use it.
950 (detach_command): Error out if there's no selected thread/inferior.
951 * thread.c (print_thread_info): Allow having no thread selected.
952 (switch_to_thread): Don't read the PC if there is no current thread.
953 (do_restore_current_thread_cleanup): Don't record the current
954 frame if there is no current thread.
955 (make_cleanup_restore_current_thread): Don't read frame info if
956 there is no selected thread.
957 (_initialize_thread): Don't mark commands as
958 "no_selected_thread_ok".
959 * frame.c (get_current_frame): Error out if there is no valid
961 (has_stack_frames): Return false if there is no valid
963 * cli/cli-cmds.c (init_cli_cmds): Don't mark commands as
964 "no_selected_thread_ok".
965 * cli/cli-decode.c (set_cmd_no_selected_thread_ok)
966 (get_cmd_no_selected_thread_ok): Delete.
967 * cli/cli-decode.h (CMD_NO_SELECTED_THREAD_OK): Delete.
968 (set_cmd_no_selected_thread_ok, get_cmd_no_selected_thread_ok):
970 * stack.c (get_selected_block): Use has_stack_frames.
974 Fix size of FPSCR in Power 7 processors.
975 * ppc-linux-nat.c (PPC_FEATURE_ARCH_2_05): Remove #define.
976 (PPC_FEATURE_HAS_DFP): New #define.
977 (ppc_linux_read_description): Check for DFP feature instead of
978 ISA 2.05 to decide on size of the FPSCR.
982 * mn10300-tdep.c (trad-frame.h): Don't include.
983 (prologue-value.h): Include.
984 (mn10300_frame_unwind_cache, set_reg_offsets): Delete.
985 (struct mn10300_prologue): Define.
986 (push_reg, translate_rreg, check_for_saved): New functions.
987 (mn10300_analyze_prologue): Rewrite, using prologue-value
988 machinery. Handle more instructions than before. Permit
989 instructions to occur in any order.
990 (mn10300_skip_prologue): Find the extents of the function
991 in question; mn10300_analyze_prologue no longer does this.
992 (mn10300_analyze_frame_prologue): New function.
993 (mn10300_frame_base): New function.
994 (mn10300_frame_this_id): Rewrite, no longer using trad-frame
996 (mn10300_frame_prev_register): Likewise.
997 (mn10300_frame_base_address, mn10300_frame_base struct): Delete.
998 (mn10300_unwind_pc, mn10300_unwind_sp): Rename `next_frame' to
1000 (mn10300_frame_unwind_init): Don't call frame_base_set_default().
1004 Fix completer problem for filename completion on the first try.
1006 * gdb/completer.h (gdb_completion_word_break_characters): New function.
1007 * gdb/completer.c: Include gdb_assert.h.
1008 (complete_line_internal_reason): New enum.
1009 (complete_line_internal): Change last argument type to
1010 complete_line_internal_reason.
1011 Modify function to handle the different complete_line_internal_reason
1013 (complete_line): Adapt to change in complete_line_internal.
1014 (command_completer): Ditto.
1015 (gdb_completion_word_break_characters): Implement new function.
1016 * top.c (init_main): Set rl_completion_word_break_hook to
1017 gdb_completion_word_break_characters.
1022 ARI fix: "strlen d_name" rule.
1023 * linux-nat.c (linux_nat_xfer_osdata): Use NAMELEN macro.
1029 * configure, config.in: Rebuild.
1030 * configure.ac: Check for libiconvlist.
1031 * charset.c: Check HAVE_LIBICONVLIST.
1032 * acinclude.m4 (AM_ICONV): Don't subst LIBICONV, LIBICONV_INCLUDE,
1033 LIBICONV_LIBDIR. Update CPPFLAGS and LIBS.
1034 * Makefile.in (LIBICONV, LIBICONV_INCLUDE, LIBICONV_LIBDIR):
1036 (INTERNAL_CFLAGS_BASE): Update.
1037 (INTERNAL_LDFLAGS): Update.
1042 * configure.ac: Initialize the variable $PREFER_CURSES.
1043 * configure: Regenerated.
1047 * configure.ac: Enable $PREFER_CURSES even with default $ENABLE_TUI.
1048 * configure: Regenerated.
1052 ARI fix: "strerror" rule.
1053 * darwin-nat.c (darwin_ptrace): Use safe_strerror.
1054 (darwin_stop_inferior, darwin_attach, darwin_detach): Ditto.
1058 * ada-exp.y (get_symbol_field_type): Make sure to resolve typedefs
1059 before looking up the fields inside our struct type.
1063 * ada-lang.c (resolve_subexp) [UNOP_QUAL]: Resolve typedefs before
1064 trying to resolve the type qualification.
1068 * ada-lang.c (ada_evaluate_subexp) [UNOP_IN_RANGE]: make sure
1069 we try to apply the attribute on the real type, rather than
1070 its associated typedef.
1074 * ada-lang.c (ada_evaluate_subexp) [OP_ATR_MODULUS]: Use check_typdef
1075 to make sure we try to get the modulus of the actual type, not the
1080 * ada-lang.c (ada_evaluate_subexp): [OP_ATR_FIRST, OP_ATR_LAST]
1081 [OP_ATR_LENGTH]: When using the attribute on a type, make sure
1082 to get the real type, not the associated typedef.
1086 * ada-lang.c (ada_get_field_index): Add handling of the case
1087 when TYPE is a typedef of a struct.
1091 Add gdb_usleep as a portable version of usleep based on gdb_select.
1092 * gdb_usleep.h, gdb_usleep.c: New files.
1093 * Makefile.in (SFILES): Add gdb_usleep.c.
1094 (HFILES_NO_SRCDIR): Add gdb_usleep.h.
1095 (COMMON_OBS): Add gdb_usleep.o.
1096 * ser-unix.c (hardwire_send_break): Replace call to gdb_select
1097 by call to gdb_usleep.
1101 * buildsym.c (end_symtab): If we ignore the subfiles, then
1102 unlink the associated symtabs if they were already allocated.
1106 Provide a way to force building of GDB with libcurses.
1107 * configure.ac: Add --with-curses.
1108 * configure: Regenerated.
1112 * dwarf2expr.c (execute_stack_op) <DW_OP_GNU_uninit>: Fix typo in
1117 * breakpoint.c (disable_breakpoints_in_unloaded_shlib): Use
1118 solib_contains_address_p instead of searching.
1122 * charset.c (ICONV_CONST) <PHONY_ICONV>: Define.
1123 (iconv): Make 'inbuf' argument const.
1124 (convert_between_encodings): Use ICONV_CONST.
1125 (wchar_iterate): Likewise.
1129 * windows-nat.c (AdjustTokenPrivileges): Implement macro wraparound for
1130 dynamically loaded function.
1131 (LookupPrivilegeValueA): Ditto.
1132 (OpenProcessToken): Ditto.
1133 (AdjustTokenPrivileges): Rename and define placeholder for address of
1134 dynamically loaded function.
1135 (LookupPrivilegeValueA): Ditto.
1136 (OpenProcessToken): Ditto.
1137 (set_process_privilege): Remove check for loaded functions.
1138 (bad_OpenProcessToken): Define.
1139 (_initialize_loadable): Load token functions from advapi here, setting
1140 OpenProcessToken function to a dummy static function which always return
1141 error if OS doesn't support this functionality.
1146 * win32-nat.c (ctrl_c_handler): New function.
1147 (win32_wait): Register ctrl_c_handler as Ctrl-C handler if the inferior
1148 is run in a separate console.
1152 * windows-nat.c (DebugActiveProcessStop): Implement macro wraparound
1153 for dynamically loaded function.
1154 (DebugBreakProcess): Ditto.
1155 (DebugSetProcessKillOnExit): Ditto.
1156 (EnumProcessModules): Ditto.
1157 (GetModuleFileNameExA): Ditto.
1158 (GetModuleInformation): Ditto.
1159 (DebugActiveProcessStop): Rename and define placeholder for address of
1160 dynamically loaded function.
1161 (DebugBreakProcess): Ditto.
1162 (DebugSetProcessKillOnExit): Ditto.
1163 (EnumProcessModules): Ditto.
1164 (GetModuleFileNameExA): Ditto.
1165 (GetModuleInformation): Ditto.
1166 (psapi_loaded): Delete.
1167 (get_module_name): Don't check psapi_loaded, just rely on the fact that
1168 dynamically loaded functions will return failure if they weren't
1170 (has_detach_ability): Delete.
1171 (windows_attach): Remove call to has_detach_ability (). Just rely on
1172 functions being callable.
1173 (bad_DebugActiveProcessStop): Define.
1174 (bad_DebugBreakProcess): Ditto.
1175 (bad_DebugSetProcessKillOnExit): Ditto.
1176 (bad_EnumProcessModules): Ditto.
1177 (bad_GetModuleFileNameExA): Ditto.
1178 (bad_GetModuleInformation): Ditto.
1179 (_initialize_loadable): Rename from _initialize_psapi. Initialize all
1180 dynamic storage here, setting nonexistent functions to dummy static
1181 functions which always return error.
1185 * mi/mi-interp.c (mi_interpreter_init): Attach mi_about_to_proceed
1186 to the about_to_proceed observer notification.
1187 (mi_about_to_proceed): New.
1188 (mi_on_resume): Only output ^running and the prompt here if the
1189 target was proceeded.
1190 * breakpoint.c (breakpoint_proceeded): New static.
1191 (breakpoint_about_to_proceed): New.
1192 (_initialize_breakpoints): Attach breakpoint_about_to_proceed to
1193 the about_to_proceed observer notification.
1194 * inferior.h (breakpoint_proceeded): Delete declaration.
1195 * infrun.c (clear_proceed_status): Don't set breakpoint_proceeded.
1196 Notify the about_to_proceed observers.
1197 (struct inferior_status): Delete breakpoint_proceeded member.
1198 (save_inferior_status): Don't save it.
1199 (restore_inferior_status): Don't restore it.
1200 * mi-main.h (mi_proceeded): Declare.
1201 * mi/mi-main.c (mi_cmd_execute): Clear mi_proceeded before running
1206 * gdbthread.h (struct thread_info): Add in_infcall member.
1207 * infcall.c (run_inferior_call): Save, set and restore in_infcall.
1208 Remove reverences to suppress_resume_observer. Refresh
1209 `call_thread' after returning from `proceed'.
1210 * infcmd.c (suppress_resume_observer): Delete.
1211 * inferior.h (suppress_resume_observer): Delete declaration.
1212 * mi/mi-interp.c (mi_on_resume): Suppress output while calling an
1214 * thread.c (set_running): Remove references to
1215 suppress_resume_observer.
1216 * infrun.c (struct inferior_status): Add in_infcall member.
1217 (save_inferior_status): Save it.
1218 (restore_inferior_status): Restore it.
1222 * infcall.c (run_inferior_call): Remove references to
1223 suppress_stop_observer.
1224 * infcmd.c (suppress_stop_observer): Delete.
1225 (finish_command_continuation): Remove NOTE. Don't clear
1226 suppress_stop_observer anymore.
1227 (finish_command_continuation_free_arg): Likewise.
1228 (finish_forward): Remove references to suppress_stop_observer.
1229 Call normal_stop observer if we haven't already.
1230 * inferior.h (suppress_stop_observer): Delete.
1231 * infrun.c (normal_stop): When deciding to suppress the
1232 normal_stop observer, check for proceed_to_finish instead of
1233 suppress_stop_observer.
1237 * symfile.c (symfile_relocate_debug_section): Remove check for
1245 Miscellaneous fixes to the Python code.
1246 * python/python-cmd.c (cmdpy_init): Accept keyword
1248 * python/python-value.c (valpy_string): Accept keyword
1250 (valpy_binop): Use `break' to exit from the TRY_CATCH block.
1251 Do not call value_to_value_object on NULL RES_VAL.
1252 (value_object_methods): Change `string' entry to also accept
1254 (convert_value_from_python): Return a copy of the value if obj is
1256 (value_object_methods): Mark the `string' method as accepting
1257 keywords, and show method "prototype" in the doc string.
1258 * python/python.c (get_parameter): Don't return inside a
1263 Add support for convenience functions in Python.
1264 * Makefile.in (SUBDIR_PYTHON_OBS): Add python-function.o.
1265 (SUBDIR_PYTHON_SRCS): Add python-function.c.
1266 (python-function.o): New target.
1267 * eval.c: Include "python/python.h" and <ctype.h>.
1268 (evaluate_subexp_standard): Handle values of type
1269 TYPE_CODE_INTERNAL_FUNCTION.
1270 * gdbtypes.h (type_code): Add TYPE_CODE_INTERNAL_FUNCTION.
1271 * parse.c (write_exp_string): Remove duplicate word in comment.
1272 * python/python-function.c: New file.
1273 * python/python-internal.h (gdbpy_initialize_functions): Add
1275 * python/python.c (_initialize_python): Call
1276 gdbpy_initialize_functions.
1277 * valprint.c (value_check_printable): Handle values of type
1278 TYPE_CODE_INTERNAL_FUNCTION.
1279 * value.c: Include "cli/cli-decode.h".
1280 (internal_function): New struct.
1281 (functionlist, internal_fn_type): New static variables.
1282 (lookup_only_internalvar,
1283 lookup_internalvar): Add const qualifier to name argument.
1284 (create_internalvar): Likewise. Initialize new field.
1285 (set_internal_var): Fix typo in comment. Don't allow assignment
1286 to canonical variable.
1287 (value_create_internal_function, value_internal_function_name,
1288 call_internal_function, function_command, function_destroyer,
1289 add_internal_function): New functions.
1290 (_initialize_values): Create `function' placeholder command.
1291 Initialize internal_fn_type.
1292 * value.h (lookup_only_internalvar, create_internalvar,
1293 lookup_internalvar): Add const qualifier to name argument.
1294 (internal_function_fn, add_internal_function, call_internal_function,
1295 value_internal_function_name): Add prototypes.
1296 (struct internalvar) <canonical>: New field.
1300 * c-lang.c (evaluate_subexp_c): Call check_typedef.
1305 PR i18n/7220, PR i18n/7821, PR exp/8815, PR exp/9103,
1306 PR i18n/9401, PR exp/9613:
1308 * value.h (value_typed_string): Declare.
1309 (val_print_string): Update.
1310 * valprint.h (print_char_chars): Update.
1311 * valprint.c (print_char_chars): Add type argument. Update.
1312 (val_print_string): Likewise.
1313 * valops.c (value_typed_string): New function.
1314 * utils.c (host_char_to_target): New function.
1315 (parse_escape): Use host_char_to_target, host_hex_value. Update.
1317 (no_control_char_error): Remove.
1318 * typeprint.c (print_type_scalar): Update.
1319 * scm-valprint.c (scm_scmval_print): Update.
1320 * scm-lang.h (scm_printchar, scm_printstr): Update.
1321 * scm-lang.c (scm_printchar): Add type argument.
1322 (scm_printstr): Likewise.
1323 * printcmd.c (print_formatted): Update.
1324 (print_scalar_formatted): Update.
1325 (printf_command) <wide_string_arg, wide_char_arg>: New constants.
1326 Handle '%lc' and '%ls'.
1327 * parser-defs.h (struct typed_stoken): New type.
1328 (struct stoken_vector): Likewise.
1329 (write_exp_string_vector): Declare.
1330 * parse.c (write_exp_string_vector): New function.
1331 * p-valprint.c (pascal_val_print): Update.
1332 * p-lang.h (is_pascal_string_type, pascal_printchar,
1333 pascal_printstr): Update.
1334 * p-lang.c (is_pascal_string_type): Remove 'char_size' argument.
1335 Add 'char_type' argument.
1336 (pascal_emit_char): Add type argument.
1337 (pascal_printchar): Likewise.
1338 (pascal_printstr): Likewise.
1339 * objc-lang.c (objc_emit_char): Add type argument.
1340 (objc_printchar): Likewise.
1341 (objc_printstr): Likewise.
1342 * macroexp.c (get_character_constant): Handle unicode characters.
1344 (get_string_literal): Handle unicode strings. Use
1346 * m2-valprint.c (print_unpacked_pointer): Update.
1347 (m2_print_array_contents): Update.
1348 (m2_val_print): Update.
1349 * m2-lang.c (m2_emit_char): Add type argument.
1350 (m2_printchar): Likewise.
1351 (m2_printstr): Likewise.
1352 * language.h (struct language_defn) <la_printchar>: Add type
1354 <la_printstr, la_emitchar>: Likewise.
1355 (LA_PRINT_CHAR): Likewise.
1356 (LA_PRINT_STRING): Likewise.
1357 (LA_EMIT_CHAR): Likewise.
1358 * language.c (unk_lang_emit_char): Add type argument.
1359 (unk_lang_printchar): Likewise.
1360 (unk_lang_printstr): Likewise.
1361 * jv-valprint.c (java_val_print): Update.
1362 * jv-lang.c (java_emit_char): Add type argument.
1363 * f-valprint.c (f_val_print): Update.
1364 * f-lang.c (f_emit_char): Add type argument.
1365 (f_printchar): Likewise.
1366 (f_printstr): Likewise.
1367 * expprint.c (print_subexp_standard): Update.
1368 * charset.h (target_wide_charset): Declare.
1369 (c_target_char_has_backslash_escape, c_parse_backslash,
1370 host_char_print_literally, host_char_to_target,
1371 target_char_to_host, target_char_to_control_char): Remove.
1372 (enum transliterations): New type.
1373 (convert_between_encodings): Declare.
1374 (HOST_ESCAPE_CHAR): New define.
1375 (host_letter_to_control_character, host_hex_value): Declare.
1376 (enum wchar_iterate_result): New enum.
1377 (struct wchar_iterator): Declare.
1378 (make_wchar_iterator, make_cleanup_wchar_iterator, wchar_iterator,
1379 wchar_push_back): Declare.
1380 * charset-list.h: New file.
1381 * c-valprint.c (textual_name): New function.
1382 (textual_element_type): Handle wide character types.
1383 (c_val_print): Pass original type to textual_element_type. Handle
1384 wide character types.
1385 (c_value_print): Use textual_element_type. Pass original type of
1387 * c-lang.h (enum c_string_type): New type.
1388 (c_printchar, c_printstr): Update.
1389 * c-lang.c (classify_type): New function.
1390 (print_wchar): Likewise.
1391 (c_emit_char): Add type argument. Handle wide characters.
1392 (c_printchar): Likewise.
1393 (c_printstr): Add type argument. Handle wide and multibyte
1395 (convert_ucn): New function.
1396 (emit_numeric_character): Likewise.
1397 (convert_octal): Likewise.
1398 (convert_hex): Likewise.
1399 (ADVANCE): New macro.
1400 (convert_escape): New function.
1401 (parse_one_string): Likewise.
1402 (evaluate_subexp_c): Likewise.
1403 (exp_descriptor_c): New global.
1404 (c_language_defn): Use exp_descriptor_c.
1405 (cplus_language_defn): Likewise.
1406 (asm_language_defn): Likewise.
1407 (minimal_language_defn): Likewise.
1408 (charset_for_string_type): New function.
1409 * c-exp.y (%union): Add 'svec' and 'tsval'.
1411 (exp): Add CHAR production.
1412 (string_exp): Rewrite.
1413 (exp) <string_exp>: Rewrite.
1414 (tempbuf): Now global.
1415 (tempbuf_init): New global.
1416 (parse_string_or_char): New function.
1417 (yylex) <tempbuf>: Now global.
1418 <tokptr, tempbufindex, tempbufsize, token_string, class_prefix>:
1420 Handle 'u', 'U', and 'L' prefixes. Call parse_string_or_char.
1421 (c_parse_escape): New function.
1422 * auxv.c (fprint_target_auxv): Update.
1423 * ada-valprint.c (ada_emit_char): Add type argument.
1424 (ada_printchar): Likewise.
1425 (ada_print_scalar): Update.
1426 (printstr): Add type argument. Update calls to ada_emit_char.
1427 (ada_printstr): Add type argument.
1428 (ada_val_print_array): Update.
1429 (ada_val_print_1): Likewise.
1430 * ada-lang.c (emit_char): Add type argument.
1431 * ada-lang.h (ada_emit_char, ada_printchar, ada_printstr): Add
1433 * gdb_locale.h: Include langinfo.h.
1434 * charset.c (_initialize_charset): Set default host charset from
1435 the locale. Don't register charsets. Add target-wide-charset
1436 commands. Call find_charset_names.
1437 (struct charset, struct translation): Remove.
1438 (GDB_DEFAULT_HOST_CHARSET): Remove.
1439 (GDB_DEFAULT_TARGET_WIDE_CHARSET): New define.
1440 (target_wide_charset_name): New global.
1441 (show_host_charset_name): Handle "auto".
1442 (show_target_wide_charset_name): New function.
1443 (host_charset_enum, target_charset_enum): Remove.
1444 (charset_enum): New global.
1445 (all_charsets, register_charset, lookup_charset, all_translations,
1446 register_translation, lookup_translation): Remove.
1447 (simple_charset, ascii_print_literally, ascii_to_control): Remove.
1448 (iso_8859_print_literally, iso_8859_to_control,
1449 iso_8859_family_charset): Remove.
1450 (ebcdic_print_literally, ebcdic_to_control,
1451 ebcdic_family_charset): Remove.
1452 (struct cached_iconv, check_iconv_cache, cached_iconv_convert,
1453 register_iconv_charsets): Remove.
1454 (target_wide_charset_be_name, target_wide_charset_le_name): New
1456 (identity_either_char_to_other): Remove.
1457 (set_be_le_names, validate): New functions.
1458 (backslashable, backslashed, represented): Remove.
1459 (default_c_target_char_has_backslash_escape): Remove.
1460 (default_c_parse_backslash, iconv_convert): Remove.
1461 (ascii_to_iso_8859_1_table, ascii_to_ebcdic_us_table,
1462 ascii_to_ibm1047_table, iso_8859_1_to_ascii_table,
1463 iso_8859_1_to_ebcdic_us_table, iso_8859_1_to_ibm1047_table,
1464 ebcdic_us_to_ascii_table, ebcdic_us_to_iso_8859_1_table,
1465 ebcdic_us_to_ibm1047_table, ibm1047_to_ascii_table,
1466 ibm1047_to_iso_8859_1_table, ibm1047_to_ebcdic_us_table): Remove.
1467 (table_convert_char, table_translation, simple_table_translation):
1469 (current_host_charset, current_target_charset,
1470 c_target_char_has_backslash_escape_func,
1471 c_target_char_has_backslash_escape_baton): Remove.
1472 (c_parse_backslash_func, c_parse_backslash_baton): Remove.
1473 (host_char_to_target_func, host_char_to_target_baton): Remove.
1474 (target_char_to_host_func, target_char_to_host_baton): Remove.
1475 (cached_iconv_host_to_target, cached_iconv_target_to_host):
1477 (lookup_charset_or_error, check_valid_host_charset): Remove.
1478 (set_host_and_target_charsets): Remove.
1479 (set_host_charset, set_target_charset): Remove.
1480 (set_host_charset_sfunc, set_target_charset_sfunc): Rewrite.
1481 (set_target_wide_charset_sfunc): New function.
1482 (show_charset): Print target wide character set.
1483 (host_charset, target_charset): Rewrite.
1484 (target_wide_charset): New function.
1485 (c_target_char_has_backslash_escape): Remove.
1486 (c_parse_backslash): Remove.
1487 (host_letter_to_control_character): New function.
1488 (host_char_print_literally): Remove.
1489 (host_hex_value): New function.
1490 (target_char_to_control_char): Remove.
1491 (cleanup_iconv): New function.
1492 (convert_between_encodings): New function.
1493 (target_char_to_host): Remove.
1494 (struct wchar_iterator): Define.
1495 (make_wchar_iterator, make_cleanup_wchar_iterator, wchar_iterator,
1496 wchar_push_back): New functions.
1497 (do_cleanup_iterator): New function.
1498 (char_ptr): New typedef.
1499 (charsets): New global.
1500 (add_one, find_charset_names): New functions.
1501 (default_charset_names): New global.
1502 (auto_host_charset_name): Likewise.
1503 * aclocal.m4, config.in, configure: Rebuild.
1504 * configure.ac: Call AM_LANGINFO_CODESET.
1505 (GDB_DEFAULT_HOST_CHARSET): Default to UTF-8.
1506 (AM_ICONV): Invoke earlier.
1507 * acinclude.m4: Include codeset.m4. Subst LIBICONV_INCLUDE and
1508 LIBICONV_LIBDIR. Check for libiconv in build tree.
1509 * Makefile.in (LIBICONV_LIBDIR, LIBICONV_INCLUDE): New macros.
1510 (INTERNAL_CFLAGS_BASE): Add LIBICONV_INCLUDE.
1511 (INTERNAL_LDFLAGS): Add LIBICONV_LIBDIR.
1512 * gdb_obstack.h (obstack_grow_wstr): New define.
1513 * gdb_wchar.h: New file.
1514 * defs.h: Include it.
1519 * dwarf2read.c (process_die): Handle DW_TAG_typedef.
1520 * eval.c (evaluate_subexp_standard) <OP_TYPE>: Strip a single
1522 * ada-lang.c (decode_packed_array_type): Call CHECK_TYPEDEF on the
1524 * ada-typeprint.c (print_array_type): Do the NULL check
1529 * utils.c (do_obstack_free): New function.
1530 (make_cleanup_obstack_free): Likewise.
1531 * defs.h (make_cleanup_obstack_free): Declare.
1535 * linux-nat.c (linux_nat_find_memory_regions): Result of PIDGET is an
1536 int, not a long long.
1537 (linux_nat_info_proc_cmd): Store pid in long instead of long long.
1539 * expprint.c (dump_raw_expression): Print note if non-NULL.
1541 * printcmd.c (display_uses_solib_p): Redo loop, scan element list
1546 * Makefile.in: Update license to GPLv3.
1547 * ada-exp.y: Update license to GPLv3.
1548 * ada-lex.l: Update license to GPLv3.
1549 * c-exp.y: Update license to GPLv3.
1550 * cp-name-parser.y: Update license to GPLv3.
1551 * darwin-nat-info.c: Update license to GPLv3.
1552 * f-exp.y: Update license to GPLv3.
1553 * gdb_thread_db.h: Update license to GPLv3.
1554 * hppanbsd-nat.c: Update license to GPLv3.
1555 * hppanbsd-tdep.c: Update license to GPLv3.
1556 * hppaobsd-tdep.c: Update license to GPLv3.
1557 * jv-exp.y: Update license to GPLv3.
1558 * m2-exp.y: Update license to GPLv3.
1559 * objc-exp.y: Update license to GPLv3.
1560 * p-exp.y: Update license to GPLv3.
1561 * reply_mig_hack.awk: Update license to GPLv3.
1562 * reverse.c: Update license to GPLv3.
1563 * xtensa-xtregs.c: Update license to GPLv3.
1567 * remote.c (remote_close): Don't call generic_mourn_inferior.
1568 (remote_mourn_1): Call generic_mourn_inferior after closing the
1573 * remote.c (remote_start_remote): Add missing call to
1574 init_wait_for_inferior in non-stop mode.
1578 * breakpoint.c (bpstat_should_step): Only consider software
1579 watchpoints that have a location.
1583 Add a target_ops parameter to the to_kill method in struct target_ops.
1585 * target.h (struct target_ops): Add a "target_ops *" parameter to
1587 (target_kill): Remove macro. Add declaration.
1588 * target.c (debug_to_kill): Delete, no longer necessary.
1589 (target_kill): New function.
1590 (update_current_target): Stop inheriting the to_kill method.
1591 Do not de_fault it to no_process either.
1592 (setup_target_debug): Do not set current_target.to_kill.
1593 * gnu-nat.c, go32-nat.c, hpux-thread.c, inf-ptrace.c, inf-ttrace.c,
1594 linux-nat.c, monitor.c, nto-procfs.c, procfs.c, remote-m32r-sdi.c,
1595 remote-mips.c, remote-sim.c, remote.c, windows-nat.c: Update
1600 * amd64-linux-nat.c (si_timerid,si_overrun): Provide definition for
1601 glibc 2.3.2 and earlier.
1605 * frame.c (get_prev_frame_1): Do not perform the inner_frame
1606 sanity check if this_frame is not NORMAL.
1607 (frame_id_inner): Update the description of this function.
1611 * stack.c: Change the introduce of "disassemble-next-line".
1615 * mi/mi-main.h (mi_print_timing_maybe): Add strict prototype,
1620 * stack.c: Include valprint.h.
1621 (disassemble_next_line): New enum.
1622 (show_disassemble_next_line): New function. Show the current
1623 value of disassemble-next-line.
1624 (gdb_disassembly_stub_args): New struct for argument passing
1625 between function do_gdb_disassembly and function
1626 gdb_disassembly_stub.
1627 (gdb_disassembly_stub): New function. Helper for
1629 (do_gdb_disassembly): New function. Use TRY_CATCH to catch
1630 the exception from the gdb_disassembly because it will be
1631 broken by filter sometime.
1632 (print_frame_info): If disassemble-next-line is set to auto
1633 or on and doesn't have the line debug messages for $pc,
1634 output the next instruction.
1635 If disassemble-next-line is set to on and there is line debug
1636 messages, output assembly codes for next line.
1637 (_initialize_stack): Make the "set disassemble-next-line"
1638 command an auto-boolean command. Change its class to
1639 class_stack. Place it in the top level set list. Extend help
1640 to describe the auto mode.
1644 * infrun.c (normal_stop): Don't overwrite old_chain.
1648 * remote-mips.c (mips_load): Replace call to regcache_set_valid_p,
1649 which is undefined, by call to regcache_invalidate, which should
1650 do what the original author wanted to do.
1654 * remote-mips.c (mips_mourn_inferior): Add missing ops parameter.
1655 (mips_create_inferior): Likewise.
1659 * go32-nat.c (go32_create_inferior): Add missing ops parameter.
1663 * darwin-nat.c (darwin_resume): Fix a compiler warning when
1664 building on x86_64-darwin.
1668 * configure.tgt: Add handling for x86_64-darwin.
1672 * auxv.c (fprint_target_auxv): New TAG for AT_RANDOM.
1676 * aix-thread.c (aix_thread_thread_alive, aix_thread_pid_to_str):
1677 Use the ops parameter to get to the target beneath, rather than
1678 using the current_target global. Using the current_target global
1679 was an unintended accident.
1683 Fix an error happening while loading symbols from a core file
1686 * rs6000-nat.c (xcoff_relocate_symtab): Use target_has_execution
1687 to detect whether we're debugging a core file or not.
1691 Modernize the aix-thread later by getting rid of the base_target
1692 global. This brings back to life the AIX port which was otherwise
1693 crashing all the time.
1695 * aix-thread.c (base_target): Delete.
1696 (pd_enable): Do not set base_target.
1697 (aix_thread_attach): Use find_target_beneath instead of base_target.
1698 (aix_thread_detach, aix_thread_resume, aix_thread_wait)
1699 (aix_thread_fetch_registers, aix_thread_store_registers),
1700 (aix_thread_xfer_partial, aix_thread_mourn_inferior)
1701 (aix_thread_thread_alive, aix_thread_pid_to_str): Likewise.
1702 (aix_thread_kill): Delete. Does not seem necessary.
1703 (init_aix_thread_ops): Do not set aix_thread_ops.to_kill.
1707 * stack.c (return_command <retval_exp>): New variables retval_expr
1708 and old_chain. Inline parse_and_eval to initialize retval_expr. Check
1709 RETVAL_EXPR for UNOP_CAST and set RETURN_TYPE to the RETURN_VALUE type
1710 if RETURN_TYPE is NULL.
1714 * remote.c (PACKET_qAttached): New.
1715 (remote_query_attached): New.
1716 (remote_add_inferior): Add new `attached' argument. Handle it.
1717 (remote_notice_new_inferior, remote_start_remote): Adjust to pass
1718 -1 to remote_add_inferior in new parameter.
1719 (extended_remote_attach_1): Adjust to pass 1 to
1720 remote_add_inferior in the new parameter.
1721 (extended_remote_create_inferior_1): Adjust to pass 0 to
1722 remote_add_inferior in the new parameter.
1723 (_initialize_remote): Add "set/show remote query-attached-packet"
1728 * symtab.c (lookup_symbol_in_language): Use a cleanup.
1732 * exceptions.h: Clean up some comments on catch_exceptions usage.
1733 * exceptions.c: Ditto. Plus mark catch_errors as superseded by
1738 The following patch helps getting rid of a warning inside solib-som.c.
1740 * source.c (source_full_path_of): Constify parameter filename.
1741 * defs.h (source_full_path_of): Update declaration accordingly.
1745 * ada-lang.c (ada_evaluate_subexp): Merge case BINOP_REM and
1746 BINOP_MOD cases with the handling of case BINOP_DIV and BINOP_MUL.
1747 Remove useless op value checks when EVAL_AVOID_SIDE_EFFECTS.
1751 * ada-lang.c (ada_evaluate_subexp) <BINOP_DIV>: make sure to
1752 promote the operands when noside is EVAL_AVOID_SIDE_EFFECTS.
1756 * ada-tasks.c (ada_task_is_alive): Move up and make static.
1757 * ada-lang.h (ada_task_is_alive): Remove declaration.
1761 * ada-lang.c (ada_delta): Change the type of numerators and
1762 denominators to DOUBLEST, as they may not fit into a long.
1763 (scaling_factor): Ditto.
1767 * language.c (lang_bool_type): Set lai->bool_type_symbol to NULL.
1771 * ada-lang.c (ada_evaluate_subexp) [OP_VAR_VALUE]: For tagged
1772 types, if we are unable to determine the actual symbol type
1773 from its tag, then use the static approximation instead.
1777 Fix crash printing packed record with packed array.
1779 * ada-lang.c (ada_modulus_from_name): New function.
1780 (ada_modulus): In the case where the type length is bigger than
1781 the size of the type used to hold the bounds, try determining
1782 the modulus from the type name.
1783 (ada_value_primitive_packed_val): Fix bug in the computation of
1784 ntarg causing an out-of-buffer invalid access.
1788 Fix segfault when printing short_integer'last.
1790 * ada-lang.c (ada_find_any_type): Search in the primitive types
1791 if a symbol could not be found.
1795 * ada-tasks.c (task_states,long_task_states): Add new states
1796 Activating and Acceptor_Delay_Sleep. Update the description
1797 of state Acceptor_Sleep.
1801 Fix a build failure on Darwin following some changes in
1802 the profile of some target_ops methods.
1804 * darwin-nat.c (darwin_kill_inferior): Add target_ops parameter
1806 (darwin_stop_inferior, darwin_detach): Likewise.
1810 Include token in ^running notification for CLI commands.
1812 * mi/mi-main.c (mi_execute_command): Set current_token here.
1813 (mi_cmd_execute): Do not set current_token here.
1819 * mi/mi-main.c (mi_print_timing_maybe): New.
1820 (captured_mi_execute_command): Simplify. Output timings to
1822 (mi_execute_async_cli_command): Do not print timings.
1823 * mi/mi-main.h (mi_print_timing_maybe): Declare.
1824 * mi/mi-interp.c (mi_on_normal_stop): Call mi_print_timing_maybe.
1828 * xcoffread.c (process_linenos): Check if the line in the
1829 include table refers to the main source file and, if so,
1830 add them to the main subfile.
1834 Fix a build failure on AIX introduced after a change in the profile
1835 of some of the "methods" in the target_ops structure.
1836 * aix-thread.c: Add missing target_ops parameter throughout.
1838 Implement Ada task switching on AIX.
1839 * aix-thread.c (aix_thread_get_ada_task_ptid): New function.
1840 (init_aix_thread_ops): Set aix_thread_ops.to_get_ada_task_ptid.
1844 * breakpoint.c (bpstat_check_breakpoint_conditions): Use
1845 value_mark and value_free_to_mark.
1846 * objfiles.c (free_objfile): Call objfile_free_data before
1851 * disasm.c (gdb_disassembly): Remove unused argument
1853 * disasm.h (gdb_disassembly): Ditto.
1854 * cli/cli-cmds.c (print_disassembly): Ditto.
1855 * mi/mi-cmd-disas.c (mi_cmd_disassemble): Ditto.
1859 * solib.c (solib_contains_address_p): New function.
1860 (solib_name_from_address): Use it.
1861 * printcmd.c (display_uses_solib_p): Use it.
1862 * solib.h (solib_contains_address_p): Declare it.
1866 * varobj.c (free_variable): Call value_free.
1871 * dwarf2read.c (dwarf_decode_macros): New variable `at_commandline'.
1872 Move the variable `macinfo_type' out of the loop. Create a new
1873 processing pass before the current one to pre-create `current_file'.
1874 New complaint on misplaced zero/non-zero definitions/includes.
1875 Skip first DW_MACINFO_start_file with `at_commandline' set.
1879 * solib.c (reload_shared_libraries): Give
1880 inferior a chance to reset solib breakpoint.
1885 * windows-nat.c (dr): Redefine to use largest possible integer which
1887 (cygwin_set_dr): Avoid coercion.
1891 * windows-nat.c (windows_create_inferior): Implement --tty handling on
1896 Rename solib_address to solib_name_from_address.
1897 * breakpoint.c (insert_bp_location, disable_breakpoints_in_shlibs)
1898 (disable_breakpoints_in_unloaded_shlib): Update.
1899 * printcmd.c (display_uses_solib_p): Likewise.
1900 * stack.c (print_frame): Likewise.
1906 * printcmd.c (do_one_display): Reparse exp_string.
1907 (display_uses_solib_p): New function.
1908 (clear_dangling_display_expressions): New function.
1909 (_initialize_printcmd): Add observer.
1910 * solib.c (no_shared_libraries): Swap order of calls to
1911 clear_solib and objfile_purge_solibs.
1915 Implement the target-specific part of Ada tasking support
1918 * dec-thread.c (dec_thread_get_ada_task_ptid): New function.
1919 (init_dec_thread_ops): Set the to_get_ada_task_ptid method.
1923 Get rid of the global "base_target" and use "find_target_beneath"
1924 to find the underlying target.
1925 * dec-thread.c (base_target): Delete.
1926 (enable_dec_thread): Remove assignement to base_target.
1927 (dec_thread_detach, dec_thread_wait, dec_thread_wait)
1928 (dec_thread_fetch_registers, dec_thread_store_registers)
1929 (dec_thread_mourn_inferior, dec_thread_pid_to_str):
1930 Update the function profile if necessary.
1931 Use find_target_beneath to call the same method but from
1932 the underlying target, removing the need for "base_target".
1934 * dec-thread.c (dec_thread_get_regsets, dec_thread_set_regsets):
1935 Fix a copy/paste error in a few debug traces...
1937 * solib-osf.c (init_so): Use a simpler method for computing
1938 the size of lm_info structure. This also gets rid of warning
1939 emitted by the compiler.
1943 * breakpoint.c (check_duplicates_for): Skip permanent breakpoints
1944 duplicates of permanent breakpoints.
1948 * inferior.h (notice_new_inferior): Declare.
1949 * infcmd.c (notice_new_inferior): New.
1950 * remote.c (remote_add_inferior, remote_add_thread): New.
1951 (notice_new_inferiors): Rename to...
1952 (remote_notice_new_inferior): ... this. Add RUNNING argument.
1953 Use remote_add_thread instead of add_thread, passing it the
1954 RUNNING argument. Add an inferior with remote_add_inferior. If
1955 we just learned about an inferior, call notice_new_inferior.
1956 (record_currthread): Adjust.
1957 (remote_threads_info): Adjust to use remote_notice_new_inferior.
1958 (remote_start_remote, extended_remote_attach_1): Use
1959 remote_add_inferior.
1960 (process_stop_reply): Adjust. Call remote_notice_new_inferior
1961 after handling expedited registers and watchpoint state.
1962 (extended_remote_create_inferior_1): Use remote_add_inferior.
1966 * infcmd.c (registers_info): Remove register number case.
1970 * top.c (quit_target): Check for target_has_execution before
1971 killing or detaching from inferiors.
1975 Remove some unused routines.
1977 * ada-lang.c (is_suppressed_name, ada_suppress_symbol_printing):
1979 * ada-lang.c (ada_task_list_iterator_ftype)
1980 (iterate_over_live_ada_tasks): Delete.
1981 * ada-tasks.c (ada_get_environment_task, iterate_over_live_ada_tasks):
1986 * symtab.c: Remove trailing whitespace throughout the file.
1987 (expand_line_sal): Fix some typos and whitespace.
1989 * Makefile.in (clean): rm -f $(DEPDIR)/*.
1991 * Makefile.in (GDB_CFLAGS): Add -I$(srcdir)/common.
1992 (init.c): signals/ -> common/.
1993 (signals.o): Update.
1994 * target.h (target_signal_to_string,target_signal_to_string)
1995 (target_signal_from_name,target_signal_to_host_p)
1996 (target_signal_from_host,target_signal_to_host): Move to ...
1997 * common/gdb_signals.h: ... here. New file.
1998 * common/signals.c: Moved here from signals/signals.c.
1999 #include gdb_signals.h, remove #include of target.h in gdb case.
2000 (target_signal_from_command,default_target_signal_to_host)
2001 (default_target_signal_from_host): Move inside #ifndef GDBSERVER.
2003 Include thread ID in target_wait debugging output.
2004 * infrun.c (print_target_wait_results): New function.
2005 (wait_for_inferior,fetch_inferior_event): Call it.
2009 * gdb_proc_service.h (struct ps_prochandle): Replace pid_t field
2010 with a ptid_t field.
2011 * linux-thread-db.c (thread_get_info_callback): Build the ptid
2012 using the pid stored in proc_handle.ptid.
2013 (thread_from_lwp, thread_db_attach_lwp, enable_thread_event)
2014 (check_for_thread_db, thread_db_detach, check_event)
2015 (thread_db_mourn_inferior, find_new_threads_callback)
2016 (thread_db_find_new_threads_1): Adjust.
2017 * proc-service.c (ps_xfer_memory, ps_lgetregs, ps_lsetregs)
2018 (ps_lgetfpregs, ps_lsetfpregs, ps_getpid): Adjust.
2022 * valprint.c (read_string): Rework clean-up logic. Use
2023 free_current_contents to clean-up buffer.
2027 * MAINTAINERS: Update e-mail address.
2031 * python/python-utils.c (python_string_to_unicode): Always return
2033 (python_string_to_target_string): Decrement transient python
2035 (python_string_to_host_string): Likewise.
2039 * mips-linux-nat.c (mips64_linux_fetch_registers): Pass `ops' to
2040 call to super_fetch_registers.
2041 (mips64_linux_store_registers): Pass `ops' to call to
2042 super_store_registers.
2046 * breakpoint.c (insert_bp_location): Add \n to overlay breakpoint
2049 * breakpoint.c (disable_breakpoints_in_shlibs): Delete local
2050 disabled_shlib_breaks, unused.
2052 * printcmd.c (build_address_symbolic): Fix comment.
2056 * cli/cli-script.c (define_command): Add _() to query.
2057 * gnu-nat.c (inf_validate_task_sc): Ditto.
2058 * infcmd.c (kill_if_already_running): Ditto.
2059 (jump_command): Ditto.
2060 (attach_command): Ditto.
2061 * inflow.c (kill_command): Ditto.
2062 * infrun.c (handle_command): Ditto.
2063 * maint.c (maintenance_dump_me): Ditto.
2064 * memattr.c (mem_delete_command): Ditto.
2065 * monitor.c (monitor_interrupt_query): Ditto.
2066 * nto-procfs.c (interrupt_query): Ditto.
2067 * printcmd.c (undisplay_command): Ditto.
2068 * remote-mips.c (mips_kill): Ditto.
2069 * remote.c (interrupt_query): Ditto.
2070 * solib-irix.c (irix_open_symbol_file_object): Ditto.
2071 * solib-osf.c (osf_open_symbol_file_object): Ditto.
2072 * solib-pa64.c (pa64_open_symbol_file_object): Ditto.
2073 * solib-som.c (som_open_symbol_file_object): Ditto.
2074 * solib-svr4.c (open_symbol_file_object): Ditto.
2075 * symfile.c (symbol_file_add_with_addrs_or_offsets): Ditto.
2076 * target.c (kill_or_be_killed): Ditto.
2077 * tracepoint.c (delete_trace_command): Ditto.
2078 * top.c (quit_confirm): Add _() to s that will be used
2083 Fix windows-nat.c compilation failure.
2085 * windows-nat.c (windows_thread_alive): Fix forward declaration.
2086 (get_windows_debug_event): Add ops parameter to call to windows_resume.
2090 * remote-sim.c (gdbsim_resume): Add target_ops* argument.
2094 * symtab.c (find_line_symtab): Initialize exact to avoid
2099 * i386-linux-nat.c (i386_linux_fetch_inferior_registers): Pass
2100 `ops' to recursive call.
2104 * corelow.c (get_core_registers): Adjust.
2105 (core_file_thread_alive): Rename to...
2106 (core_thread_alive): ... this.
2107 (core_pid_to_str): Try gdbarch_core_pid_to_str first.
2108 (init_core_ops): Adjust.
2109 (coreops_suppress_target): Delete.
2110 (_initialize_corelow): Unconditionally add core_ops.
2111 * procfs.c: Include "inf-child.h".
2112 (procfs_ops): Delete.
2113 (init_procfs_ops): Delete. Reimplement as...
2114 (procfs_target): ... this, inheriting from inf-child.
2115 (procfs_attach, procfs_detach, procfs_fetch_registers): Adjust.
2116 (procfs_prepare_to_store): Delete.
2117 (procfs_store_registers, procfs_resume): Adjust.
2118 (procfs_open): Delete.
2119 (procfs_suppress_run): Delete.
2120 (procfs_can_run): Delete.
2121 (procfs_mourn_inferior): Adjust.
2122 (procfs_init_inferior): Add target_ops parameter. Adjust.
2123 (procfs_create_inferior): Don't pass procfs_init_inferior to
2124 fork_inferior. Instead call it after fork_inferior returns.
2125 (procfs_find_new_threads): Adjust.
2126 (_initialize_procfs): Adjust to use procfs_target instead of
2128 * sol-thread.c (orig_core_ops, sol_core_ops): Delete.
2129 (lwp_to_thread): Use target_thread_alive.
2130 (sol_thread_open): Delete.
2131 (sol_thread_attach): Delete.
2132 (sol_thread_detach, sol_thread_resume, sol_thread_wait)
2133 (sol_thread_fetch_registers, sol_thread_store_registers): Adjust
2134 to use find_target_beneath.
2135 (sol_thread_prepare_to_store, sol_thread_xfer_memory): Delete.
2136 (sol_thread_xfer_partial): Adjust to use find_target_beneath.
2137 (sol_thread_files_info, sol_thread_kill_inferior): Delete.
2138 (check_for_thread_db): New.
2139 (sol_thread_notice_signals, sol_thread_create_inferior): Delete.
2140 (sol_thread_new_objfile): Call check_for_thread_db.
2141 (sol_thread_mourn_inferior): Adjust to use find_target_beneath.
2142 (sol_thread_can_run): Delete.
2143 (sol_thread_alive): Adjust to use find_target_beneath.
2144 (sol_thread_stop): Delete.
2145 (rw_common): Use target_write_memory or target_read_memory.
2146 (ps_lgetregs, ps_lgetfpregs): Use target_fetch_registers.
2147 (ps_lsetregs, ps_lsetfpregs): Use target_store_registers.
2148 (solaris_pid_to_str): Remove check for libthread_db initialization
2150 (sol_find_new_threads): Remove check for libthread_db
2151 initialization failing, or for an invalid inferior_ptid. Adjust
2152 to use find_target_beneath.
2153 (sol_core_open, sol_core_close, sol_core_detach,
2154 sol_core_files_info, sol_find_memory_regions,
2155 sol_make_note_section, ignore): Delete.
2156 (init_sol_thread_ops): Make it a thread_stratum target. Remove
2157 unneeded callback settings.
2158 (init_sol_core_ops): Delete.
2159 (_initialize_sol_thread): No longer call init_sol_core_ops, set
2160 procfs_suppress_run, or hack with core_ops.
2162 * target.h (struct target_ops): Add a target_ops * parameter to
2163 to_resume, to_fetch_registers, to_store_registers, to_thread_alive
2164 and to_find_new_threads.
2165 (target_fetch_registers, target_store_registers)
2166 (target_thread_alive, target_find_new_threads): Redeclare as
2169 * target.c (update_current_target): Do not inherit or de_fault
2170 to_resume, to_fetch_registers, to_store_registers,
2171 to_thread_alive, to_find_new_threads.
2172 (target_resume): Adjust.
2173 (target_thread_alive, target_find_new_threads): New.
2174 (debug_to_resume, debug_to_fetch_registers): Delete.
2175 (target_fetch_registers): New.
2176 (debug_to_store_registers): Delete.
2177 (target_store_registers): New.
2178 (debug_to_thread_alive, debug_to_find_new_threads): Delete.
2179 (setup_target_debug): Adjust.
2181 * gdbcore.h (core_ops): Delete declaration.
2183 * inf-ptrace.c, linux-nat.c, remote.c, amd64-linux-nat.c,
2184 inf-child.c, linux-thread-db.c, bsd-uthread.c, inf-ttrace.c,
2185 i386-sol2-tdep.c, darwin-nat.c, gnu-nat.c, go32-nat.c,
2186 hpux-thread.c, i386-linux-nat.c, i386fbsd-nat.c, monitor.c,
2187 nto-procfs.c, remote-m32r-sdi.c, remote-mips.c, windows-nat.c,
2188 alphabsd-nat.c, amd64bsd-nat.c, arm-linux-nat.c, armnbsd-nat.c,
2189 bsd-kvm.c, hppa-hpux-nat.c, hppa-linux-nat.c, hppabsd-nat.c,
2190 hppanbsd-nat.c, i386-darwin-nat.c, i386bsd-nat.c,
2191 ia64-linux-nat.c, m32r-linux-nat.c, m68kbsd-nat.c,
2192 m68klinux-nat.c, m88kbsd-nat.c, mips-linux-nat.c,
2193 mips64obsd-nat.c, mipsnbsd-nat.c, ppc-linux-nat.c, ppcnbsd-nat.c,
2194 ppcobsd-nat.c, remote-sim.c, rs6000-nat.c, s390-nat.c,
2195 shnbsd-nat.c, sparc-nat.c, sparc-nat.h, spu-linux-nat.c,
2196 vaxbsd-nat.c, xtensa-linux-nat.c: Adjust to target_ops changes.
2198 * gdbarch.sh (core_pid_to_str): New gdbarch callback.
2199 * gdbarch.h, gdbarch.c: Regenerate.
2201 * sol2-tdep.c: Include "inferior.h".
2202 (sol2_core_pid_to_str): New.
2203 * sol2-tdep.h (sol2_core_pid_to_str): Declare.
2205 * amd64-sol2-tdep.c (amd64_sol2_init_abi): Set it.
2206 * sparc-sol2-tdep.c (sparc32_sol2_init_abi): Set it.
2207 * sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Set it.
2208 * i386-sol2-tdep.c (i386_sol2_init_abi): Set it.
2212 * exec.c (exec_file_attach): Fix comment.
2216 Silence a few -Wmissing-prototypes warnings.
2219 * alpha-linux-tdep.c (alpha_linux_regset_from_core_section): Make
2221 * alpha-osf1-tdep.c (_initialize_alpha_osf1_tdep): Declare.
2222 * amd64fbsd-tdep.c (amd64fbsd_init_abi): Make it static.
2223 * amd64nbsd-tdep.c (_initialize_amd64nbsd_ndep): Rename to ...
2224 (_initialize_amd64nbsd_tdep): ... this.
2225 * arm-linux-tdep.c (arm_linux_software_single_step): Make it static.
2226 (_initialize_arm_linux_tdep): Declare.
2227 * armbsd-tdep.c (armbsd_fpreg_offset): Make it static.
2228 * armnbsd-tdep.c (_initialize_arm_netbsd_tdep): Declare.
2229 * armobsd-tdep.c (_initialize_armobsd_tdep): Declare.
2230 * avr-tdep.c (avr_return_value): Make it static.
2231 (avr_frame_unwind_cache): Ditto.
2232 * bsd-uthread.c (bsd_uthread_inferior_created): Ditto.
2233 (bsd_uthread_solib_loaded): Ditto.
2234 (bsd_uthread_solib_unloaded): Ditto.
2235 (bsd_uthread_target): Ditto.
2236 (_initialize_bsd_uthread): Declare.
2237 * cris-tdep.c (crisv32_single_step_through_delay): Make it static.
2238 (cris_frame_unwind_cache): Ditto.
2239 * frv-tdep.c (frv_return_value): Ditto.
2240 * h8300-tdep.c (h8300_use_struct_convention): Ditto.
2241 (h8300h_use_struct_convention): Ditto.
2242 * hppa-tdep.c (hppa_sign_extend, hppa_low_hppa_sign_extend):
2244 * hppa-tdep.h (hppa_low_sign_extend, hppa_sign_extend): Delete
2246 * hppabsd-tdep.c: Include hppabsd-tdep.h.
2247 (hppabsd_find_global_pointer): Make it static.
2248 * hppabsd-tdep.h: New.
2249 * hppanbsd-tdep.c: Include hppabsd-tdep.h.
2250 (hppabsd_init_abi): Remove declaration.
2251 (_initialize_hppabsd_tdep): Remove declaration.
2252 (_initialize_hppanbsd_tdep): Declare.
2253 * hppaobsd-tdep.c: Include hppabsd-tdep.h.
2254 (hppabsd_init_abi): Delete declaration.
2255 (hppaobsd_init_abi): Make it static.
2256 * i386-nto-tdep.c (_initialize_i386nto_tdep): Declare.
2257 * i386nbsd-tdep.c (_initialize_i386nbsd_tdep): Declare.
2258 * ia64-linux-tdep.c (_initialize_ia64_linux_tdep): Declare.
2259 * ia64-tdep.c (ia64_register_reggroup_p): Make it static.
2260 * iq2000-tdep.c (_initialize_iq2000_tdep): Declare.
2261 * m32c-tdep.c (m32c_register_reggroup_p): Make it static.
2262 (m32c_analyze_prologue, m32c_virtual_frame_pointer): Ditto.
2263 (_initialize_m32c_tdep): Declare.
2264 * m32r-rom.c (_initialize_m32r_rom): Declare.
2265 * m32r-tdep.c (m32r_skip_prologue): Make it static.
2266 (m32r_return_value): Ditto.
2267 * m68hc11-tdep.c (m68hc11_frame_unwind_cache): Make it static.
2268 (m68hc11_return_value): Ditto.
2269 * m68klinux-tdep.c (_initialize_m68k_linux_tdep): Declare.
2270 * m88k-tdep.c (m88k_frame_cache): Make it static.
2271 * mep-tdep.c (mep_gdb_print_insn): Ditto.
2272 (mep_return_value): Ditto.
2273 (_initialize_mep_tdep): Declare.
2274 * mips-irix-tdep.c (_initialize_mips_irix_tdep): Declare.
2275 * mips-linux-tdep.c (supply_64bit_reg): Make it static.
2276 (mips_linux_syscall_next_pc): Ditto.
2277 (_initialize_mips_linux_tdep): Declare.
2278 * mips-tdep.c (mips_single_step_through_delay): Make it static.
2279 * mipsnbsd-tdep.c (_initialize_mipsnbsd_tdep): Declare.
2280 * mn10300-linux-tdep.c (_initialize_mn10300_linux_tdep): Declare.
2281 * mn10300-tdep.c (_initialize_mn10300_tdep): Declare.
2282 * mt-tdep.c (_initialize_mt_tdep): Declare.
2283 * nbsd-tdep.c: Include nbsd-tdep.h.
2284 * nto-tdep.c (find_load_phdr): Make it static.
2285 (_initialize_nto_tdep): Declare.
2286 * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Make it
2288 (_initialize_ppc_linux_tdep): Declare.
2289 * remote-m32r-sdi.c (m32r_can_use_hw_watchpoint)
2290 (m32r_insert_watchpoint, m32r_remove_watchpoint)
2291 (m32r_stopped_data_address, m32r_stopped_by_watchpoint): Make
2293 * rs6000-aix-tdep.c (_initialize_rs6000_aix_tdep): Declare.
2294 * rs6000-nat.c: Include xcoffread.h.
2295 (find_toc_address): Don't extern declare get_toc_offset. Adjust
2296 to call xcoff_get_to_offset.
2297 * rs6000-tdep.c (ppc_vsx_support_p, ppc_displaced_step_fixup)
2298 (rs6000_skip_main_prologue, rs6000_in_solib_return_trampoline)
2299 (rs6000_skip_trampoline_code): Make static.
2300 * s390-tdep.c (s390_regset_from_core_section): Ditto.
2301 * sh-tdep.c (sh_register_reggroup_p): Ditto.
2302 * shnbsd-tdep.c (shnbsd_regset_from_core_section): Ditto.
2303 (_initialize_shnbsd_tdep): Declare.
2304 * solib-frv.c (displacement_from_map): Make static.
2305 (_initialize_frv_solib): Declare.
2306 * solib-irix.c (fetch_lm_info): Make static.
2307 (_initialize_irix_solib): Declare.
2308 * solib-som.c: Include solib-som.h.
2309 (som_solib_select): Line break.
2310 * sparc-tdep.c (sparc_regset_from_core_section): Make static.
2311 * sparcnbsd-tdep.c (_initialize_sparnbsd_tdep): Rename to ...
2312 (_initialize_sparcnbsd_tdep): ... this.
2313 * spu-tdep.c (spu_software_single_step): Make it static.
2314 (_initialize_spu_tdep): Declare.
2315 * vax-tdep.c (vax_frame_cache): Make it static.
2316 * xcoffread.c: Include xcoffread.h.
2317 (get_toc_offset): Rename to ...
2318 (xcoff_get_toc_offset): ... this.
2319 (_initialize_xcoffread): Declare.
2321 * xtensa-linux-tdep.c (_initialize_xtensa_linux_tdep): Declare.
2322 * xtensa-tdep.c (xtensa_skip_prologue, xtensa_derive_tdep): Make
2324 (_initialize_xtensa_tdep): Declare.
2328 Silence a few -Wmissing-prototypes warnings.
2331 * amd64-nat.c: Include "amd64-nat.h".
2332 * fork-child.c (_initialize_fork_child): Ditto.
2333 * gcore.c (_initialize_gcore): Ditto.
2334 * inf-ptrace.c: Include "inf-ptrace.h".
2335 (inf_ptrace_store_registers): Make it static.
2336 * linux-nat.c (linux_nat_terminal_ours): Make it static.
2337 (_initialize_linux_nat): Declare before definition.
2338 * linux-tdep.c: Include "linux-tdep.h".
2339 * linux-thread-db.c (_initialize_thread_db): Declare before
2341 * proc-service.c (_initialize_proc_service): Ditto.
2342 * remote.c (remote_send_printf): Make it static.
2343 * solib.c: Include "solib.h".
2344 * symfile-mem.c (_initialize_symfile_mem): Declare before
2346 * ada-lang.c (ada_la_decode, ada_match_name)
2347 (ada_suppress_symbol_printing, ada_is_array_type)
2348 (ada_value_ptr_subscript, ada_array_length)
2349 (ada_to_static_fixed_value): Make them static.
2350 (_initialize_ada_language): Declare before definition.
2351 * ada-tasks.c (ada_get_task_number, ada_get_environment_task)
2352 (ada_task_list_changed, ada_new_objfile_observer): Make them
2354 (_initialize_tasks): Declare before definition.
2355 * addrmap.c (_initialize_addrmap): Declare before definition.
2356 * auxv.c (default_auxv_parse): Make it static.
2357 * bfd-target.c (target_bfd_xfer_partial, target_bfd_xclose): Make
2359 * breakpoint.c (remove_sal): Add line break.
2360 (expand_line_sal_maybe): Make it static.
2361 * cp-name-parser.y: Include "cp-support.h".
2362 * cp-valprint.c (cp_find_class_member): Make it static.
2363 * eval.c (value_f90_subarray): Ditto.
2364 * exceptions.c (print_any_exception): Ditto.
2365 * findcmd.c (_initialize_mem_search): Declare before definition.
2366 * frame.c (frame_observer_target_changed): Make it static.
2367 * gnu-v3-abi.c (gnuv3_find_method_in): Make it static.
2368 * inf-child.c: Include "inf-child.h".
2369 * inferior.h (valid_inferior_id): Rename to ...
2370 (valid_gdb_inferior_id): ... this.
2371 * infrun.c (infrun_thread_stop_requested, siginfo_make_value):
2373 * jv-lang.c (java_language_arch_info): Make it static.
2374 * m2-typeprint.c (m2_get_discrete_bounds): Ditto.
2375 * osdata.c (info_osdata_command): Make it static.
2376 * regcache.c (regcache_observer_target_changed): Make it static.
2377 * reverse.c (_initialize_reverse): Declare before definition.
2378 * stabsread.c (cleanup_undefined_types_noname)
2379 (cleanup_undefined_types_1): Make them static.
2380 * symfile.c (place_section): Make it static.
2381 * symtab.c (find_pc_sect_psymtab_closer): Make it static.
2382 * target-descriptions.c (_initialize_target_descriptions): Declare
2384 * target.c (default_get_ada_task_ptid, find_default_can_async_p)
2385 (find_default_is_async_p, find_default_supports_non_stop): Make
2387 (target_supports_non_stop): Add prototype.
2388 (dummy_pid_to_str): Make it static.
2389 * utils.c (_initialize_utils): Declare before definition.
2390 * ada-exp.y (_initialize_ada_exp): Declare before definition.
2391 * solib-svr4.c (HAS_LM_DYNAMIC_FROM_LINK_MAP): Add a prototype.
2392 * target.h (struct target_ops): Add a prototype to the
2393 to_can_execute_reverse callback.
2394 * macroscope.c (_initialize_macroscope): Declare before definition.
2395 * cp-namespace.c (_initialize_cp_namespace): Declare before definition.
2396 * python/python.c (_initialize_python): Declare before definition.
2397 * tui/tui-command.c: Include "tui/tui-command.h".
2398 * tui/tui-data.c (init_content_element, init_win_info): Make them
2400 * tui/tui-disasm.c: Include "tui/tui-disasm.h".
2401 * tui/tui-interp.c (_initialize_tui_interp): Declare before
2403 * tui/tui-layout.c: Include "tui/tui-layout.h".
2404 (_initialize_tui_layout): Declare before definition.
2405 * tui/tui-regs.c: Include "tui/tui-regs.h".
2406 (tui_display_reg_element_at_line): Make it static.
2407 (_initialize_tui_regs): Declare before definition.
2408 * tui/tui-stack.c (_initialize_tui_stack): Declare before
2410 * tui/tui-win.c: Include "tui/tui-win.h".
2411 (_initialize_tui_win): Declare before definition.
2412 (tui_sigwinch_handler): Make it static. Wrap in ifdef SIGWINCH.
2413 * tui/tui-win.h (tui_sigwinch_handler): Delete declaration.
2414 (tui_get_cmd_list): Add a prototype.
2415 * tui/tui-windata.c: Include tui-windata.h.
2416 * tui/tui-wingeneral.c (box_win): Make it static.
2417 * cli/cli-logging.c (show_logging_command): Make it static.
2418 (_initialize_cli_logging): Declare before definition.
2419 * mi/mi-common.c (_initialize_gdb_mi_common): Declare before
2424 Extend use of i386_use_watchpoints to all i386 native files
2425 using hardware watchpoints.
2426 * go32-nat.c (init_go32_ops): Call i386_use_watchpoints.
2427 * i386fbsd-nat.c (_initialize_i386fbsd_nat): Ditto.
2428 * windows-nat.c (init_windows_ops): Ditto.
2429 * config/i386/nm-cygwin.h: Define I386_WATCHPOINTS_IN_TARGET_VECTOR.
2430 * config/i386/nm-cygwin64.h: Ditto.
2431 * config/i386/nm-fbsd.h: Ditto.
2432 * config/i386/nm-go32.h: Ditto.
2436 * ada-typeprint.c (ada_typedef_print): Remove. Unused.
2440 * mi/mi-interp.c (mi_solib_loaded, mi_solib_unloaded): New.
2441 (mi_interpreter_init): Register the above.
2442 * solib.c (clear_solib): Notify solib unload.
2443 * breakpoint.c (disable_breakpoints_in_unloaded_shlib): Do not
2444 disable breakpoints on a.out targets.
2448 * observer.c (observer_test_first_notification_function)
2449 (observer_test_second_notification_function)
2450 (observer_test_third_notification_function): Adjust prototype.
2454 * Makefile.in (ALL_64_TARGET_OBS): Add amd64-dicos-tdep.o.
2455 (ALL_TARGET_OBS): Add dicos-tdep.o.
2456 (ALLDEPFILES): Add amd64-dicos-tdep.c and dicos-tdep.c.
2457 * configure.tgt (i[34567]86-*-dicos*): Add dicos-tdep.o to
2459 (x86_64-*-dicos*): Add dicos-tdep.o and amd64-dicos-tdep.o to
2461 * dicos-tdep.h, dicos-tdep.c: New.
2462 * amd64-dicos-tdep.c: New.
2463 * i386-dicos-tdep.c: Don't include solib.h, solib-target.h or
2464 inferior.h. Include dicos-tdep.h.
2465 (i386_dicos_init_abi): Call dicos_init_abi.
2466 (i386_dicos_bfd_has_symbol_p): Delete.
2467 (i386_dicos_osabi_sniffer): Use dicos_load_module_p.
2469 * NEWS: Mention x86-64 DICOS target support.
2473 * amd64-tdep.c (amd64_skip_prefixes): Renamed from skip_prefixes.
2474 All callers updated.
2475 (amd64_get_insn_details): Handle more 3-byte opcode insns.
2476 (amd64_breakpoint_p): Delete.
2477 (amd64_displaced_step_fixup): When fixing up after stepping an int3,
2478 don't back up pc to the start of the int3.
2479 * i386-tdep.c: #include opcode/i386.h.
2480 (i386_skip_prefixes): New function.
2481 (i386_absolute_jmp_p): Constify argument.
2482 (i386_absolute_call_p,i386_ret_p,i386_call_p,i386_syscall_p): Ditto.
2483 (i386_breakpoint_p): Delete.
2484 (i386_displaced_step_fixup): Handle unnecessary or redundant prefixes.
2485 When fixing up after stepping an int3, don't back up pc to the start
2490 * corelow.c (core_close): Don't hardcode the core's pid.
2491 (core_open): Find core threads before calling
2492 post_create_inferior.
2493 (add_to_thread_list, get_core_register_section): Take into account
2494 systems where the regset section names encode the pid of the
2497 * gdbarch.sh (core_reg_section_encodes_pid): New gdbarch setting.
2498 * gdbarch.h, gdbarch.c: Regenerate.
2500 * amd64-sol2-tdep.c (amd64_sol2_init_abi): Set it.
2501 * i386-sol2-tdep.c (i386_sol2_init_abi): Set it.
2502 * sparc-sol2-tdep.c (sparc32_sol2_init_abi): Set it.
2503 * sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Set it.
2507 Include frame information for *stopped due to CLI commands.
2509 * ada-tasks.c (ada_normal_stop_observer): Adjust prototype.
2510 * infcmd.c (finish_command_continuation): Pass '1' for
2511 'print_frame' parameter to the observer.
2512 * infrun.c (normal_stop): Don't print mi-specific information
2513 here. Pass 'stop_print_frame' to the 'print_frame' parameter
2515 * mi/mi-interp.c (mi_on_normal_stop): Adjust prototype.
2516 If we need to print frame, and current uiout is not the MI one,
2521 * xtensa-tdep.c (call0_analyze_prologue): Delete BSZ macro.
2522 Replace BSZ macro uses by XTENSA_ISA_BSZ macro.
2527 * dwarf2read.c (process_die <DW_TAG_module>, read_module)
2528 (scan_partial_symbols <DW_TAG_module>, add_partial_module): New.
2532 * dwarf2read.c (read_base_type): Set code to TYPE_CODE_CHAR
2533 for DW_ATE_signed_char and DW_ATE_unsigned_char
2534 for pascal language.
2539 Avoid NULL dereference.
2540 * stack.c (return_command): Guard use of SYMBOL_TYPE (thisfun).
2541 New variable func_type.
2545 * gdbarch.c: Regenerate.
2549 * p-lang.c (is_pascal_string_type): Fix comment.
2550 Determine exact size of char elements for GPC
2552 (pascal_printstr): Handle char width of 2 or 4.
2553 * p-valprint.c (pascal_val_print): Handle char
2558 * dwarf2read.c (dwarf2_build_psymtabs_hard): Move lowpc and highpc
2559 inside the loop. Only call addrmap_set_empty if the compilation unit
2560 had DW_AT_high_pc and DW_AT_low_pc. Update call to
2561 scan_partial_symbols.
2562 (scan_partial_symbols): Take NEED_PC argument and pass it along with
2564 (add_partial_namespace): Take NEED_PC argument and pass it through.
2565 (add_partial_subprogram): Take NEED_PC argument. Update the addrmap
2570 * NEWS: Mention inspecting extra signal information, $_siginfo,
2571 and the qXfer:siginfo:read and qXfer:siginfo:write packets.
2575 * linux-nat.c (PTRACE_SETSIGINFO): Define if PTRACE_GETSIGINFO
2580 * amd64-linux-nat.c (compat_int_t, compat_uptr_t, compat_time_t)
2581 (compat_timer_t, compat_clock_t, struct compat_timeval)
2582 (compat_sigval_t, compat_siginfo_t): New types.
2583 (cpt_si_pid, cpt_si_uid, cpt_si_timerid, cpt_si_overrun)
2584 (cpt_si_status, cpt_si_utime, cpt_si_stime, cpt_si_ptr)
2585 (cpt_si_addr, cpt_si_band, cpt_si_fd): New defines.
2586 (compat_siginfo_from_siginfo, siginfo_from_compat_siginfo)
2587 (amd64_linux_siginfo_fixup): New.
2588 * linux-nat.c (linux_nat_siginfo_fixup): New.
2589 (siginfo_fixup): New.
2590 (linux_xfer_siginfo): Use siginfo_fixup to convert between the
2591 siginfo layout expected by ptrace and the siginfo layout of the
2593 (linux_nat_set_siginfo_fixup): New.
2594 * linux-nat.h (linux_nat_set_siginfo_fixup): Declare.
2598 * target.h (enum target_object): Add new TARGET_OBJECT_SIGNAL_INFO.
2599 * infrun.c (siginfo_value_read, siginfo_value_write): New.
2600 (siginfo_value_funcs): New.
2601 (siginfo_make_value): New.
2602 (_initialize_infrun): Create the $_siginfo convenience variable.
2603 * gdbtypes.h (append_composite_type_field_aligned): Declare.
2604 * gdbtypes.c (append_composite_type_field): Rename to...
2605 (append_composite_type_field_aligned): ... this. Add ALIGNMENT
2606 argument. Handle it.
2607 (append_composite_type_field): Rewrite on top of
2608 append_composite_type_field_aligned.
2609 * value.h (internalvar_make_value): New typedef.
2610 (struct internalvar) <make_value>: New field.
2611 (create_internalvar_type_lazy): Declare.
2612 * value.c (create_internalvar): Clear make_value.
2613 (create_internalvar_type_lazy): New.
2614 (value_of_internalvar): If make_value is set use it.
2615 (preserve_values): Skip internal variables that don't have a
2617 * gdbarch.sh (get_siginfo_type): New.
2618 * gdbarch.h, gdbarch.c: Regenerate.
2620 * linux-tdep.h, linux-tdep.c: New.
2621 * amd64-linux-tdep.c: Include "linux-tdep.h".
2622 (amd64_linux_init_abi): Register linux_get_siginfo_type and
2623 linux_get_siginfo_mapper.
2624 * i386-linux-tdep.c: Include "linux-tdep.h".
2625 (i386_linux_init_abi): Register linux_get_siginfo_type and
2626 linux_get_siginfo_mapper.
2627 * arm-linux-tdep.c: Include "linux-tdep.h".
2628 (i386_linux_init_abi): Register linux_get_siginfo_type and
2629 linux_get_siginfo_mapper.
2631 * linux-nat.c (linux_xfer_siginfo): New.
2632 (linux_nat_xfer_partial): Handle TARGET_OBJECT_SIGNAL_INFO.
2633 * remote.c (PACKET_qXfer_siginfo_read)
2634 (PACKET_qXfer_siginfo_write): New.
2635 (feature remote_protocol_features): Add "qXfer:siginfo:read" and
2636 "qXfer:siginfo:write" features.
2637 (remote_xfer_partial): Handle TARGET_OBJECT_SIGNAL_INFO.
2638 (_initialize_remote): Add "set/show remote read-siginfo-object"
2639 and "set/show remote write-siginfo-object" commands.
2641 * Makefile.in (ALL_TARGET_OBS): Add linux-tdep.o.
2642 (HFILES_NO_SRCDIR): Add linux-tdep.h.
2643 (ALLDEPFILES): Add linux-tdep.c.
2645 * configure.tgt (arm*-*-linux* | arm*-*-uclinux*)
2646 (i[34567]86-*-linux*, x86_64-*-linux*): Add linux-tdep.o to
2654 * defs.h (enum lval_type): New value: lval_computed.
2655 * value.h (struct lval_funcs): New type.
2656 (allocate_computed_value, value_computed_funcs)
2657 (value_computed_closure): New declarations.
2658 * value.c (struct value): Add a structure to the location union
2659 for computed lvalues, containing 'funcs' and 'closure' members.
2660 (allocate_computed_value, value_computed_funcs)
2661 (value_computed_closure): New functions.
2662 (value_free): For computed lvalues, call the closure's
2663 'free_closure' function before freeing the value itself.
2664 (value_copy): If we're copying an lval_computed value, call the
2665 closure's 'copy_closure' function.
2666 (set_value_component_location): If the original value is a
2667 computed lvalue, then call the closure's 'copy_closure' function.
2668 (value_of_internalvar): If an internal variable's value is a
2669 computed lvalue, make retrieving its value produce an equivalent
2671 * valops.c (value_fetch_lazy): Unlazy computed lvalues by calling
2672 their read function.
2673 (value_assign): Assign to computed lvalues by calling their write
2678 * linux-nat.c (linux_nat_wait): Adjust.
2679 (linux_nat_pid_to_str): Adjust. Remove call to thread_db_init.
2680 * linux-nat.h (thread_db_init): Delete declaration.
2681 * linux-thread-db.c (target_beneath): Delete.
2682 (thread_db_init): Delete.
2683 (thread_db_detach): Use find_target_beneath.
2684 (thread_db_wait): Adjust interface. Use find_target_beneath.
2685 (thread_db_mourn_inferior): Use find_target_beneath.
2686 (thread_db_can_async_p, thread_db_is_async_p, thread_db_async)
2687 (thread_db_async_mask): Delete.
2688 (thread_db_pid_to_str): Adjust interface. Use
2689 find_target_beneath.
2690 (thread_db_get_thread_local_address): Adjust interface. Use
2691 find_target_beneath.
2692 (init_thread_db_ops): Delete references to delete functions.
2693 * target.c (update_current_target): Don't inherit or default
2694 to_wait. Don't inherit to_pid_to_str and
2695 to_get_thread_local_address.
2696 (target_translate_tls_address): Look for a pushed target that
2697 implements to_get_thread_local_address, and use it instead of
2698 checking for target_get_thread_local_address_p.
2699 (target_wait, target_pid_to_str): Reimplement as functions.
2700 (dummy_pid_to_str): New.
2701 (init_dummy_target): Register it.
2702 (debug_to_wait): Delete.
2703 * target.h (struct target_ops): Make to_wait, to_pid_to_str and
2704 to_get_thread_local_address accept a pointer to struct target_ops.
2705 (target_wait): Delete macro, and declare as function.
2706 (target_pid_to_str): Likewise.
2707 (target_get_thread_local_address)
2708 (target_get_thread_local_address_p): Delete.
2709 (noprocess): Add NORETURN and ATTR_NORETURN tags.
2710 * inf-ptrace.c (inf_ptrace_wait): Adjust.
2711 (inf_ptrace_pid_to_str): New.
2712 (inf_ptrace_target): Use inf_ptrace_pid_to_str.
2713 * aix-thread.c (aix_thread_wait, aix_thread_pid_to_str): Adjust.
2714 * bsd-kvm.c (bsd_kvm_pid_to_str): Adjust.
2715 * bsd-uthread.c (bsd_uthread_wait, bsd_uthread_pid_to_str):
2717 * corelow.c (core_pid_to_str): Adjust.
2718 * darwin-nat.c (darwin_wait, darwin_pid_to_str): Adjust.
2719 * dec-thread.c (dec_thread_wait, dec_thread_pid_to_str): Adjust.
2720 * gnu-nat.c (gnu_wait, gnu_pid_to_str): Adjust.
2721 * go32-nat.c (go32_wait, go32_pid_to_str): Adjust.
2722 * hpux-thread.c (hpux_thread_wait): Adjust.
2723 * inf-ttrace.c (inf_ttrace_wait, inf_ttrace_pid_to_str): Adjust.
2724 * monitor.c (monitor_wait, monitor_pid_to_str): Adjust.
2725 * nto-procfs.c (procfs_wait, procfs_pid_to_str): Adjust.
2726 * procfs.c (procfs_pid_to_str): Adjust.
2727 * remote-m32r-sdi.c (m32r_wait, m32r_pid_to_str): Adjust.
2728 * remote-mips.c (mips_wait): Adjust.
2729 * remote-sim.c (gdbsim_wait, gdbsim_pid_to_str): Adjust.
2730 * remote.c (remote_wait, remote_pid_to_str)
2731 (remote_get_thread_local_address): Adjust.
2732 * rs6000-nat.c (rs6000_wait): Adjust.
2733 * sol-thread.c (procfs_pid_to_str): Adjust declaration.
2734 (sol_thread_wait, solaris_pid_to_str): Adjust.
2735 * spu-linux-nat.c (spu_child_wait): Adjust.
2736 * windows-nat.c (windows_wait, windows_pid_to_str): Adjust.
2740 * Makefile.in (SUBDIR_PYTHON_OBS): Add python-cmd.o.
2741 (SUBDIR_PYTHON_SRCS): Add python-cmd.c.
2742 (python-cmd.o): New target.
2743 * cli/cli-decode.c (set_cmd_completer): Add self parameter to
2744 completer prototype.
2745 (add_cmd): Initialize destroyer member of cmd_list_element. Use
2746 make_symbol_completion_list_fn as completer.
2747 (delete_cmd): Call destroyer if one is set.
2748 * cli/cli-decode.h (cmd_list_element): Add cmd parameter to
2749 completer member. Add destroyer member.
2750 (set_cmd_completer): Add self parameter to
2751 completer prototype.
2752 * command.h (set_cmd_completer): Add cmd parameter to
2753 completer prototype.
2754 * completer.c (noop_completer, filename_completer,
2755 location_completer, expression_completer, command_completer): Adapt
2756 to new completer prototype.
2757 (complete_line_internal): Pass new parameter to completer function.
2758 * completer.h (noop_completer, filename_completer,
2759 location_completer, expression_completer, command_completer): Adapt
2760 prototypes to new completer prototype.
2761 * interps.c (interpreter_completer): Adapt to new completer
2763 * python/python-cmd.c: New file.
2764 * python/python-internal.h (gdbpy_initialize_commands): Add
2766 (gdbpy_doc_cst): Add forward declaration.
2767 * python/python.c (gdbpy_doc_cst): Declare.
2768 (_initialize_python): Call gdbpy_initialize_commands. Initialize
2770 * symtab.c (make_symbol_completion_list_fn): New function.
2771 * symtab.h (make_symbol_completion_list_fn): Add prototype.
2775 * target.c (target_get_osdata): Check for equal or higher than
2776 process_stratum, not dummy_stratum.
2780 * remote.c (extended_remote_can_run): Delete.
2781 (init_remote_ops): Don't register it.
2782 * target.c (target_get_osdata): Don't check for target_can_run.
2783 Instead any target that has already been pushed, otherwise
2784 fallback to the default run target.
2788 * target.c (target_create_inferior, target_detach)
2789 (target_mourn_inferior, target_attach, target_close): Do target
2791 (debug_to_attach, debug_to_detach, debug_to_create_inferior)
2792 (debug_to_mourn_inferior, debug_to_close): Delete.
2793 (setup_target_debug): Adjust.
2797 * target.h (target_stopped_data_address_p): Delete declaration,
2798 and don't define as macro.
2799 * target.c (target_stopped_data_address_p): Delete.
2804 * python/python-utils.c (target_string_to_unicode): New function.
2805 * python/python-internal.h (target_string_to_unicode): New prototype.
2806 * python/python-value.c (valpy_string): New function.
2807 (value_object_methods): Add `string' entry.
2811 * target.h (target_tid_to_str): Delete.
2812 * thread.c (print_thread_info, thread_apply_all_command)
2813 (thread_apply_command, thread_command, do_captured_thread_select):
2814 Use target_pid_to_str instead of target_tid_to_str.
2815 * linux-fork.c (delete_fork_command): Likewise.
2819 * frame.c (has_stack_frames): Make public.
2820 (get_prev_frame): Don't allow a NULL this_frame anymore.
2821 * frame.h (has_stack_frames): Declare.
2822 * varobj.c (find_frame_addr_in_frame_chain): Don't ever pass NULL
2823 to get_prev_frame, instead start at get_current_frame.
2824 (varobj_create): Check has_stack_frames before getting any frame;
2825 eliminate one usage of deprecated_safe_get_selected_frame.
2830 * python/python.c (GdbMethods): Move to bottom of file.
2831 (get_parameter, execute_gdb_command, gdbpy_write,
2832 gdbpy_flush): Remove forward declarations.
2833 (eval_python_from_control_command): Fix error checking of function
2834 PyRun_SimpleString. Fix error string.
2835 (python_command): Likewise.
2836 (execute_gdb_command): Added from_tty argument.
2840 * language.h (language_dfn): Add la_get_string member.
2841 (LA_GET_STRING): New macro.
2842 (default_get_string): New prototype.
2843 * language.c (default_get_string): New function.
2844 (unknown_language_defn, auto_language_defn, local_language_defn): Use
2845 default_get_string for la_get_string.
2846 * c-lang.c (c_get_string): New function.
2847 (c_language_defn, cplus_language_defn, asm_language_defn): Use
2848 c_get_string for la_get_string.
2849 (minimal_language_defn): Likewise
2850 * ada-lang.c (ada_language_defn): Likewise.
2851 * f-lang.c (f_language_defn): Use default_get_string for
2853 * jv-lang.c (java_language_defn): Likewise.
2854 * m2-lang.c (m2_language_defn): Likewise.
2855 * objc-lang.c (objc_language_defn): Likewise.
2856 * p-lang.c (p_language_defn): Likewise.
2857 * scm-lang.c (scm_language_defn): Likewise.
2858 * typeprint.c (type_to_string): New function.
2859 * value.h (type_to_string): New prototype.
2860 * valprint.c (val_print_string): Factor out code for reading string
2861 from the inferior into its own function. Put 2 spaces after period
2863 (read_string): New function.
2864 * valprint.h (read_string): New prototype.
2869 PR breakpoints/8079:
2870 * breakpoint.c (print_one_breakpoint): Use exp_string field
2871 to display expression of watchpoints.
2872 (mention): Likewise.
2873 (watch_command_1): Remove trailing whitespace from expression.
2874 * printcmd.c (struct display) <exp_string>: New field.
2875 (display_command): Set exp_string.
2876 (free_display): Free exp_string.
2877 (clear_displays): Use free_display.
2878 (do_one_display): Print exp_string.
2879 (display_info): Likewise.
2885 * python/python-internal.h (gdbpy_get_value_from_history): Rename
2886 prototype to gdbpy_history.
2887 (gdbpy_is_string): Declare.
2888 (python_string_to_host_string): Declare.
2889 * python/python-utils.c (gdbpy_is_string): New function.
2890 (unicode_to_encoded_string): New function.
2891 (unicode_to_target_string): Use it.
2892 (python_string_to_host_string): New function.
2893 * python/python-value.c (valpy_address): New function.
2894 (convert_value_from_python): Use gdbpy_is_string. Change to throw
2895 Python exception instead of a GDB exception on error. Properly check
2897 (valpy_getitem): Convert field name to host string. Handle array
2898 accesses. Adapt to new behaviour of convert_value_from_python.
2899 (valpy_new): Adapt to new behaviour of convert_value_from_python.
2900 (enum valpy_opcode) <VALPY_LSH, VALPY_RSH, VALPY_BITAND,
2901 VALPY_BITXOR, VALPY_BITOR>: New constants.
2902 (valpy_binop): Update. Adapt to new behaviour of
2903 convert_value_from_python.
2904 (valpy_invert): New function.
2905 (valpy_lsh): Likewise.
2906 (valpy_rsh): Likewise.
2907 (valpy_and): Likewise.
2908 (valpy_or): Likewise.
2909 (valpy_xor): Likewise.
2910 (valpy_richcompare): Call convert_value_from_python instead of doing
2912 (is_intlike, valpy_int, valpy_long, valpy_float): New functions.
2913 (gdbpy_get_value_from_history): Rename
2914 function to gdbpy_history.
2915 (gdbpy_initialize_values): Don't set tp_new.
2916 (value_object_type): Add valpy_new.
2917 (value_object_methods): Add `address' entry.
2918 (value_object_as_number): Update for new methods.
2919 * python/python.c (GdbMethods): Rename entry from
2920 `get_value_from_history' to `history'.
2924 * ada-lang.c (ada_template_to_fixed_record_type_1): Check size
2925 of type to guard against a crash.
2929 * value.c (value_from_contents_and_address): Always return
2930 a lval_memory value, even if address is null.
2934 * i386-darwin-tdep.c (i386_darwin_sigcontext_addr): New function.
2935 (amd64_darwin_sigcontext_addr): Ditto.
2936 (darwin_dwarf_signal_frame_p): Ditto.
2937 (i386_darwin_init_abi): Handle signal frames, use the const for
2939 (x86_darwin_init_abi_64): Ditto.
2943 * i386-tdep.c (i386_sigtramp_p): Make it public.
2944 * i386-tdep.h (i386_sigtramp_p): Declare.
2948 * machoread.c (macho_symfile_read): Read minsymtab also from
2950 (macho_symfile_read): Try to read dwarf2 frame info from main
2951 object file, but not from OSO files.
2952 (macho_symfile_offsets): Update section names for latest BFD
2954 * i386-darwin-tdep.c (i386_darwin_init_abi): Call set_solib_ops.
2955 (x86_darwin_init_abi_64): Ditto.
2956 * solib-darwin.c: New file.
2957 * solib-darwin.h: New file.
2958 * configure.tgt: Add solib.o solib-darwin.o for Darwin.
2962 * solist.h (struct target_so_ops): Comment fallback behavior for
2967 * completer.c (add_struct_fields): Check type_name against NULL
2972 * MAINTAINERS: Update Elena's email address.
2976 * breakpoint (update_watchpoint): Minor comment adjustment.
2981 * completer.c (count_struct_fields): Count method names.
2982 (add_struct_fields): Add matching method names.
2986 * configure.ac (gdbkt): Check both no_tcl/no_tk first, before
2987 doing any further tcl/tk configury. Don't configure gdbtk if
2988 tcl or tk check fails.
2989 * aclocal.m4: Regenerate.
2990 * configure: Regenerate.
2995 * valops.c (find_overload_match): Follow typedefs before taking
2996 address of object argument.
3000 * target.h (target_waitstatus_to_string): Declare.
3001 * target.c (target_waitstatus_to_string): New function. Copied from
3002 debug_to_wait. Add missing entries for TARGET_WAITKIND_SYSCALL_ENTRY,
3003 TARGET_WAITKIND_SYSCALL_RETURN, TARGET_WAITKIND_IGNORE,
3004 TARGET_WAITKIND_NO_HISTORY.
3005 (debug_to_wait): Call it.
3006 * infrun.c (wait_for_inferior): If debug_infrun, print result of
3008 (fetch_inferior_event): Ditto.
3012 * Makefile.in (HFILES_NO_SRCDIR): Remove i386-cygwin-tdep.h.
3017 * thread.c (do_captured_list_thread_ids): Report the current
3022 * breakpoint.c (create_breakpoint, create_breakpoints)
3023 (break_command_really, set_breakpoint): New parameter enabled.
3024 (create_breakpoint, break_command_really): Make breakpoint
3025 disabled if so requested.
3026 * breakpoint.h (set_breakpoint): New parameter enabled.
3027 * mi/mi-cmd-break.c (mi_cmd_break_insert): Handle the -d option.
3031 * amd64-tdep.h (amd64_displaced_step_copy_insn): Declare.
3032 (amd64_displaced_step_fixup): Declare.
3033 * amd64-tdep.c: #include opcode/i386.h, dis-asm.h.
3034 (amd64_arch_regmap): Move out of amd64_analyze_stack_align
3035 and make static global.
3036 (amd64_arch_regmap_len): New static global.
3037 (amd64_arch_reg_to_regnum): New function.
3038 (struct amd64_insn): New struct.
3039 (struct displaced_step_closure): New struct.
3040 (onebyte_has_modrm,twobyte_has_modrm): New static globals.
3041 (rex_prefix_p,skip_prefixes)
3042 (amd64_insn_length_fprintf,amd64_insn_length_init_dis)
3043 (amd64_insn_length,amd64_get_unused_input_int_reg)
3044 (amd64_get_insn_details,fixup_riprel,fixup_displaced_copy)
3045 (amd64_displaced_step_copy_insn)
3046 (amd64_absolute_jmp_p,amd64_absolute_call_p,amd64_ret_p)
3047 (amd64_call_p,amd64_breakpoint_p,amd64_syscall_p)
3048 (amd64_displaced_step_fixup): New functions.
3049 * amd64-linux-tdep.c: #include arch-utils.h.
3050 (amd64_linux_init_abi): Install displaced stepping support.
3055 * configure, config.in: Regenerated.
3056 * configure.ac: Add --with-system-gdbinit.
3057 * main.c (get_init_files): New.
3058 (captured_main): Use get_init_files. Load system gdbinit before
3060 (print_gdb_help): Print location of init files.
3064 * corefile.c (generic_search): Delete disabled code.
3065 * gdbcore.h (generic_search): Delete declaration.
3069 * linux-nat.c (linux_child_follow_fork): Copy attach_flag from the
3070 parent to the child.
3071 * inf-ttrace.c (inf_ttrace_follow_fork): Likewise.
3072 * inf-ptrace.c (inf_ptrace_follow_fork): Likewise. Use
3073 remove_breakpoints to remove breakpoints from the parent.
3077 PR backtrace/9458, PR backtrace/8864:
3078 * frame.c (create_new_frame): Update the frame's cached PC before
3079 finding its unwinder. Use frame_id_build to build the new frame's
3081 * stack.c (parse_frame_specification_1): Correct setting ``addrs''
3082 array values from the ``args'' array values.
3086 * gdbtypes.c (alloc_type, alloc_type_instance, create_range_type)
3087 (create_array_type, create_set_type, init_flags_type)
3088 (copy_type_recursive): Replace pairs of calls to XALLOC and memset
3089 with a call to XZALLOC or XCALLOC, and pairs of calls to
3090 obstack_alloc and memset with a call to OBSTACK_ZALLOC.
3094 Add "maint set|show internal-error|internal-warning quit|corefile
3095 ask|yes|no" commands.
3098 * utils.c (internal_problem_ask, internal_problem_yes)
3099 (internal_problem_no, internal_problem_modes): New.
3100 (struct internal_problem): Remove FIXME. Make should_quit and
3101 should_dump_core types to char *.
3102 (internal_vproblem, internal_error_problem)
3103 (internal_warning_problem): Adjust.
3104 (set_internal_problem_cmd, show_internal_problem_cmd): New dummy
3106 (add_internal_problem_command): New.
3107 (_initialize_utils): New.
3111 * infcmd.c (program_info): Use paddress instead of casting stop_pc
3116 * infrun.c (normal_stop): Don't call
3117 deprecated_update_frame_pc_hack.
3118 * frame.c (deprecated_update_frame_pc_hack)
3119 (deprecated_update_frame_base_hack): Delete, and ...
3120 (create_new_frame): ... inline here.
3121 * frame.h (deprecated_update_frame_pc_hack)
3122 (deprecated_update_frame_base_hack): Delete declarations.
3126 * cli/cli-decode.c (add_setshow_zuinteger_cmd): New.
3127 * cli/cli-setshow.c (do_setshow_command): Handle it.
3128 * command.h (enum var_types): Add var_zuinteger.
3129 (add_setshow_zuinteger_cmd): Declare.
3131 * valprint.c (_initialize_valprint): Change the set input-radix
3132 and set output-radix commands to zuinteger type.
3137 * infrun.c (normal_stop): Tag threads as stopped, and run the
3138 hook-stop before printing the stack frame.
3143 * gnu-v3-abi.c (gnuv3_baseclass_offset): Call check_typedef on
3148 * gdb/procfs.c (info_mappings_callback): Cast map->pr_size to
3154 * infcmd.c (signal_command): Do not specify a resume PC.
3158 * dummy-frame.c (dummy_frame): Replace regcache member with
3160 (dummy_frame_push): Replace caller_regcache arg with caller_state.
3161 All callers updated.
3162 (remove_dummy_frame,pop_dummy_frame,lookup_dummy_frame): New fns.
3163 (dummy_frame_pop): Rewrite. Verify requested frame is in the
3164 dummy frame stack. Restore program state.
3165 (cleanup_dummy_frames): Rewrite.
3166 (dummy_frame_sniffer): Update. Make static.
3167 * dummy-frame.h (regcache,frame_info): Delete forward decls.
3168 (inferior_thread_state): New forward decl.
3169 (dummy_frame_push): Update prototype.
3170 * frame.c (frame_pop): dummy_frame_pop now does all the work for
3172 * infcall.c (breakpoint_auto_delete_contents): Delete.
3173 (get_function_name,run_inferior_call): New fns.
3174 (call_function_by_hand): Simplify by moving some code to
3175 get_function_name, run_inferior_call. Inferior function call wrapped
3176 in TRY_CATCH so there's less need for cleanups and all exits from
3177 proceed are handled similarily. Detect program exit.
3178 Detect program stopping in a different thread.
3179 Make error messages more consistent.
3180 * inferior.h (inferior_thread_state): Declare (opaque type).
3181 (save_inferior_thread_state,restore_inferior_thread_state,
3182 make_cleanup_restore_inferior_thread_state,
3183 discard_inferior_thread_state, get_inferior_thread_state_regcache):
3185 (save_inferior_status): Update prototype.
3186 * infrun.c: (normal_stop): When stopped for the completion of an
3187 inferior function call, verify the expected stack frame kind.
3188 (inferior_thread_state): New struct.
3189 (save_inferior_thread_state,restore_inferior_thread_state,
3190 do_restore_inferior_thread_state_cleanup,
3191 make_cleanup_restore_inferior_thread_state,
3192 discard_inferior_thread_state,
3193 get_inferior_thread_state_regcache): New functions.
3194 (inferior_status): Move stop_signal, stop_pc, registers to
3195 inferior_thread_state. Remove restore_stack_info.
3196 (save_inferior_status): Remove arg restore_stack_info.
3197 All callers updated. Remove saving of state now saved by
3198 save_inferior_thread_state.
3199 (restore_inferior_status): Remove restoration of state now done by
3200 restore_inferior_thread_state.
3201 (discard_inferior_status): Remove freeing of registers, now done by
3202 discard_inferior_thread_state.
3206 * tui/tui-disasm.c (tui_vertical_disassem_scroll): Scroll one line
3207 at a time, times NUM_TO_SCROLL.
3208 * tui/tui-winsource.c (tui_horizontal_source_scroll): Don't try to
3209 fetch the selected frame if there is no stack.
3214 * gdbthread.h (finish_thread_state, finish_thread_state_cleanup):
3216 * thread.c (finish_thread_state, finish_thread_state_cleanup): New.
3217 * infrun.c (wait_for_inferior, fetch_inferior_event): If an error
3218 is thrown while handling an event, finish the thread state.
3219 (normal_stop): Use finish_thread_state cleanup.
3220 * infcmd.c (run_command_1): If an error is thrown while starting
3221 the inferior, finish the thread state.
3225 * tui/tui-winsource.c (tui_update_breakpoint_info): In asm layout,
3226 skip breakpoints without a location (pending breakpoints).
3231 * hppa-hpux-tdep.c (hppa_hpux_write_pc): Remove 'return'.
3235 * thread.c (thread_command): Move call to annotate_thread_changed
3237 (do_captured_thread_select): ... here, to avoid printing an
3238 annotation if the thread change generates an exception.
3242 * NEWS: Document x86_64/MinGW as a new native configuration.
3246 * NEWS: Move the documentation of "info os processes" to
3247 the appropriate section (documenting the new commands).
3251 * target.h (target_signal_to_string): Make return type const char *.
3252 (target_signal_to_name): Ditto.
3253 (target_signal_from_name): Make arg const char *.
3254 * infrun.c (sig_print_info): Update.
3255 * signals/signals.c (signals): Make array and struct members const.
3256 (target_signal_to_string): Make return type const char *.
3257 (target_signal_to_name): Ditto.
3258 (target_signal_from_name): Make arg const char *.
3263 * solist.h (struct target_so_ops): New member bfd_open.
3264 (solib_find): Add prototype.
3265 (solib_bfd_fopen): Add prototype.
3266 * solib.c (solib_find, solib_bfd_fopen): New functions, extracted
3267 from solib_bfd_open.
3268 (solib_bfd_open): Use ops->bfd_open override if present. Call
3269 solib_find and solib_bfd_open otherwise.
3271 * objfiles.h (OBJF_KEEPBFD): New define.
3272 * objfiles.c (free_objfile): Do not close BFD if OBJF_KEEPBFD
3273 objfile flag is set.
3274 * solib.c (symbol_add_stub): Do not allocate second BFD for
3275 shared library; use OBJF_KEEPBFD flag on solib objfile.
3279 * frame.c (get_frame_arch): Abort if called with NULL this_frame.
3283 * value.h (address_of_variable): Add prototype.
3284 (locate_var_value): Remove prototype.
3286 * findvar.c (read_var_value): Do not attempt to default frame
3288 (locate_var_value): Remove function.
3289 * valops.c (value_of_variable): Retrieve selected frame for
3290 symbols that require a frame when called with NULL block.
3291 * valops.c (address_of_variable): New function.
3293 * eval.c (evaluate_subexp_for_address): Call address_of_variable
3294 instead of calling locate_var_value.
3295 (evaluate_subexp_with_coercion): Likewise.
3299 * NEWS: Document "define" for prefixed commands.
3300 * cli/cli-cmds.c (show_user): Update calls to show_user_1. Call
3301 show_user_1 for prefix commands.
3302 * cli/cli-decode.c (help_cmd_list): Recurse for "help user-defined".
3303 * cli/cli-script.c (validate_comname): Rewrite to handle prefix
3304 commands. Return the containing command list.
3305 (define_command, document_command): Update to handle prefix commands.
3306 (show_user_1): Add prefix and name arguments. Handle prefix
3308 * cli/cli-script.h (show_user_1): Update prototype.
3312 * mingw-ser.c (console_select_thread): Add return to make
3314 (pipe_select_thread): Likewise.
3315 (file_select_thread): Likewise.
3319 * mi/mi-main.c (mi_cmd_execute): Clean up parenthesis mess from
3324 * remote.c (extended_remote_mourn_1): Invalidate our notion of
3325 current general thread.
3329 * mi/mi-main.c (mi_cmd_execute): Also allow -list-thread-groups
3330 without a live selected thread.
3334 Update the copyright notice of some of the files I missed
3335 in the previous copyright update.
3339 * windows-nat.c (handle_unload_dll): Use %p to print the DLL
3340 base address instead of casting it to DWORD.
3344 * dwarf2loc.c (dwarf2_evaluate_loc_desc): Do not call get_frame_arch
3345 for NULL frame pointers.
3349 * utils.c (host_address_to_string): Reimplement in a way that
3350 avoids the cast of the address to long.
3354 * mdebugread.c (parse_symbol): Save the symbol private data
3355 using SYMBOL_VALUE_BYTES instead of SYMBOL_VALUE.
3356 (psymtab_to_symtab_1): Likewise.
3357 (parse_procedure): Declare variable "e" only in the scope
3358 where it is used. Extract the symbol private data using
3363 Abstract out common code for copying value locations.
3365 * value.h (set_value_component_location): New declaration.
3366 * value.c (set_value_component_location): New function.
3367 (value_primitive_field): Use it.
3368 * valarith.c (value_subscript, value_subscripted_rvalue): Same.
3369 * valops.c (search_struct_field, value_slice): Same.
3370 * ada-lang.c (coerce_unspec_val_to_type)
3371 (ada_value_primitive_packed_val): Same.
3375 * MAINTAINERS (GLOBAL MAINTAINERS): Add Tom Tromey.
3379 * amd64-windows-nat.c Rename gdb-specific win32_* to windows_*
3381 * i386-cygwin-tdep.c: Ditto.
3382 * i386-windows-nat.c: Ditto.
3383 * windows-nat.h: Ditto.
3384 * windows-tdep.c: Ditto.
3385 * windows-tdep.h: Ditto.
3386 * windows-nat.c: Ditto.
3387 (cygwin_load_start): Redefine as CORE_ADDR.
3388 (cygwin_load_end): Ditto.
3389 (windows_make_so): Coerce result of address arithmetic to uintptr_t
3390 before coercing to CORE_ADDR to avoid a compiler warning.
3391 (handle_exception): Define addr as CORE_ADDR and coerce
3392 ExceptionAddress to uintptr_t before assigining to avoid a compiler
3394 * config/djgpp/fnchange.lst: Add mappings for recently renamed windows
3399 Fix linking with --enable-targets=all:
3400 * Makefile.in (ALL_TARGET_OBS): Add windows-tdep.o.
3401 (HFILES_NO_SRCDIR): Add windows-tdep.h.
3402 (ALLDEPFILES): Add windows-tdep.c.
3406 * win32-nat.h: Delete.
3407 * windows-nat.h: Rename from win32-nat.h.
3408 * win32-nat.c: Delete.
3409 * windows-nat.c: Rename from win32-nat.c.
3410 * win32-termcap.c: Delete.
3411 * windows-termcap.c: Rename from win32-termcap.c.
3412 * amd64-windows-nat.c: Handle rename from win32-nat.h -> windows-nat.h.
3413 * configure.ac: Handle rename from win32-termcap.c ->
3415 * configure: Regenerate.
3416 * gdb_curses.h: Change comment to reflect rename from win32-termcap.c
3417 -> windows-termcap.c.
3418 * i386-cygwin-tdep.c: Handle rename from win32-tdep.h ->
3420 * i386-windows-nat.c: Refect rename from win32-nat.h -> windows-nat.h.
3421 * windows-nat.c: Ditto. Also reflect rename from from win32-tdep.h ->
3423 (win32_make_so): Handle cygwin compiler warning due to change of
3424 load_addr from DWORD to LPVOID.
3425 (handle_load_dll): Use %p in format string to properly print address
3426 and avoid a compiler warning.
3427 (DEBUG_EXCEPTION_SIMPLE): Ditto.
3428 (handle_exception): Ditto.
3429 * windows-tdep.c: Handle rename from win32-tdep.h -> windows-tdep.h.
3430 * config/i386/cygwin.mh: Handle rename from win32-nat.o ->
3432 * config/i386/mingw.mh: Ditto.
3433 * config/i386/mingw64.mh: Ditto.
3437 * f-typeprint.c (f_type_print_varspec_suffix): Convert the autovariable
3438 arrayprint_recurse_level to a parameter. Update all the callers. New
3439 comment at autovariables.
3443 * gdbtypes.c (make_qualified_type, replace_type): Reformat to the GNU
3448 * target.c (target_xfer_partial): Use host_address_to_string to
3449 print the address of readbuf and writebuf. Cast the address of
3450 elements inside the myaddr buffer into intptr_t.
3451 (deprecated_debug_xfer_memory): Use paddress to print memaddr.
3452 Cast the address of elements inside the myaddr buffer into
3457 * amd64-windows-nat.c, amd64-windows-tdep.c: New files.
3458 * config/i386/mingw64.mh, config/i386/nm-cygwin64.h: New files.
3459 * configure.host, configure.tgt: Add handling for x86_64/windows.
3460 * config/djgpp/fnchange.lst: Add entries for amd64-windows-nat.c
3461 and amd64-windows-tdep.c.
3465 * win32-tdep.h, win32-tdep.c: New files.
3466 * i386-cygwin-tdep.h: Delete.
3467 * i386-cygwin-tdep.c: Include win32-tdep.h instead of
3469 (win32_xfer_shared_library): Delete. Moved to win32-tdep.c.
3470 * win32-nat.c: Likewise.
3471 * configure.tgt: Add win32-tdep.o to the list of target object
3472 files for i386-cygwin and i386-mingw targets.
3476 * win32-nat.h: New file.
3477 * win32-nat.c (mappings): Initialize to NULL.
3478 (win32_set_context_register_offsets): New function.
3479 * i386-windows-nat.c: New file.
3480 (mappings): Moved here from win32-nat.c.
3481 (_initialize_i386_windows_nat): New function.
3482 * config/i386/mingw.mh (NATDEPFILES): Add i386-windows-nat.o.
3483 * config/i386/cygwin.mh (NATDEPFILES): Likewise.
3487 * Makefile.in (init.c): Set LANG/LC_ALL to C, not c.
3491 * gdbtypes.c (append_composite_type_field): Correct the location of
3496 * defs.h (deprecated_error_hook): Delete declaration.
3497 * interps.c (clear_interpreter_hooks): Adjust.
3498 * remote-sim.c (gdb_os_error): Don't try to call
3499 deprecated_error_hook. No need to call exit anymore.
3500 * top.c (deprecated_error_hook): Delete.
3504 * arch-utils.c (gdbarch_update_p): Use host_address_to_string
3505 to print the address of the gdbarch pointer.
3509 * gdbarch.sh: Fix all the compilation errors on amd64-windows
3510 due to casting a pointer to a long when printing a function
3511 address. Instead, use host_address_to_string to convert our
3512 address to a string.
3513 * gdbarch.c: Regenerate.
3517 * event-top.c (async_disconnect, async_stop_sig): use "raise"
3518 instead of "kill" to raise a signal.
3522 * win32-nat.c (get_module_name): Change the type of parameter
3523 "base_address" to LPVOID. Remove unnecessary cast.
3524 (struct lm_info): Change type of load_addr to LPVOID.
3525 (win32_make_so): Change the type of parameter "load_addr"
3526 to LPVOID. Remove some unnecessary casts.
3527 (handle_unload_dll): Change the type of "lpBaseOfDll" to LPVOID.
3528 (win32_xfer_shared_libraries): Add missing cast.
3532 * win32-nat.c (has_detach_ability, set_process_privilege):
3533 Cast the result of GetProcAddress to (void *) to avoid
3534 a compilation warning.
3538 * win32-nat.c (CONTEXT_EXTENDED_REGISTERS): Define to 0 if not
3543 * win32-nat.c (get_image_name, win32_xfer_memory): Fix type
3544 definition of local variable "done".
3545 (info_w32_command, handle_exception): Remove unnecessary cast.
3549 * win32-nat.c (kernel32_DebugSetProcessKillOnExit): Renames
3550 DebugSetProcessKillOnExit. Update all uses in this file.
3551 (kernel32_DebugActiveProcessStop): Renames DebugActiveProcessStop.
3552 Update all uses in this file.
3556 * win32-nat.c (do_initial_win32_stuff): Add new ops parameter,
3557 and use it when pushing the target.
3558 (win32_attach, win32_create_inferior): Update call to
3559 do_initial_win32_stuff.
3560 (win32_detach, win32_mourn_inferior): Use our ops parameter
3561 instead of the global win32_ops to unpush the target.
3565 * ser-mingw.c (ser_windows_open): Use proper type when casting
3566 in call to _open_osfhandle.
3570 * coff-pe-read.c (read_pe_exported_syms): Fix typo.
3574 * CONTRIBUTE: Minor reformatting.
3578 * MAINTAINERS: Add myself to Write After Approval.
3579 * coff-pe-read.c (read_pe_exported_syms): Enable read of PE+
3584 * remote-sim.c (gdb_os_error): Mark as a noreturn function.
3585 Call exit to make it obvious to GCC.
3589 PR breakpoints/9350:
3590 * varobj.c (varobj_invalidate): Unconditionally free
3592 * symfile.c (syms_from_objfile): Free local_addr when returning
3594 * exec.c (exec_file_attach): Do cleanups before returning.
3595 (exec_file_command): Likewise.
3596 * corefile.c (reopen_exec_file): Do cleanups before returning.
3597 * breakpoint.c (insert_breakpoint_locations): Do cleanups before
3599 (do_vec_free): New function.
3600 (update_global_location_list): Make a cleanup for old_locations.
3601 Do cleanups before returning. Remove unused variable 'e'.
3602 (find_condition_and_thread): Free result of parsing the
3604 (print_it_typical): Do cleanups before returning.
3605 (breakpoint_re_set_one): Always free sals.sals.
3610 * breakpoint.c (do_enable_breakpoint): Use update_watchpoint for
3615 * top.c (gdb_prompt_string): Delete, unused.
3619 Delete ONE_PROCESS_WRITETEXT leftovers.
3621 * breakpoint.c (insert_bp_location): Delete process_warning
3623 (insert_breakpoint_locations): Adjust.
3624 (reattach_breakpoints): Adjust.
3625 * infrun.c (normal_stop): Drop "It might be running in another
3630 * config/pa/linux.mh (XDEPFILES): Remove.
3634 * cli/cli-cmds.c (set_debug): Fix cut-n-paste error.
3638 * f-typeprint.c (f_type_print_base <TYPE_CODE_STRUCT>): Fix output
3639 spacing, a regression from 2008-04-22.
3643 * utils.c (gdb_print_host_address): Adjust implementation to
3644 reuse host_address_to_string. Move comment explaining the conversion
3645 from host address to string from here...
3646 (host_address_to_string): ... to there.
3650 * MAINTAINERS: Add myself for write after approval privileges.
3654 * value.c (set_internalvar): Use value_free, not xfree.
3658 Check return values of functions declared with warn_unused_result
3659 attribute in GLIBC 2.8.
3660 * cli/cli-cmds.c (pwd_command): Check return value from getcwd.
3661 * inflow.c (check_syscall): New function.
3662 (new_tty): Use check_syscall to check return values from open and dup.
3663 * linux-nat.c (linux_nat_info_proc_cmd): Check return value from fgets.
3664 * main.c (captured_main): Call cwd after setting up gdb_stderr;
3665 check for errors from getcwd.
3666 * mi/mi-cmd-env.c (mi_cmd_env_pwd): Check return value from getcwd.
3667 * ui-file.c (stdio_file_write): Ignore return value from fwrite.
3668 (stdio_file_fputs): Same.
3669 * utils.c (internal_vproblem): abort if last-ditch error message
3672 * top.c (gdb_init): Don't set the current directory here; that's
3673 already been done in captured_main.
3677 * ser-tcp.c: Adjust includes.
3678 (tcp_set_cmdlist, tcp_show_cmdlist): Declare.
3679 (tcp_auto_retry, tcp_retry_limit): Declare.
3680 (TIMEOUT): Remove, in favor of tcp_retry_limit.
3681 (POLL_INTERVAL): Increase to 5, in favor of backoff logic.
3682 (wait_for_connect): New function.
3683 (net_open): Use it. Add auto-retry logic.
3684 (set_tcp_cmd, show_tcp_cmd): New functions.
3685 (_initialize_ser_tcp): Initialize new "set/show tcp auto-retry"
3686 and "set/show tcp connect-timeout" commands.
3687 * NEWS: Document new commands.
3691 * python/python-internal.h (Py_ssize_t): Define as int.
3695 * MAINTAINERS: Fix my e-mail address as steering committee member.
3699 Updated copyright notices for most files.
3703 * top.c (print_gdb_version): Update copyright year.
3707 * config/djgpp/fnchange.lst: Add entry for ChangeLog-2008.
3711 PR breakpoints/9681:
3712 * exceptions.h (enum errors): New error type, MEMORY_ERROR.
3713 * corefile.c (memory_error): Rewrite to throw a MEMORY_ERROR.
3714 * breakpoint.c (fetch_watchpoint_value): Ignore MEMORY_ERRORs, but
3715 retrow all other exceptions.
3717 For older changes see ChangeLog-2008.
3723 version-control: never