3 * syscalls/s390-linux.xml: Add syscalls 344 through 354.
4 * syscalls/s390x-linux.xml: Likewise.
8 * nat/linux-namespaces.c (MSG_CMSG_CLOEXEC): Define if not defined.
12 * tui/tui-hooks.c (tui_selected_frame_level_changed_hook): Call
13 target_terminal_ours_for_output() before calling
14 tui_show_frame_info(), and restore the original terminal
19 * arm-linux-nat.c: Include nat/linux-ptrace.h.
23 * mi/mi-main.c (mi_cmd_data_read_memory_bytes): Consider addressable
25 (mi_cmd_data_write_memory_bytes): Same.
29 * corefile.c (write_memory): Update doc.
30 * gdbcore.h (write_memory): Same.
34 * linux-tdep.c (enum filterflags): Make it from anonymous enum.
35 (dump_mapping_p): Use it for parameter filterflags.
36 (linux_find_memory_regions_full): Use it for variable filterflags.
41 Merge multiple hex conversions.
42 * monitor.c: Include rsp-low.h.
43 (fromhex): Remove definition.
48 Move utility functions to common/.
49 * cli/cli-utils.c (skip_spaces, skip_spaces_const, skip_to_space_const):
50 Move defs to common/common-utils.c.
51 * cli/cli-utils.h (skip_spaces, skip_spaces_const, skip_to_space)
52 (skip_to_space_const): Move decls to common/common-utils.h.
53 * common/common-defs.h: Move include of common-types.h before
55 * common/common-utils.c: Include host-defs.h and ctype.h.
56 (HIGH_BYTE_POSN, is_digit_in_base, digit_to_int, strtoulst): Move
58 (skip_spaces, skip_spaces_const, skip_to_space_const): Move from
60 * common/common-utils.h (strtoulst): Move decl from utils.h.
61 (skip_spaces, skip_spaces_const, skip_to_space, skip_to_space_const):
62 Move from cli/cli-utils.h.
63 * common/host-defs.h: Include limits.h.
64 (TARGET_CHAR_BIT, HOST_CHAR_BIT): Moved from defs.h.
65 (skip_spaces, skip_spaces_const): Move decls from cli/cli-utils.h.
66 * defs.h (TARGET_CHAR_BIT, HOST_CHAR_BIT): Move to
67 common/common-utils.h.
68 * utils.c (HIGH_BYTE_POSN, is_digit_in_base, digit_to_int)
69 (strtoulst): Move to common/common-utils.c.
70 * utils.h (strtoulst): Moved decl to common/common-utils.h.
74 * data-directory/Makefile.in (SYSCALLS_FILES): Add aarch64-linux.xml.
78 * build-id.c: Don't include elf-bfd.h.
79 (build_id_bfd_get): Use bfd_build_id.
80 (build_id_verify): Ditto.
82 (find_separate_debug_file_by_buildid): Ditto.
83 * python/py-objfile.c: Don't include elf-bfd.h.
84 (objfpy_get_build_id) Use bfd_build_id.
85 (objfpy_build_id_matches, objfpy_lookup_objfile_by_build_id): Ditto.
86 * coffread.c: Include build-id.h.
87 (coff_symfile_read): Try find_separate_debug_file_by_buildid.
91 * windows-nat.c (do_windows_fetch_inferior_registers)
92 (handle_output_debug_string): Replace __COPY_CONTEXT_SIZE
93 conditional with __CYGWIN__.
97 * completer.c: Add arch-utils.h include.
98 (enum reg_completer_targets): New enum.
99 (reg_or_group_completer_1): New function containing old
100 reg_or_group_completer, add and use new parameter to control what
101 is completed on. Use get_current_arch rather than architecture of
102 currently selected frame.
103 (reg_or_group_completer): Call new reg_or_group_completer_1.
104 (reggroup_completer): Call new reg_or_group_completer_1.
105 * completer.h (reggroup_completer): Add declaration.
106 * tui/tui-regs.c: Add 'completer.h' include.
107 (tui_reg_next_command): Renamed to...
108 (tui_reg_next): ...this. Adjust parameters and return rather than
110 (tui_reg_prev_command): Renamed to...
111 (tui_reg_prev): ...this. Adjust parameters and return rather than
113 (tui_reg_float_command): Delete.
114 (tui_reg_general_command): Delete.
115 (tui_reg_system_command): Delete.
116 (tui_reg_command): Rewrite to perform switching of register group.
118 (tuireglist): Remove.
119 (tui_reggroup_completer): New function.
120 (_initialize_tui_regs): Remove 'tui reg' sub-commands, update
121 creation of 'tui reg' command.
122 * NEWS: Add comment about 'tui reg' changes.
126 * target.c (target_read): Consider addressable unit size when
127 reading from a memory object.
128 (read_memory_robust): Same.
129 (read_whatever_is_readable): Same.
130 (target_write_with_progress): Consider addressable unit size
131 when writing to a memory object.
132 * target.h (target_read): Update documentation.
133 (target_write): Add documentation.
137 * arch-utils.h (default_addressable_memory_unit_size): New.
138 * arch-utils.c (default_addressable_memory_unit_size): New.
139 * gdbarch.sh (addressable_memory_unit_size): New.
140 * gdbarch.h: Re-generate.
141 * gdbarch.c: Re-generate.
145 * target.c (target_read): Rename variables and use
147 (target_read_with_progress): Same.
148 (read_memory_robust): Constify parameters and rename
150 (read_whatever_is_readable): Constify parameters,
151 rename variables, adjust formatting.
152 * target.h (read_memory_robust): Constify parameters.
156 * ppc-sysv-tdep.c (ppc64_sysv_abi_return_value_base): Handle short
157 synthetic (non-AltiVec) vector types.
158 (ppc64_sysv_abi_return_value): Likewise.
163 * breakpoint.c (create_breakpoint): Save extra_string for
168 * i386-tdep.c (i386_mpx_get_bt_entry): Add a cast for mpx_bd_mask
169 and bt_mask to CORE_ADDR.
173 * nat/linux-namespaces.c (mnsh_send_message): Use pulongest.
174 (mnsh_recv_message): Likewise.
178 * i386-tdep.c (i386_mpx_print_bounds): use of LONGEST instead of
179 long long int and plongest instead of %ll.
183 * nat/linux-namespaces.c (gdb_wait.h): New include.
184 (sys/wait.h): Do not include.
188 * dwarf2read.c (dwarf_record_line): Call dwarf_record_line if
189 end_sequence is true.
194 * solib-target.c (library_list_start_list): Use explicit NULL
199 * solib-target.c (library_list_start_list): Do not dereference
200 variable version in its initialization. Make the VERSION check handle
202 (library_list_attributes): Make "version" GDB_XML_AF_OPTIONAL.
206 * NEWS: Announce support for direct access of executable and
207 shared library files when attaching to inferiors in containers
208 on GNU/Linux systems.
212 * remote.c (struct remote_state) <fs_pid>: New field.
213 (new_remote_state): Initialize the above.
214 (PACKET_vFile_setfs): New enum value.
215 (remote_hostio_set_filesystem): New function.
216 (remote_hostio_open): Call the above.
217 (remote_hostio_unlink): Likewise.
218 (remote_hostio_readlink): Likewise.
219 (_initialize_remote): Register new "set/show remote
220 hostio-setfs-packet" command.
221 * NEWS: Announce new vFile:setfs packet.
225 * linux-nat.c (nat/linux-namespaces.h): New include.
226 (fileio.h): Likewise.
227 (linux_nat_filesystem_is_local): New function.
228 (linux_nat_fileio_pid_of): Likewise.
229 (linux_nat_fileio_open): Likewise.
230 (linux_nat_fileio_readlink): Likewise.
231 (linux_nat_fileio_unlink): Likewise.
232 (linux_nat_add_target): Initialize to_filesystem_is_local,
233 to_fileio_open, to_fileio_readlink and to_fileio_unlink.
234 (_initialize_linux_nat): New "set/show debug linux-namespaces"
236 * NEWS: Mention new "set/show debug linux-namespaces" commands.
240 * target.h (struct inferior): New forward declaration.
241 (struct target_ops) <to_filesystem_is_local>: Update comment.
242 (struct target_ops) <to_fileio_open>: New argument inf.
243 Update comment. All implementations updated.
244 (struct target_ops) <to_fileio_unlink>: Likewise.
245 (struct target_ops) <to_fileio_readlink>: Likewise.
246 (target_filesystem_is_local): Update comment.
247 (target_fileio_open): New argument inf. Update comment.
248 (target_fileio_unlink): Likewise.
249 (target_fileio_readlink): Likewise.
250 (target_fileio_read_alloc): Likewise.
251 (target_fileio_read_stralloc): Likewise.
252 * target.c (target_fileio_open): New argument inf.
253 Pass inf to implementation. Update debug printing.
254 (target_fileio_unlink): Likewise.
255 (target_fileio_readlink): Likewise.
256 (target_fileio_read_alloc_1): New argument inf. Pass inf
257 to target_fileio_open.
258 (target_fileio_read_alloc): New argument inf. Pass inf to
259 target_fileio_read_alloc_1.
260 (target_fileio_read_stralloc): Likewise.
261 * gdb_bfd.c (inferior.h): New include.
262 (gdb_bfd_iovec_fileio_open): Replace unused "open_closure"
263 argument with new argument "inferior". Pass inferior to
265 (gdb_bfd_open): Supply inferior argument to
266 gdb_bfd_iovec_fileio_open.
267 * linux-tdep.c (linux_info_proc): Supply inf argument to
268 relevant target_fileio calls.
269 (linux_find_memory_regions_full): Likewise.
270 (linux_fill_prpsinfo): Likewise.
271 * remote.c (remote_filesystem_is_local): Supply inf
272 argument to remote_hostio_open.
273 (remote_file_put): Likewise.
274 (remote_file_get): Likewise.
275 (remote_file_delete): Supply inf argument to
276 remote_hostio_unlink.
280 * inf-child.c (inf_child_fileio_open): Replace comment.
281 (inf_child_fileio_pwrite): Likewise.
282 (inf_child_fileio_pread): Likewise.
283 (inf_child_fileio_fstat): Insert blank line before comment.
284 (inf_child_fileio_close): Replace comment.
285 (inf_child_fileio_unlink): Likewise.
286 (inf_child_fileio_readlink): Likewise.
287 * remote.c (remote_hostio_open): Likewise.
288 (remote_hostio_pread): Likewise.
289 (remote_hostio_pwrite): Likewise.
290 (remote_hostio_close): Likewise.
291 (remote_hostio_unlink): Likewise.
292 (remote_hostio_readlink): Likewise.
293 (remote_hostio_fstat): Likewise.
294 (remote_filesystem_is_local): Likewise.
295 * target.c (target_fileio_open): Likewise.
296 (target_fileio_pwrite): Likewise.
297 (target_fileio_pread): Likewise.
298 (target_fileio_fstat): Insert blank line before comment.
299 (target_fileio_close): Replace comment.
300 (target_fileio_unlink): Likewise.
301 (target_fileio_readlink): Likewise.
302 (target_fileio_read_alloc): Likewise.
303 (target_fileio_read_stralloc): Likewise.
307 * linux-thread-db.c (nat/linux-namespaces.h): New include.
308 (check_pid_namespace_match): Use linux_ns_same rather than
309 linux_proc_pid_get_ns to spot PID namespace mismatches.
310 * nat/linux-procfs.h (linux_proc_pid_get_ns): Remove.
311 * nat/linux-procfs.c (linux_proc_pid_get_ns): Likewise.
315 * configure.ac (AC_CHECK_FUNCS): Add setns.
316 * config.in: Regenerate.
317 * configure: Likewise.
318 * nat/linux-namespaces.h: New file.
319 * nat/linux-namespaces.c: Likewise.
320 * Makefile.in (HFILES_NO_SRCDIR): Add nat/linux-namespaces.h.
321 (linux-namespaces.o): New rule.
322 * config/aarch64/linux.mh (NATDEPFILES): Add linux-namespaces.o.
323 * config/alpha/alpha-linux.mh (NATDEPFILES): Likewise.
324 * config/arm/linux.mh (NATDEPFILES): Likewise.
325 * config/i386/linux.mh (NATDEPFILES): Likewise.
326 * config/i386/linux64.mh (NATDEPFILES): Likewise.
327 * config/ia64/linux.mh (NATDEPFILES): Likewise.
328 * config/m32r/linux.mh (NATDEPFILES): Likewise.
329 * config/m68k/linux.mh (NATDEPFILES): Likewise.
330 * config/mips/linux.mh (NATDEPFILES): Likewise.
331 * config/pa/linux.mh (NATDEPFILES): Likewise.
332 * config/powerpc/linux.mh (NATDEPFILES): Likewise.
333 * config/powerpc/ppc64-linux.mh (NATDEPFILES): Likewise.
334 * config/powerpc/spu-linux.mh (NATDEPFILES): Likewise.
335 * config/s390/linux.mh (NATDEPFILES): Likewise.
336 * config/sparc/linux.mh (NATDEPFILES): Likewise.
337 * config/sparc/linux64.mh (NATDEPFILES): Likewise.
338 * config/tilegx/linux.mh (NATDEPFILES): Likewise.
339 * config/xtensa/linux.mh (NATDEPFILES): Likewise.
343 * utils.h (make_cleanup_close): Moved to common/filestuff.h.
344 * utils.c (do_close_cleanup): Moved to common/filestuff.c.
345 (make_cleanup_close): Likewise.
346 * common/filestuff.h (make_cleanup_close): Moved from utils.h.
347 * common/filestuff.c (do_close_cleanup): Moved from utils.c.
348 (make_cleanup_close): Likewise.
352 * windows-nat.c (thread_rec): Also ignore ERROR_INVALID_HANDLE
353 from SuspendThread().
357 * windows-nat.c (handle_output_debug_string): Trim trailing '\n'
358 from OutputDebugString.
363 * i386-tdep.c (MPX_BASE_MASK, MPX_BD_MASK, MPX_BT_MASK, MPX_BD_MASK_32,
364 MPX_BT_MASK_32): New macros.
365 (i386_mpx_set_bounds): New function that implements
366 the command "set-mpx-bound".
367 (i386_mpx_enabled): Helper function to test MPX availability.
368 (i386_mpx_bd_base): Helper function to calculate the base directory
370 (i386_mpx_get_bt_entry): Helper function to access a bound
372 (i386_mpx_print_bounds): Effectively display bound information.
373 (_initialize_i386_tdep): Add new commands to commands "set mpx" and
375 (_initialize_i386_tdep):
376 Add "bound" to the commands "show mpx" and "set mpx" commands.
377 (mpx_set_cmdlist and mpx_show_cmdlist): List for the new prefixed "set mpx"
378 and "show mpx" commands.
379 * NEWS: List new commands for MPX support.
383 * common/fileio.h (fileio_to_host_mode): New declaration.
384 * common/fileio.c (fileio_to_host_mode): New Function.
385 * inf-child.c (inf_child_fileio_open): Process mode argument
386 with fileio_to_host_mode.
390 * common/fileio.c (fileio_mode_pack): Fix preprocessor
395 * gdb_bfd.c (gdb_bfd_open): Move vgdb special case to...
396 * remote.c (remote_filesystem_is_local): ...here.
400 * gdbarch.c: Regenerate it.
404 * arch-utils.c (default_infcall_munmap): New.
405 * arch-utils.h (default_infcall_munmap): New declaration.
406 * compile/compile-object-load.c (struct munmap_list, munmap_list_add)
407 (munmap_list_free, munmap_listp_free_cleanup): New.
408 (struct setup_sections_data): Add field munmap_list_headp.
409 (setup_sections): Call munmap_list_add.
410 (compile_object_load): New variable munmap_list_head, initialize
411 setup_sections_data.munmap_list_headp, return munmap_list_head.
412 * compile/compile-object-load.h (struct munmap_list): New declaration.
413 (struct compile_module): Add field munmap_list_head.
414 (munmap_list_free): New declaration.
415 * compile/compile-object-run.c (struct do_module_cleanup): Add field
417 (do_module_cleanup): Call munmap_list_free.
418 (compile_object_run): Pass munmap_list_head to do_module_cleanup.
419 * gdbarch.c: Regenerate.
420 * gdbarch.h: Regenerate.
421 * gdbarch.sh (infcall_munmap): New.
422 * linux-tdep.c (linux_infcall_munmap): New.
423 (linux_init_abi): Install it.
428 * inferior.c (detach_inferior): Call exit_inferior_1 with silent = 0.
432 * i386-linux-nat.c: Include linux-nat.h.
438 * dwarf2-frame-tailcall.c (pretended_chain_levels): Correct
440 * dwarf2loc.c (chain_candidate): Likewise.
444 * arm-linux-nat.c (fetch_vfp_regs): Use PTRACE_GETREGSET.
445 (store_vfp_regs): Use PTRACE_SETREGSET.
449 * arm-linux-nat.c (fetch_fpregister): Use PTRACE_GETREGSET.
450 (fetch_fpregs): Likewise.
451 * arm-linux-nat.c (store_fpregister): Use PTRACE_SETREGSET.
452 (store_fpregs): Likewise.
456 * arm-linux-nat.c (fetch_register): Use PTRACE_GETREGSET.
457 (fetch_regs): Likewise.
458 (store_regs): Use PTRACE_SETREGSET.
459 (store_register): Likewise.
463 * arm-linux-nat.c (arm_linux_read_description): Check whether
464 kernel supports PTRACE_GETREGSET.
468 * x86-linux-nat.c (have_ptrace_getregset): Move it to ...
469 * linux-nat.c: ... here.
470 * x86-linux-nat.h (have_ptrace_getregset): Move the declaration
472 * linux-nat.h: ... here.
476 * amd64-linux-nat.c: Include "nat/linux-ptrace.h".
477 * i386-linux-nat.c: Likewise.
478 * nat/linux-ptrace.h (PTRACE_GETREGSET, PTRACE_SETREGSET): Define.
479 * s390-linux-nat.c: Include "nat/linux-ptrace.h".
480 (PTRACE_GETREGSET, PTRACE_SETREGSET): Remove.
481 * x86-linux-nat.c: Include "nat/linux-ptrace.h".
482 * x86-linux-nat.h (PTRACE_GETREGSET, PTRACE_SETREGSET): Remove.
486 * go32-nat.c (go32_xfer_memory): Fix the return value to be
487 compatible to what read_child and write_child return. This
488 unbreaks that DJGPP build of GDB which was broken since v7.7.
492 * MAINTAINERS (Write After Approval): Add Martin Galvan.
497 * osabi.c (generic_elf_osabi_sniff_abi_tag_sections): Use warning
498 rather than internal_error for an unrecognized value.
502 * xtensa-tdep.c (xtensa_pseudo_register_read)
503 (xtensa_pseudo_register_write): Don't alias last pseudo register
508 * infrun.c (follow_fork_inferior): Ensure the use of
509 process-style ptids (pid,0,0) in verbose/debug "Detaching"
514 * dwarf2read.c (record_line_ftype): Remove, duplicate.
518 * arm-linux-nat.c (arm_linux_has_wmmx_registers): Remove.
519 (arm_linux_fetch_inferior_registers): Use
520 tdep->have_wmmx_registers instead of arm_linux_has_wmmx_registers.
521 (arm_linux_store_inferior_registers): Likewise.
522 (arm_linux_read_description): Don't set
523 arm_linux_has_wmmx_registers.
524 * arm-tdep.c (arm_gdbarch_init): Set
525 tdep->have_wmmx_registers according target descriptions.
526 * arm-tdep.h (struct gdbarch_tdep) <have_wmmx_registers>: New
531 * arm-linux-nat.c (arm_linux_vfp_register_count): Remove.
532 (fetch_vfp_regs): Use vfp_register_count from gdbarch_tdep
533 instead of arm_linux_vfp_register_count.
534 (store_vfp_regs): Likewise.
535 (arm_linux_fetch_inferior_registers): Likewise.
536 (arm_linux_store_inferior_registers): Likewise.
537 (arm_linux_read_description): Don't set
538 arm_linux_vfp_register_count.
539 * arm-linux-tdep.c (arm_linux_iterate_over_regset_sections):
541 * arm-tdep.c (arm_gdbarch_init): Add assert on
543 * arm-tdep.h (struct gdbarch_tdep) <have_vfp_registers>: Rename
544 field to vfp_register_count. All users updated.
548 * gdb/arm-tdep.c (arm_gdbarch_init): Perform arm_abi detection on
549 ELFOSABI_GNU binaries.
553 * dwarf2read.c (lnp_state_machine): New typedef.
554 (lnp_reader_state): New typedef.
555 (dwarf_record_line_1): Renamed from dwarf_record_line.
557 (dwarf_record_line): New function.
558 (init_lnp_state_machine): New function.
559 (check_line_address): Replace p_record_line parameter with state.
561 (dwarf_decode_lines_1): Call dwarf_record_line, init_lnp_state_machine.
562 Update to record state in lnp_state_machine.
566 * dwarf2read.c (record_line_ftype): New typedef.
567 (check_line_address): New function.
568 (dwarf_decode_lines_1): Call it.
572 * NEWS: Mention "set debug dwarf-line".
573 * dwarf2read.c (dwarf_line_debug): New static global.
574 (add_include_dir): Add debug dwarf-line support.
575 (add_file_name, dwarf_record_line, dwarf_finish_line): Ditto.
576 (_initialize_dwarf2_read): New parameter "debug dwarf-line".
580 * cp-namespace.c (cp_lookup_nested_symbol): New arg "domain".
582 (cp_lookup_nested_symbol_1, find_symbol_in_baseclass): Ditto.
583 * cp-support.h (cp_lookup_nested_symbol): Update.
588 * block.c (block_find_symbol): New function.
589 (block_find_non_opaque_type): Ditto.
590 (block_find_non_opaque_type_preferred): Ditto.
591 * block.h (block_symbol_matcher_ftype): New typedef.
592 (block_find_symbol): Declare.
593 (block_find_non_opaque_type): Ditto.
594 (block_find_non_opaque_type_preferred): Ditto.
595 * dwarf2read.c (dw2_lookup_symbol): Call block_find_symbol.
596 * psymtab.c (psym_lookup_symbol): Ditto.
597 * symtab.c (basic_lookup_transparent_type_1): New function.
598 (basic_lookup_transparent_type): Call it.
602 * aarch64-tdep.c (aarch64_record_data_proc_simd_fp): Return
603 AARCH64_RECORD_UNKNOWN for unknown instruction encoding.
607 * aarch64-tdep.c (aarch64_record_branch_except_sys): Split lines
609 (aarch64_record_load_store): Likewise.
613 PR c++/18141, c++/18417.
614 * cp-support.c (cp_lookup_rtti_type): Handle the case of NAME being
619 * NEWS: Add entries for command renamings.
620 * dwarf2read.c (dwarf_read_debug): Renamed from dwarf2_read_debug.
622 (dwarf_die_debug): Renamed from dwarf2_die_debug. All uses updated.
623 (dwarf_max_cache_age): Renamed from dwarf2_max_cache_age.
625 (show_dwarf_max_cache_age): Renamed from show_dwarf2_max_cache_age.
626 All callers updated. Fix spelling of DWARF in help text.
627 (set_dwarf_cmdlist): Renamed from set_dwarf2_cmdlist.
629 (show_dwarf_cmdlist): Renamed from show_dwarf2_cmdlist.
631 (set_dwarf_cmd): Renamed from set_dwarf2_cmd. All callers updated.
632 (show_dwarf_cmd): Renamed from show_dwarf2_cmd. All callers updated.
633 (dwarf_always_disassemble): Renamed from dwarf_always_disassemble.
635 (show_dwarf_always_disassemble): Renamed from
636 show_dwarf2_always_disassemble. All callers updated.
637 (_initialize_dwarf2_read): Rename "set/show dwarf2" prefix to
638 "set/show dwarf". Rename "set/show dwarf2 max-cache-age" to
639 "set/show dwarf max-cache-age". Rename
640 "set/show dwarf2 always-disassemble" to
641 "set/show dwarf always-disassemble". Rename
642 "set/show debug dwarf2-read" to "set/show debug dwarf-read". Rename
643 "set/show debug dwarf2-die" to "set/show debug dwarf-die".
648 * python/py-lazy-string.c (stpy_convert_to_value): Use
649 gdbpy_gdb_memory_error not PyExc_MemoryError.
650 (gdbpy_create_lazy_string_object): Ditto.
654 * tui/tui-regs.c (tui_reg_next_command): Compare against NULL.
658 * tui/tui-regs.c (tui_reg_prev_command): New function.
659 (_initialize_tui_regs): Add 'prev' command for 'tui reg'.
660 * reggroups.c (reggroup_prev): New function.
661 * reggroups.h (reggroup_prev): Add declaration. Update comment.
666 * aarch64-linux-tdep.c: Include linux-record.h and
668 (struct linux_record_tdep aarch64_linux_record_tdep): Declare.
669 (aarch64_syscall): New enum.
670 (aarch64_canonicalize_syscall): New function.
671 (aarch64_all_but_pc_registers_record): New function.
672 (aarch64_linux_syscall_record): New function.
673 (aarch64_linux_init_abi): Install AArch64 process record
674 handler. Update to handle syscall recording.
675 * aarch64-tdep.c: Include record.h and record-full.h.
676 (submask, bit, bits, REG_ALLOC, MEM_ALLOC): New macros.
677 (struct aarch64_mem_r): Define.
678 (aarch64_record_result): New enum.
679 (struct insn_decode_record): Define.
680 (insn_decode_record): New typedef.
681 (aarch64_record_data_proc_reg): New function.
682 (aarch64_record_data_proc_imm): New function.
683 (aarch64_record_branch_except_sys): New function.
684 (aarch64_record_load_store): New function.
685 (aarch64_record_data_proc_simd_fp): New function.
686 (aarch64_record_asimd_load_store): New function.
687 (aarch64_record_decode_insn_handler): New function.
688 (deallocate_reg_mem): New function.
689 (aarch64_process_record): New function.
690 * aarch64-tdep.h (struct gdbarch_tdep) <aarch64_syscall_record>:
692 (aarch64_process_record): New extern declaration.
693 * configure.tgt: Add linux-record.o to gdb_target_obs.
694 * linux-record.h (struct linux_record_tdep) <arg7>: New field.
698 * NEWS: Add a note on process record-replay support on aarch64*-linux*
703 * amd64-tdep.c: Replace in_function_epilogue_p with
704 stack_frame_destroyed_p throughout.
705 * arch-utils.c: Ditto.
706 * arch-utils.h: Ditto.
708 * breakpoint.c: Ditto.
710 * hppa-tdep.c: Ditto.
711 * i386-tdep.c: Ditto.
712 * mips-tdep.c: Ditto.
713 * nios2-tdep.c: Ditto.
714 * rs6000-tdep.c: Ditto.
715 * s390-linux-tdep.c: Ditto.
716 * score-tdep.c: Ditto.
718 * sparc-tdep.c: Ditto.
719 * sparc-tdep.h: Ditto.
720 * sparc64-tdep.c: Ditto.
722 * tic6x-tdep.c: Ditto.
723 * tilegx-tdep.c: Ditto.
724 * xstormy16-tdep.c: Ditto.
725 * gdbarch.c, gdbarch.h: Re-generated.
729 * NEWS: Mention 'tui enable' and 'tui disable'.
730 * tui/tui.c (tui_enable_command): New function.
731 (tui_disable_command): New function.
732 (_initialize_tui): New function.
736 * tui/tui-regs.c (tui_reg_next_command): Use NULL not 0.
740 * tui/tui-layout.c (tui_set_layout_for_display_command): Ensure
745 * tui/tui-layout.c (tui_layout_command): Move call to tui_enable
747 (tui_set_layout_for_display_command): ...here, before calling
748 tui_set_layout. Only set the layout if gdb has not already
749 entered the TUI_FAILURE state.
753 * tui/tui-layout.c (layout_completer): New function.
754 (_initialize_tui_layout): Set completer on layout command.
758 * tui/tui-layout.c (tui_set_layout): Remove
759 tui_register_display_type parameter. Remove all checking of this
760 parameter, and reindent function. Update header comment.
761 (tui_set_layout_for_display_command): Rename to...
762 (tui_set_layout_by_name): ...this, and don't check for different
763 register class types, don't pass a tui_register_display_type to
764 tui_set_layout. Update header comment.
765 (layout_names): Remove register set specific names.
766 * tui/tui-layout.h (tui_set_layout): Remove
767 tui_register_display_type parameter.
768 * tui/tui.c (tui_rl_change_windows): Don't pass a
769 tui_register_display_type to tui_set_layout.
770 (tui_rl_delete_other_windows): Likewise.
771 (tui_enable): Likewise.
772 * tui/tui-data.h (TUI_FLOAT_REGS_NAME): Remove.
773 (TUI_FLOAT_REGS_NAME_LOWER): Remove.
774 (TUI_GENERAL_REGS_NAME): Remove.
775 (TUI_GENERAL_REGS_NAME_LOWER): Remove.
776 (TUI_SPECIAL_REGS_NAME): Remove.
777 (TUI_SPECIAL_REGS_NAME_LOWER): Remove.
778 (TUI_GENERAL_SPECIAL_REGS_NAME): Remove.
779 (TUI_GENERAL_SPECIAL_REGS_NAME_LOWER): Remove.
780 (enum tui_register_display_type): Remove.
781 (struct tui_layout_def): Remove regs_display_type and
782 float_regs_display_type fields.
783 (struct tui_data_info): Remove regs_display_type field.
784 (tui_layout_command): Use new name for
785 tui_set_layout_for_display_command.
786 * tui/tui-data.c (layout_def): Don't initialise removed fields.
787 (tui_clear_win_detail): Don't initialise removed fields of
789 * tui/tui-regs.c (tui_show_registers): Use new name for
790 tui_set_layout_for_display_command.
791 * tui/tui.h (tui_set_layout_for_display_command): Rename
793 (tui_set_layout_by_name): ...this.
794 * printcmd.c (display_command): Remove tui related layout call,
799 * infrun.c (handle_inferior_event_1): Renames handle_inferior_event.
800 (handle_inferior_event): New function.
804 * ada-lang.c (to_fixed_array_type): Rename local variable
805 typename into type_name.
809 Fix ASAN crash for gdb.compile/compile.exp.
810 * infcall.c (call_function_by_hand_dummy): Use xstrdup for NAME.
814 * compile/compile-c-symbols.c (convert_symbol_sym, gcc_convert_symbol)
815 (gcc_symbol_address): Change gdb_stdout to gdb_stdlog.
816 * compile/compile-object-load.c (setup_sections, compile_object_load):
818 * compile/compile.c (compile_to_object): Likewise.
822 * NEWS: Mention support for unbuffered Guile memory ports.
823 * scm-ports.c (ioscm_memory_port): Update comments on end, size.
824 (ioscm_lseek_address): Improve overflow calculation.
825 (gdbscm_memory_port_fill_input): Add assert.
826 (gdbscm_memory_port_write): Handle unbuffered ports.
827 Handle large writes identical to Guile's fport_write.
828 (gdbscm_memory_port_seek): Fix seeking past end check.
829 (gdbscm_memory_port_close): Handle closing unbuffered port.
830 (ioscm_parse_mode_bits): Recognize "0" for unbuffered ports.
831 (ioscm_init_memory_port): Handle unbuffered ports.
832 (ioscm_reinit_memory_port): Ditto.
833 (ioscm_init_memory_port): Update size calculation.
834 (gdbscm_open_memory): Support zero sized ports.
838 * compile/compile-object-load.c (get_out_value_type): Fix uninitialized
839 variable compiler warnings.
843 * compile/compile-object-load.c (get_out_value_type): Fix returned type.
848 * NEWS (Changes since GDB 7.9): Add compile print.
849 * compile/compile-c-support.c (add_code_header, add_code_footer)
850 (c_compute_program): Add COMPILE_I_PRINT_ADDRESS_SCOPE and
851 COMPILE_I_PRINT_VALUE_SCOPE.
852 * compile/compile-internal.h (COMPILE_I_PRINT_OUT_ARG_TYPE)
853 (COMPILE_I_PRINT_OUT_ARG, COMPILE_I_EXPR_VAL, COMPILE_I_EXPR_PTR_TYPE):
855 * compile/compile-object-load.c: Include block.h.
856 (get_out_value_type): New function.
857 (compile_object_load): Handle COMPILE_I_PRINT_ADDRESS_SCOPE and
858 COMPILE_I_PRINT_VALUE_SCOPE. Set compile_module's OUT_VALUE_ADDR and
860 * compile/compile-object-load.h (struct compile_module): Add fields
861 out_value_addr and out_value_type.
862 * compile/compile-object-run.c: Include valprint.h and compile.h.
863 (struct do_module_cleanup): Add fields out_value_addr and
865 (do_module_cleanup): Handle COMPILE_I_PRINT_ADDRESS_SCOPE and
866 COMPILE_I_PRINT_VALUE_SCOPE.
867 (compile_object_run): Propagate out_value_addr and out_value_type.
869 * compile/compile.c: Include valprint.h.
870 (compile_print_value, compile_print_command): New functions.
871 (eval_compile_command): Handle failed COMPILE_I_PRINT_ADDRESS_SCOPE.
872 (_initialize_compile): Update compile code help text. Install
873 compile_print_command.
874 * compile/compile.h (compile_print_value): New prototype.
875 * defs.h (enum compile_i_scope_types): Add
876 COMPILE_I_PRINT_ADDRESS_SCOPE and COMPILE_I_PRINT_VALUE_SCOPE.
880 * compile/compile-object-load.c (get_regs_type): Add parameter func_sym.
881 Rely on its parameter count.
882 (compile_object_load): Replace lookup_minimal_symbol_text by
883 lookup_global_symbol_from_objfile. Verify FUNC_SYM. Set it in the
885 * compile/compile-object-load.h (struct compile_module): Replace
886 func_addr by func_sym.
887 * compile/compile-object-run.c: Include block.h.
888 (compile_object_run): Reset module variable after it is freed. Use
889 FUNC_SYM instead of FUNC_ADDR. Rely on it.
893 * compile/compile-c-support.c (print_one_macro): Use #ifndef.
894 (generate_register_struct): Use __gdb_uintptr for TYPE_CODE_PTR.
895 (c_compute_program): Call generate_register_struct after typedefs.
896 * compile/compile-loc2c.c (push, pushf_register_address)
897 (pushf_register): Cast to GCC_UINTPTR.
898 (do_compile_dwarf_expr_to_c): Use unused attribute. Add space after
899 type. Use GCC_UINTPTR instead of void *. Remove excessive cast.
900 (compile_dwarf_expr_to_c): Use GCC_UINTPTR instead of void *.
901 * compile/compile.c (_initialize_compile): Enable warnings for
906 * cli/cli-script.c (execute_control_command): Update
907 eval_compile_command caller.
908 * compile/compile-object-load.c (compile_object_load): Add parameters
909 scope and scope_data. Set them.
910 * compile/compile-object-load.h (struct compile_module): Add fields
911 scope and scope_data.
912 (compile_object_load): Add parameters scope and scope_data.
913 * compile/compile-object-run.c (struct do_module_cleanup): Add fields
914 scope and scope_data.
915 (compile_object_run): Propagate the fields scope and scope_data.
916 * compile/compile.c (compile_file_command, compile_code_command):
917 Update eval_compile_command callers.
918 (eval_compile_command): Add parameter scope_data. Pass it plus scope.
919 * compile/compile.h (eval_compile_command): Add parameter scope_data.
920 * defs.h (struct command_line): Add field scope_data.
924 * printcmd.c (struct format_data): Move it to valprint.h.
925 (print_command_parse_format, print_value): New functions from ...
926 (print_command_1): ... here. Call them.
927 * valprint.h (struct format_data): Move it here from printcmd.c.
928 (print_command_parse_format, print_value): New declarations.
932 * compile/compile-object-load.c (compile_object_load): Add
933 COMPILE_DEBUG message.
937 * ada-lang.c (ada_value_ptr_subscript): Use enum position of
938 index to get element instead of enum value.
939 (ada_value_slice_from_ptr, ada_value_slice): Use enum position
940 of index to compute length, but enum values to compute bounds.
941 (ada_array_length): Use enum position of index instead of enum value.
942 (pos_atr): Move position computation to...
943 (ada_evaluate_subexp): Use enum values to compute bounds.
944 * gdbtypes.c (discrete_position): ...this new function.
945 * gdbtypes.h (discrete_position): New function declaration.
946 * valprint.c (val_print_array_elements): Call discrete_position
947 to handle array indexed by non-contiguous enumeration types.
951 * ada-lang.c (find_parallel_type_by_descriptive_type):
952 Go through typedefs during lookup.
953 (to_fixed_array_type): Add support for non-bit packed arrays
954 as variable-length fields.
959 * event-loop.c (gdb_notifier) <next_file_handler,
960 next_poll_fds_index>: New fields.
961 (get_next_file_handler_to_handle_and_advance): New function.
962 (delete_file_handler): If deleting the next file handler to
963 handle, advance to the next file handler.
964 (gdb_wait_for_event): Bail early if no event fired. Poll file
965 handlers in round-robin fashion.
969 * linux-tdep.c (linux_find_memory_regions_full): Rename local
974 * nat/linux-nat.h: Include "target/waitstatus.h".
978 * python/py-unwind.c (struct reg_info): Move out of ...
979 (struct cached_frame_info): ... this scope.
980 (pending_frame_object_type, unwind_info_object_type): Make extern.
984 * ada-lang.c (ada_value_primitive_packed_val): Make sure
985 accumSize is never negative.
989 * tui/tui-command.c: Remove include of <ctype.h>.
990 (tui_dispatch_ctrl_char): Remove workaround for xterm terminals.
994 * dwarf2read.c (die_needs_namespace): Return 1 for
995 DW_TAG_inlined_subroutine.
999 * regcache.c (regcache_cpy_no_passthrough): New declaration.
1000 (regcache_cpy_no_passthrough): Make it static, add function comment.
1001 * regcache.h (regcache_dup, regcache_cpy): Reduce/update their comment.
1002 (regcache_cpy_no_passthrough): Remove declaration.
1006 * gdbthread.h (struct thread_control_state): Update comment for
1008 * infcall.c (run_inferior_call): Update comment about
1010 * infcmd.c (get_return_value): Update comment about stop_registers.
1011 (finish_forward): Update comment about proceed_to_finish.
1012 * infrun.c (stop_registers): Remove.
1013 (clear_proceed_status, normal_stop): Remove stop_registers handling.
1014 * infrun.h (stop_registers): Remove.
1018 * infcall.c (struct dummy_frame_context_saver)
1019 (dummy_frame_context_saver_data_free, dummy_frame_context_saver_dtor)
1020 (dummy_frame_context_saver_drop, dummy_frame_context_saver_cleanup)
1021 (dummy_frame_context_saver_get_regs, dummy_frame_context_saver_setup):
1023 (call_function_by_hand_dummy): Move discard_cleanups of
1024 inf_status_cleanup before dummy_frame_push. Call
1025 dummy_frame_context_saver_setup and prepare context_saver_cleanup.
1026 Use dummy_frame_context_saver_get_regs instead of stop_registers.
1027 * infcall.h (struct dummy_frame_context_saver)
1028 (dummy_frame_context_saver_drop, dummy_frame_context_saver_cleanup)
1029 (dummy_frame_context_saver_get_regs, dummy_frame_context_saver_setup):
1031 * infcmd.c: Include infcall.h.
1032 (get_return_value): Add parameter ctx_saver, use it instead of
1034 (print_return_value): Add parameter ctx_saver, pass it.
1035 (struct finish_command_continuation_args): Add field ctx_saver.
1036 (finish_command_continuation): Update print_return_value caller.
1037 (finish_command_continuation_free_arg): Free also ctx_saver.
1038 (finish_forward): Call dummy_frame_context_saver_setup.
1039 * inferior.h (struct dummy_frame_context_saver): New declaration.
1040 (get_return_value): Add parameter ctx_saver.
1041 * python/py-finishbreakpoint.c (bpfinishpy_pre_stop_hook): Update
1042 get_return_value caller.
1046 * dummy-frame.c (struct dummy_frame_dtor_list): New.
1047 (struct dummy_frame): Replace dtor and dtor_data by dtor_list.
1048 (remove_dummy_frame): Process dtor_list.
1049 (pop_dummy_frame): Process dtor_list.
1050 (register_dummy_frame_dtor): Maintain dtor_list.
1051 (find_dummy_frame_dtor): Handle dtor_list.
1052 * dummy-frame.h (register_dummy_frame_dtor, find_dummy_frame_dtor):
1057 * compile/compile-object-run.c (do_module_cleanup): Add parameter
1059 (compile_object_run): Update do_module_cleanup caller.
1060 * dummy-frame.c: Include infcall.h.
1061 (struct dummy_frame): Update dtor comment.
1062 (remove_dummy_frame): Call dtor.
1063 (pop_dummy_frame): Update dtor caller.
1064 * dummy-frame.h (dummy_frame_dtor_ftype): Add parameter
1073 * NEWS: Create "Changes in GDB 7.9.1" section. Move news about
1074 Xmethods now being able to specify a result type to that new
1079 * tui/tui-win.c (tui_async_resize_screen): Clear win_resized
1080 first before resizing the window.
1081 * tui/tui.c (tui_enable): Likewise.
1085 * dummy-frame.c (struct dummy_frame): Use proper typedef for dtor.
1086 * dummy-frame.h (dummy_frame_dtor_ftype): Add its comment.
1087 * infcall.c (call_function_by_hand_dummy): Use proper typedef for
1088 dummy_dtor parameter.
1089 * infcall.h: Include dummy-frame.h.
1090 (call_function_by_hand_dummy_dtor_ftype): Remove.
1091 (call_function_by_hand_dummy): Use proper typedef for dummy_dtor
1097 * top.c (history_size_setshow_var): Change type to signed.
1098 Initialize to -2. Update documentation.
1099 (set_readline_history_size): Define.
1100 (set_history_size_command): Use it. Remove logic for handling
1102 (init_history): Use set_readline_history_size(). Test for a
1103 value of -2 instead of 0 when determining whether to set a
1104 default history size.
1105 (init_main): Decode the argument of the "size" command as a
1106 zuinteger_unlimited.
1110 * dwarf2read.c (struct file_entry): Tweak comments.
1111 (get_debug_line_section): Tweak comments.
1115 * NEWS: Announce fork support in the RSP and support
1116 for fork debugging in extended mode.
1120 * remote.c (remote_insert_fork_catchpoint): New function.
1121 (remote_remove_fork_catchpoint): New function.
1122 (remote_insert_vfork_catchpoint): New function.
1123 (remote_remove_vfork_catchpoint): New function.
1124 (pending_fork_parent_callback): New function.
1125 (remove_new_fork_child): New function.
1126 (remote_update_thread_list): Call remote_notif_get_pending_events
1127 and remove_new_fork_child.
1128 (extended_remote_kill): Kill fork child when killing the
1129 parent before follow_fork completes.
1130 (init_extended_remote_ops): Initialize target vector with
1131 new fork catchpoint functions.
1135 * remote.c (remove_vfork_event_p): New function.
1136 (remote_follow_fork): Add vfork event type to event checking.
1137 (remote_parse_stop_reply): New stop reasons "vfork" and
1138 "vforkdone" for RSP 'T' Stop Reply Packet.
1142 * linux-nat.c (linux_nat_ptrace_options): New function.
1143 (linux_init_ptrace, wait_lwp, linux_nat_filter_event):
1144 Call linux_nat_ptrace_options and use different argument to
1145 linux_enable_event_reporting.
1146 (_initialize_linux_nat): Delete call to
1147 linux_ptrace_set_additional_flags.
1148 * nat/linux-ptrace.c (current_ptrace_options): Rename to
1149 supported_ptrace_options.
1150 (additional_flags): Delete variable.
1151 (linux_check_ptrace_features): Use supported_ptrace_options.
1152 (linux_test_for_tracesysgood, linux_test_for_tracefork):
1153 Likewise, and remove additional_flags check.
1154 (linux_enable_event_reporting): Change 'attached' argument to
1155 'options'. Use supported_ptrace_options.
1156 (ptrace_supports_feature): Change comment. Use
1157 supported_ptrace_options.
1158 (linux_ptrace_set_additional_flags): Delete function.
1159 * nat/linux-ptrace.h (linux_ptrace_set_additional_flags):
1160 Delete function prototype.
1161 * remote.c (remote_fork_event_p): New function.
1162 (remote_detach_pid): New function.
1163 (remote_detach_1): Call remote_detach_pid, don't mourn inferior
1164 if doing detach-on-fork.
1165 (remote_follow_fork): New function.
1166 (remote_parse_stop_reply): Handle new "T" stop reason "fork".
1167 (remote_pid_to_str): Print "process" strings for pid/0/0 ptids.
1168 (init_extended_remote_ops): Initialize to_follow_fork.
1172 * nat/linux-ptrace.c (linux_check_ptrace_features): Change
1173 from static to extern.
1174 * nat/linux-ptrace.h (linux_check_ptrace_features): Declare.
1175 * remote.c (anonymous enum): <PACKET_fork_event_feature,
1176 * PACKET_vfork_event_feature>: New enumeration constants.
1177 (remote_protocol_features): Add table entries for new packets.
1178 (remote_query_supported): Add new feature queries to qSupported
1183 * remote.c (remote_add_inferior): Call exec_file_locate_attach
1184 for fake PIDs as well as real ones.
1185 (remote_pid_to_exec_file): Send empty annex if PID is fake.
1189 * NEWS (Python Scripting): Mention the new gdb.Value methods.
1190 * python/py-value.c (valpy_reference_value): New function.
1191 (valpy_const_value): Likewise.
1192 (value_object_methods): Add new methods.
1193 * value.c (make_cv_value): New function.
1194 * value.h (make_cv_value): Declare.
1199 * dwarf2read.c (setup_type_unit_groups): Do NULL pointer check
1200 to 'lh->include_dirs' before accessing to it.
1201 (psymtab_include_file_name): Likewise.
1202 (dwarf_decode_lines_1): Likewise.
1203 (dwarf_decode_lines): Likewise.
1204 (file_file_name): Likewise.
1208 * nios2-linux-tdep.c (NIOS2_SIGRETURN_TRAMP_ADDR): Define.
1209 (NIOS2_SIGRETURN_REGSAVE_OFFSET): Define.
1210 (nios2_linux_rt_sigreturn_init): Adjust base address of
1215 * nios2-tdep.c (nios2_breakpoint_from_pc): Revert to using
1216 "trap 31" as the breakpoint instruction on all targets.
1220 * infcmd.c (print_return_value): Remove unused declaration.
1224 * dwarf2read.c (attr_to_dynamic_prop)
1225 <DW_AT_data_member_location>: Use read_type_die isntead of
1230 * ada-lang.c (ada_convert_actual): Add handling of formals
1231 passed inside an aligner type.
1235 * copyright.py (NOT_FSF_LIST): Remove sim/erc32 entries.
1240 * python/lib/gdb/command/xmethods.py (print_xm_info): Fix typo.
1241 Print xmethod matcher status.
1245 * s390-linux-nat.c (fill_gregset): Avoid relying on the PSWA
1246 register in the regcache when treating the PSWM register, and vice
1251 * linux-thread-db.c (struct thread_db_info)
1252 <td_ta_map_id2thr_p>: Remove field.
1253 (try_thread_db_load_1): Remove initialization for the above.
1257 * linux-thread-db.c (struct thread_db_info)
1258 <td_thr_validate_p>: Remove field.
1259 (try_thread_db_load_1): Remove initialization for the above.
1263 * compile/compile-object-load.c (compile_object_load): Support
1268 * compile/compile.c (compile_to_object): Make the cmd_string parameter
1269 const. Use new variables for the const compatibility.
1270 (eval_compile_command): Make the cmd_string parameter const.
1271 * compile/compile.h (eval_compile_command): Make the cmd_string
1276 * defs.h (deprecated_init_ui_hook): Delete. Remove associated
1278 * top.c (deprecated_init_ui_hook): Delete.
1279 (gdb_init): Remove handling of deprecated_init_ui_hook.
1280 * interps.c (clear_interpreter_hooks): Remove handling of
1281 deprecated_init_ui_hook.
1282 * main.c (captured_main): Update comment.
1286 * solib.c (_initialize_solib): Add "info dll" alias creation.
1287 * windows-nat.c (set_windows_aliases): Delete.
1288 (_initialize_windows_nat): Remove deprecated_init_ui_hook
1290 * NEWS: Add news entry about "info dll" now being available
1295 * ada-lang.c (value_assign_to_component): Reformat and improve
1296 documentation. Remove all trailing spaces.
1300 * inline-frame.c (inline_frame_sniffer, skip_inline_frames):
1301 Stop counting inlined frames as soon as an out-of-line function
1306 * dwarf2read.c (inherit_abstract_dies): Skip
1307 DW_TAG_GNU_call_site dies while inheriting children of an
1308 abstract DIE into a scope.
1309 (read_lexical_block_scope): Inherit abstract DIE's for
1314 * ada-valprint.c (val_print_packed_array_elements): Delete
1315 variable "len". Add a type-length check when comparing two
1316 consecutive elements of the array. Use the element's actual
1317 length in call to value_contents_eq.
1318 * ada-lang.c (ada_value_primitive_packed_val): Always return
1319 a value whose type has been resolved.
1323 * ada-lang.c (ada_value_primitive_packed_val): Recompute
1324 BIT_SIZE and LEN if the size of the resolved type is smaller
1325 than BIT_SIZE * HOST_CHAR_BIT.
1329 * ada-lang.c (ada_value_primitive_packed_val): Use a more
1330 correct address in call to value_at. Adjust call to
1331 value_address accordingly.
1335 * ada-valprint.c (ada_val_print_1): Resolve TYPE before trying
1340 * dwarf2loc.h (struct property_addr_info): Add "valaddr" field.
1341 * dwarf2loc.c (dwarf2_evaluate_property): Add handling of
1343 * gdbtypes.h (resolve_dynamic_type): Add "valaddr" parameter.
1344 * gdbtypes.c (resolve_dynamic_struct): Set pinfo.valaddr.
1345 (resolve_dynamic_type_internal): Set pinfo.valaddr.
1346 Add handling of addr_stack->valaddr.
1347 (resolve_dynamic_type): Add "valaddr" parameter.
1348 Set pinfo.valaddr field.
1349 * ada-lang.c (ada_discrete_type_high_bound): Update call to
1350 resolve_dynamic_type.
1351 (ada_discrete_type_low_bound): Likewise.
1352 * findvar.c (default_read_var_value): Likewise.
1353 * value.c (value_from_contents_and_address): Likewise.
1357 * gdbtypes.c (resolve_dynamic_array): Use
1358 create_array_type_with_stride instead of create_array_type.
1362 * rl78-tdep.c (rl78_analyze_prologue): Pass RL78_ISA_DEFAULT to
1368 * NEWS: Document new gdb.XMethodWorker.get_result_type method.
1369 * eval.c (evaluate_subexp_standard) <OP_FUNCALL>: Handle
1370 EVAL_AVOID_SIDE_EFFECTS for xmethods.
1371 * extension-priv.h (struct extension_language_ops)
1372 <get_xmethod_result_type>: New member.
1373 * extension.c (get_xmethod_result_type): New function.
1374 * extension.h (get_xmethod_result_type): Declare.
1375 * python/py-xmethods.c (get_result_type_method_name): New static
1377 (py_get_result_type_method_name): Ditto.
1378 (gdbpy_get_xmethod_result_type): New function.
1379 (gdbpy_initialize_xmethods): Initialize py_get_result_type_method_name.
1380 * python/python-internal.h (gdbpy_get_xmethod_result_type): Declare.
1381 * python/python.c (python_extension_ops): Add
1382 gdbpy_get_xmethod_result_type.
1383 * python/lib/gdb/xmethod.py (XMethodWorker): Add get_result_type.
1384 * valarith.c (value_x_binop): Handle EVAL_AVOID_SIDE_EFFECTS for
1386 (value_x_unop): Ditto.
1387 * value.c (result_type_of_xmethod): New function.
1388 * value.h (result_type_of_xmethod): Declare.
1392 * solib.c (solib_find_1): Allow fd argument to be NULL.
1393 (exec_file_find): Update comment.
1394 (solib_find): Likewise.
1395 * exec.c (exec_file_locate_attach): Use NULL as fd
1396 argument to exec_file_find to avoid having to close
1398 * infrun.c (follow_exec): Likewise.
1403 * python/lib/gdb/printing.py (register_pretty_printer): Handle
1404 name or __name__ attributes. Handle gdb module as first argument.
1409 * python/py-prettyprint.c (print_children): Verify result of children
1410 iterator. Provide better error message.
1411 * python/python-internal..h (gdbpy_print_python_errors_p): Declare.
1412 * python/python.c (gdbpy_print_python_errors_p): New function.
1416 * gdbtypes.h (struct cplus_struct_type) <n_baseclasses>: Fix comment.
1420 * NEWS: Mention gdb.Type.optimized_out method.
1421 * python/py-type.c (typy_optimized_out): New function.
1425 * fbsd-nat.c: Include "gdb_wait.h" instead of <sys/wait.h>.
1429 * utils.c (init_page_info): Set rl_catch_sigwinch to zero.
1430 (initialize_utils): Move call of init_page_info() to ...
1431 * top.c (gdb_init): ... here.
1435 * tui/tui-win.c (tui_sigwinch_handler): Remove now-stale comment.
1436 (tui_sigwinch_handler): Still update our idea of
1437 the terminal's width and height even when TUI is not active.
1441 * utils.h (set_screen_width_and_height): Declare.
1442 * utils.c (set_screen_width_and_height): Define.
1443 * tui/tui-win.c (tui_update_gdb_sizes): Use it.
1447 * infrun.c (solist.h): New include.
1448 (follow_exec): Use exec_file_find to prefix execd_pathname
1453 * tui/tui-source.c (tui_set_source_content): Avoid calling
1454 strcpy() when offset is 0.
1459 * tui/tui-data.c (tui_free_window): Don't free the locator
1460 window when passed an SRC_WIN or a DISASSEM_WIN.
1464 * tui/tui-data.h (struct tui_win_element): Forward-declare.
1465 (tui_win_content): Move declaration.
1466 (struct tui_gen_win_info): Give 'content' field the
1467 type tui_win_content.
1468 * tui/tui-data.c (init_content_element): Remove redundant and
1470 (tui_add_content_elements): Remove erroneous cast.
1471 * tui/tui-disasm.c (tui_set_disassem_content): Remove redundant
1473 (tui_get_begin_asm_address): Likewise.
1474 * tui/tui-regs.c (tui_show_registers): Likewise.
1475 (tui_show_register_group): Likewise.
1476 (tui_display_registers_from): Likewise.
1477 (tui_check_register_values): Likewise.
1478 * tui/tui-source.c (tui_set_source_content): Likewise.
1479 (tui_set_source_content_nil): Likewise.
1480 (tui_source_is_displayed): Likewise.
1481 * tui/tui-stack.c (tui_show_locator_content): Likewise.
1482 (tui_set_locator_fullname): Likewise.
1483 (tui_set_locator_info): Likewise.
1484 (tui_show_frame_info): Likewise.
1485 * tui/tui-winsource.c (tui_clear_source_content): Likewise.
1486 (tui_show_source_line): Likewise.
1487 (tui_horizontal_source_scroll): Likewise.
1488 (tui_update_breakpoint_info): Likewise.
1489 (tui_set_exec_info_content): Likewise.
1490 (tui_show_exec_info_content): Likewise.
1491 (tui_alloc_source_buffer): Likewise.
1492 (tui_line_is_displayed): Likewise.
1493 (tui_addr_is_displayed): Likewise.
1497 * fbsd-nat.c: (fbsd_wait) [PL_FLAG_EXEC]: Report TARGET_WAITKIND_EXECD
1498 event if PL_FLAG_EXEC is set.
1499 [PL_FLAG_EXEC] (fbsd_insert_exec_catchpoint): New function.
1500 [PL_FLAG_EXEC] (fbsd_remove_exec_catchpoint): New function.
1501 (fbsd_nat_add_target) [PL_FLAG_EXEC]: Set
1502 "to_insert_exec_catchpoint" to "fbsd_insert_exec_catchpoint".
1503 Set "to_remove_exec_catchpoint" to "fbsd_remove_exec_catchpoint".
1507 * fbsd-nat.c: [PT_LWPINFO] New variable super_wait.
1508 [TDP_RFPPWAIT] New variable fbsd_pending_children.
1509 [TDP_RFPPWAIT] (fbsd_remember_child): New function.
1510 [TDP_RFPPWAIT] (fbsd_is_child_pending): New function.
1511 [TDP_RFPPWAIT] (fbsd_fetch_kinfo_proc): New function.
1512 [PT_LWPINFO] (fbsd_wait): New function.
1513 [TDP_RFPPWAIT] (fbsd_follow_fork): New function.
1514 [TDP_RFPPWAIT] (fbsd_insert_fork_catchpoint): New function.
1515 [TDP_RFPPWAIT] (fbsd_remove_fork_catchpoint): New function.
1516 [TDP_RFPPWAIT] (fbsd_insert_vfork_catchpoint): New function.
1517 [TDP_RFPPWAIT] (fbsd_remove_vfork_catchpoint): New function.
1518 [TDP_RFPPWAIT] (fbsd_enable_follow_fork): New function.
1519 [TDP_RFPPWAIT] (fbsd_post_startup_inferior): New function.
1520 [TDP_RFPPWAIT] (fbsd_post_attach): New function.
1521 (fbsd_nat_add_target) [PT_LWPINFO] Set "to_wait" to
1523 [TDP_RFPPWAIT] Set "to_follow_fork" to "fbsd_follow_fork".
1524 Set "to_insert_fork_catchpoint" to "fbsd_insert_fork_catchpoint".
1525 Set "to_remove_fork_catchpoint" to "fbsd_remove_fork_catchpoint".
1526 Set "to_insert_vfork_catchpoint" to "fbsd_insert_vfork_catchpoint".
1527 Set "to_remove_vfork_catchpoint" to "fbsd_remove_vfork_catchpoint".
1528 Set "to_post_startup_inferior" to "fbsd_post_startup_inferior".
1529 Set "to_post_attach" to "fbsd_post_attach".
1533 * fbsd-nat.c (fbsd_pid_to_exec_file): Mark static.
1534 (fbsd_find_memory_regions): Mark static.
1535 (fbsd_nat_add_target): New function.
1536 * fbsd-nat.h: Export fbsd_nat_add_target and remove prototypes for
1537 fbsd_pid_to_exec_file and fbsd_find_memory_regions.
1538 * amd64fbsd-nat.c (_initialize_amd64fbsd_nat): Use fbsd_nat_add_target.
1539 * i386fbsd-nat.c (_initialize_i386fbsd_nat): Likewise.
1540 * ppcfbsd-nat.c (_initialize_ppcfbsd_nat): Likewise.
1541 * sparc64fbsd-nat.c (_initialize_sparc64fbsd_nat): Likewise.
1545 * objfiles.c (allocate_objfile): Do not attempt to expand name
1546 if name is a "target:" filename.
1547 * auto-load.c (load_auto_scripts_for_objfile): Do not attempt
1548 to load auto-load scripts for objfiles with "target:" filenames.
1552 * s390-linux-tdep.c: Include "elf/s390.h" and "elf-bfd.h".
1553 (enum s390_vector_abi_kind): New enum.
1554 (struct gdbarch_tdep)<vector_abi>: New field.
1555 (s390_effective_inner_type): Add parameter min_size. Stop
1556 unwrapping if the inner type is smaller than min_size.
1557 (s390_function_arg_float): Adjust call to
1558 s390_effective_inner_type.
1559 (s390_function_arg_vector): New function.
1560 (s390_function_arg_integer): Adjust comment.
1561 (struct s390_arg_state)<vr>: New field.
1562 (s390_handle_arg): Add parameter 'is_unnamed'. Pass vector
1563 arguments according to vector ABI when appropriate.
1564 (s390_push_dummy_call): Initialize the argument state's field
1565 'vr'. Adjust calls to s390_handle_arg.
1566 (s390_register_return_value): Handle vector return values.
1567 (s390_return_value): Apply the "register" return value convention
1568 to a vector when appropriate.
1569 (s390_gdbarch_init): Initialize tdep->vector_abi.
1570 * NEWS: Announce S390 vector ABI support.
1574 * s390-linux-tdep.c (s390_return_value_convention): Remove
1575 function. Inline its logic...
1576 (s390_return_value): ...here. Instead, move the handling of the
1577 "register" return value convention...
1578 (s390_register_return_value): ...here. New function.
1583 (is_float_singleton): Remove function. Move the "singleton" part
1585 (s390_effective_inner_type): ...here. New function.
1586 (is_float_like): Remove function. Inline its logic...
1587 (s390_function_arg_float): ...here.
1588 (is_pointer_like, is_integer_like, is_struct_like): Remove
1589 functions. Inline their logic...
1590 (s390_function_arg_integer): ...here.
1591 (s390_function_arg_pass_by_reference): Remove function.
1592 (extend_simple_arg): Remove function.
1593 (alignment_of): Remove function.
1594 (struct s390_arg_state): New structure.
1595 (s390_handle_arg): New function.
1596 (s390_push_dummy_call): Move parameter placement logic to the new
1597 function s390_handle_arg. Call it for calculating the stack area
1598 sizes first, and again for actually writing the parameters.
1602 * s390-linux-tdep.c (is_power_of_two): Add comment. Return
1603 false if the argument is zero.
1607 * ada-lang.c (template_to_static_fixed_type): Return input type
1608 when it is already fixed. Cache the input type itself when not
1609 creating a static fixed copy. Make it explicit that we never
1610 molestate the input type.
1611 * gdbtypes.c (resolve_dynamic_struct): Reset the
1612 TYPE_TARGET_TYPE field for resolved copies.
1616 * ada-lang.c (ada_is_tagged_type): Add call to ada_check_typedef.
1617 (ada_lookup_struct_elt_type): Remove calls to ada_check_typedef.
1618 (template_to_static_fixed_type): Call ada_check_typedef only
1623 * cli/cli-dump.c (srec_dump_command): Add internationalization
1625 (ihex_dump_command): Likewise.
1626 (tekhex_dump_command): Likewise.
1627 (binary_dump_command): Likewise.
1628 (binary_append_command): Likewise.
1632 * cli/cli-dump.c (verilog_cmdlist): New variable.
1633 (dump_verilog_memory): New function.
1634 (dump_verilog_value): New function.
1635 (verilog_dump_command): New function.
1636 (_initialize_cli_dump): Add new commands to support verilog dump
1638 * NEWS: Add entry for "dump verilog".
1642 * gdbtypes.c (print_gnat_stuff): Do not recurse on the
1643 descriptive type when there is none.
1647 * tui/tui-win.c (tui_async_resize_screen): Call
1648 rl_resize_terminal().
1652 * windows-nat.c (handle_output_debug_string): Don't change
1653 current_event.dwThreadId.
1654 (get_windows_debug_event): Use thread_id, rather than relying on
1655 current_event.dwThreadId being changed.
1659 * windows-nat.c (windows_continue): Report an error if
1660 ContinueDebugEvent() fails.
1664 * windows-nat.c (windows_resume): Fix misspelling in debug output.
1668 * windows-nat.c (get_windows_debug_event): Replace retval with
1669 thread_id throughout. Update stale comment.
1673 * windows-nat.c (get_windows_debug_event): Don't use ternary
1674 conditional operator.
1679 p-exp.y (yylex): Reorganize code to return the matched pattern
1680 for a field of this.
1684 * common/fileio.h (fileio_to_host_openflags): New declaration.
1685 * common/fileio.c (fcntl.h): New include.
1686 (fileio_to_host_openflags): New function, factored out from...
1687 * inf-child.c (inf_child_fileio_open_flags_to_host): ...here.
1692 * rl78-tdep.c (RL78_SP_ADDR): Define.
1693 (opc_reg_to_gdb_regnum): New static function.
1694 (rl78_analyze_prologue): Recognize instructions forming slightly
1695 more interesting prologues.
1701 * gdbtypes.c (is_dynamic_type_internal): Remove special handling of
1702 TYPE_CODE_REF types so that they are not considered as dynamic
1703 depending on the referenced type.
1704 (resolve_dynamic_type_internal): Likewise.
1710 * gdbtypes.c (is_dynamic_type_internal): Remove the unused
1711 "top_level" parameter.
1712 (resolve_dynamic_type_internal): Remove the unused "top_level"
1713 parameter. Update call to is_dynamic_type_internal.
1714 (is_dynamic_type): Update call to is_dynamic_type_internal.
1715 (resolve_dynamic_range): Update call to
1716 resolve_dynamic_type_internal.
1717 (resolve_dynamic_union): Likewise.
1718 (resolve_dynamic_struct): Likewise.
1719 (resolve_dynamic_type): Likewise.
1723 * breakpoint.c (update_dprintf_command_list): Remove duplicated
1728 * reply_mig_hack.awk: Robustify parsing.
1730 * reply_mig_hack.awk: Don't bother to declare an intermediate
1731 function pointer variable.
1735 * solib-svr4.c (svr4_exec_displacement): Rename outer "displacement"
1736 to "exec_displacement" to avoid confusion with inner use of the name.
1740 * arm-linux-nat.c (arm_linux_can_use_hw_breakpoint): Return zero
1741 if HW point of TYPE isn't supported.
1746 * target.h (target_can_use_hardware_watchpoint): Update comments.
1747 Remove trailing ";".
1751 * remote.c (remote_add_inferior): New argument try_open_exec.
1752 If nonzero, attempt to open the inferior's executable file as
1753 the main executable if no main executable is open already.
1754 All callers updated.
1755 * NEWS: Mention that GDB now supports automatic location and
1756 retrieval of executable + files from remote targets.
1760 * target.h (TARGET_OBJECT_EXEC_FILE): New enum value.
1761 * remote.c (PACKET_qXfer_exec_file): Likewise.
1762 (remote_protocol_features): Register the
1763 "qXfer:exec-file:read" feature.
1764 (remote_xfer_partial): Handle TARGET_OBJECT_EXEC_FILE.
1765 (remote_pid_to_exec_file): New function.
1766 (init_remote_ops): Initialize to_pid_to_exec_file.
1767 (_initialize_remote): Register new "set/show remote
1768 pid-to-exec-file-packet" command.
1769 * NEWS: Announce new qXfer:exec-file:read packet.
1773 * nat/linux-procfs.h (linux_proc_pid_to_exec_file):
1775 * nat/linux-procfs.c (linux_proc_pid_to_exec_file):
1776 New function, factored out from...
1777 * linux-nat.c (linux_child_pid_to_exec_file): ...here.
1781 * exec.c (solist.h): New include.
1782 (exec_file_locate_attach): Prefix absolute executable
1783 paths with gdb_sysroot if set.
1784 * NEWS: Mention that executable paths may be prepended
1789 * solist.h (exec_file_find): New declaration.
1790 * solib.c (solib_find_1): New function, factored out from...
1791 (solib_find): ...here.
1792 (exec_file_find): New function.
1796 * gdbcore.h (exec_file_locate_attach): New declaration.
1797 * exec.c (exec_file_locate_attach): New function, factored
1799 * infcmd.c (attach_command_post_wait): ...here.
1803 * MAINTAINERS: Add myself for Blackfin/write-after-approval.
1807 * infrun.c (maybe_software_singlestep): Declare.
1808 (displaced_step_fixup): Call maybe_software_singlestep.
1812 * psymtab.c (psym_expand_symtabs_matching): Add QUIT call.
1816 * dwarf2read.c (dw2_expand_symtabs_matching): Add some QUIT calls.
1820 * python/lib/gdb/command/unwinders.py: Add parentheses.
1824 * arm-linux-tdep.c (arm_linux_copy_svc): Update debug message.
1828 * arm-linux-tdep.c (arm_linux_copy_svc): Fix indentation.
1832 * arm-linux-tdep.c (arm_linux_cleanup_svc): Use
1833 dsc->insn_size instead of 4.
1837 * jit.c (mem_bfd_iovec_stat): Zero supplied buffer.
1838 * minidebug.c (lzma_stat): Likewise.
1839 * solib-spu.c (spu_bfd_iovec_stat): Likewise.
1840 * spu-linux-nat.c (spu_bfd_iovec_stat): Likewise.
1844 * MAINTAINERS: Update my email address.
1848 * amd64-tdep.c (amd64_target_description): New function.
1849 * amd64-tdep.h: Export amd64_target_description and tdesc_amd64.
1850 * amd64bsd-nat.c [PT_GETXSTATE_INFO]: New variable amd64bsd_xsave_len.
1851 (amd64bsd_fetch_inferior_registers) [PT_GETXSTATE_INFO]: Handle
1852 x86 extended save area.
1853 (amd64bsd_store_inferior_registers) [PT_GETXSTATE_INFO]: Likewise.
1854 * amd64bsd-nat.h: Export amd64bsd_xsave_len.
1855 * amd64fbsd-nat.c (amd64fbsd_read_description): New function.
1856 (_initialize_amd64fbsd_nat): Set "to_read_description" to
1857 "amd64fbsd_read_description".
1858 * amd64fbsd-tdep.c (amd64fbsd_core_read_description): New function.
1859 (amd64fbsd_supply_xstateregset): New function.
1860 (amd64fbsd_collect_xstateregset): New function.
1861 Add "amd64fbsd_xstateregset".
1862 (amd64fbsd_iterate_over_regset_sections): New function.
1863 (amd64fbsd_init_abi): Set "xsave_xcr0_offset" to
1864 "I386_FBSD_XSAVE_XCR0_OFFSET".
1865 Add "iterate_over_regset_sections" gdbarch method.
1866 Add "core_read_description" gdbarch method.
1867 * i386-tdep.c (i386_target_description): New function.
1868 * i386-tdep.h: Export i386_target_description and tdesc_i386.
1869 * i386bsd-nat.c [PT_GETXSTATE_INFO]: New variable i386bsd_xsave_len.
1870 (i386bsd_fetch_inferior_registers) [PT_GETXSTATE_INFO]: Handle
1871 x86 extended save area.
1872 (i386bsd_store_inferior_registers) [PT_GETXSTATE_INFO]: Likewise.
1873 * i386bsd-nat.h: Export i386bsd_xsave_len.
1874 * i386fbsd-nat.c (i386fbsd_read_description): New function.
1875 (_initialize_i386fbsd_nat): Set "to_read_description" to
1876 "i386fbsd_read_description".
1877 * i386fbsd-tdep.c (i386fbsd_core_read_xcr0): New function.
1878 (i386fbsd_core_read_description): New function.
1879 (i386fbsd_supply_xstateregset): New function.
1880 (i386fbsd_collect_xstateregset): New function.
1881 Add "i386fbsd_xstateregset".
1882 (i386fbsd_iterate_over_regset_sections): New function.
1883 (i386fbsd4_init_abi): Set "xsave_xcr0_offset" to
1884 "I386_FBSD_XSAVE_XCR0_OFFSET".
1885 Add "iterate_over_regset_sections" gdbarch method.
1886 Add "core_read_description" gdbarch method.
1887 * i386fbsd-tdep.h: New file.
1891 * NEWS (Changes since GDB 7.9): Add removed -xdb.
1892 * breakpoint.c (command_line_is_silent): Remove xdb_commands
1894 (_initialize_breakpoint): Remove xdb_commands for bc, ab, sb, db, ba
1896 * cli/cli-cmds.c (_initialize_cli_cmds): Remove xdb_commands for v and
1898 * cli/cli-decode.c (find_command_name_length): Remove xdb_commands
1900 * defs.h (xdb_commands): Remove declaration.
1901 * f-valprint.c (_initialize_f_valprint): Remove xdb_commands for lc.
1902 * guile/scm-cmd.c (command_classes): Remove xdb from comment.
1903 * infcmd.c (run_no_args_command, go_command): Remove.
1904 (_initialize_infcmd): Remove xdb_commands for S, go, g, R and lr.
1905 * infrun.c (xdb_handle_command): Remove.
1906 (_initialize_infrun): Remove xdb_commands for lz and z.
1907 * main.c (xdb_commands): Remove variable.
1908 (captured_main): Remove "xdb" from long_options.
1909 (print_gdb_help): Remove --xdb from help.
1910 * python/py-cmd.c (gdbpy_initialize_commands): Remove xdb from comment.
1911 * source.c (_initialize_source): Remove xdb_commands for D, ld, / and ?.
1912 * stack.c (backtrace_full_command, args_plus_locals_info)
1913 (current_frame_command): Remove.
1914 (_initialize_stack): Remove xdb_commands for t, T and l.
1915 * symtab.c (_initialize_symtab): Remove xdb_commands for lf and lg.
1916 * thread.c (_initialize_thread): Remove xdb_commands condition.
1917 * tui/tui-layout.c (tui_toggle_layout_command)
1918 (tui_toggle_split_layout_command, tui_handle_xdb_layout): Remove.
1919 (_initialize_tui_layout): Remove xdb_commands for td and ts.
1920 * tui/tui-regs.c (tui_scroll_regs_forward_command)
1921 (tui_scroll_regs_backward_command): Remove.
1922 (_initialize_tui_regs): Remove xdb_commands for fr, gr, sr, +r and -r.
1923 * tui/tui-win.c (tui_xdb_set_win_height_command): Remove.
1924 (_initialize_tui_win): Remove xdb_commands for U and w.
1925 * utils.c (pagination_on_command, pagination_off_command): Remove.
1926 (initialize_utils): Remove xdb_commands for am and sm.
1930 * infrun.c (displaced_step_fixup): Switch to the event ptid
1931 earlier. If the thread stopped for a watchpoint and the
1932 target/arch has non-continuable watchpoints, cancel the displaced
1934 (resume): Don't start a displaced step if in-line step-over info
1939 * infrun.c (displaced_step_in_progress): New function.
1940 (do_target_resume): Advise target to report all signals if
1946 * infrun.c (process_event_stop_test): Don't assume a step-resume
1947 is set if tp->stepped_breakpoint is true.
1951 * arm-tdep.c (install_alu_reg): Update comment.
1952 (thumb_copy_alu_reg): Remove local variable rn. Update
1953 debugging message. Use r2 instead of r1 in the modified
1959 * amd64-linux-tdep.c (amd64_linux_init_abi_common): Install
1960 linux_displaced_step_location as gdbarch_displaced_step_location
1962 * arm-linux-tdep.c (arm_linux_init_abi): Likewise.
1963 * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
1964 * linux-tdep.c (linux_displaced_step_location): New function,
1965 based on ppc_linux_displaced_step_location.
1966 * linux-tdep.h (linux_displaced_step_location): New declaration.
1967 * ppc-linux-tdep.c (ppc_linux_entry_point_addr): Delete.
1968 (ppc_linux_inferior_created, ppc_linux_displaced_step_location):
1970 (ppc_linux_init_abi): Install linux_displaced_step_location as
1971 gdbarch_displaced_step_location hook, even without Cell/B.E..
1972 (_initialize_ppc_linux_tdep): Don't install
1973 ppc_linux_inferior_created as inferior_created observer.
1974 * s390-linux-tdep.c (s390_gdbarch_init): Install
1975 linux_displaced_step_location as gdbarch_displaced_step_location
1980 * common/common-remote-fileio.h: Rename to...
1981 * common/fileio.h: ...this. Update all references.
1982 (remote_fileio_to_fio_error): Rename to...
1983 (host_to_fileio_error): ...this.
1984 (remote_fileio_to_be): Rename to...
1985 (host_to_bigendian): ...this. Update all callers.
1986 (remote_fileio_to_fio_uint): Rename to...
1987 (host_to_fileio_uint): ...this. Update all callers.
1988 (remote_fileio_to_fio_time): Rename to...
1989 (host_to_fileio_time): ...this. Update all callers.
1990 (remote_fileio_to_fio_stat): Rename to...
1991 (host_to_fileio_stat): ...this.
1992 Update all references.
1993 * common/common-remote-fileio.c: Rename to...
1994 * common/fileio.c: ...this. Update all references.
1995 (remote_fileio_to_fio_error): Rename to...
1996 (host_to_fileio_error): ...this. Update all callers.
1997 (remote_fileio_mode_to_target): Rename to...
1998 (fileio_mode_pack): ...this. Update all callers.
1999 (remote_fileio_to_fio_mode): Rename to...
2000 (host_to_fileio_mode): ...this. Update all callers.
2001 (remote_fileio_to_fio_ulong): Rename to...
2002 (host_to_fileio_ulong): ...this. Update all callers.
2003 (remote_fileio_to_fio_stat): Rename to...
2004 (host_to_fileio_stat): ...this. Update all callers.
2008 * guile/scm-frame.c (gdbscm_frame_read_register): New function.
2009 (frame_functions): Bind gdbscm_frame_read_register to
2010 frame-read-register.
2011 * guile/lib/gdb.scm (frame-read-register): Export.
2015 * common/common-remote-fileio.h (remote_fileio_to_fio_error):
2017 * common/common-remote-fileio.c (remote_fileio_to_fio_error):
2018 New function, factored out the named functions below.
2019 * inf-child.c (gdb/fileio.h): Remove include.
2020 (common-remote-fileio.h): New include.
2021 (inf_child_errno_to_fileio_error): Remove function. Update
2022 all callers to use remote_fileio_to_fio_error.
2023 * remote-fileio.c (remote_fileio_errno_to_target): Likewise.
2027 * MAINTAINERS (Write After Approval): Add Andy Wingo.
2031 * acinclude.m4: (GDB_AC_CHECK_BFD): Set ZLIBDIR with $zlibdir.
2032 Replace $zlibdir with $ZLIBDIR in LDFLAGS.
2033 * configure: Regenerated.
2037 * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add strtok_r.
2038 * gnulib/Makefile.in (aclocal_m4_deps): Add import/m4/strtok_r.m4.
2039 * gnulib/configure, gnulib/config.in, gnulib/aclocal.m4: Regenerate.
2040 * gnulib/import/Makefile.am: Update.
2041 * gnulib/import/Makefile.in: Update.
2042 * gnulib/import/m4/gnulib-cache.m4: Update.
2043 * gnulib/import/m4/gnulib-comp.m4: Update.
2044 * gnulib/import/m4/strtok_r.m4: New file.
2045 * gnulib/import/strtok_r.c: New file.
2049 * gnulib/update-gnulib.sh (aclocal version check): Filter out
2050 "called too early to check prototype".
2055 * python/py-cmd.c (cmdpy_completer_helper): Adjust function to not
2056 use a caching mechanism. Adjust comments and code to reflect
2057 that. Replace 'sizeof' by 'strlen' when fetching 'wordobj'.
2058 (cmdpy_completer_handle_brkchars): Adjust call to
2059 cmdpy_completer_helper. Call Py_XDECREF for 'resultobj'.
2060 (cmdpy_completer): Likewise.
2064 * spu-tdep.c (spu_gdbarch_init): Don't call
2065 set_gdbarch_cannot_step_breakpoint.
2069 * linux-tdep.c (decode_vmflags): Initialize 'saveptr'.
2073 * gdbthread.h (ALL_NON_EXITED_THREADS_SAFE): Rename to ...
2074 (ALL_THREADS_SAFE): ... this, and don't skip exited threads.
2075 (delete_exited_threads): New declaration.
2076 * infrun.c (follow_exec): Use ALL_THREADS_SAFE.
2077 * linux-nat.c (linux_nat_update_thread_list): New function.
2078 (linux_nat_add_target): Install it.
2079 * remote.c (remote_update_thread_list): Use ALL_THREADS_SAFE.
2080 * thread.c (prune_threads): Use ALL_THREADS_SAFE.
2081 (delete_exited_threads): New function.
2085 * infrun.c (resume) <displaced stepping debug output>: Get the
2086 leader thread's regcache, not resume_ptid's.
2090 * symtab.c (hash_symbol_entry): Hash STRUCT_DOMAIN symbols as
2092 (symbol_cache_lookup): Clarify use of bsc_ptr, slot_ptr parameters.
2093 Include symbol domain in debugging output.
2098 * configure.ac: Remove the mingw32-specific stub-termcap.o
2099 fallback, and instead fallback to the stub termcap on all hosts.
2100 * configure: Regenerate.
2101 * stub-termcap.c [!__MINGW32__] (PC, BC, UP): Define as weak
2106 * gdbtypes.c (is_dynamic_type_internal): Remove the unused
2107 "top_level" parameter.
2108 (resolve_dynamic_type_internal): Remove the unused "top_level"
2109 parameter. Update call to is_dynamic_type_internal.
2110 (is_dynamic_type): Update call to is_dynamic_type_internal.
2111 (resolve_dynamic_range): Update call to
2112 resolve_dynamic_type_internal.
2113 (resolve_dynamic_union): Likewise.
2114 (resolve_dynamic_struct): Likewise.
2115 (resolve_dynamic_type): Likewise.
2119 * gdbtypes.c (is_dynamic_type_internal): Remove special handling of
2120 TYPE_CODE_REF types so that they are not considered as dynamic
2121 depending on the referenced type.
2122 (resolve_dynamic_type_internal): Likewise.
2126 * Makefile.in (top_srcdir): New.
2127 * configure: Regenerated.
2131 * NEWS: Announce the new default sysroot of "target:".
2135 * main.c (captured_main): Set gdb_sysroot to "target:"
2136 if not otherwise set.
2140 * exec.c (exec_file_attach): Support "target:" filenames.
2144 * solib.c (solib_find): Strip "target:" prefix from sysroot
2145 if accessing local files.
2149 * symfile.c (symfile_bfd_open): Reorder to remove duplicated
2150 checks and error messages.
2154 * remote.h (REMOTE_SYSROOT_PREFIX): Remove definition.
2155 (remote_filename_p): Remove declaration.
2156 (remote_bfd_open): Likewise.
2157 * remote.c (remote_bfd_iovec_open): Remove function.
2158 (remote_bfd_iovec_close): Likewise.
2159 (remote_bfd_iovec_pread): Likewise.
2160 (remote_bfd_iovec_stat): Likewise.
2161 (remote_filename_p): Likewise.
2162 (remote_bfd_open): Likewise.
2163 * symfile.h (gdb_bfd_open_maybe_remote): Remove declaration.
2164 * symfile.c (separate_debug_file_exists): Use gdb_bfd_open.
2165 (gdb_bfd_open_maybe_remote): Remove function.
2166 (symfile_bfd_open): Replace remote filename check with
2167 target filename check.
2168 (reread_symbols): Use gdb_bfd_open.
2169 * build-id.c (gdbcore.h): New include.
2170 (build_id_to_debug_bfd): Use gdb_bfd_open.
2171 * infcmd.c (attach_command_post_wait): Remove remote filename
2173 * solib.c (solib_find): Replace remote-specific handling with
2174 target-specific handling. Update comments where necessary.
2175 (solib_bfd_open): Replace remote-specific handling with
2176 target-specific handling.
2177 (gdb_sysroot_changed): New function.
2178 (_initialize_solib): Call the above when gdb_sysroot changes.
2179 * windows-tdep.c (gdbcore.h): New include.
2180 (windows_xfer_shared_library): Use gdb_bfd_open.
2184 * gdb/gdb_bfd.h (TARGET_SYSROOT_PREFIX): New definition.
2185 (is_target_filename): New declaration.
2186 (gdb_bfd_has_target_filename): Likewise.
2187 (gdb_bfd_open): Update documentation comment.
2188 * gdb_bfd.c (target.h): New include.
2189 (gdb/fileio.h): Likewise.
2190 (is_target_filename): New function.
2191 (gdb_bfd_has_target_filename): Likewise.
2192 (fileio_errno_to_host): Likewise.
2193 (gdb_bfd_iovec_fileio_open): Likewise.
2194 (gdb_bfd_iovec_fileio_pread): Likewise.
2195 (gdb_bfd_iovec_fileio_close): Likewise.
2196 (gdb_bfd_iovec_fileio_fstat): Likewise.
2197 (gdb_bfd_open): Use target fileio to access paths prefixed
2198 with "target:" where necessary.
2202 * target.h (struct target_ops) <to_filesystem_is_local>:
2204 (target_filesystem_is_local): New macro.
2205 * target-delegates.c: Regenerate.
2206 * remote.c (remote_filesystem_is_local): New function.
2207 (init_remote_ops): Initialize to_filesystem_is_local.
2211 * target.h (struct target_ops) <to_fileio_fstat>: New field.
2212 (target_fileio_fstat): New declaration.
2213 * target.c (target_fileio_fstat): New function.
2214 * inf-child.c (inf_child_fileio_fstat): Likewise.
2215 (inf_child_target): Initialize to_fileio_fstat.
2216 * remote.c (init_remote_ops): Likewise.
2220 * Makefile.in (SUBDIR_PYTHON_OBJS): Add py-unwind.o.
2221 (SUBDIR_PYTHON_SRCS): Add py-unwind.c.
2222 (py-unwind.o): New recipe.
2223 * NEWS: mention Python frame unwinding.
2224 * data-directory/Makefile.in (PYTHON_FILE_LIST): Add
2225 gdb/unwinder.py and gdb/command/unwinder.py
2226 * python/lib/gdb/__init__.py (packages): Add frame_unwinders
2228 (execute_unwinders): New function.
2229 * python/lib/gdb/command/unwinders.py: New file.
2230 * python/lib/gdb/unwinder.py: New file.
2231 * python/py-objfile.c (objfile_object): Add frame_unwinders field.
2232 (objfpy_dealloc): Decrement frame_unwinders reference count.
2233 (objfpy_initialize): Create frame_unwinders list.
2234 (objfpy_get_frame_unwinders): New function.
2235 (objfpy_set_frame_unwinders): Ditto.
2236 (objfile_getset): Add frame_unwinders attribute to Objfile.
2237 * python/py-progspace.c (pspace_object): Add frame_unwinders field.
2238 (pspy_dealloc): Decrement frame_unwinders reference count.
2239 (pspy_initialize): Create frame_unwinders list.
2240 (pspy_get_frame_unwinders): New function.
2241 (pspy_set_frame_unwinders): Ditto.
2242 (pspy_getset): Add frame_unwinders attribute to gdb.Progspace.
2243 * python/py-unwind.c: New file.
2244 * python/python-internal.h (pspy_get_name_unwinders): New prototype.
2245 (objpy_get_frame_unwinders): New prototype.
2246 (gdbpy_initialize_unwind): New prototype.
2247 * python/python.c (gdbpy_apply_type_printers): Call
2248 gdbpy_initialize_unwind.
2252 * infrun.c (resume): Check currently_stepping after clearing
2253 stepped_breakpoint, not before.
2257 * infrun.c (print_target_wait_results): Print all the ptid
2262 * infrun.c (keep_going): Also discard cleanups if inserting
2267 * infrun.c (wait_for_inferior): Install the
2268 finish_thread_state_cleanup cleanup across the whole function, not
2269 just around handle_inferior_event.
2273 * infrun.c (resume) <step past permanent breakpoint>: Use
2278 * linux-nat.c (linux_handle_extended_wait): Always call set_running.
2282 * MAINTAINERS (Write After Approval): Add "Pierre-Marie de Rodat".
2286 * linux-thread-db.c (record_thread): Readd the thread to gdb's
2287 list if it was marked exited.
2291 * configure: Regenerated.
2298 * linux-tdep.c: Include 'gdbcmd.h' and 'gdb_regex.h'.
2299 New enum identifying the various options of the coredump_filter
2301 (struct smaps_vmflags): New struct.
2302 (use_coredump_filter): New variable.
2303 (decode_vmflags): New function.
2304 (mapping_is_anonymous_p): Likewise.
2305 (dump_mapping_p): Likewise.
2306 (linux_find_memory_regions_full): New variables
2307 'coredumpfilter_name', 'coredumpfilterdata', 'pid', 'filterflags'.
2308 Removed variable 'modified'. Read /proc/<PID>/smaps file; improve
2309 parsing of its information. Implement memory mapping filtering
2310 based on its contents.
2311 (show_use_coredump_filter): New function.
2312 (_initialize_linux_tdep): New command 'set use-coredump-filter'.
2313 * NEWS: Mention the possibility of using the
2314 '/proc/PID/coredump_filter' file when generating a corefile.
2315 Mention new command 'set use-coredump-filter'.
2319 * solib-svr4.c (solib_svr4_r_ldsomap): Catch possible exception by
2320 read_memory_unsigned_integer.
2324 * Makefile.in (ZLIB): New.
2325 (ZLIBINC): Likewise.
2326 (INTERNAL_CFLAGS_BASE): Add $(ZLIBINC).
2327 (CLIBS): Add $(ZLIB).
2328 * acinclude.m4: (GDB_AC_CHECK_BFD): Add $zlibdir to LDFLAGS.
2330 * gdb_bfd.c: Don't check HAVE_ZLIB_H to include <zlib.h>.
2331 * top.c (print_gdb_configuration): Remove --with-zlib and
2333 * config.in: Regenerated.
2334 * configure: Likewise.
2338 * NEWS: Mention info os cpus support.
2339 * gdb/nat/linux-osdata.c (linux_xfer_osdata_cpus): New function.
2340 (struct osdata_type): Add cpus entry, reorder the entries in
2345 * compile/compile.c (compile_to_object): Allow triplets with or
2351 * cp-namespace.c (cp_search_static_and_baseclasses): Always look for
2352 klass in VAR_DOMAIN.
2356 * remote.c (remote_mourn_1): Remove function. Update all callers
2357 to use remote_mourn.
2358 (extended_remote_mourn_1): Remove function. Update all callers
2359 to use extended_remote_mourn.
2360 (extended_remote_attach_1): Remove function. Update all callers
2361 to use extended_remote_attach.
2365 * Makefile.in (ALL_TARGET_OBS): Add ft32-tdep.o.
2366 (HFILES_NO_SRCDIR): Add ft32-tdep.h.
2367 (ALLDEPFILES): Add ft32-tdep.c.
2368 * configure.tgt: Add FT32 entry.
2369 * ft32-tdep.c: New file, FT32 target-dependent code.
2370 * ft32-tdep.h: New file, FT32 target-dependent code.
2377 * printcmd.c (print_command_1): Move expr variable scope.
2381 * dtrace-probe.c (dtrace_process_dof_probe): Initialize expr to NULL.
2385 * gdb_bfd.c (gdb_bfd_section_index): Fix off-by-one for special
2390 * dtrace-probe.c (dtrace_process_dof_probe): Contain any
2391 exception raised while parsing the probe arguments.
2392 Force parsing to be done using the C language parser.
2393 * expression.h (parse_expression_with_language): Declare.
2394 * parse.c (parse_expression_with_language): New function.
2398 * MAINTAINERS (Write After Approval): Add "Jon Turney".
2403 * dwarf2read.c (struct partial_die_info): Add has_const_value
2405 (add_partial_symbol): Don't punt on symbols that have const_value
2407 (read_partial_die): Detect DW_AT_const_value.
2412 * printcmd.c (print_command_1): Move expr variable scope.
2417 * printcmd.c (validate_format): Make the parameter cmdname const.
2421 * remote.c (_initialize_remote): Update comment.
2426 * coffread.c (coff_symfile_read): When constructing the name of an
2427 import stub symbol from import symbol for amd64, only skip the
2428 char after _imp_ if the target is underscored (like i386) and the
2429 char is indeed the target's leading char.
2433 * target.h <to_async>: Replace 'callback' and 'context' parameters
2434 with boolean 'enable' parameter.
2435 (target_async): Replace CALLBACK and CONTEXT parameters with
2436 boolean ENABLE parameter.
2437 * inf-loop.c (inferior_event_handler): Adjust.
2438 * linux-nat.c (linux_nat_attach, linux_nat_resume)
2439 (linux_nat_resume): Adjust.
2440 (async_client_callback, async_client_context): Delete.
2441 (handle_target_event): Call inferior_event_handler directly.
2442 (linux_nat_async): Replace 'callback' and 'context' parameters
2443 with boolean 'enable' parameter. Adjust. Remove references to
2444 async_client_callback and async_client_context.
2445 (linux_nat_close): Adjust.
2446 * record-btrace.c (record_btrace_async): Replace 'callback' and
2447 'context' parameters with boolean 'enable' parameter. Adjust.
2448 (record_btrace_resume): Adjust.
2449 * record-full.c (record_full_async): Replace 'callback' and
2450 'context' parameters with boolean 'enable' parameter. Adjust.
2451 (record_full_resume, record_full_core_resume): Adjust.
2452 * remote.c (struct remote_state) <async_client_callback,
2453 async_client_context>: Delete fields.
2454 (remote_start_remote, extended_remote_attach_1, remote_resume)
2455 (extended_remote_create_inferior): Adjust.
2456 (remote_async_serial_handler): Call inferior_event_handler
2458 (remote_async): Replace 'callback' and 'context' parameters with
2459 boolean 'enable' parameter. Adjust.
2460 * top.c (gdb_readline_wrapper_cleanup, gdb_readline_wrapper):
2462 * target-delegates.c: Regenerate.
2467 * target.c (fileio_ft_t): New typedef, define object vector.
2468 (fileio_fhandles): New static variable.
2469 (is_closed_fileio_fh): New macro.
2470 (lowest_closed_fd): New static variable.
2471 (acquire_fileio_fd): New function.
2472 (release_fileio_fd): Likewise.
2473 (fileio_fd_to_fh): New macro.
2474 (target_fileio_open): Wrap the file descriptor on success.
2475 (target_fileio_pwrite): Updated to use wrapped file descriptor.
2476 (target_fileio_pread): Likewise.
2477 (target_fileio_close): Likewise.
2481 * thread.c (thread_apply_all_command): Take exited threads into
2486 * infrun.c (resume, proceed): Mention
2487 switch_back_to_stepped_thread, not switch_back_to_stepping.
2491 * infrun.c (user_visible_resume_ptid): Rewrite going from
2492 most-locked to unlocked instead of the opposite. Move comment ...
2493 * infrun.h (user_visible_resume_ptid): ... here.
2497 * linux-nat.c (linux_nat_resume): Output debug logs before trying
2498 to resume the event lwp. Use the lwp's ptid instead of the passed
2499 in (maybe wildcard) ptid.
2500 (stop_wait_callback): Tweak debug log output.
2501 (check_stopped_by_breakpoint): Tweak debug log output. Also dump
2503 (linux_nat_filter_event): In debug output, distinguish a
2504 resume_stop SIGSTOP from a delayed SIGSTOP. Output debug logs
2505 before trying to resume the lwp.
2509 * gdbtypes.h (struct dynamic_prop_list) <prop>: Remove
2510 pointer indirection.
2511 * gdbtypes.c (get_dyn_prop): Adjust, following change above.
2512 (add_dyn_prop, copy_dynamic_prop_list): Likewise.
2516 * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_DATA_LOCATION>:
2517 Renames DYN_ATTR_DATA_LOCATION.
2518 (TYPE_DATA_LOCATION): Use DYN_PROP_DATA_LOCATION instead of
2519 DYN_ATTR_DATA_LOCATION.
2520 * dwarf2read.c (set_die_type): Use DYN_PROP_DATA_LOCATION
2521 instead of DYN_ATTR_DATA_LOCATION.
2525 * breakpoint.c (until_break_command): Adjust call to proceed.
2526 * gdbthread.h (struct thread_control_state) <stepping_command>:
2528 * infcall.c (run_inferior_call): Adjust call to proceed.
2529 * infcmd.c (run_command_1, proceed_thread_callback, continue_1):
2530 Adjust calls to proceed.
2531 (set_step_frame): Set the current thread's step_start_function
2533 (step_once): Adjust calls to proceed.
2534 (jump_command, signal_command, until_next_command)
2535 (finish_backward, finish_forward, proceed_after_attach_callback)
2536 (attach_command_post_wait): Adjust calls to proceed.
2537 * infrun.c (proceed_after_vfork_done): Adjust call to proceed.
2538 (do_target_resume): New function, factored out from ...
2539 (resume): ... here. Remove 'step' parameter. Instead, check
2540 currently_stepping to determine whether the thread should be
2542 (proceed): Remove 'step' parameter and don't set the thread's
2543 step_start_function here. Adjust call to 'resume'.
2544 (handle_inferior_event): Adjust calls to 'resume'.
2545 (switch_back_to_stepped_thread): Use do_target_resume instead of
2547 (keep_going): Adjust calls to 'resume'.
2548 * infrun.h (proceed): Remove 'step' parameter.
2550 * windows-nat.c (do_initial_windows_stuff): Adjust call to
2552 * mi/mi-main.c (proceed_thread): Adjust call to 'proceed'.
2556 * gdbthread.h (struct thread_control_state) <stepping_command>:
2558 * infcmd.c (step_once): Pass step=1 to clear_proceed_status. Set
2559 the thread's stepping_command field.
2560 * infrun.c (resume): Check the thread's stepping_command flag to
2561 determine which threads should be resumed. Rename 'entry_step'
2563 (clear_proceed_status_thread): Clear 'stepping_command'.
2564 (schedlock_applies): Change parameter type to struct thread_info
2566 (find_thread_needs_step_over): Remove 'step' parameter. Adjust.
2567 (switch_back_to_stepped_thread): Adjust calls to
2568 'schedlock_applies'.
2569 (_initialize_infrun): Adjust "set scheduler-locking step" help.
2573 * infrun.c (step_start_function): Delete and ...
2574 * gdbthread.h (struct thread_control_state) <step_start_function>:
2575 ... now a field here.
2576 * infrun.c (clear_proceed_status_thread): Clear the thread's
2577 step_start_function.
2578 (proceed, process_event_stop_test, print_stop_event): Adjust.
2582 * infrun.c (proceed): No longer handle negative step.
2586 * nat/x86-linux.h (x86_linux_new_thread): New declaration.
2587 (x86_linux_prepare_to_resume): Likewise.
2588 * x86-linux-nat.c (x86_linux_new_thread):
2589 Moved to nat/x86-linux.c.
2590 (x86_linux_prepare_to_resume): Likewise.
2591 * nat/x86-linux.c (x86_linux_new_thread): New function.
2592 (x86_linux_prepare_to_resume): Likewise.
2596 * nat/x86-linux-dregs.h: New file.
2597 * nat/x86-linux-dregs.c: Likewise.
2598 * Makefile.in (HFILES_NO_SRCDIR): Add nat/x86-linux-dregs.h.
2599 (x86-linux-dregs.o): New rule.
2600 * config/i386/linux.mh (NATDEPFILES): Add x86-linux-dregs.o.
2601 * config/i386/linux64.mh (NATDEPFILES): Likewise.
2602 * x86-linux-nat.c: Include nat/x86-linux-dregs.h.
2603 (u_debugreg_offset): Moved to nat/x86-linux-dregs.c.
2604 (x86_linux_dr_get): Likewise.
2605 (x86_linux_dr_set): Likewise.
2606 (x86_linux_dr_get_addr): Likewise.
2607 (x86_linux_dr_get_control): Likewise.
2608 (x86_linux_dr_get_status): Likewise.
2609 (update_debug_registers_callback): Likewise.
2610 (x86_linux_dr_set_control): Likewise.
2611 (x86_linux_dr_set_addr): Likewise.
2612 (x86_linux_update_debug_registers): Likewise.
2616 * x86-linux-nat.c (x86_linux_update_debug_registers):
2617 New function, factored out from...
2618 (x86_linux_prepare_to_resume): ...this.
2622 * x86-linux-nat.c (x86_linux_dr_get): Update comments.
2623 (x86_linux_dr_set): Likewise.
2624 (x86_linux_dr_get_addr): Likewise.
2625 (x86_linux_dr_get_control): Likewise.
2626 (x86_linux_dr_get_status): Likewise.
2627 (update_debug_registers_callback): Likewise.
2628 (x86_linux_dr_set_control): Likewise.
2629 (x86_linux_dr_set_addr): Likewise.
2630 (x86_linux_prepare_to_resume): Likewise.
2631 (x86_linux_new_thread): Likewise.
2635 * x86-linux-nat.c (x86_linux_dr_set_addr): Update assertion.
2636 (x86_linux_new_thread): Rename argument.
2640 * nat/x86-linux.h: New file.
2641 * nat/x86-linux.c: Likewise.
2642 * Makefile.in (HFILES_NO_SRCDIR): Add nat/x86-linux.h.
2643 (x86-linux.o): New rule.
2644 * config/i386/linux.mh (NATDEPFILES): Add x86-linux.o.
2645 * config/i386/linux64.mh (NATDEPFILES): Likewise.
2646 * nat/linux-nat.h (struct arch_lwp_info): New forward declaration.
2647 (lwp_set_arch_private_info): New declaration.
2648 (lwp_arch_private_info): Likewise.
2649 * linux-nat.c (lwp_set_arch_private_info): New function.
2650 (lwp_arch_private_info): Likewise.
2651 * x86-linux-nat.c: Include nat/x86-linux.h.
2652 (arch_lwp_info): Removed structure.
2653 (update_debug_registers_callback):
2654 Use lwp_set_debug_registers_changed.
2655 (x86_linux_prepare_to_resume): Use lwp_debug_registers_changed
2656 and lwp_set_debug_registers_changed.
2657 (x86_linux_new_thread): Use lwp_set_debug_registers_changed.
2661 * nat/linux-nat.h (ptid_of_lwp): New declaration.
2662 (lwp_is_stopped): Likewise.
2663 (lwp_stop_reason): Likewise.
2664 * linux-nat.c (ptid_of_lwp): New function.
2665 (lwp_is_stopped): Likewise.
2666 (lwp_is_stopped_by_watchpoint): Likewise.
2667 * x86-linux-nat.c (update_debug_registers_callback):
2669 (x86_linux_prepare_to_resume): Use ptid_of_lwp and
2674 * linux-nat.h (linux_stop_lwp): Move declaration to...
2675 * nat/linux-nat.h (linux_stop_lwp): New declaration.
2679 * linux-nat.h: Include nat/linux-nat.h.
2680 (iterate_over_lwps): Move declaration to nat/linux-nat.h.
2681 * nat/linux-nat.h (struct lwp_info): New forward declaration.
2682 (iterate_over_lwps_ftype): New typedef.
2683 (iterate_over_lwps): New declaration.
2684 * linux-nat.h (iterate_over_lwps): Update comment. Use
2685 iterate_over_lwps_ftype. Update callback return value check.
2689 * x86-nat.h (x86_debug_reg_state): Move declaration to...
2690 * nat/x86-dregs.h (x86_debug_reg_state): New declaration.
2694 * nat/linux-nat.h (current_lwp_ptid): New declaration.
2695 * linux-nat.c (current_lwp_ptid): New function.
2696 * x86-linux-nat.c: Include nat/linux-nat.h.
2697 (x86_linux_dr_get_addr): Use current_lwp_ptid.
2698 (x86_linux_dr_get_control): Likewise.
2699 (x86_linux_dr_get_status): Likewise.
2700 (x86_linux_dr_set_control): Likewise.
2701 (x86_linux_dr_set_addr): Likewise.
2705 PR breakpoints/16466
2706 * breakpoint.c (create_breakpoint): Set thread on breakpoint struct.
2710 * ser-mingw.c (ser_windows_setparity): Fix indentation.
2711 * ser-unix.c (hardwire_setparity): Likewise.
2715 * NEWS: Mention set/show serial parity command.
2716 * monitor.c (monitor_open): Call serial_setparity.
2717 * remote.c (remote_open_1): Likewise.
2718 * ser-base.c (ser_base_serparity): New function.
2719 * ser-base.h (ser_base_setparity): Add declaration.
2720 * ser-go32.c (dos_ops): Set "setparity" field.
2721 * ser-mingw.c (ser_windows_raw): Do not set state.fParity and
2723 (ser_windows_setparity): New function.
2724 (hardwire_ops): Add ser_windows_setparity.
2725 (tty_ops): Add NULL for setparity field.
2726 (pipe_ops): Add ser_base_setparity.
2727 (tcp_ops): Likewise.
2728 * ser-pipe.c (pipe_ops): Likewise.
2729 * ser-tcp.c (tcp_ops): Likewise.
2730 * ser-unix.c (hardwire_setparity): Add declaration.
2731 (hardwire_raw): Don't reset PARENB flag.
2732 (hardwire_setparity): New function.
2733 (hardwire_ops): Add hardwire_setparity.
2734 * serial.c (serial_setparity): New function.
2735 (serial_parity): New global.
2736 (parity_none, parity_odd, parity_even, parity_enums, parity):
2738 (set_parity): New function.
2739 (_initialize_serial): Add set/show serial parity commands.
2740 * serial.h (GDBPARITY_NONE): Define.
2741 (GDBPARITY_ODD): Define.
2742 (GDBPARITY_EVEN): Define.
2743 (serial_setparity) Add declaration.
2744 (struct serial_ops): Add setparity field.
2745 * target.h (serial_parity): Add declaration.
2749 * linespec.c (linespec_lexer_lex_keyword): Update comment.
2753 * breakpoint.c (parse_breakpoint_sals): Use
2754 linespec_lexer_lex_keyword to ascertain if the user specified
2756 * linespec.c [IF_KEYWORD_INDEX]: Define.
2757 (linespec_lexer_lex_keyword): Export.
2758 (struct ls_parser) <keyword_ok>: Remove.
2759 A keyword is only a keyword if not followed by another keyword.
2760 (linespec_lexer_lex_one): Remove keyword_ok handling.
2761 Add comment explaining why the parsing stream is not advanced
2762 when a keyword is seen.
2763 (parse_linespec): Remove parser->keyword_ok.
2764 * linespec.h (linespec_lexer_lex_keyword): Add declaration.
2769 * dwarf2read.c (dwarf2_add_member_fn): Issue a complaint
2770 if we find a static method with DW_AT_vtable_elem_location.
2774 * tui/tui-io.c (tui_expand_tabs): Reinitialize the column counter
2775 before the second loop, to avoid undefined behavior. Reported by
2780 * gdbtypes.c (resolve_dynamic_type_internal): Adapt
2781 data_location usage to linked list.
2782 (resolve_dynamic_type_internal): Adapt data_location to
2784 (get_dyn_prop, add_dyn_prop, copy_dynamic_prop_list): New function.
2785 (copy_type_recursive, copy_type): Add copy of linked list.
2786 * gdbtypes.h (enum dynamic_prop_node_kind): New enum.
2787 (struct dynamic_prop_list): New struct.
2788 * dwarf2read.c (set_die_type): Set data_location data.
2792 * i386-sol2-tdep.c (i386_sol2_static_transform_name): Move "p" to
2793 inner block and make it const.
2794 * machoread.c (get_archive_prefix_len): Make "lparen" const.
2798 * breakpoint.c (set_breakpoint_condition): Make argument "exp" const.
2799 * breakpoint.h (set_breakpoint_condition): Update declaration.
2803 * tui/tui-io.c (tui_expand_tabs): Make "s1" const.
2807 * xcoffread.c (scan_xcoff_symtab): Make "p" and "q" const.
2811 * remote-m32r-sdi.c (m32r_open): Make "port_str" const.
2815 * nto-tdep.c (nto_find_and_open_solib): Make "endian" const.
2816 (nto_init_solib_absolute_prefix): Likewise.
2820 * sparc-sol2-tdep.c (sparc_sol2_static_transform_name): Make "p" const.
2821 * spu-tdep.c (spu_gdbarch_init): Make "name" const.
2825 * config/djgpp/README: Remove gdb.hp.
2829 * aarch64-tdep.c (aarch64_gdbarch_init): Don't call
2830 set_gdbarch_cannot_step_breakpoint.
2834 * linux-nat.c (linux_resume_one_lwp): Rename to ...
2835 (linux_resume_one_lwp_throw): ... this. Don't handle ESRCH here,
2836 instead call perror_with_name.
2837 (check_ptrace_stopped_lwp_gone): New function.
2838 (linux_resume_one_lwp): Reimplement as wrapper around
2839 linux_resume_one_lwp_throw that swallows errors if the LWP is
2841 (resume_stopped_resumed_lwps): Try register reads in TRY/CATCH and
2842 swallows errors if the LWP is gone. Use
2843 linux_resume_one_lwp_throw instead of linux_resume_one_lwp.
2847 * linux-nat.c (status_callback): Return early if the LWP has no
2852 * linux-nat.c (select_event_lwp_callback): Update comment to no
2853 longer mention SIGTRAP.
2857 * amd64-windows-tdep.c (amd64_windows_find_unwind_info): Move
2858 redirection code to ...
2859 (amd64_windows_frame_decode_insns): ... Here. Fix in prologue
2860 checks. Fix SAVE_NONVOL operations. Add debug code and comments.
2864 (remote_protocol_features): Remove the "vFile:fstat" feature.
2865 (remote_hostio_fstat): Probe for "vFile:fstat" support.
2870 * aarch64-linux-tdep.c: Include xml-syscall.h
2871 (aarch64_linux_get_syscall_number): New function.
2872 (aarch64_linux_init_abi): Call
2873 set_gdbarch_get_syscall_number.
2874 * syscalls/aarch64-linux.xml: New file.
2878 * ser-base.h (ser_base_setstopbits): Change second argument name
2879 from "rate" to "num".
2885 * common/common-remote-fileio.h (sys/stat.h): New include.
2886 (stuct stat): Remove forward declaration.
2890 * fbsd-tdep.c (fbsd_make_corefile_notes): Fetch all target registers
2891 before writing core register notes.
2896 * gdb_curses.h (tgetnum): Mark with EXTERN_C.
2897 * stub-termcap.c (tgetent, tgetnum, tgetflag, tgetstr, tputs)
2898 (tgoto): Wrap with extern "C".
2903 * stub-termcap.c (tputs): Change prototype.
2908 * windows-nat.c (struct thread_info_struct): Rename to ...
2909 (struct windows_thread_info_struct): ... this.
2910 (thread_info): Rename to ...
2911 (windows_thread_info): ... this.
2917 * NEWS: New Removed targets and native configurations.
2922 * Makefile.in (ALL_64_TARGET_OBS): Remove ia64-hpux-tdep.o.
2923 (ALL_TARGET_OBS): Remove hppa-hpux-tdep.o, solib-som.o and solib-pa64.o.
2924 (HFILES_NO_SRCDIR): Remove solib-som.h, inf-ttrace.h, solib-pa64.h and
2925 ia64-hpux-tdep.h, solib-ia64-hpux.h.
2926 (ALLDEPFILES): Remove hppa-hpux-tdep.c, hppa-hpux-nat.c,
2927 ia64-hpux-nat.c, ia64-hpux-tdep.c, somread.c and solib-som.c.
2928 * config/djgpp/fnchange.lst: Remove hppa-hpux-nat.c and
2930 * config/ia64/hpux.mh: Remove file.
2931 * config/pa/hpux.mh: Remove file.
2932 * configure: Rebuilt.
2933 * configure.ac (dlgetmodinfo, somread.o): Remove.
2934 * configure.host (hppa*-*-hpux*, ia64-*-hpux*): Make them obsolete.
2935 (ia64-*-hpux*): Remove its float format exception.
2936 * configure.tgt (hppa*-*-hpux*, ia64-*-hpux*): Make them obsolete.
2937 * hppa-hpux-nat.c: Remove file.
2938 * hppa-hpux-tdep.c: Remove file.
2939 * hppa-tdep.c (struct hppa_unwind_info, struct hppa_objfile_private):
2940 Move them here from hppa-tdep.h
2941 (hppa_objfile_priv_data, hppa_init_objfile_priv_data): Make it static.
2942 (hppa_frame_prev_register_helper): Remove HPPA_FLAGS_REGNUM exception.
2943 * hppa-tdep.h (struct hppa_unwind_info, struct hppa_objfile_private):
2944 Move them to hppa-tdep.c.
2945 (hppa_objfile_priv_data, hppa_init_objfile_priv_data): Remove
2947 * ia64-hpux-nat.c: Remove file.
2948 * ia64-hpux-tdep.c: Remove file.
2949 * ia64-hpux-tdep.h: Remove file.
2950 * inf-ttrace.c: Remove file.
2951 * inf-ttrace.h: Remove file.
2952 * solib-ia64-hpux.c: Remove file.
2953 * solib-ia64-hpux.h: Remove file.
2954 * solib-pa64.c: Remove file.
2955 * solib-pa64.h: Remove file.
2956 * solib-som.c: Remove file.
2957 * solib-som.h: Remove file.
2958 * somread.c: Remove file.
2962 * configure.ac: AC_SEARCH_LIBS(kinfo_getvmmap, util).
2963 * config.in: Regenerate.
2964 * configure: Regenerate.
2965 * fbsd-nat.c [!HAVE_KINFO_GETVMMAP] (fbsd_read_mapping): Don't
2967 (fbsd_find_memory_regions): Use kinfo_getvmmap to
2968 enumerate memory regions if present.
2972 * amd64fbsd-tdep.c (amd64fbsd_sigtramp_p): Style fixes.
2973 * i386fbsd-tdep.c: Fix style in various gdb_static_assert
2975 (i386fbsd_sigtramp_p): Likewise.
2979 * MAINTAINERS (Write After Approval): Add John Baldwin.
2983 * solib.c (_initialize_solib): Make "set/show sysroot" use
2984 add_setshow_optional_filename_cmd so it can be restored to
2985 empty after being set.
2989 * Makefile.in (SFILES): New source break-catch-syscall.c.
2990 (COMMON_OBS): New object break-catch-syscall.o.
2991 * break-catch-syscall.c: New file.
2992 * breakpoint.c: Remove inclusion of "xml-syscall.h".
2993 (syscall_catchpoint_p): Move declaration to break-catch-syscall.c
2994 (struct syscall_catchpoint): Likewise.
2995 (dtor_catch_syscall): Likewise.
2996 (catch_syscall_inferior_data): Likewise.
2997 (struct catch_syscall_inferior_data): Likewise.
2998 (get_catch_syscall_inferior_data): Likewise.
2999 (catch_syscall_inferior_data_cleanup): Likewise.
3000 (insert_catch_syscall): Likewise.
3001 (remove_catch_syscall): Likewise.
3002 (breakpoint_hit_catch_syscall): Likewise.
3003 (print_it_catch_syscall): Likewise.
3004 (print_one_catch_syscall): Likewise.
3005 (print_mention_catch_syscall): Likewise.
3006 (print_recreate_catch_syscall): Likewise.
3007 (catch_syscall_breakpoint_ops): Likewise.
3008 (syscall_catchpoint_p): Likewise.
3009 (create_syscall_event_catchpoint): Likewise.
3010 (catch_syscall_split_args): Likewise.
3011 (catch_syscall_command_1): Likewise.
3012 (is_syscall_catchpoint_enabled): Likewise.
3013 (catch_syscall_enabled): Likewise.
3014 (catching_syscall_number): Likewise.
3015 (catch_syscall_completer): Likewise.
3016 (clear_syscall_counts): Likewise.
3017 (initialize_breakpoint_ops): Move initialization of syscall
3018 catchpoints to break-catch-syscall.c.
3019 (_initialize_breakpoint): Move code related to syscall catchpoints
3020 to break-catch-syscall.c.
3024 * breakpoint.c (breakpoint_find_if): New function.
3025 * breakpoint.h (breakpoint_find_if): New prototype.
3029 * remote-fileio.h (remote_fileio_to_host_stat): New declaration.
3030 * remote-fileio.c (remote_fileio_to_host_uint): New function.
3031 (remote_fileio_to_host_ulong): Likewise.
3032 (remote_fileio_to_host_mode): Likewise.
3033 (remote_fileio_to_host_time): Likewise.
3034 (remote_fileio_to_host_stat): Likewise.
3035 * remote.c (PACKET_vFile_fstat): New enum value.
3036 (remote_protocol_features): Register the "vFile:fstat" feature.
3037 (remote_hostio_fstat): New function.
3038 (remote_bfd_iovec_stat): Use the above.
3039 (_initialize_remote): Register new "set/show remote
3040 hostio-fstat-packet" command.
3041 * symfile.c (separate_debug_file_exists): Update comment.
3042 * NEWS: Announce new vFile:fstat packet.
3046 * common/common-remote-fileio.h: New file.
3047 * common/common-remote-fileio.c: Likewise.
3048 * Makefile.in (SFILES): Add common/common-remote-fileio.c.
3049 (HFILES_NO_SRCDIR): Add common/common-remote-fileio.h.
3050 (COMMON_OBS): Add common-remote-fileio.o.
3051 (common-remote-fileio.o): New rule.
3052 * remote-fileio.h (common-remote-fileio.h): New include.
3053 * remote-fileio.c (gdb/fileio.h): Do not include.
3054 (remote_fileio_to_be): Moved to common-remote-fileio.h.
3055 (remote_fileio_to_fio_uint): Likewise.
3056 (remote_fileio_to_fio_time): Likewise.
3057 (remote_fileio_mode_to_target): Moved to common-remote-fileio.c.
3058 (remote_fileio_to_fio_mode): Likewise.
3059 (remote_fileio_to_fio_ulong): Likewise.
3060 (remote_fileio_to_fio_stat): Likewise.
3064 * guile/scm-value.c (gdbscm_value_dynamic_type): Fix typo in which
3065 we were checking the cached type, not the cached dynamic type.
3069 * guile/scm-cmd.c (cmdscm_destroyer): Don't xfree the name and
3070 other strings, as these are on the GC'd heap, and will be
3071 collected along with the smob.
3075 * guile/scm-objfile.c (gdbscm_objfile_progspace): New function.
3076 (objfile_functions): Bind gdbscm_objfile_progspace to
3078 * guile/lib/gdb.scm: Add objfile-progspace to exports.
3082 * guile/guile.c (_initialize_guile): Disable automatic
3083 finalization, if Guile offers us that possibility.
3084 * guile/guile.c (call_initialize_gdb_module):
3085 * guile/scm-safe-call.c (gdbscm_with_catch): Arrange to run
3086 finalizers in appropriate places.
3087 * configure.ac (AC_TRY_LIBGUILE): Add a check for
3088 scm_set_automatic_finalization_enabled.
3089 * configure: Regenerated.
3093 * s390-linux-tdep.c (s390_skip_prologue): Skip the prologue using
3098 * s390-linux-nat.c (struct arch_lwp_info): New.
3099 (s390_fix_watch_points): Rename to...
3100 (s390_prepare_to_resume): ...this. Skip the PER info update
3101 unless the watch points have changed.
3102 (s390_refresh_per_info, s390_new_thread): New functions.
3103 (s390_insert_watchpoint): Call s390_refresh_per_info instead of
3104 s390_fix_watch_points.
3105 (s390_remove_watchpoint): Likewise.
3106 (_initialize_s390_nat): Reflect renaming of s390_fix_watch_points.
3107 Register s390_prepare_to_resume.
3113 * common/gdb_socket.h: New file.
3114 * ser-tcp.c: Include gdb_socket.h. Don't include netinet/in.h nor
3116 (net_open): Use union gdb_sockaddr_u.
3120 * configure.ac (build_warnings): Move -Wmissing-prototypes
3121 -Wdeclaration-after-statement -Wmissing-parameter-type
3122 -Wold-style-declaration -Wold-style-definition to the C-specific
3124 * configure: Regenerate.
3128 * common/gdb_socket.h: New file.
3129 * ser-tcp.c: Include gdb_socket.h. Don't include netinet/in.h nor
3131 (net_open): Use union gdb_sockaddr_u.
3135 * common/common-exceptions.c [!__cplusplus] (enum catcher_state)
3136 (exceptions_state_mc_action_iter)
3137 (exceptions_state_mc_action_iter_1, exceptions_state_mc_catch):
3139 [__cplusplus] (try_scope_depth): New global.
3140 [__cplusplus] (exception_try_scope_entry)
3141 (exception_try_scope_exit, gdb_exception_sliced_copy)
3142 (exception_rethrow): New functions.
3143 (throw_exception): In C++ mode, throw
3144 gdb_exception_RETURN_MASK_QUIT for RETURN_QUIT and
3145 gdb_exception_RETURN_MASK_ERROR for RETURN_ERROR.
3146 (throw_it): In C++ mode, use try_scope_depth.
3147 * common/common-exceptions.h [!__cplusplus]
3148 (exceptions_state_mc_action_iter)
3149 (exceptions_state_mc_action_iter_1, exceptions_state_mc_catch):
3151 [__cplusplus] (exception_try_scope_entry)
3152 (exception_try_scope_exit, exception_rethrow): Declare.
3153 [__cplusplus] (struct exception_try_scope): New struct.
3154 [__cplusplus] (TRY, CATCH, END_CATCH): Reimplement on top of real
3156 (struct gdb_exception_RETURN_MASK_ALL)
3157 (struct gdb_exception_RETURN_MASK_ERROR)
3158 (struct gdb_exception_RETURN_MASK_QUIT): New types.
3162 * main.c (handle_command_errors): Remove volatile qualifier from
3167 * breakpoint.c (save_breakpoints): Adjust to avoid code between
3169 * gdbtypes.c (safe_parse_type): Remove empty line.
3170 (types_deeply_equal):
3171 * guile/scm-frame.c (gdbscm_frame_name):
3172 * linux-thread-db.c (find_new_threads_once):
3173 * python/py-breakpoint.c (bppy_get_commands):
3174 * record-btrace.c (record_btrace_insert_breakpoint)
3175 (record_btrace_remove_breakpoint, record_btrace_start_replaying)
3176 (record_btrace_start_replaying): Adjust to avoid code between TRY
3181 * common/common-exceptions.c (struct catcher) <exception>: No
3182 longer a pointer to volatile exception. Now an exception value.
3183 <mask>: Delete field.
3184 (exceptions_state_mc_init): Remove all parameters. Adjust.
3185 (exceptions_state_mc): No longer pop the catcher here.
3186 (exceptions_state_mc_catch): New function.
3187 (throw_exception): Adjust.
3188 * common/common-exceptions.h (exceptions_state_mc_init): Remove
3190 (exceptions_state_mc_catch): Declare.
3191 (TRY_CATCH): Rename to ...
3192 (TRY): ... this. Remove EXCEPTION and MASK parameters.
3193 (CATCH, END_CATCH): New.
3194 All callers adjusted.
3198 * top.c (quit_force): Inline and delete DO_TRY, DO_PRINT_EX.
3202 * amd64-tdep.c (amd64_frame_cache, amd64_sigtramp_frame_cache)
3203 (amd64_epilogue_frame_cache): Normal exception handling code.
3204 * break-catch-throw.c (check_status_exception_catchpoint)
3205 (re_set_exception_catchpoint): Ditto.
3206 * cli/cli-interp.c (safe_execute_command):
3207 * cli/cli-script.c (script_from_file): Ditto.
3208 * compile/compile-c-symbols.c (generate_c_for_for_one_variable):
3210 * compile/compile-object-run.c (compile_object_run): Ditto.
3211 * cp-abi.c (baseclass_offset): Ditto.
3212 * cp-valprint.c (cp_print_value): Ditto.
3213 * exceptions.c (catch_exceptions_with_msg):
3214 * frame-unwind.c (frame_unwind_try_unwinder): Ditto.
3215 * frame.c (get_frame_address_in_block_if_available): Ditto.
3216 * i386-tdep.c (i386_frame_cache, i386_epilogue_frame_cache)
3217 (i386_sigtramp_frame_cache): Ditto.
3218 * infcmd.c (post_create_inferior): Ditto.
3219 * linespec.c (parse_linespec, find_linespec_symbols):
3220 * p-valprint.c (pascal_object_print_value): Ditto.
3221 * parse.c (parse_expression_for_completion): Ditto.
3222 * python/py-finishbreakpoint.c (bpfinishpy_init): Ditto.
3223 * remote.c (remote_get_noisy_reply): Ditto.
3224 * s390-linux-tdep.c (s390_frame_unwind_cache): Ditto.
3225 * solib-svr4.c (solib_svr4_r_map): Ditto.
3229 * common/common-utils.h (startswith): New inline function.
3230 All places where this logic was used updated to use the above.
3235 * mem-break.c (default_memory_insert_breakpoint): Set shadow_len
3236 after reading the breakpoint's shadow memory.
3240 * hppabsd-nat.c: Remove file.
3241 * hppaobsd-nat.c: New file.
3242 * Makefile.in (ALLDEPFILES): Remove hppabsd-nat.c. Add
3244 * config/pa/obsd.mh (NATDEPFILES): Replace hppabsd-nat.o with
3249 * target.h (struct target_ops) <to_decr_pc_after_break>: Delete.
3250 (target_decr_pc_after_break): Delete declaration.
3251 * target.c (default_target_decr_pc_after_break)
3252 (target_decr_pc_after_break): Delete.
3253 * linux-nat.c (check_stopped_by_breakpoint, linux_nat_wait_1): Use
3254 gdbarch_decr_pc_after_break instead of target_decr_pc_after_break.
3255 * linux-thread-db.c (check_event): Likewise.
3256 * infrun.c (adjust_pc_after_break): Likewise.
3257 * darwin-nat.c (cancel_breakpoint): Likewise.
3258 * aix-thread.c (aix_thread_wait): Likewise.
3259 * target-delegates.c: Regenerate.
3263 * linux-nat.c (save_sigtrap): Check for breakpoints before
3264 checking watchpoints.
3265 (status_callback) [USE_SIGTRAP_SIGINFO]: Don't check whether a
3266 breakpoint is inserted if relying on SIGTRAP's siginfo.si_code.
3267 (check_stopped_by_breakpoint) [USE_SIGTRAP_SIGINFO]: Decide whether
3268 a breakpoint triggered based on the SIGTRAP's siginfo.si_code.
3269 (linux_nat_stopped_by_sw_breakpoint)
3270 (linux_nat_supports_stopped_by_sw_breakpoint)
3271 (linux_nat_stopped_by_hw_breakpoint)
3272 (linux_nat_supports_stopped_by_hw_breakpoint): New functions.
3273 (linux_nat_wait_1): Don't re-increment the PC if relying on
3274 SIGTRAP's siginfo->si_code.
3275 (linux_nat_add_target): Install new target methods.
3276 * linux-thread-db.c (check_event): Don't account for breakpoint PC
3277 offset if the target already adjusted the PC.
3278 * nat/linux-ptrace.h (USE_SIGTRAP_SIGINFO): New.
3279 (GDB_ARCH_TRAP_BRKPT): New.
3280 (TRAP_HWBKPT): Define if not already defined.
3284 * NEWS: Mention the new "swbreak" and "hwbreak" stop reasons.
3285 * remote.c (struct remote_state) <remote_stopped_by_watchpoint_p>:
3287 <stop_reason>: New field.
3288 (PACKET_swbreak_feature, PACKET_hwbreak_feature): New enum values.
3289 (packet_set_cmd_state): New function.
3290 (remote_protocol_features): Register the "swbreak" and "hwbreak"
3292 (remote_query_supported): If not disabled with the corresponding
3293 "set remote foo-packet" command, report support for the swbreak
3294 and hwbreak features.
3295 (struct stop_reply) <remote_stopped_by_watchpoint_p>: Delete
3297 <stop_reason>: New field.
3298 (remote_parse_stop_reply): Handle "swbreak" and "hwbreak".
3299 (remote_wait_as): Adjust.
3300 (remote_stopped_by_sw_breakpoint)
3301 (remote_supports_stopped_by_sw_breakpoint)
3302 (remote_stopped_by_hw_breakpoint)
3303 (remote_supports_stopped_by_hw_breakpoint): New functions.
3304 (remote_stopped_by_watchpoint): New function.
3305 (init_remote_ops): Install them.
3306 (_initialize_remote): Register new "set/show remote
3307 swbreak-feature-packet" and "set/show remote
3308 swbreak-feature-packet" commands.
3312 * btrace.h: Include target/waitstatus.h.
3313 (struct btrace_thread_info) <stop_reason>: New field.
3314 * record-btrace.c (record_btrace_step_thread): Use
3315 record_check_stopped_by_breakpoint instead of breakpoint_here_p.
3316 (record_btrace_decr_pc_after_break): Delete.
3317 (record_btrace_stopped_by_sw_breakpoint)
3318 (record_btrace_supports_stopped_by_sw_breakpoint)
3319 (record_btrace_stopped_by_hw_breakpoint)
3320 (record_btrace_supports_stopped_by_hw_breakpoint): New functions.
3321 (init_record_btrace_ops): Install them.
3322 * record-full.c (record_full_hw_watchpoint): Delete and replace
3324 (record_full_stop_reason): ... this throughout.
3325 (record_full_exec_insn): Adjust.
3326 (record_full_wait_1): Adjust. No longer re-increment the PC.
3327 (record_full_wait_1): Adjust. Use
3328 record_check_stopped_by_breakpoint instead of breakpoint_here_p.
3329 (record_full_stopped_by_watchpoint): Adjust.
3330 (record_full_stopped_by_sw_breakpoint)
3331 (record_full_supports_stopped_by_sw_breakpoint)
3332 (record_full_supports_stopped_by_sw_breakpoint)
3333 (record_full_stopped_by_hw_breakpoint)
3334 (record_full_supports_stopped_by_hw_breakpoint): New functions.
3335 (init_record_full_ops, init_record_full_core_ops): Install them.
3336 * record.c (record_check_stopped_by_breakpoint): New function.
3337 * record.h: Include target/waitstatus.h.
3338 (record_check_stopped_by_breakpoint): New declaration.
3342 enum lwp_stop_reason -> enum target_stop_reason
3343 * linux-nat.c (linux_resume_one_lwp, check_stopped_by_watchpoint)
3344 (linux_nat_stopped_by_watchpoint, status_callback)
3345 (linux_nat_wait_1): Adjust.
3346 * linux-nat.h (enum lwp_stop_reason): Delete.
3347 (struct lwp_info) <stop_reason>: Now an enum target_stop_reason.
3348 * x86-linux-nat.c (x86_linux_prepare_to_resume): Adjust.
3349 * target/waitstatus.h (enum target_stop_reason): New.
3353 * breakpoint.c (need_moribund_for_location_type): New function.
3354 (bpstat_stop_status): Don't skipping checking moribund locations
3355 of breakpoint types which the target tell caused a stop.
3356 (program_breakpoint_here_p): New function, factored out from ...
3357 (bp_loc_is_permanent): ... this.
3358 (update_global_location_list): Don't create a moribund location if
3359 the target supports reporting stops of the type of the removed
3361 * breakpoint.h (program_breakpoint_here_p): New declaration.
3362 * infrun.c (adjust_pc_after_break): Return early if the target has
3363 already adjusted the PC. Add comments.
3364 (handle_signal_stop): If nothing explains a signal, and the target
3365 tells us the stop was caused by a software breakpoint, check if
3366 there's a breakpoint instruction in the memory. If so, adjust the
3367 PC before presenting the stop to the user. Otherwise, ignore the
3368 trap. If nothing explains a signal, and the target tells us the
3369 stop was caused by a hardware breakpoint, ignore the trap.
3370 * target.h (struct target_ops) <to_stopped_by_sw_breakpoint,
3371 to_supports_stopped_by_sw_breakpoint, to_stopped_by_hw_breakpoint,
3372 to_supports_stopped_by_hw_breakpoint>: New fields.
3373 (target_stopped_by_sw_breakpoint)
3374 (target_supports_stopped_by_sw_breakpoint)
3375 (target_stopped_by_hw_breakpoint)
3376 (target_supports_stopped_by_hw_breakpoint): Define.
3377 * target-delegates.c: Regenerate.
3381 * infrun.c (follow_fork_inferior): Use the whole of the
3382 inferior_ptid and pending_follow.related_pid ptids instead of
3383 building ptids from the process components. Adjust verbose output
3384 to use target_pid_to_str.
3385 * linux-nat.c (linux_child_follow_fork): Use the whole of the
3386 inferior_ptid and pending_follow.related_pid ptids instead of
3387 building ptids from the process components.
3391 * inf-ptrace.c [PT_GET_PROCESS_STATE]
3392 (inf_ptrace_insert_fork_catchpoint): New function.
3393 (inf_ptrace_remove_fork_catchpoint): New function.
3394 (inf_ptrace_target) [PT_GET_PROCESS_STATE]: Install them.
3398 * s390-linux-tdep.c (s390_register_name): Return empty string
3399 instead of NULL for registers that shouldn't be visible.
3403 * s390-linux-tdep.c (s390_gdbarch_init): Use the correct syscall
3404 XML file for 64-bit targets.
3408 * target.h (find_default_create_inferior): Remove declaration.
3409 (find_default_attach): Likewise.
3413 * inf-ptrace.c (inf_ptrace_resume): Remove spurious whitespace.
3414 Use ptid_get_pid to get the overall process id when resuming all
3419 * i386-linux-nat.c (i386_linux_resume): Get the ptrace PID out of
3420 the lwp field of ptid. Pass the full ptid to get_thread_regcache.
3421 * inf-ptrace.c (get_ptrace_pid): New function.
3422 (inf_ptrace_resume): Use it.
3423 * linux-nat.c (linux_resume_one_lwp): Pass the LWP's ptid ummodified
3428 * nat/linux-btrace.c: Include sys/utsname.h.
3429 (linux_determine_kernel_ptr_bits): New.
3430 (linux_enable_bts): Call linux_determine_kernel_ptr_bits.
3431 * x86-linux-nat.c (x86_linux_enable_btrace): Do not overwrite non-zero
3436 * btrace.c (ftrace_update_function): Treat return as tailcall for
3437 "_dl_runtime_resolve".
3441 * btrace.h (btrace_function) <lbegin, lend>: Remove.
3442 * btrace.c (ftrace_debug): Do not print the line range.
3443 (ftrace_skip_file, ftrace_update_lines): Remove.
3444 (ftrace_new_function): Remove lbegin and lend initialization.
3445 (btrace_compute_ftrace_bts): Remove call to ftrace_update_lines.
3446 * record-btrace.c (btrace_compute_src_line_range): New.
3447 (btrace_call_history_src_line): Call btrace_compute_src_line_range.
3451 * infrun.c (follow_exec): Delete all threads of the process except
3452 the event thread. Extended comments.
3456 * contrib/ari/gdb_ari.sh: Reinstate checks for "true" and "false".
3460 * utils.h: Remove <stdbool.h> #include.
3461 (producer_is_gcc): Change return type to "int".
3462 * utils.c (producer_is_gcc): Change return type to int.
3463 Return 1 instead of true, and 0 instead of false.
3464 Adjust function documentation accordingly.
3468 * s390-linux-nat.c (have_regset_vxrs): New static variable.
3469 (s390_linux_fetch_inferior_registers): Handle vector registers, if
3471 (s390_linux_store_inferior_registers): Likewise.
3472 (s390_get_hwcap): Remove function. Embed its logic...
3473 (s390_read_description): ...here. Yield a target description with
3474 vector registers if applicable.
3475 * s390-linux-tdep.c: Include "features/s390-vx-linux64.c",
3476 "features/s390-tevx-linux64.c", "features/s390x-vx-linux64.c", and
3477 "features/s390x-tevx-linux64.c".
3478 (struct gdbarch_tdep) <v0_full_regnum>: New field.
3479 (s390_dwarf_regmap): Add vector registers. Remove bogus entries
3480 for "GNU/Linux-specific registers".
3481 (s390_dwarf_reg_r0l): New enum value.
3482 (s390_dwarf_reg_to_regnum): Support vector registers.
3483 (s390_adjust_frame_regnum): Adjust pseudo DWARF register numbers
3484 of GPR lower halves.
3485 (regnum_is_vxr_full): New function.
3486 (s390_register_name): New function.
3487 (s390_pseudo_register_name): Handle v0-v15, which are composed of
3488 f0-f15 and v0l-v15l.
3489 (s390_pseudo_register_type): Likewise.
3490 (s390_pseudo_register_read): Likewise.
3491 (s390_pseudo_register_write): Likewise.
3492 (s390_value_from_register): Account for the fact that values are
3493 placed left-justified in vector registers.
3494 (s390_pseudo_register_reggroup_p): Add pseudo registers v0-v15 to
3495 the vector reggroup and omit them from the general reggroup.
3496 (s390_regmap_vxrs_low, s390_regmap_vxrs_high): New register maps.
3497 (s390_vxrs_low_regset, s390_vxrs_high_regset): New regsets.
3498 (s390_iterate_over_regset_sections): Add iterations for the two
3500 (s390_core_read_description): Yield a target description with
3501 vector registers if applicable.
3502 (s390_gdbarch_init): Handle target descriptions with vector
3503 registers. Add "register_name" gdbarch method.
3504 (_initialize_s390_tdep): Call new tdesc initialization functions.
3505 * s390-linux-tdep.h (HWCAP_S390_VX): New macro.
3506 (S390_V0_LOWER_REGNUM, S390_V1_LOWER_REGNUM, S390_V2_LOWER_REGNUM)
3507 (S390_V3_LOWER_REGNUM, S390_V4_LOWER_REGNUM, S390_V5_LOWER_REGNUM)
3508 (S390_V6_LOWER_REGNUM, S390_V7_LOWER_REGNUM, S390_V8_LOWER_REGNUM)
3509 (S390_V9_LOWER_REGNUM, S390_V10_LOWER_REGNUM)
3510 (S390_V11_LOWER_REGNUM, S390_V12_LOWER_REGNUM)
3511 (S390_V13_LOWER_REGNUM, S390_V14_LOWER_REGNUM)
3512 (S390_V15_LOWER_REGNUM, S390_V16_REGNUM, S390_V17_REGNUM)
3513 (S390_V18_REGNUM, S390_V19_REGNUM, S390_V20_REGNUM)
3514 (S390_V21_REGNUM, S390_V22_REGNUM, S390_V23_REGNUM)
3515 (S390_V24_REGNUM, S390_V25_REGNUM, S390_V26_REGNUM)
3516 (S390_V27_REGNUM, S390_V28_REGNUM, S390_V29_REGNUM)
3517 (S390_V30_REGNUM, S390_V31_REGNUM): New macros.
3518 (S390_NUM_REGS): Adjust value.
3519 (s390_vxrs_low_regset, s390_vxrs_high_regset): Declare.
3520 (tdesc_s390_vx_linux64, tdesc_s390_tevx_linux64)
3521 (tdesc_s390x_vx_linux64, tdesc_s390x_tevx_linux64): Likewise.
3522 * NEWS: Announce S/390 vector register support.
3526 * features/s390-tevx-linux64.xml: New file.
3527 * features/s390-vx-linux64.xml: New file.
3528 * features/s390-vx.xml: New file.
3529 * features/s390x-tevx-linux64.xml: New file.
3530 * features/s390x-vx-linux64.xml: New file.
3531 * features/Makefile (WHICH): Add s390-vx-linux64,
3532 s390x-vx-linux64, s390-tevx-linux64, and s390x-tevx-linux64.
3533 (s390-vx-linux64-expedite, s390-tevx-linux64-expedite)
3534 (s390x-vx-linux64-expedite, s390x-tevx-linux64-expedite): New
3536 * features/s390-tevx-linux64.c: New generated file.
3537 * features/s390-vx-linux64.c: Likewise.
3538 * features/s390x-tevx-linux64.c: Likewise.
3539 * features/s390x-vx-linux64.c: Likewise.
3540 * regformats/s390-tevx-linux64.dat: Likewise.
3541 * regformats/s390-vx-linux64.dat: Likewise.
3542 * regformats/s390x-tevx-linux64.dat: Likewise.
3543 * regformats/s390x-vx-linux64.dat: Likewise.
3547 * symtab.h (struct symtab) <next>: Fix comment.
3551 * python/python.c (python_GdbModuleDef): Rename GdbMethods to
3556 * dtrace-probe.c (dtrace_probe_ops): Make extern.
3560 * common/common-exceptions.h (exception_none): Declare.
3561 * common/common-exceptions.c (exception_none): Moved from
3563 (exceptions_state_mc_init): Use exception_none.
3564 * exceptions.c (exception_none): Move to
3565 common/common-exceptions.c.
3566 * exceptions.h (exception_none): Move to
3567 common/common-exceptions.h.
3571 * main.c (catch_command_errors, catch_command_errors_const):
3572 Remove 'mask' argument. Adjust.
3573 (captured_main): Adjust callers.
3577 * python/python-internal.h: Include "extension-priv.h".
3581 * breakpoint.h (enum print_stop_action): Move further up in the
3586 * gdbarch.sh: Include regcache.h.
3587 * gdbarch.h: Regenerate.
3591 * arm-tdep.c (decode_insn) <arm_handle_insn, thumb_handle_insn>:
3592 Remove duplicate const.
3593 * sparc-sol2-tdep.c (sparc_sol2_static_transform_name): Remove
3598 * cp-valprint.c (vtbl_ptr_name): Use EXPORTED_CONST.
3599 * guile/guile.c (extension_language_guile): Use EXPORTED_CONST.
3600 * features/feature_to_c.sh: Tag the generated xml_builtin array
3601 with extern const in C++ mode.
3605 * minidebug.c (struct lzma_stream): Rename to ...
3606 (struct gdb_lzma_stream): ... this.
3607 (lzma_open, lzma_pread, lzma_close, lzma_stat): Adjust.
3611 * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): New
3613 (mi_cmd_stack_list_locals, mi_cmd_stack_list_args)
3614 (mi_cmd_stack_list_variables): Use it.
3618 * x86-linux-nat.c (u_debugreg_offset): New function.
3619 (x86_linux_dr_get, x86_linux_dr_set): Use it.
3623 * nat/x86-dregs.h (enum target_hw_bp_type): Remove forward
3625 Include break-common.h.
3630 * arm-tdep.c (set_fp_model_sfunc, arm_set_abi): Use 'int' for
3631 local used to iterate over enums.
3632 * completer.c (signal_completer): Likewise.
3633 * i386-tdep.c (i386_stap_parse_special_token): Likewise.
3634 * rs6000-tdep.c (powerpc_set_vector_abi): Likewise.
3635 * tui/tui-data.c (tui_next_win, tui_prev_win): Likewise.
3636 * tui/tui-layout.c (next_layout, prev_layout): Likewise.
3637 * tui/tui-win.c (tui_refresh_all_win, tui_rehighlight_all)
3638 (tui_resize_all, tui_set_focus_command, tui_all_windows_info): Likewise.
3639 * tui-wingeneral.c (tui_refresh_all): Likewise.
3643 * target.h: Include "infrun.h".
3647 * gdb_proc_service.h: Wrap with EXTERN_C_PUSH/EXTERN_C_POP.
3651 * common/agent.h (IPA_SYM_EXPORTED_NAME): New.
3653 * common/common-defs.h (EXTERN_C_PUSH, EXTERN_C_POP): New macros.
3657 * cli-out.c (_rl_erase_entire_line): Move declaration out of
3658 cli_mld_erase_entire_line, and make it extern "C".
3659 * common/common-defs.h (EXTERN_C): New.
3660 * completer.c (_rl_completion_prefix_display_length)
3661 (_rl_print_completions_horizontally, QSFUNC): Move declarations
3662 out of gdb_display_match_list_1.
3663 (_rl_qsort_string_compare): Move declaration out of
3664 gdb_display_match_list_1, and make it extern "C".
3665 * defs.h (re_comp): Use EXTERN_C.
3666 * maint.c (_mcleanup): Move declaration out of mcleanup_wrapper,
3667 and make it extern "C".
3668 (monstartup): Move declaration out of maintenance_set_profile_cmd,
3669 and make it extern "C".
3670 (main): Move declaration out of maintenance_set_profile_cmd.
3671 * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason_string): Use
3676 * python/python.c (GdbMethods): Rename to ...
3677 (python_GdbMethods): ... this and make extern.
3678 (GdbModuleDef): Rename to ...
3679 (python_GdbModuleDef): ... this and make extern.
3683 * record-btrace.c (set_record_btrace_cmdlist)
3684 (show_record_btrace_cmdlist): Remove redefinitions.
3689 * dwarf2-frame.c (enum cfa_how_kind, struct
3690 dwarf2_frame_state_reg_info): Move out of struct
3692 * dwarf2read.c (struct tu_stats): Move out of struct
3694 (struct file_entry): Move out of struct line_header.
3695 (struct nextfield, struct nextfnfield, struct fnfieldlist, struct
3696 typedef_field_list): Move out of struct field_info.
3697 * gdbtypes.h (enum dynamic_prop_kind, union dynamic_prop_data):
3698 Move out of struct dynamic_prop.
3699 (union type_owner, union field_location, struct field, struct
3700 range_bounds, union type_specific): Move out of struct main_type.
3701 (struct fn_fieldlist, struct fn_field, struct typedef_field)
3702 (VOFFSET_STATIC): Move out of struct cplus_struct_type.
3703 (struct call_site_target, union call_site_parameter_u, struct
3704 call_site_parameter): Move out of struct call_site.
3705 * m32c-tdep.c (enum m32c_prologue_kind): Move out of struct
3707 (enum srcdest_kind): Move out of struct srcdest.
3708 * main.c (enum cmdarg_kind): Move out of struct cmdarg.
3709 * prologue-value.h (enum prologue_value_kind): Move out of struct
3711 * s390-linux-tdep.c (enum s390_abi_kind): Move out of struct
3713 * stabsread.c (struct nextfield, struct next_fnfieldlist): Move
3714 out of struct field_info.
3715 * symfile.h (struct other_sections): Move out of struct
3717 * symtab.c (struct symbol_cache_slot): Move out struct
3719 * target-descriptions.c (enum tdesc_type_kind): Move out of
3720 typedef struct tdesc_type.
3721 * tui/tui-data.h (enum tui_line_or_address_kind): Move out of
3722 struct tui_line_or_address.
3723 * value.c (enum internalvar_kind, union internalvar_data): Move
3724 out of struct internalvar.
3725 * xtensa-tdep.h (struct ctype_cache): Move out of struct
3731 Rename symbols whose names are reserved C++ keywords throughout.
3735 * Makefile.in (COMPILER): New, get it from autoconf.
3736 (COMPILE.pre, CC_LD): Use COMPILER.
3737 (CXX): Get from autoconf instead.
3738 (CXX_FOR_TARGET): Default to g++ instead of gcc.
3739 * acinclude.m4: Include build-with-cxx.m4.
3740 * build-with-cxx.m4: New file.
3741 * configure.ac: Call AC_PROG_CXX and GDB_AC_BUILD_WITH_CXX.
3742 Disable -Werror by default if building in C++ mode.
3743 (build_warnings): Add -Wno-sign-compare, -Wno-write-strings and
3744 -Wno-narrowing in C++ mode. Only enable -Wpointer-sign in C mode.
3745 Run supported-warning-flags tests with the C++ compiler.
3746 Save/restore CXXFLAGS too.
3747 * configure: Regenerate.
3751 * libiberty.m4: New file.
3752 * acinclude.m4: Include libiberty.m4.
3753 * configure.ac: Call libiberty_INIT.
3754 * config.in, configure: Regenerate.
3758 * s390-linux-tdep.c (s390_gcc_target_options): Not just handle
3759 31-bit targets, but 64-bit targets as well.
3760 (s390_gnu_triplet_regexp): New function.
3761 (s390_gdbarch_init): Set the gcc_target_options gdbarch method for
3762 64-bit targets as well. Set the gnu_triplet_regexp gdbarch
3767 * windows-nat.c (CONTEXT_DEBUGGER): Remove.
3768 (CONTEXT_DEBUGGER_DR): Add CONTEXT_SEGMENTS. Incorporate flags
3769 from CONTEXT_DEBUGGER.
3773 * gdbtypes.c (internal_type_vptr_fieldno): Add missing call to
3775 (set_type_vptr_fieldno): Ditto.
3776 (internal_type_vptr_basetype, set_type_vptr_basetype): Ditto.
3777 * gnu-v3-abi.c (gnuv3_dynamic_class): Ditto.
3781 * auto-load.h (file_is_auto_load_safe): Add ATTRIBUTE_PRINTF.
3782 * complaints.c (vcomplaint): Pass argument FMT directly to
3783 printf-like functions instead of complaint->fmt.
3784 * ctf.c (ctf_save_write_metadata): Add ATTRIBUTE_PRINTF.
3785 * darwin-nat.c (inferior_debug): Add ATTRIBUTE_PRINTF.
3786 * compile/compile-loc2c.c (pushf, unary, binary): Add
3788 (do_compile_dwarf_expr_to_c): Pass string literal as format string
3790 (BINARY): Pass string literal as format string to 'binary'.
3791 * compile/compile-object-load.c (link_callbacks_einfo): Add
3793 * guile/guile-internal.h (gdbscm_printf): Add ATTRIBUTE_PRINTF.
3797 * windows-termcap.c: Rename to ...
3798 * stub-termcap.c: ... this. Adjust header line.
3799 * Makefile.in (SFILES): Refer to stub-termcap.c instead of
3801 * configure: Regenerate.
3802 * configure.ac: Refer to stub-termcap.o instead of
3804 * gdb_curses.h: Mention stub-termcap.c instead of
3809 * compile/compile-c-symbols.c (convert_one_symbol, convert_symbol_bmsym)
3810 (gcc_symbol_address): Call gnu_ifunc_resolve_addr.
3814 * gdb/infcmd.c (print_return_value): use type_to_string to print type.
3818 * elfread.c (elf_read_minimal_symbols): Use bfd_alloc for
3819 bfd_canonicalize_symtab.
3823 * amd64fbsd-nat.c: Include sys/user.h.
3824 (_initialize_amd64fbsd_nat): Use the KERN_PROC_SIGTRAMP sysctl
3825 instead of KERN_PS_STRINGS to locate the signal trampoline.
3826 * i386fbsd-nat.c: Include sys/user.h.
3827 (_initialize_i386fbsd_nat): Use the KERN_PROC_SIGTRAMP sysctl
3828 instead of KERN_PS_STRINGS to locate the signal trampoline.
3829 * amd64fbsd-tdep.c (amd64fbsd_sigtramp_code): New.
3830 (amd64fbsd_sigtramp_p): New.
3831 (amd64fbsd_sigtramp_start_addr, amd64fbsd_sigtramp_end_addr): No
3832 longer set default values.
3833 (amd64fbsd_init_abi): Set "sigtramp_p" to "amd64fbsd_sigtramp_p".
3834 * i386fbsd-tdep.c (i386fbsd_sigtramp_start)
3835 (i386fbsd_sigtramp_middle, i386fbsd_sigtramp_end)
3836 (i386fbsd_freebsd4_sigtramp_start)
3837 (i386fbsd_freebsd4_sigtramp_middle)
3838 (i386fbsd_freebsd4_sigtramp_end, i386fbsd_osigtramp_start)
3839 (i386fbsd_osigtramp_middle, i386fbsd_osigtramp_end): New.
3840 (i386fbsd_sigtramp_p): New.
3841 (i386fbsd_sigtramp_start_addr, i386fbsd_sigtramp_end_addr): No
3842 longer set default values.
3843 (i386fbsd_init_abi): Set "sigtramp_p" to "i386fbsd_sigtramp_p".
3847 * amd64fbsd-tdep.c (amd64fbsd_sigcontext_addr): Use
3848 get_frame_register instead of frame_unwind_register_unsigned.
3853 * compile/compile-c-support.c (c_compute_program): Change // comment.
3854 * compile/compile-object-load.c (setup_sections): Change // comment.
3859 * iq2000-tdep.c (iq2000_frame_cache): Delete C++-style comment.
3863 * remote.c (skip_to_semicolon): New function.
3864 (remote_parse_stop_reply) <T stop reply>: Use it. Don't
3865 special case the stop reasons that look like hex numbers
3866 upfront. Instead handle real register numbers after matching
3867 all the known stop reasons.
3871 PR c++/17976, symtab/17821
3872 * cp-namespace.c (cp_search_static_and_baseclasses): New parameter
3873 is_in_anonymous. All callers updated.
3874 (find_symbol_in_baseclass): Ditto.
3875 (cp_lookup_nested_symbol_1): Ditto. Don't search all static blocks
3876 for symbols in an anonymous namespace.
3877 * dwarf2read.c (namespace_name): Don't call dwarf2_name, fetch
3878 DW_AT_name directly.
3879 (dwarf2_name): Convert missing namespace name to
3880 CP_ANONYMOUS_NAMESPACE_STR.
3884 * linux-nat.c (linux_handle_extended_wait): Call
3885 thread_db_notice_clone whenever a new clone LWP is detected.
3886 (linux_stop_and_wait_all_lwps, linux_unstop_all_lwps): New
3888 * linux-nat.h (thread_db_attach_lwp): Delete declaration.
3889 (thread_db_notice_clone, linux_stop_and_wait_all_lwps)
3890 (linux_unstop_all_lwps): Declare.
3891 * linux-thread-db.c (struct thread_get_info_inout): Delete.
3892 (thread_get_info_callback): Delete.
3893 (thread_from_lwp): Use td_thr_get_info and record_thread.
3894 (thread_db_attach_lwp): Delete.
3895 (thread_db_notice_clone): New function.
3896 (try_thread_db_load_1): If /proc is mounted and shows the
3897 process'es task list, walk over all LWPs and call thread_from_lwp
3898 instead of relying on td_ta_thr_iter.
3899 (attach_thread): Don't call check_thread_signals here. Split the
3900 tail part of the function (which adds the thread to the core GDB
3902 (record_thread): ... this function. Call check_thread_signals
3904 (thread_db_wait): Don't call thread_db_find_new_threads_1. Always
3905 call thread_from_lwp.
3906 (thread_db_update_thread_list): Rename to ...
3907 (thread_db_update_thread_list_org): ... this.
3908 (thread_db_update_thread_list): New function.
3909 (thread_db_find_thread_from_tid): Delete.
3910 (thread_db_get_ada_task_ptid): Simplify.
3911 * nat/linux-procfs.c: Include <sys/stat.h>.
3912 (linux_proc_task_list_dir_exists): New function.
3913 * nat/linux-procfs.h (linux_proc_task_list_dir_exists): Declare.
3917 * linux-nat.c (lin_lwp_attach_lwp): No longer special case the
3918 main LWP. Handle the case of waitpid returning 0 if we're already
3919 attached to the LWP. Don't set the LWP's last_resume_kind to
3920 resume_stop if we already knew about the LWP.
3921 (linux_nat_filter_event): Add debug logs.
3925 * target.h (forward_target_decr_pc_after_break): Delete
3931 * linux-thread-db.c (thread_get_info_callback): Return early if
3932 the thread's lwp id is -1.
3940 * dtrace-probe.c (dtrace_process_dof_probe): Initialize arg.expr.
3941 (dtrace_get_probes) Change type of variable 'dof'.
3945 PR breakpoints/16812
3946 * linux-nat.c (linux_nat_filter_event): Report SIGTRAP,SIGILL,SIGSEGV.
3947 * nat/linux-ptrace.c (linux_wstatus_maybe_breakpoint): Add.
3948 * nat/linux-ptrace.h: Add linux_wstatus_maybe_breakpoint.
3952 * common/ax.def (setv): Fix consumed entry in setv DEFOP.
3956 * tui/tui-io.c (tui_handle_resize_during_io): Remove this
3958 (tui_putc): Don't call tui_handle_resize_during_io.
3959 (tui_getc): Likewise.
3960 (tui_mld_getc): Likewise.
3961 * tui/tui-win.c: Include event-loop.h and tui/tui-io.h.
3962 (tui_sigwinch_token): New static variable.
3963 (tui_initialize_win): Adjust documentation. Set
3965 (tui_async_resize_screen): New asynchronous callback.
3966 (tui_sigwinch_handler): Adjust documentation. Asynchronously
3967 invoke tui_async_resize_screen.
3971 * configure: Regenerated.
3972 * configure.ac: Use GDB_AC_TRANSFORM.
3973 * Makefile.in (aclocal_m4_deps): Added transform.m4.
3974 * acinclude.m4: sinclude transform.m4.
3975 * transform.m4: New file.
3976 (GDB_AC_TRANSFORM): New macro.
3980 * NEWS: Announce the support for DTrace SDT probes.
3984 * amd64-linux-tdep.c: Include "parser-defs.h" and "user-regs.h".
3985 (amd64_dtrace_parse_probe_argument): New function.
3986 (amd64_dtrace_probe_is_enabled): Likewise.
3987 (amd64_dtrace_enable_probe): Likewise.
3988 (amd64_dtrace_disable_probe): Likewise.
3989 (amd64_linux_init_abi): Register the
3990 `gdbarch_dtrace_probe_argument', `gdbarch_dtrace_enable_probe',
3991 `gdbarch_dtrace_disable_probe' and
3992 `gdbarch_dtrace_probe_is_enabled' hooks.
3993 (amd64_dtrace_disabled_probe_sequence_1): New constant.
3994 (amd64_dtrace_disabled_probe_sequence_2): Likewise.
3995 (amd64_dtrace_enable_probe_sequence): Likewise.
3996 (amd64_dtrace_disable_probe_sequence): Likewise.
4000 * breakpoint.c (BREAK_ARGS_HELP): Help string updated to mention
4001 the -probe-dtrace new vpossible value for PROBE_MODIFIER.
4002 * configure.ac (CONFIG_OBS): dtrace-probe.o added if BFD can
4004 * Makefile.in (SFILES): dtrace-probe.c added.
4005 * configure: Regenerate.
4006 * dtrace-probe.c: New file.
4007 (SHT_SUNW_dof): New constant.
4008 (dtrace_probe_type): New enum.
4009 (dtrace_probe_arg): New struct.
4010 (dtrace_probe_arg_s): New typedef.
4011 (struct dtrace_probe_enabler): New struct.
4012 (dtrace_probe_enabler_s): New typedef.
4013 (dtrace_probe): New struct.
4014 (dtrace_probe_is_linespec): New function.
4015 (dtrace_dof_sect_type): New enum.
4016 (dtrace_dof_dofh_ident): Likewise.
4017 (dtrace_dof_encoding): Likewise.
4018 (DTRACE_DOF_ENCODE_LSB): Likewise.
4019 (DTRACE_DOF_ENCODE_MSB): Likewise.
4020 (dtrace_dof_hdr): New struct.
4021 (dtrace_dof_sect): Likewise.
4022 (dtrace_dof_provider): Likewise.
4023 (dtrace_dof_probe): Likewise.
4024 (DOF_UINT): New macro.
4025 (DTRACE_DOF_PTR): Likewise.
4026 (DTRACE_DOF_SECT): Likewise.
4027 (dtrace_process_dof_probe): New function.
4028 (dtrace_process_dof): Likewise.
4029 (dtrace_build_arg_exprs): Likewise.
4030 (dtrace_get_arg): Likewise.
4031 (dtrace_get_probes): Likewise.
4032 (dtrace_get_probe_argument_count): Likewise.
4033 (dtrace_can_evaluate_probe_arguments): Likewise.
4034 (dtrace_evaluate_probe_argument): Likewise.
4035 (dtrace_compile_to_ax): Likewise.
4036 (dtrace_probe_destroy): Likewise.
4037 (dtrace_gen_info_probes_table_header): Likewise.
4038 (dtrace_gen_info_probes_table_values): Likewise.
4039 (dtrace_probe_is_enabled): Likewise.
4040 (dtrace_probe_ops): New variable.
4041 (info_probes_dtrace_command): New function.
4042 (_initialize_dtrace_probe): Likewise.
4043 (dtrace_type_name): Likewise.
4047 * gdbarch.sh (dtrace_parse_probe_argument): New.
4048 (dtrace_probe_is_enabled): Likewise.
4049 (dtrace_enable_probe): Likewise.
4050 (dtrace_disable_probe): Likewise.
4051 * gdbarch.c: Regenerate.
4052 * gdbarch.h: Regenerate.
4056 * stap-probe.c (stap_probe_ops): Add NULLs in the static
4057 stap_probe_ops for `enable_probe' and `disable_probe'.
4058 * probe.c (enable_probes_command): New function.
4059 (disable_probes_command): Likewise.
4060 (_initialize_probe): Define the cli commands `enable probe' and
4062 (parse_probe_linespec): New function.
4063 (info_probes_for_ops): Use parse_probe_linespec.
4064 * probe.h (probe_ops): New hooks `enable_probe' and
4069 * probe.c (compute_probe_arg): Moved from stap-probe.c
4070 (compile_probe_arg): Likewise.
4071 (probe_funcs): Likewise.
4072 * stap-probe.c (compute_probe_arg): Moved to probe.c.
4073 (compile_probe_arg): Likewise.
4074 (probe_funcs): Likewise.
4078 * probe.c (print_ui_out_not_applicables): New function.
4079 (exists_probe_with_pops): Likewise.
4080 (info_probes_for_ops): Do not include column headers for probe
4081 types for which no probe has been actually found on any object.
4082 Also invoke `print_ui_out_not_applicables' in order to match the
4083 column rows with the header when probes of several types are
4085 Print the "Type" column.
4086 * probe.h (probe_ops): Added a new probe operation `type_name'.
4087 * stap-probe.c (stap_probe_ops): Add `stap_type_name'.
4088 (stap_type_name): New function.
4092 * tui/tui-io.c (tui_getc): Don't call key_is_command_char.
4093 (key_is_command_char): Delete.
4097 * tui/tui.c (tui_enable): Resize windows before anything
4098 might show a window.
4103 * aarch64-linux-nat.c: Don't include features/aarch64.c anymore.
4104 (aarch64_linux_read_description): Remove initialize_tdesc_aarch64
4106 * aarch64-tdep.h (tdesc_aarch64): Declare.
4110 * contrib/ari/gdb_ari.sh: Remove checks for "true" and "false".
4114 * cp-namespace.c (cp_basic_lookup_symbol): Rename parameter
4115 anonymous_namespace to is_in_anonymous for consistency with the rest
4117 (cp_lookup_bare_symbol): Fix typo in comment.
4118 (cp_search_static_and_baseclasses): Ditto.
4119 (search_symbol_list): Use vertical space in comment better.
4120 (reset_directive_searched): Ditto. Fix typo.
4121 (cp_lookup_nested_symbol_1): Clarify contents of NESTED_NAME parameter.
4125 * MAINTAINERS: Update my email address.
4129 * symtab.c (completion_list_add_name): Fix memory leak.
4133 * completer.c (complete_line): Remove incorrect comment.
4137 * python/py-framefilter.c (py_print_single_arg, enumerate_locals)
4138 (py_print_frame): Use RETURN_MASK_ERROR.
4142 * python/py-framefilter.c (py_print_frame): Mention RETURN_QUIT in
4143 function comment. Wrap all function that can throw in cleanups.
4144 (gdbpy_apply_frame_filter): Wrap all function that can throw in
4149 * python/py-framefilter.c (py_print_frame): Substitute goto error.
4150 Remove the error label.
4154 * python/py-framefilter.c (py_print_frame): Put conditional code paths
4155 with goto first, indent the former else codepath left. Put variable
4156 'elided' to a new inner block.
4160 * python/py-framefilter.c (py_print_frame): Whitespacing fixes.
4164 * xcoffread.c (within_function): Delete.
4169 * breakpoint.c (base_breakpoint_ops): Delete.
4170 * dwarf2loc.c (dwarf_expr_ctx_funcs): Make extern.
4171 * elfread.c (elf_sym_fns_gdb_index, elf_sym_fns_lazy_psyms): Make extern.
4172 * guile/guile.c (guile_extension_script_ops, guile_extension_ops): Make extern.
4173 * ppcnbsd-tdep.c (ppcnbsd2_sigtramp): Make extern.
4174 * python/py-arch.c (arch_object_type): Make extern.
4175 * python/py-block.c (block_syms_iterator_object_type): Make extern.
4176 * python/py-bpevent.c (breakpoint_event_object_type): Make extern.
4177 * python/py-cmd.c (cmdpy_object_type): Make extern.
4178 * python/py-continueevent.c (continue_event_object_type)
4179 * python/py-event.h (GDBPY_NEW_EVENT_TYPE): Remove 'qual'
4180 parameter. Update all callers.
4181 * python/py-evtregistry.c (eventregistry_object_type): Make extern.
4182 * python/py-exitedevent.c (exited_event_object_type): Make extern.
4183 * python/py-finishbreakpoint.c (finish_breakpoint_object_type): Make extern.
4184 * python/py-function.c (fnpy_object_type): Make extern.
4185 * python/py-inferior.c (inferior_object_type, membuf_object_type): Make extern.
4186 * python/py-infevents.c (call_pre_event_object_type)
4187 (inferior_call_post_event_object_type).
4188 (memory_changed_event_object_type): Make extern.
4189 * python/py-infthread.c (thread_object_type): Make extern.
4190 * python/py-lazy-string.c (lazy_string_object_type): Make extern.
4191 * python/py-linetable.c (linetable_entry_object_type)
4192 (linetable_object_type, ltpy_iterator_object_type): Make extern.
4193 * python/py-newobjfileevent.c (new_objfile_event_object_type)
4194 (clear_objfiles_event_object_type): Make extern.
4195 * python/py-objfile.c (objfile_object_type): Make extern.
4196 * python/py-param.c (parmpy_object_type): Make extern.
4197 * python/py-progspace.c (pspace_object_type): Make extern.
4198 * python/py-signalevent.c (signal_event_object_type): Make extern.
4199 * python/py-symtab.c (symtab_object_type, sal_object_type): Make extern.
4200 * python/py-type.c (type_object_type, field_object_type)
4201 (type_iterator_object_type): Make extern.
4202 * python/python.c (python_extension_script_ops)
4203 (python_extension_ops): Make extern.
4204 * stap-probe.c (stap_probe_ops): Make extern.
4208 * infrun.c (adjust_pc_after_break): Don't adjust the PC just
4209 because the event thread is not the current thread.
4213 * gdbtypes.c (internal_type_self_type): If TYPE_SPECIFIC_FIELD hasn't
4214 been initialized yet, return NULL.
4218 * symfile.h (new_symfile_objfile): Delete.
4219 * symfile.c (finish_new_objfile): Renamed from new_symfile_objfile.
4220 All callers updated.
4224 * tui/tui-io.c (tui_handle_resize_during_io): Call
4225 tui_update_gdb_sizes() after resizing the screen.
4226 * tui/tui.c (tui_enable): Resize the terminal before
4227 calling tui_update_gdb_sizes().
4231 * tui/tui-io.c (tui_getc): Move cursor to the end of the command
4232 line before printing a newline.
4236 * utils.c (producer_is_gcc): Return true or false.
4240 * utils.h (producer_is_gcc): Change return type to bool. Add major
4242 * utils.c (producer_is_gcc): Likewise.
4243 (producer_is_gcc_ge_4): Adjust producer_is_gcc call.
4244 * dwarf2read.c (check_producer): Likewise.
4248 * infrun.c (displaced_step_fixup): Switch to the event thread
4249 before calling gdbarch_displaced_step_fixup.
4253 * MAINTAINERS (Write After Approval): Add Antoine Tremblay.
4257 * ada-varobj.c (ada_name_of_child): Constify parent.
4258 (ada_path_expr_of_child): Same.
4259 (ada_value_of_child): Same.
4260 (ada_type_of_child): Same.
4261 * c-varobj.c (c_is_path_expr_parent): Same.
4262 (c_describe_child): Same.
4263 (c_name_of_child): Same.
4264 (c_value_of_child): Same.
4265 (c_type_of_child): Same.
4266 (cplus_number_of_children): Same.
4267 (cplus_describe_child): Constify var.
4268 (cplus_name_of_child): Constify parent.
4269 (cplus_value_of_child): Same.
4270 (cplus_type_of_child): Same.
4271 * jv-varobj.c (java_name_of_child): Same.
4272 (java_value_of_child): Same.
4273 (java_type_of_child): Same.
4274 * varobj.c (value_of_child): Same.
4275 (varobj_default_is_path_expr_parent): Constify var, parent and return
4277 (varobj_get_path_expr): Constify var, modify path_expr through
4279 (install_new_value): Constify parent.
4280 (value_of_child): Constify parent.
4281 * varobj.h (struct varobj): Constify parent.
4282 (struct lang_varobj_ops): Constify name_of_child, value_of_child and
4284 (varobj_get_path_expr): Constify var.
4285 (varobj_get_path_expr_parent): Constify var and return value.
4289 * arm-tdep.c (arm_prologue_unwind_stop_reason): New function.
4290 (arm_prologue_this_id): Move PC and SP limit checks to
4291 arm_prologue_unwind_stop_reason.
4292 (arm_prologue_unwind) <stop_reason> : Set to
4293 arm_prologue_unwind_stop_reason.
4297 * dwarf2read.c (set_cu_language): Recognize DW_LANG_Fortran03 and
4298 DW_LANG_Fortran08 as language_fortran.
4303 * gdb/remote.c (remote_parse_stop_reply): Fix wrong comparison
4304 of pointer against char.
4308 * c-typeprint.c (cp_type_print_method_args): Handle '_Atomic'.
4309 (c_type_print_modifier): Likewise.
4310 * dwarf2read.c (read_tag_atomic_type): New function.
4311 (read_type_die_1): Handle DW_TAG_atomic_type.
4312 * gdbtypes.c (make_atomic_type): New function.
4313 (recursive_dump_type): Handle TYPE_ATOMIC.
4314 * gdbtypes.h (enum type_flag_values): Renumber.
4315 (enum type_instance_flag_value): Add TYPE_INSTANCE_FLAG_ATOMIC.
4316 (TYPE_ATOMIC): New macro.
4317 (make_atomic_type): Declare.
4321 * btrace.c (ftrace_find_call): Skip gaps.
4322 (ftrace_new_function): Initialize level.
4323 (ftrace_new_call, ftrace_new_tailcall, ftrace_new_return)
4324 (ftrace_new_switch): Update
4326 (ftrace_new_gap): New.
4327 (ftrace_update_function): Create new function after gap.
4328 (btrace_compute_ftrace_bts): Create gap on error.
4329 (btrace_stitch_bts): Update parameters. Clear trace if it
4331 (btrace_stitch_trace): Update parameters. Update callers.
4332 (btrace_clear): Reset the number of gaps.
4333 (btrace_insn_get): Return NULL if the iterator points to a gap.
4334 (btrace_insn_number): Return zero if the iterator points to a gap.
4335 (btrace_insn_end): Allow gaps at the end.
4336 (btrace_insn_next, btrace_insn_prev, btrace_insn_cmp): Handle gaps.
4337 (btrace_find_insn_by_number): Assert that the found iterator does
4339 (btrace_call_next, btrace_call_prev): Assert that the last function
4341 * btrace.h (btrace_bts_error): New.
4342 (btrace_function): Update comment.
4343 (btrace_function) <insn, insn_offset, number>: Update comment.
4344 (btrace_function) <errcode>: New.
4345 (btrace_thread_info) <ngaps>: New.
4346 (btrace_thread_info) <replay>: Update comment.
4347 (btrace_insn_get): Update comment.
4348 * record-btrace.c (btrace_ui_out_decode_error): New.
4349 (record_btrace_info): Print number of gaps.
4350 (btrace_insn_history, btrace_call_history): Call
4351 btrace_ui_out_decode_error for gaps.
4352 (record_btrace_step_thread, record_btrace_start_replaying): Skip gaps.
4356 * common/btrace-common.h (btrace_cpu_vendor, btrace_cpu): New.
4357 * nat/linux-btrace.c: (btrace_this_cpu): New.
4358 (cpu_supports_bts): Call btrace_this_cpu.
4359 (intel_supports_bts): Add cpu parameter.
4363 * btrace.h (btrace_insn_class): New.
4364 (btrace_insn) <size, iclass>: New.
4365 * btrace.c (ftrace_find_call): Update parameters. Update users.
4366 Use instruction classification.
4367 (ftrace_new_return): Update parameters. Update users.
4368 (ftrace_update_function): Update parameters. Update users. Use
4369 instruction classification.
4370 (ftrace_update_insns): Update parameters. Update users.
4371 (ftrace_classify_insn): New.
4372 (btrace_compute_ftrace_bts): Fill in new btrace_insn fields. Add
4373 TRY_CATCH around call to gdb_insn_length.
4377 * btrace.c (btrace_compute_ftrace_bts, btrace_compute_ftrace):
4378 Update parameters. Update users.
4382 * btrace.c (parse_xml_btrace_conf_bts): Add size.
4383 (btrace_conf_bts_attributes): New.
4384 (btrace_conf_children): Add attributes.
4385 * common/btrace-common.h (btrace_config_bts): New.
4386 (btrace_config)<bts>: New.
4387 (btrace_config): Update comment.
4388 * nat/linux-btrace.c (linux_enable_btrace, linux_enable_bts):
4390 * features/btrace-conf.dtd: Increment version. Add size
4391 attribute to bts element.
4392 * record-btrace.c (set_record_btrace_bts_cmdlist,
4393 show_record_btrace_bts_cmdlist): New.
4394 (record_btrace_adjust_size, record_btrace_print_bts_conf,
4395 record_btrace_print_conf, cmd_set_record_btrace_bts,
4396 cmd_show_record_btrace_bts): New.
4397 (record_btrace_info): Call record_btrace_print_conf.
4398 (_initialize_record_btrace): Add commands.
4399 * remote.c: Add PACKET_Qbtrace_conf_bts_size enum.
4400 (remote_protocol_features): Add Qbtrace-conf:bts:size packet.
4401 (btrace_sync_conf): Synchronize bts size.
4402 (_initialize_remote): Add Qbtrace-conf:bts:size packet.
4403 * NEWS: Announce new commands and new packets.
4407 * Makefile.in (XMLFILES): Add btrace-conf.dtd.
4408 * x86-linux-nat.c (x86_linux_enable_btrace): Update parameters.
4409 (x86_linux_btrace_conf): New.
4410 (x86_linux_create_target): Initialize to_btrace_conf.
4411 * nat/linux-btrace.c (linux_enable_btrace): Update parameters.
4412 Check format. Split into this and ...
4413 (linux_enable_bts): ... this.
4414 (linux_btrace_conf): New.
4415 (perf_event_skip_record): Renamed into ...
4416 (perf_event_skip_bts_record): ... this. Updated users.
4417 (linux_disable_btrace): Split into this and ...
4418 (linux_disable_bts): ... this.
4419 (linux_read_btrace): Check format.
4420 * nat/linux-btrace.h (linux_enable_btrace): Update parameters.
4421 (linux_btrace_conf): New.
4422 (btrace_target_info)<ptid>: Moved.
4423 (btrace_target_info)<conf>: New.
4424 (btrace_target_info): Split into this and ...
4425 (btrace_tinfo_bts): ... this. Updated users.
4426 * btrace.c (btrace_enable): Update parameters.
4427 (btrace_conf, parse_xml_btrace_conf_bts, parse_xml_btrace_conf)
4428 (btrace_conf_children, btrace_conf_attributes)
4429 (btrace_conf_elements): New.
4430 * btrace.h (btrace_enable): Update parameters.
4431 (btrace_conf, parse_xml_btrace_conf): New.
4432 * common/btrace-common.h (btrace_config): New.
4433 * feature/btrace-conf.dtd: New.
4434 * record-btrace.c (record_btrace_conf): New.
4435 (record_btrace_cmdlist): New.
4436 (record_btrace_enable_warn, record_btrace_open): Pass
4437 &record_btrace_conf.
4438 (record_btrace_info): Print recording format.
4439 (cmd_record_btrace_bts_start): New.
4440 (cmd_record_btrace_start): Call cmd_record_btrace_bts_start.
4441 (_initialize_record_btrace): Add "record btrace bts" subcommand.
4442 Add "record bts" alias command.
4443 * remote.c (remote_state)<btrace_config>: New.
4444 (remote_btrace_reset, PACKET_qXfer_btrace_conf): New.
4445 (remote_protocol_features): Add qXfer:btrace-conf:read.
4446 (remote_open_1): Call remote_btrace_reset.
4447 (remote_xfer_partial): Handle TARGET_OBJECT_BTRACE_CONF.
4448 (btrace_target_info)<conf>: New.
4449 (btrace_sync_conf, btrace_read_config): New.
4450 (remote_enable_btrace): Update parameters. Call btrace_sync_conf and
4452 (remote_btrace_conf): New.
4453 (init_remote_ops): Initialize to_btrace_conf.
4454 (_initialize_remote): Add qXfer:btrace-conf packet.
4455 * target.c (target_enable_btrace): Update parameters.
4456 (target_btrace_conf): New.
4457 * target.h (target_enable_btrace): Update parameters.
4458 (target_btrace_conf): New.
4459 (target_object)<TARGET_OBJECT_BTRACE_CONF>: New.
4460 (target_ops)<to_enable_btrace>: Update parameters and comment.
4461 (target_ops)<to_btrace_conf>: New.
4462 * target-delegates: Regenerate.
4463 * target-debug.h (target_debug_print_const_struct_btrace_config_p)
4464 (target_debug_print_const_struct_btrace_target_info_p): New.
4465 * NEWS: Announce new command and new packet.
4469 * nat/linux-btrace.h (perf_event_buffer): New.
4470 (btrace_target_info) <buffer, size, data_head>: Replace with ...
4472 * nat/linux-btrace.c (perf_event_header, perf_event_mmap_size)
4473 (perf_event_buffer_size, perf_event_buffer_begin)
4474 (perf_event_buffer_end, linux_btrace_has_changed): Removed.
4476 (perf_event_new_data): New.
4480 * btrace.c (btrace_enable): Pass BTRACE_FORMAT_BTS.
4481 * record-btrace.c (record_btrace_open): Remove call to
4482 target_supports_btrace.
4483 * remote.c (remote_supports_btrace): Update parameters.
4484 * target.c (target_supports_btrace): Update parameters.
4485 * target.h (to_supports_btrace, target_supports_btrace): Update
4487 * target-delegates.c: Regenerate.
4488 * target-debug.h (target_debug_print_enum_btrace_format): New.
4489 * nat/linux-btrace.c
4490 (kernel_supports_btrace): Rename into ...
4491 (kernel_supports_bts): ... this. Update users. Update warning text.
4492 (intel_supports_btrace): Rename into ...
4493 (intel_supports_bts): ... this. Update users.
4494 (cpu_supports_btrace): Rename into ...
4495 (cpu_supports_bts): ... this. Update users.
4496 (linux_supports_btrace): Update parameters. Split into this and ...
4497 (linux_supports_bts): ... this.
4498 * nat/linux-btrace.h (linux_supports_btrace): Update parameters.
4502 * Makefile.in (SFILES): Add common/btrace-common.c.
4503 (COMMON_OBS): Add common/btrace-common.o.
4504 (btrace-common.o): Add build rules.
4505 * btrace.c (parse_xml_btrace): Update parameters.
4506 (parse_xml_btrace_block): Set format field.
4507 (btrace_add_pc, btrace_fetch): Use struct btrace_data.
4508 (do_btrace_data_cleanup, make_cleanup_btrace_data): New.
4509 (btrace_compute_ftrace): Split into this and...
4510 (btrace_compute_ftrace_bts): ...this.
4511 (btrace_stitch_trace): Split into this and...
4512 (btrace_stitch_bts): ...this.
4513 * btrace.h (parse_xml_btrace): Update parameters.
4514 (make_cleanup_btrace_data): New.
4515 * common/btrace-common.c: New.
4516 * common/btrace-common.h: Include common-defs.h.
4517 (btrace_block_s): Update comment.
4518 (btrace_format): New.
4519 (btrace_format_string): New.
4520 (btrace_data_bts): New.
4522 (btrace_data_init, btrace_data_fini, btrace_data_empty): New.
4523 * remote.c (remote_read_btrace): Update parameters.
4524 * target.c (target_read_btrace): Update parameters.
4525 * target.h (target_read_btrace): Update parameters.
4526 (target_ops)<to_read_btrace>: Update parameters.
4527 * x86-linux-nat.c (x86_linux_read_btrace): Update parameters.
4528 * target-delegates.c: Regenerate.
4529 * target-debug (target_debug_print_struct_btrace_data_p): New.
4530 * nat/linux-btrace.c (linux_read_btrace): Split into this and...
4531 (linux_read_bts): ...this.
4532 * nat/linux-btrace.h (linux_read_btrace): Update parameters.
4536 * remote-m32r-sdi.c: Include symfile.h.
4540 * symtab.h (clear_symtab_users, deduce_language_from_filename): Move
4541 * symfile.h (clear_symtab_users, deduce_language_from_filename): ...
4546 * linux-thread-db.c (find_new_threads_callback): Add debug output.
4551 * breakpoint.c (map_breakpoint_numbers): Check for empty args string.
4552 (enable_count_command): Check args for NULL value.
4556 * guile/scm-frame.c: Fix spelling errors in a comment.
4560 * python/python-internal.h (Py_hash_t): Define it for Python <3.2.
4561 * python/py-value.c (valpy_fetch_lazy): Use it. Remove cast to the
4566 * linux-nat.c (handle_extended_wait): Don't resume LWPs here.
4567 (wait_lwp): Don't call wait_lwp if linux_handle_extended_wait
4569 (resume_stopped_resumed_lwps): Don't check whether the thread is
4570 marked as executing.
4571 (linux_nat_wait_1): Use resume_stopped_resumed_lwps.
4575 * regset.h (struct regset): Add flags field.
4576 (REGSET_VARIABLE_SIZE): New value for a regset's flags field.
4577 * corelow.c (get_core_register_section): Add warning if the size
4578 exceeds the requested size and the regset does not have the
4579 REGSET_VARIABLE_SIZE flag set.
4580 * alphanbsd-tdep.c (alphanbsd_gregset): Add REGSET_VARIABLE_SIZE
4582 * armbsd-tdep.c (armbsd_gregset): Likewise.
4583 * hppa-hpux-tdep.c (hppa_hpux_regset): Likewise.
4584 * hppaobsd-tdep.c (hppaobsd_gregset): Likewise.
4585 * m68kbsd-tdep.c (m68kbsd_gregset): Likewise.
4586 * mipsnbsd-tdep.c (mipsnbsd_gregset): Likewise.
4590 * amd64-linux-tdep.c (amd64_linux_iterate_over_regset_sections):
4591 For ".reg-xstate", explicitly specify the requested section size
4592 via X86_XSTATE_SIZE instead of just 0 on input and
4593 X86_XSTATE_MAX_SIZE on output.
4594 * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections):
4600 * gdbarch.sh (iterate_over_regset_sections_cb): Document this
4601 function type, particularly its SIZE parameter.
4602 * gdbarch.h: Regenerate.
4603 * amd64-tdep.c (amd64_supply_fpregset): In gdb_assert, compare
4604 actual against required size using ">=" instead of "==".
4605 (amd64_collect_fpregset): Likewise.
4606 * i386-tdep.c (i386_supply_gregset): Likewise.
4607 (i386_collect_gregset): Likewise.
4608 (i386_supply_fpregset): Likewise.
4609 (i386_collect_fpregset): Likewise.
4610 * mips-linux-tdep.c (mips_supply_gregset_wrapper): Likewise.
4611 (mips_fill_gregset_wrapper): Likewise.
4612 (mips_supply_fpregset_wrapper): Likewise.
4613 (mips_fill_fpregset_wrapper): Likewise.
4614 (mips64_supply_gregset_wrapper): Likewise.
4615 (mips64_fill_gregset_wrapper): Likewise.
4616 (mips64_supply_fpregset_wrapper): Likewise.
4617 (mips64_fill_fpregset_wrapper): Likewise.
4618 * mn10300-linux-tdep.c (am33_supply_gregset_method): Likewise.
4619 (am33_supply_fpregset_method): Likewise.
4620 (am33_collect_gregset_method): Likewise.
4621 (am33_collect_fpregset_method): Likewise.
4628 * tui/tui-command.c (tui_refresh_cmd_win): New function.
4629 * tui/tui-command.c (tui_refresh_cmd_win): Declare.
4630 * tui/tui-file.c: #include tui/tui-command.h.
4631 (tui_file_fputs): Refresh command window if stream is not gdb_stdout.
4632 (tui_file_flush): Refresh command window if stream is gdb_stdout.
4633 * tui/tui-io.c (tui_puts): Remove calls to wrefresh, fflush.
4638 * event-loop.c (gdb_do_one_event): Add default switch case.
4642 Filter out inferior gcc option -fpreprocessed.
4643 * compile/compile.c (filter_args): New function.
4648 * event-loop.c: Don't declare nor define a queue type for
4650 (event_queue): Delete.
4651 (create_event, create_file_event, gdb_event_xfree)
4652 (initialize_event_loop, process_event): Delete.
4653 (gdb_do_one_event): Return as soon as one event is handled.
4654 (handle_file_event): Change prototype. Used the passed in
4655 file_handler pointer and ready_mask instead of looping over all
4657 (gdb_wait_for_event): Update the poll/select timeouts before
4658 blocking. Run event handlers directly instead of queueing events.
4659 Return as soon as one event is handled.
4660 (struct async_event_handler_data): Delete.
4661 (invoke_async_event_handler): Delete.
4662 (check_async_event_handlers): Change return type to int. Run
4663 event handlers directly instead of queueing events. Return as
4664 soon as one event is handled.
4665 (handle_timer_event): Delete.
4666 (update_wait_timeout): New function, factored out from
4668 (poll_timers): Reimplement.
4669 * event-loop.h (initialize_event_loop): Delete declaration.
4670 * top.c (gdb_init): Don't call initialize_event_loop.
4674 * event-loop.c (clear_async_event_handler): New function.
4675 * event-loop.h (clear_async_event_handler): New declaration.
4676 * record-btrace.c (record_btrace_async): New function.
4677 (init_record_btrace_ops): Install record_btrace_async.
4678 * record-full.c (record_full_async): New function.
4679 (record_full_resume): Don't mark the async event source here.
4680 (init_record_full_ops): Install record_full_async.
4681 (record_full_core_resume): Don't mark the async event source here.
4682 (init_record_full_core_ops): Install record_full_async.
4683 * remote.c (remote_async): Mark and clear the async stop reply
4684 queue event-loop token as appropriate.
4688 * linux-nat.c (linux_child_follow_fork, linux_nat_wait_1): Use
4689 target_is_async_p instead of target_can_async.
4690 (linux_nat_wait): Use target_is_async_p instead of
4691 target_can_async. Don't enable async here.
4692 * remote.c (interrupt_query, remote_wait, putpkt_binary): Use
4693 target_is_async_p instead of target_can_async.
4697 * varobj.h (lang_varobj_ops): Mention which return values need
4702 * dwarf2loc.c (dwarf2_evaluate_property): Add i18n marker.
4707 * ada-lang.c (ada_lookup_symbol_list_worker): Do not re-cache
4708 results found in the cache.
4713 * ada-lang.c (ada_get_symbol_cache): Set pspace_data->sym_cache
4714 when allocating a new one.
4718 * MAINTAINERS: Remove myself.
4722 * dwarf2read.c (process_structure_scope): Update setting of
4723 TYPE_VPTR_BASETYPE, TYPE_VPTR_FIELDNO.
4724 * gdbtypes.c (internal_type_vptr_fieldno): New function.
4725 (set_type_vptr_fieldno): New function.
4726 (internal_type_vptr_basetype): New function.
4727 (set_type_vptr_basetype): New function.
4728 (get_vptr_fieldno): Update setting of TYPE_VPTR_FIELDNO,
4730 (allocate_cplus_struct_type): Initialize vptr_fieldno.
4731 (recursive_dump_type): Printing of vptr_fieldno, vptr_basetype ...
4732 (print_cplus_stuff): ... moved here.
4733 (copy_type_recursive): Don't copy TYPE_VPTR_BASETYPE.
4734 * gdbtypes.h (struct main_type): Members vptr_fieldno, vptr_basetype
4736 (struct cplus_struct_type): ... here. All uses updated.
4737 (TYPE_VPTR_FIELDNO, TYPE_VPTR_BASETYPE): Rewrite.
4738 (internal_type_vptr_fieldno, set_type_vptr_fieldno): Declare.
4739 (internal_type_vptr_basetype, set_type_vptr_basetype): Declare.
4740 * stabsread.c (read_tilde_fields): Update setting of
4741 TYPE_VPTR_FIELDNO, TYPE_VPTR_BASETYPE.
4745 * cp-valprint.c (cp_find_class_member): Rename parameter domain_p
4747 (cp_print_class_member): Rename local domain to self_type.
4748 * dwarf2read.c (quirk_gcc_member_function_pointer): Rename local
4749 domain_type to self_type.
4750 (set_die_type) <need_gnat_info>: Handle
4751 TYPE_CODE_METHODPTR, TYPE_CODE_MEMBERPTR, TYPE_CODE_METHOD.
4752 * gdb-gdb.py (StructMainTypePrettyPrinter): Handle
4753 TYPE_SPECIFIC_SELF_TYPE.
4754 * gdbtypes.c (internal_type_self_type): New function.
4755 (set_type_self_type): New function.
4756 (smash_to_memberptr_type): Rename parameter domain to self_type.
4757 Update setting of TYPE_SELF_TYPE.
4758 (smash_to_methodptr_type): Update setting of TYPE_SELF_TYPE.
4759 (smash_to_method_type): Rename parameter domain to self_type.
4760 Update setting of TYPE_SELF_TYPE.
4761 (check_stub_method): Call smash_to_method_type.
4762 (recursive_dump_type): Handle TYPE_SPECIFIC_SELF_TYPE.
4763 (copy_type_recursive): Ditto.
4764 * gdbtypes.h (enum type_specific_kind): New value
4765 TYPE_SPECIFIC_SELF_TYPE.
4766 (struct main_type) <type_specific>: New member self_type.
4767 (struct cplus_struct_type) <fn_field.type>: Update comment.
4768 (TYPE_SELF_TYPE): Rewrite.
4769 (internal_type_self_type, set_type_self_type): Declare.
4770 * gnu-v3-abi.c (gnuv3_print_method_ptr): Rename local domain to
4772 (gnuv3_method_ptr_to_value): Rename local domain_type to self_type.
4773 * m2-typeprint.c (m2_range): Replace TYPE_SELF_TYPE with
4775 * stabsread.c (read_member_functions): Mark methods with
4776 TYPE_CODE_METHOD, not TYPE_CODE_FUNC. Update setting of
4781 * gdbtypes.h (TYPE_SELF_TYPE): Renamed from TYPE_DOMAIN_TYPE.
4786 * gnu-v3-abi.c (gnuv3_dynamic_class): Assert only passed structs
4787 or unions. Return zero if union.
4788 (gnuv3_get_vtable): Call check_typedef. Assert only passed structs.
4789 (gnuv3_rtti_type): Pass already-check_typedef'd value to
4791 (compute_vtable_size): Assert only passed structs.
4792 (gnuv3_print_vtable): Don't call gnuv3_get_vtable for non-structs.
4796 * gdbtypes.c (copy_type_recursive): Handle all TYPE_SPECIFIC_FIELD
4805 * cli/cli-cmds.c (complete_command): Notify user if max-completions
4807 * common/common-exceptions.h (enum errors)
4808 <MAX_COMPLETIONS_REACHED_ERROR>: New value.
4809 * completer.h (get_max_completions_reached_message): New declaration.
4810 (max_completions): Likewise.
4811 (completion_tracker_t): New typedef.
4812 (new_completion_tracker): New declaration.
4813 (make_cleanup_free_completion_tracker): Likewise.
4814 (maybe_add_completion_enum): New enum.
4815 (maybe_add_completion): New declaration.
4816 (throw_max_completions_reached_error): Likewise.
4817 * completer.c (max_completions): New global variable.
4818 (new_completion_tracker): New function.
4819 (free_completion_tracker): Likewise.
4820 (make_cleanup_free_completion_tracker): Likewise.
4821 (maybe_add_completions): Likewise.
4822 (throw_max_completions_reached_error): Likewise.
4823 (complete_line): Remove duplicates and limit result to max_completions
4825 (get_max_completions_reached_message): New function.
4826 (gdb_display_match_list): Handle max_completions.
4827 (_initialize_completer): New declaration and function.
4828 * symtab.c: Include completer.h.
4829 (completion_tracker): New static variable.
4830 (completion_list_add_name): Call maybe_add_completion.
4831 (default_make_symbol_completion_list_break_on_1): Renamed from
4832 default_make_symbol_completion_list_break_on. Maintain
4833 completion_tracker across calls to completion_list_add_name.
4834 (default_make_symbol_completion_list_break_on): New function.
4835 * top.c (init_main): Set rl_completion_display_matches_hook.
4836 * tui/tui-io.c: Include completer.h.
4837 (tui_old_rl_display_matches_hook): New static global.
4838 (tui_rl_display_match_list): Notify user if max-completions reached.
4839 (tui_setup_io): Save/restore rl_completion_display_matches_hook.
4840 * NEWS (New Options): Mention set/show max-completions.
4844 * symtab.c (struct add_name_data) <code>: New field.
4846 (add_symtab_completions): New function.
4847 (symtab_expansion_callback): Likewise.
4848 (default_make_symbol_completion_list_break_on): Set datum.code.
4849 Move minimal symbol scan before calling expand_symtabs_matching.
4850 Scan known primary symtabs for externs and statics before calling
4851 expand_symtabs_matching. Pass symtab_expansion_callback as
4852 expansion_notify argument to expand_symtabs_matching. Do not scan
4853 primary symtabs for externs and statics after calling
4854 expand_symtabs_matching.
4858 * symfile.h (expand_symtabs_exp_notify_ftype): New typedef.
4859 (struct quick_symbol_functions) <expand_symtabs_matching>:
4860 New argument expansion_notify. All uses updated.
4861 (expand_symtabs_matching): New argument expansion_notify.
4863 * symfile-debug.c (debug_qf_expand_symtabs_matching):
4864 Also print expansion notify.
4865 * symtab.c (expand_symtabs_matching_via_partial): Call
4866 expansion_notify whenever a partial symbol table is expanded.
4867 * dwarf2read.c (dw2_expand_symtabs_matching): Call
4868 expansion_notify whenever a symbol table is instantiated.
4872 * cli-out.c: #include completer.h, readline/readline.h.
4873 (cli_mld_crlf, cli_mld_putch, cli_mld_puts): New functions.
4874 (cli_mld_flush, cld_mld_erase_entire_line): Ditto.
4875 (cli_mld_beep, cli_mld_read_key, cli_display_match_list): Ditto.
4876 * cli-out.h (cli_display_match_list): Declare.
4877 * completer.c (MB_INVALIDCH, MB_NULLWCH): New macros.
4878 (ELLIPSIS_LEN): Ditto.
4879 (gdb_get_y_or_n, gdb_display_match_list_pager): New functions.
4880 (gdb_path_isdir, gdb_printable_part, gdb_fnwidth): Ditto.
4881 (gdb_fnprint, gdb_print_filename): Ditto.
4882 (gdb_complete_get_screenwidth, gdb_display_match_list_1): Ditto.
4883 (gdb_display_match_list): Ditto.
4884 * completer.h (mld_crlf_ftype, mld_putch_ftype): New typedefs.
4885 (mld_puts_ftype, mld_flush_ftype, mld_erase_entire_line_ftype): Ditto.
4886 (mld_beep_ftype, mld_read_key_ftype): Ditto.
4887 (match_list_displayer): New struct.
4888 (gdb_display_match_list): Declare.
4889 * top.c (init_main): Set rl_completion_display_matches_hook.
4890 * tui/tui-io.c: #include completer.h.
4891 (printable_part, PUTX, print_filename, get_y_or_n): Delete.
4892 (tui_mld_crlf, tui_mld_putch, tui_mld_puts): New functions.
4893 (tui_mld_flush, tui_mld_erase_entire_line, tui_mld_beep): Ditto.
4894 (tui_mld_getc, tui_mld_read_key): Ditto.
4895 (tui_rl_display_match_list): Rewrite.
4896 (tui_handle_resize_during_io): New arg for_completion. All callers
4901 Add symbol lookup cache.
4902 * NEWS: Document new options and commands.
4903 * symtab.c (symbol_cache_key): New static global.
4904 (DEFAULT_SYMBOL_CACHE_SIZE, MAX_SYMBOL_CACHE_SIZE): New macros.
4905 (SYMBOL_LOOKUP_FAILED): New macro.
4906 (symbol_cache_slot_state): New enum.
4907 (block_symbol_cache): New struct.
4908 (symbol_cache): New struct.
4909 (new_symbol_cache_size, symbol_cache_size): New static globals.
4910 (hash_symbol_entry, eq_symbol_entry): New functions.
4911 (symbol_cache_byte_size, resize_symbol_cache): New functions.
4912 (make_symbol_cache, free_symbol_cache): New functions.
4913 (get_symbol_cache, symbol_cache_cleanup): New function.
4914 (set_symbol_cache_size, set_symbol_cache_size_handler): New functions.
4915 (symbol_cache_lookup, symbol_cache_clear_slot): New function.
4916 (symbol_cache_mark_found, symbol_cache_mark_not_found): New functions.
4917 (symbol_cache_flush, symbol_cache_dump): New functions.
4918 (maintenance_print_symbol_cache): New function.
4919 (maintenance_flush_symbol_cache): New function.
4920 (symbol_cache_stats): New function.
4921 (maintenance_print_symbol_cache_statistics): New function.
4922 (symtab_new_objfile_observer): New function.
4923 (symtab_free_objfile_observer): New function.
4924 (lookup_static_symbol, lookup_global_symbol): Use symbol cache.
4925 (_initialize_symtab): Init symbol_cache_key. New parameter
4926 maint symbol-cache-size. New maint commands print symbol-cache,
4927 print symbol-cache-statistics, flush-symbol-cache.
4928 Install new_objfile, free_objfile observers.
4933 * symfile.c (clear_symtab_users): Move call to breakpoint_re_set
4938 * NEWS: Mention inlined scripts in .debug_gdb_scripts section.
4939 * auto-load.c: #include ctype.h.
4940 (struct auto_load_pspace_info): Replace member loaded_scripts with
4941 new members loaded_script_files, loaded_script_texts.
4942 (auto_load_pspace_data_cleanup): Update.
4943 (init_loaded_scripts_info): Update.
4944 (get_auto_load_pspace_data_for_loading): Update.
4945 (maybe_add_script_file): Renamed from maybe_add_script. All callers
4947 (maybe_add_script_text): New function.
4948 (clear_section_scripts): Update.
4949 (source_script_file, execute_script_contents): New functions.
4950 (source_section_scripts): Add support for
4951 SECTION_SCRIPT_ID_PYTHON_TEXT, SECTION_SCRIPT_ID_GUILE_TEXT.
4952 (print_scripts): New function.
4953 (auto_load_info_scripts): Also print inlined scripts.
4954 (maybe_print_unsupported_script_warning): Renamed from
4955 unsupported_script_warning_print. All callers updated.
4956 (maybe_print_script_not_found_warning): Renamed from
4957 script_not_found_warning_print. All callers updated.
4958 * extension-priv.h (struct extension_language_script_ops): New member
4959 objfile_script_executor.
4960 * extension.c (ext_lang_objfile_script_executor): New function.
4961 * extension.h (objfile_script_executor_func): New typedef.
4962 (ext_lang_objfile_script_executor): Declare.
4963 * guile/guile-internal.h (gdbscm_execute_objfile_script): Declare.
4964 * guile/guile.c (guile_extension_script_ops): Update.
4965 * guile/scm-objfile.c (gdbscm_execute_objfile_script): New function.
4966 * python/python.c (python_extension_script_ops): Update.
4967 (gdbpy_execute_objfile_script): New function.
4971 * tui/tui-io.c (tui_expand_tabs): New function.
4972 (tui_puts, tui_redisplay_readline): Expand TABs into the
4973 appropriate number of spaces.
4974 * tui/tui-regs.c: Include tui-io.h.
4975 (tui_register_format): Call tui_expand_tabs to expand TABs into
4976 the appropriate number of spaces.
4977 * tui/tui-io.h: Add prototype for tui_expand_tabs.
4981 * NEWS: "info source" command now display producer string if present.
4982 * source.c (source_info): Print producer string if present.
4986 * varobj.c (varobj_delete): Fix comment.
4990 * varobj.c (create_child): Modify comment.
4994 * ada-varobj.c (ada_number_of_children): Constify struct varobj *
4996 (ada_name_of_variable): Same.
4997 (ada_path_expr_of_child): Same.
4998 (ada_value_of_variable): Same.
4999 (ada_value_is_changeable_p): Same.
5000 (ada_value_has_mutated): Same.
5001 * c-varobj.c (varobj_is_anonymous_child): Same.
5002 (c_is_path_expr_parent): Same.
5003 (c_number_of_children): Same.
5004 (c_name_of_variable): Same.
5005 (c_path_expr_of_child): Same.
5007 (c_value_of_variable): Same.
5008 (cplus_number_of_children): Same.
5009 (cplus_name_of_variable): Same.
5010 (cplus_path_expr_of_child): Same.
5011 (cplus_value_of_variable): Same.
5012 * jv-varobj.c (java_number_of_children): Same.
5013 (java_name_of_variable): Same.
5014 (java_path_expr_of_child): Same.
5015 (java_value_of_variable): Same.
5016 * varobj.c (number_of_children): Same.
5017 (name_of_variable): Same.
5019 (varobj_ensure_python_env): Same.
5020 (varobj_get_objname): Same.
5021 (varobj_get_expression): Same.
5022 (varobj_get_display_format): Same.
5023 (varobj_get_display_hint): Same.
5024 (varobj_has_more): Same.
5025 (varobj_get_thread_id): Same.
5026 (varobj_get_frozen): Same.
5027 (dynamic_varobj_has_child_method): Same.
5028 (varobj_get_gdb_type): Same.
5029 (is_path_expr_parent): Same.
5030 (varobj_default_is_path_expr_parent): Same.
5031 (varobj_get_language): Same.
5032 (varobj_get_attributes): Same.
5033 (varobj_is_dynamic_p): Same.
5034 (varobj_get_child_range): Same.
5035 (varobj_value_has_mutated): Same.
5036 (varobj_get_value_type): Same.
5037 (number_of_children): Same.
5038 (name_of_variable): Same.
5039 (check_scope): Same.
5040 (varobj_editable_p): Same.
5041 (varobj_value_is_changeable_p): Same.
5042 (varobj_floating_p): Same.
5043 (varobj_default_value_is_changeable_p): Same.
5047 * varobj.c (varobj_get_path_expr): Set var->path_expr.
5048 * c-varobj.c (c_path_expr_of_child): Set local var instead of
5050 (cplus_path_expr_of_child): Same.
5054 * mi-cmd-var.c (print_varobj): Free varobj_get_expression
5056 (mi_cmd_var_info_expression): Same.
5057 * varobj.c (varobj_get_expression): Mention in the comment that
5058 the result must by freed by the caller.
5062 * mi/mi-cmd-var.c (mi_cmd_var_info_type): Free result of
5064 (varobj_update_one): Same.
5065 * varobj.c (update_type_if_necessary): Free curr_type_str and
5067 (varobj_get_type): Specify in comment that the result needs to be
5068 freed by the caller.
5073 * dwarf2read.c (dwarf_decode_line_header): Punt if version > 4.
5077 * dwarf2read.c (checkproducer): Call producer_is_gcc.
5078 * utils.c (producer_is_gcc_ge_4): Likewise.
5079 (producer_is_gcc): New function.
5080 * utils.h (producer_is_gcc): New declaration.
5084 * gdbtypes.h (struct dynamic_prop): New PROP_ADDR_OFFSET enum
5086 * gdbtypes.c (resolve_dynamic_type_internal): Replace "addr"
5087 parameter by "addr_stack" parameter.
5088 (resolve_dynamic_range): Replace "addr" parameter by
5089 "stack_addr" parameter. Update function documentation.
5090 Update code accordingly.
5091 (resolve_dynamic_array, resolve_dynamic_union)
5092 (resolve_dynamic_struct, resolve_dynamic_type_internal): Likewise.
5093 (resolve_dynamic_type): Update code, following the changes made
5094 to resolve_dynamic_type_internal's interface.
5095 * dwarf2loc.h (struct property_addr_info): New.
5096 (dwarf2_evaluate_property): Replace "address" parameter
5097 by "addr_stack" parameter. Adjust function documentation.
5098 (struct dwarf2_offset_baton): New.
5099 (struct dwarf2_property_baton): Update documentation of
5100 field "referenced_type" to be more general. New field
5101 "offset_info" in union data field.
5102 * dwarf2loc.c (dwarf2_evaluate_property): Replace "address"
5103 parameter by "addr_stack" parameter. Adjust code accordingly.
5104 Add support for PROP_ADDR_OFFSET properties.
5105 * dwarf2read.c (attr_to_dynamic_prop): Add support for
5106 DW_AT_data_member_location attributes as well. Use case
5107 statements instead of if/else condition.
5111 * ada-varobj.c (ada_varobj_get_array_number_of_children):
5112 Return zero if PARENT_VALUE is NULL and parent_type's
5113 range type is dynamic.
5117 * gdbtypes.c (is_dynamic_type_internal) <TYPE_CODE_RANGE>: Return
5118 nonzero if the type's subtype is dynamic.
5119 (resolve_dynamic_range): Also resolve the range's subtype.
5124 * symfile.c (unmap_overlay_command): Initialize sec to NULL.
5128 * NEWS: Mention gdb.Objfile.username.
5129 * python/py-objfile.c (objfpy_get_username): New function.
5130 (objfile_getset): Add "username".
5134 * stack.c (return_command): Markup warning message with _.
5138 * gdbtypes.h (TYPE_TYPE_SPECIFIC): Delete.
5142 Fix 100x slowdown regression on DWZ files.
5143 * dwarf2read.c (struct dwarf2_per_objfile): Add line_header_hash.
5144 (struct line_header): Add offset and offset_in_dwz.
5145 (dwarf_decode_lines): Add parameter decode_mapping to the declaration.
5146 (free_line_header_voidp): New declaration.
5147 (line_header_hash, line_header_hash_voidp, line_header_eq_voidp): New
5149 (dwarf2_build_include_psymtabs): Update dwarf_decode_lines caller.
5150 (handle_DW_AT_stmt_list): Use line_header_hash.
5151 (free_line_header_voidp): New function.
5152 (dwarf_decode_line_header): Initialize offset and offset_in_dwz.
5153 (dwarf_decode_lines): New parameter decode_mapping, use it.
5154 (dwarf2_free_objfile): Free line_header_hash.
5159 * valops.c (value_rtti_indirect_type): Catch exception thrown by
5164 * dwarf2read.c (read_subroutine_type): Set TYPE_NO_RETURN from
5166 * gdbtypes.h (struct func_type): Add is_noreturn field flag. Make
5167 calling_convention an 8 bit bit field.
5168 (TYPE_NO_RETURN): New macro.
5169 * infcmd.c (finish_command): Query if function does not return
5171 * stack.c (return_command): Likewise.
5175 * linux-nat.c (linux_is_async_p): New macro.
5176 (linux_nat_is_async_p):
5177 (linux_nat_terminal_inferior): Check whether the target can async
5178 instead of whether it is already async.
5179 (linux_nat_terminal_ours): Don't check whether the target is
5181 (linux_async_pipe): Use linux_is_async_p.
5185 * NEWS (Changes since GDB 7.9): Add 'thread apply all' option
5187 * thread.c (tp_array_compar_ascending, tp_array_compar): New.
5188 (thread_apply_all_command): Parse CMD for tp_array_compar_ascending.
5189 Sort tp_array using tp_array_compar.
5190 (_initialize_thread): Extend thread_apply_all_command help.
5194 * corelow.c (core_open): Call also thread_command.
5195 * gdbthread.h (thread_command): New prototype moved from ...
5196 * thread.c (thread_command): ... here.
5197 (thread_command): Make it global.
5201 * configure.ac [*mingw32*]: Check $curses_found instead of
5203 * configure: Regenerate.
5204 * windows-termcap.c: Remove HAVE_CURSES_H, HAVE_NCURSES_H and
5205 HAVE_NCURSES_NCURSES_H checks.
5209 * tui/tui.c (tui_enable) [__MINGW32__]: If the call to 'newterm'
5210 fails with the 1st arg NULL, try again with "unknown". Don't test
5211 the "cup" capability: it isn't supported by the Windows port of
5212 ncurses, but the Windows console driver is still capable of
5217 * compile/compile.c (_initialize_compile): Use -fPIE for compile_args.
5221 * Makefile.in (HFILES_NO_SRCDIR): Remove ada-varobj.h.
5222 (ALLDEPFILES): Remove irix5-nat.c. These two are part of the
5223 reason that "make TAGS" is broken.
5227 * hppa-tdep.c (inst_saves_gr): Fix logical working flow issues
5228 and check additional store instructions.
5232 * MAINTAINERS (Write After Approval): Add "Wei-cheng Wang".
5236 * ppc-linux-tdep.c (ppc_skip_trampoline_code,
5237 ppc_canonicalize_syscall, ppc_linux_syscall_record,
5238 ppc_linux_record_signal, ppc_init_linux_record_tdep): Add comments.
5239 * ppc64-tdep.c (ppc64_skip_trampoline_code): Likewise.
5240 * rs6000-tdep.c (rs6000_epilogue_frame_cache,
5241 rs6000_epilogue_frame_this_id, rs6000_epilogue_frame_prev_register,
5242 rs6000_epilogue_frame_sniffer, ppc_record_vsr, ppc_process_record_op4,
5243 ppc_process_record_op19, ppc_process_record_op31,
5244 ppc_process_record_op59, ppc_process_record_op60,
5245 ppc_process_record_op63): Likewise.
5249 * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason_string)
5250 (linux_ptrace_test_ret_to_nx): Use safe_strerror instead of
5255 * rs6000-tdep.c (ppc_process_record_op4, ppc_process_record_op19,
5256 ppc_process_record_op31, ppc_process_record_op59,
5257 ppc_process_record_op60, ppc_process_record_op63,
5258 ppc_process_record): Fix -Wformat warning.
5259 * rs6000-tdep.c (rs6000_epilogue_frame_cache, ppc_process_record_op60):
5260 Remove unused variables.
5264 * MAINTAINERS (Write After Approval): Add "Chen Gang".
5268 * configure.ac [*mingw32*]: Only add windows-termcap.o to
5269 CONFIG_OBS if not building with a curses library.
5270 * configure: Regenerate.
5272 * windows-termcap.c: Include defs.h. Make the whole body empty if
5273 either one of HAVE_CURSES_H or HAVE_NCURSES_H or
5274 HAVE_NCURSES_NCURSES_H is defined.
5278 * rs6000-tdep.c (rs6000_gdbarch_init): Move divide operator
5279 from end of line to start of next line.
5283 * ppc-linux-tdep.c (ppc_skip_trampoline_code):
5284 Scan PLT stub backward for reverse debugging.
5285 * ppc64-tdep.c (ppc64_skip_trampoline_code): Likewise.
5290 * configure.tgt (powerpc*-*-linux): Add linux-record.o to
5292 (ppc_linux_record_tdep, ppc64_linux_record_tdep): New for linux syscall
5294 (ppc_canonicalize_syscall, ppc_linux_syscall_record,
5295 ppc_linux_record_signal, ppc_init_linux_record_tdep): New functions.
5296 (ppc_linux_init_abi): Set process_record, process_record_signal.
5297 * ppc-tdep.h (struct gdbarch_tdep): Add ppc_syscall_record and
5298 ppc_linux_record_tdep to gdbarch_tdep.
5299 (ppc_process_record): New declaration.
5300 * rs6000-tdep.c (ppc_record_vsr, ppc_process_record_op4,
5301 ppc_process_record_op19, ppc_process_record_op31,
5302 ppc_process_record_op59, ppc_process_record_op60,
5303 ppc_process_record_op63, ppc_process_record): New functions.
5307 * rs6000-tdep.c (rs6000_in_function_epilogue_p): Rename to
5308 rs6000_in_function_epilogue_frame_p and add an argument
5310 (rs6000_epilogue_frame_cache, rs6000_epilogue_frame_this_id,
5311 rs6000_epilogue_frame_prev_register, rs6000_epilogue_frame_sniffer):
5313 (rs6000_epilogue_frame_unwind): New.
5314 (rs6000_gdbarch_init): Append epilogue unwinder.
5318 * nat/linux-personality.c: Replace "#ifndef
5319 HAVE_DECL_ADDR_NO_RANDOMIZE" by "#if
5320 !HAVE_DECL_ADDR_NO_RANDOMIZE", fixing a regression in RHEL-5
5325 * tui/tui-win.c (tui_rehighlight_all, tui_set_var_cmd): New
5327 (_initialize_tui_win) <border-kind, border-mode>:
5328 <active-border-mode>: Use tui_set_var_cmd as the "set" function.
5329 (tui_set_tab_width_command): Fix the commentary.
5331 * tui/tui-win.h: Add prototype for tui_rehighlight_all.
5333 * tui/tui-win.c (tui_scroll_left_command, tui_scroll_right_command):
5335 (tui_set_tab_width_command): Delete and recreate the source and
5336 the disassembly windows, to show the effect of the changed tab
5339 * tui/tui-data.h (LINE_PREFIX): Make shorter
5340 (MAX_PID_WIDTH): Enlarge from 14 to 19, to leave enough space for
5341 "Thread NNNNN.XXXX" thread ID notation on Windows.
5345 Fix gcc-5 compilation.
5346 * hppa-tdep.c (inst_saves_gr): Fix parentheses typo.
5350 * Makefile.in (HFILES_NO_SRCDIR): Add nat/linux-personality.h.
5351 (linux-personality.o): New rule.
5352 * common/common-defs.h: Include <stdint.h>.
5353 * config/aarch64/linux.mh (NATDEPFILES): Include
5354 linux-personality.o.
5355 * config/alpha/alpha-linux.mh (NATDEPFILES): Likewise.
5356 * config/arm/linux.mh (NATDEPFILES): Likewise.
5357 * config/i386/linux64.mh (NATDEPFILES): Likewise.
5358 * config/i386/linux.mh (NATDEPFILES): Likewise.
5359 * config/ia64/linux.mh (NATDEPFILES): Likewise.
5360 * config/m32r/linux.mh (NATDEPFILES): Likewise.
5361 * config/m68k/linux.mh (NATDEPFILES): Likewise.
5362 * config/mips/linux.mh (NATDEPFILES): Likewise.
5363 * config/pa/linux.mh (NATDEPFILES): Likewise.
5364 * config/powerpc/linux.mh (NATDEPFILES): Likewise.
5365 * config/powerpc/ppc64-linux.mh (NATDEPFILES): Likewise.
5366 * config/powerpc/spu-linux.mh (NATDEPFILES): Likewise.
5367 * config/s390/linux.mh (NATDEPFILES): Likewise.
5368 * config/sparc/linux64.mh (NATDEPFILES): Likewise.
5369 * config/sparc/linux.mh (NATDEPFILES): Likewise.
5370 * config/tilegx/linux.mh (NATDEPFILES): Likewise.
5371 * config/xtensa/linux.mh (NATDEPFILES): Likewise.
5372 * defs.h: Remove #include <stdint.h> (moved to
5373 common/common-defs.h).
5374 * linux-nat.c: Include nat/linux-personality.h. Remove #include
5375 <sys/personality.h>; do not define ADDR_NO_RANDOMIZE (moved to
5376 nat/linux-personality.c).
5377 (linux_nat_create_inferior): Remove code to disable address space
5378 randomization (moved to nat/linux-personality.c). Create cleanup
5379 to disable address space randomization.
5380 * nat/linux-personality.c: New file.
5381 * nat/linux-personality.h: Likewise.
5385 * Makefile.in (ALLDEPFILES): Including common/mingw-strerror.c and
5386 common/posix-strerror.c.
5387 (posix-strerror.o): New rule.
5388 (mingw-strerror.o): Likewise.
5389 * common/common-utils.h (safe_strerror): Move prototype to here,
5391 * common/common.host: New file.
5392 * common/mingw-strerror.c: Likewise.
5393 * common/posix-strerror.c: Likewise.
5394 * configure: Regenerated.
5395 * configure.ac: Source common/common.host. Add variable
5396 common_host_obs to gdb_host_obs.
5397 * contrib/ari/gdb_ari.sh: Mention gdb/common/mingw-strerror.c and
5398 gdb/common/posix-strerror.c when warning about the use of
5400 * mingw-hdep.c (safe_strerror): Remove definition; move it to
5401 common/mingw-strerror.c.
5402 * posix-hdep.c (safe_strerror): Remove definition; move it to
5403 common/posix-hdep.c.
5404 * utils.h (safe_strerror): Remove prototype; move to
5405 common/common-utils.h.
5413 * ada-lang.c (ada_array_bound_from_type): Ignore array's parallel
5414 ___XA type if the array has already been fixed.
5418 * Makefile.in (ppc-linux.o): New rule.
5419 * config/powerpc/ppc64-linux.mh (NATDEPFILES): Add ppc-linux.o.
5420 * configure.ac: AC_CHECK_FUNCS(getauxval).
5421 * config.in: Re-generated.
5422 * configure: Re-generated.
5423 * nat/ppc-linux.h [__powerpc64__] (ppc64_64bit_inferior_p):
5425 * nat/ppc-linux.c: New file.
5426 * ppc-linux-nat.c (ppc_linux_target_wordsize) [__powerpc64__]:
5427 Call ppc64_64bit_inferior_p.
5431 * ppc-linux-nat.c (PT_ORIG_R3, PT_TRAP): Move to
5433 (PPC_FEATURE_CELL, PPC_FEATURE_BOOKE): Likewise.
5434 (PPC_FEATURE_HAS_DFP): Likewise.
5435 (PTRACE_GETVRREGS, PTRACE_SETVRREGS): Likewise.
5436 (PTRACE_GETVSXREGS, PTRACE_SETVSXREGS): Likewise.
5437 (PTRACE_GETEVRREGS, PTRACE_SETEVRREGS): Likewise.
5438 Include "nat/ppc-linux.h".
5439 * nat/ppc-linux.h: New file.
5440 * Makefile.in (HFILES_NO_SRCDIR): Add nat/ppc-linux.h.
5445 * breakpoint.c: Include "interps.h".
5446 (bpstat_do_actions_1): Also check whether the interpreter is
5452 * infrun.c (reinstall_readline_callback_handler_cleanup): Don't
5453 reinstall if the interpreter is sync.
5457 * objfiles.c (objfile_filename): New function.
5458 * objfiles.h (objfile_filename): Declare it.
5459 (objfile_name): Add function comment.
5460 * python/py-objfile.c (objfpy_lookup_objfile_by_name): Try both the
5461 bfd file name (which may be realpath'd), and the original name.
5465 * NEWS: Create a new section for the next release branch.
5466 Rename the section of the current branch, now that it has
5471 GDB 7.9 branch created (92fc2e6978d9a7c8324c7e851dbee59e22ec7a37):
5472 * version.in: Bump version to 7.9.50.DATE-cvs.
5476 * nat/linux-procfs.c (linux_proc_attach_tgid_threads):
5477 Remove trailing new-line in argument of call to warning.
5481 * linux-nat.c (attach_proc_task_lwp_callback): Remove trailing
5482 new-line in argument of call to "warning".
5486 * ada-lang.c (ada_lookup_symbol_nonlocal): If name not found
5487 in static block, then try searching for primitive types.
5491 * top.h (gdb_add_history): Declare.
5492 * top.c (command_count): New variable.
5493 (gdb_add_history): New function.
5494 (gdb_safe_append_history): New static function.
5495 (quit_force): Call it.
5496 (command_line_input): Use gdb_add_history instead of
5498 * event-top.c (command_line_handler): Likewise.
5503 * darwin-nat.c: Replace <machine/setjmp.h> #include by
5504 <setjmp.h> #include.
5508 * dwarf2read.c (compute_delayed_physnames): Use TYPE_FN_FIELD_PHYSNAME.
5513 * NEWS: The "maint demangle" command is renamed as "demangle".
5514 * demangle.c: #include cli/cli-utils.h, language.h.
5515 (demangle_command): New function.
5516 (_initialize_demangle): Add new command "demangle".
5517 * maint.c (maintenance_demangle): Stub out.
5518 (_initialize_maint_cmds): Update help text for "maint demangle",
5519 and mark as deprecated.
5523 * inf-ptrace.c (inf_ptrace_follow_fork): Adjust now that
5524 inferior_thread is a function.
5528 * Makefile.in (.y.c): Don't munge yacc's #line
5533 * utils.c (defaulted_query): Rewrite to use gdb_readline_wrapper
5534 to prompt for input.
5535 * tui/tui-hooks.c (tui_query_hook): Remove.
5536 (tui_install_hooks): Don't set deprecated_query_hook.
5537 * tui/tui-io.c (tui_redisplay_readline): Fix off-by-one error in
5538 height calculation. Always update the command window's cur_line.
5542 * breakpoint.c (hardware_breakpoint_inserted_here_p): New
5544 * breakpoint.h (hardware_breakpoint_inserted_here_p): New
5546 * linux-nat.c (linux_nat_status_is_event): Move higher up in file.
5547 (linux_resume_one_lwp): Store the thread's PC. Adjust to clear
5549 (check_stopped_by_watchpoint): New function.
5550 (save_sigtrap): Reimplement.
5551 (linux_nat_stopped_by_watchpoint): Adjust.
5552 (linux_nat_lp_status_is_event): Delete.
5553 (stop_wait_callback): Only call save_sigtrap after storing the
5555 (status_callback): If the thread had been stopped for a breakpoint
5556 that has since been removed, discard the event and resume the LWP.
5557 (count_events_callback, select_event_lwp_callback): Use
5558 lwp_status_pending_p instead of linux_nat_lp_status_is_event.
5559 (cancel_breakpoint): Rename to ...
5560 (check_stopped_by_breakpoint): ... this. Record whether the LWP
5561 stopped for a software breakpoint or hardware breakpoint.
5562 (select_event_lwp): Only give preference to the stepping LWP in
5563 all-stop mode. Adjust comments.
5564 (stop_and_resume_callback): Remove references to new_pending_p.
5565 (linux_nat_filter_event): Likewise. Leave exit events of the
5566 leader thread pending here. Handle signal short circuiting here.
5567 Only call save_sigtrap after storing the pending waitstatus.
5568 (linux_nat_wait_1): Remove 'retry' label. Remove references to
5569 new_pending. Don't handle leaving events the caller is not
5570 interested in pending here, nor handle signal short-circuiting
5571 here. Also give equal priority to all LWPs that have had events
5572 in non-stop mode. If reporting a software breakpoint event,
5573 unadjust the LWP's PC.
5574 * linux-nat.h (enum lwp_stop_reason): New.
5575 (struct lwp_info) <stop_pc>: New field.
5576 (struct lwp_info) <stopped_by_watchpoint>: Delete field.
5577 (struct lwp_info) <stop_reason>: New field.
5578 * x86-linux-nat.c (x86_linux_prepare_to_resume): Adjust.
5582 * linux-nat.c (linux_handle_extended_wait) <PTRACE_EVENT_EXEC>:
5583 Set the LWP's 'resumed' flag.
5587 * linux-nat.c (linux_resume_one_lwp): New function.
5588 (resume_lwp): Use lwp_status_pending_p and linux_resume_one_lwp.
5589 (linux_nat_resume): Use lwp_status_pending_p and
5590 linux_resume_one_lwp.
5591 (linux_handle_syscall_trap): Use linux_resume_one_lwp.
5592 (linux_handle_extended_wait): Use linux_resume_one_lwp.
5593 (status_callback, running_callback): Use lwp_status_pending_p.
5594 (lwp_status_pending_p): New function.
5595 (stop_and_resume_callback): Use lwp_status_pending_p.
5596 (linux_nat_filter_event): Use linux_resume_one_lwp.
5597 (linux_nat_wait_1): Always use status_callback to look for an LWP
5598 with a pending status. Use linux_resume_one_lwp.
5599 (resume_stopped_resumed_lwps): Use lwp_status_pending_p and
5600 linux_resume_one_lwp.
5604 * breakpoint.c (bp_location_inserted_here_p): New function,
5605 factored out from ...
5606 (breakpoint_inserted_here_p): ... here. Use
5607 ALL_BP_LOCATIONS_AT_ADDR.
5608 (software_breakpoint_inserted_here_p): Use
5609 bp_location_inserted_here_p and ALL_BP_LOCATIONS_AT_ADDR.
5613 Skip enabling event reporting if the kernel supports
5615 * linux-thread-db.c: Include "nat/linux-ptrace.h".
5616 (thread_db_use_events): New function.
5617 (try_thread_db_load_1): Check thread_db_use_events before enabling
5619 (update_thread_state): New function.
5620 (attach_thread): Use it. Check thread_db_use_events before
5621 enabling event reporting.
5622 (thread_db_detach): Check thread_db_use_events before disabling
5624 (find_new_threads_callback): Check thread_db_use_events before
5625 enabling event reporting. Update the thread's state if not using
5626 libthread_db events.
5630 * linux-nat.c (lin_lwp_attach_lwp): Assert that the lwp id we're
5631 about to wait for is > 0.
5632 * linux-thread-db.c (find_new_threads_callback): Ignore thread if
5633 the kernel thread ID is -1.
5637 * linux-nat.c (attach_proc_task_lwp_callback): New function.
5638 (linux_nat_attach): Use linux_proc_attach_tgid_threads.
5639 (wait_lwp, linux_nat_filter_event): If not set yet, set the lwp's
5640 ptrace option flags.
5641 * linux-nat.h (struct lwp_info) <must_set_ptrace_flags>: New
5643 * nat/linux-procfs.c: Include <dirent.h>.
5644 (linux_proc_get_int): New parameter "warn". Handle it.
5645 (linux_proc_get_tgid): Adjust.
5646 (linux_proc_get_tracerpid): Rename to ...
5647 (linux_proc_get_tracerpid_nowarn): ... this.
5648 (linux_proc_pid_get_state): New function, factored out from
5649 (linux_proc_pid_has_state): ... this. Add new parameter "warn"
5651 (linux_proc_pid_is_gone): New function.
5652 (linux_proc_pid_is_stopped): Adjust.
5653 (linux_proc_pid_is_zombie_maybe_warn)
5654 (linux_proc_pid_is_zombie_nowarn): New functions.
5655 (linux_proc_pid_is_zombie): Use
5656 linux_proc_pid_is_zombie_maybe_warn.
5657 (linux_proc_attach_tgid_threads): New function.
5658 * nat/linux-procfs.h (linux_proc_get_tgid): Update comment.
5659 (linux_proc_get_tracerpid): Rename to ...
5660 (linux_proc_get_tracerpid_nowarn): ... this, and update comment.
5661 (linux_proc_pid_is_gone): New declaration.
5662 (linux_proc_pid_is_zombie): Update comment.
5663 (linux_proc_pid_is_zombie_nowarn): New declaration.
5664 (linux_proc_attach_lwp_func): New typedef.
5665 (linux_proc_attach_tgid_threads): New declaration.
5666 * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason): Adjust to
5667 use nowarn functions.
5668 (linux_ptrace_attach_fail_reason_string): Move here from
5669 gdbserver/linux-low.c and rename.
5670 (ptrace_supports_feature): If the current ptrace options are not
5671 known yet, check them now, instead of asserting.
5672 * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason_string):
5677 * linux-thread-db.c (thread_db_find_new_threads_silently)
5678 (try_thread_db_load_1, try_thread_db_load, thread_db_load_search)
5679 (find_new_threads_once): Print debug output on gdb_stdlog.
5684 * compile/compile.c: Include "gdb_wait.h".
5685 (do_rmdir): Check return value, and free 'zap'.
5690 * dwarf2loc.c (indirect_pieced_value): Don't call
5691 gdb_sign_extend. Call extract_signed_integer instead.
5692 * utils.c (gdb_sign_extend): Remove.
5693 * utils.h (gdb_sign_extend): Remove declaration.
5698 * stabsread.c (define_symbol): Set language for C++ special symbols.
5702 * inflow.c (initial_gdb_ttystate): Tweak comment.
5706 * inflow.c (set_initial_gdb_ttystate): Add empty line after
5707 comment documenting function.
5711 * terminal.h (set_initial_gdb_ttystate): Declare.
5712 * inflow.c (initial_gdb_ttystate): New static variable.
5713 (set_initial_gdb_ttystate): New setter.
5714 (child_terminal_init_with_pgrp): Copy initial_gdb_ttystate
5715 instead of our current terminal state.
5716 * top.c (gdb_init): Call set_initial_gdb_ttystate.
5720 * guile/scm-type.c (tyscm_array_1): Add comment.
5721 * python/py-type.c (typy_array_1): Add comment.
5725 * guile/scm-type.c (tyscm_array_1): Do not raise out-of-range
5726 error if N2 is equal to N1 - 1.
5730 * python/py-type.c (typy_array_1): Do not raise negative-length
5731 exception if N2 is equal to N1 - 1.
5735 * c-exp.y: Whitespace cleanup.
5736 (classify_inner_name): Remove extra ;.
5740 * mips-tdep.c (mips32_scan_prologue): Keep the extracted stack
5745 * dwarf2read.c (setup_type_unit_groups): Remove outdated comment.
5749 * symtab.h (struct symbol): Fix typo in comment.
5753 Update year range in copyright notice of all files.
5757 * top.c (print_gdb_version): Update copyright year to 2015.
5761 * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2014.
5763 For older changes see ChangeLog-2014.
5769 version-control: never