3 * infrun.c (print_target_wait_results): Print all the ptid
8 * infrun.c (keep_going): Also discard cleanups if inserting
13 * infrun.c (wait_for_inferior): Install the
14 finish_thread_state_cleanup cleanup across the whole function, not
15 just around handle_inferior_event.
19 * infrun.c (resume) <step past permanent breakpoint>: Use
24 * linux-nat.c (linux_handle_extended_wait): Always call set_running.
28 * MAINTAINERS (Write After Approval): Add "Pierre-Marie de Rodat".
32 * linux-thread-db.c (record_thread): Readd the thread to gdb's
33 list if it was marked exited.
37 * configure: Regenerated.
44 * linux-tdep.c: Include 'gdbcmd.h' and 'gdb_regex.h'.
45 New enum identifying the various options of the coredump_filter
47 (struct smaps_vmflags): New struct.
48 (use_coredump_filter): New variable.
49 (decode_vmflags): New function.
50 (mapping_is_anonymous_p): Likewise.
51 (dump_mapping_p): Likewise.
52 (linux_find_memory_regions_full): New variables
53 'coredumpfilter_name', 'coredumpfilterdata', 'pid', 'filterflags'.
54 Removed variable 'modified'. Read /proc/<PID>/smaps file; improve
55 parsing of its information. Implement memory mapping filtering
56 based on its contents.
57 (show_use_coredump_filter): New function.
58 (_initialize_linux_tdep): New command 'set use-coredump-filter'.
59 * NEWS: Mention the possibility of using the
60 '/proc/PID/coredump_filter' file when generating a corefile.
61 Mention new command 'set use-coredump-filter'.
65 * solib-svr4.c (solib_svr4_r_ldsomap): Catch possible exception by
66 read_memory_unsigned_integer.
70 * Makefile.in (ZLIB): New.
72 (INTERNAL_CFLAGS_BASE): Add $(ZLIBINC).
74 * acinclude.m4: (GDB_AC_CHECK_BFD): Add $zlibdir to LDFLAGS.
76 * gdb_bfd.c: Don't check HAVE_ZLIB_H to include <zlib.h>.
77 * top.c (print_gdb_configuration): Remove --with-zlib and
79 * config.in: Regenerated.
80 * configure: Likewise.
84 * NEWS: Mention info os cpus support.
85 * gdb/nat/linux-osdata.c (linux_xfer_osdata_cpus): New function.
86 (struct osdata_type): Add cpus entry, reorder the entries in
91 * compile/compile.c (compile_to_object): Allow triplets with or
97 * cp-namespace.c (cp_search_static_and_baseclasses): Always look for
102 * remote.c (remote_mourn_1): Remove function. Update all callers
104 (extended_remote_mourn_1): Remove function. Update all callers
105 to use extended_remote_mourn.
106 (extended_remote_attach_1): Remove function. Update all callers
107 to use extended_remote_attach.
111 * Makefile.in (ALL_TARGET_OBS): Add ft32-tdep.o.
112 (HFILES_NO_SRCDIR): Add ft32-tdep.h.
113 (ALLDEPFILES): Add ft32-tdep.c.
114 * configure.tgt: Add FT32 entry.
115 * ft32-tdep.c: New file, FT32 target-dependent code.
116 * ft32-tdep.h: New file, FT32 target-dependent code.
123 * printcmd.c (print_command_1): Move expr variable scope.
127 * dtrace-probe.c (dtrace_process_dof_probe): Initialize expr to NULL.
131 * gdb_bfd.c (gdb_bfd_section_index): Fix off-by-one for special
136 * dtrace-probe.c (dtrace_process_dof_probe): Contain any
137 exception raised while parsing the probe arguments.
138 Force parsing to be done using the C language parser.
139 * expression.h (parse_expression_with_language): Declare.
140 * parse.c (parse_expression_with_language): New function.
144 * MAINTAINERS (Write After Approval): Add "Jon Turney".
149 * dwarf2read.c (struct partial_die_info): Add has_const_value
151 (add_partial_symbol): Don't punt on symbols that have const_value
153 (read_partial_die): Detect DW_AT_const_value.
158 * printcmd.c (print_command_1): Move expr variable scope.
163 * printcmd.c (validate_format): Make the parameter cmdname const.
167 * remote.c (_initialize_remote): Update comment.
172 * coffread.c (coff_symfile_read): When constructing the name of an
173 import stub symbol from import symbol for amd64, only skip the
174 char after _imp_ if the target is underscored (like i386) and the
175 char is indeed the target's leading char.
179 * target.h <to_async>: Replace 'callback' and 'context' parameters
180 with boolean 'enable' parameter.
181 (target_async): Replace CALLBACK and CONTEXT parameters with
182 boolean ENABLE parameter.
183 * inf-loop.c (inferior_event_handler): Adjust.
184 * linux-nat.c (linux_nat_attach, linux_nat_resume)
185 (linux_nat_resume): Adjust.
186 (async_client_callback, async_client_context): Delete.
187 (handle_target_event): Call inferior_event_handler directly.
188 (linux_nat_async): Replace 'callback' and 'context' parameters
189 with boolean 'enable' parameter. Adjust. Remove references to
190 async_client_callback and async_client_context.
191 (linux_nat_close): Adjust.
192 * record-btrace.c (record_btrace_async): Replace 'callback' and
193 'context' parameters with boolean 'enable' parameter. Adjust.
194 (record_btrace_resume): Adjust.
195 * record-full.c (record_full_async): Replace 'callback' and
196 'context' parameters with boolean 'enable' parameter. Adjust.
197 (record_full_resume, record_full_core_resume): Adjust.
198 * remote.c (struct remote_state) <async_client_callback,
199 async_client_context>: Delete fields.
200 (remote_start_remote, extended_remote_attach_1, remote_resume)
201 (extended_remote_create_inferior): Adjust.
202 (remote_async_serial_handler): Call inferior_event_handler
204 (remote_async): Replace 'callback' and 'context' parameters with
205 boolean 'enable' parameter. Adjust.
206 * top.c (gdb_readline_wrapper_cleanup, gdb_readline_wrapper):
208 * target-delegates.c: Regenerate.
213 * target.c (fileio_ft_t): New typedef, define object vector.
214 (fileio_fhandles): New static variable.
215 (is_closed_fileio_fh): New macro.
216 (lowest_closed_fd): New static variable.
217 (acquire_fileio_fd): New function.
218 (release_fileio_fd): Likewise.
219 (fileio_fd_to_fh): New macro.
220 (target_fileio_open): Wrap the file descriptor on success.
221 (target_fileio_pwrite): Updated to use wrapped file descriptor.
222 (target_fileio_pread): Likewise.
223 (target_fileio_close): Likewise.
227 * thread.c (thread_apply_all_command): Take exited threads into
232 * infrun.c (resume, proceed): Mention
233 switch_back_to_stepped_thread, not switch_back_to_stepping.
237 * infrun.c (user_visible_resume_ptid): Rewrite going from
238 most-locked to unlocked instead of the opposite. Move comment ...
239 * infrun.h (user_visible_resume_ptid): ... here.
243 * linux-nat.c (linux_nat_resume): Output debug logs before trying
244 to resume the event lwp. Use the lwp's ptid instead of the passed
245 in (maybe wildcard) ptid.
246 (stop_wait_callback): Tweak debug log output.
247 (check_stopped_by_breakpoint): Tweak debug log output. Also dump
249 (linux_nat_filter_event): In debug output, distinguish a
250 resume_stop SIGSTOP from a delayed SIGSTOP. Output debug logs
251 before trying to resume the lwp.
255 * gdbtypes.h (struct dynamic_prop_list) <prop>: Remove
257 * gdbtypes.c (get_dyn_prop): Adjust, following change above.
258 (add_dyn_prop, copy_dynamic_prop_list): Likewise.
262 * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_DATA_LOCATION>:
263 Renames DYN_ATTR_DATA_LOCATION.
264 (TYPE_DATA_LOCATION): Use DYN_PROP_DATA_LOCATION instead of
265 DYN_ATTR_DATA_LOCATION.
266 * dwarf2read.c (set_die_type): Use DYN_PROP_DATA_LOCATION
267 instead of DYN_ATTR_DATA_LOCATION.
271 * breakpoint.c (until_break_command): Adjust call to proceed.
272 * gdbthread.h (struct thread_control_state) <stepping_command>:
274 * infcall.c (run_inferior_call): Adjust call to proceed.
275 * infcmd.c (run_command_1, proceed_thread_callback, continue_1):
276 Adjust calls to proceed.
277 (set_step_frame): Set the current thread's step_start_function
279 (step_once): Adjust calls to proceed.
280 (jump_command, signal_command, until_next_command)
281 (finish_backward, finish_forward, proceed_after_attach_callback)
282 (attach_command_post_wait): Adjust calls to proceed.
283 * infrun.c (proceed_after_vfork_done): Adjust call to proceed.
284 (do_target_resume): New function, factored out from ...
285 (resume): ... here. Remove 'step' parameter. Instead, check
286 currently_stepping to determine whether the thread should be
288 (proceed): Remove 'step' parameter and don't set the thread's
289 step_start_function here. Adjust call to 'resume'.
290 (handle_inferior_event): Adjust calls to 'resume'.
291 (switch_back_to_stepped_thread): Use do_target_resume instead of
293 (keep_going): Adjust calls to 'resume'.
294 * infrun.h (proceed): Remove 'step' parameter.
296 * windows-nat.c (do_initial_windows_stuff): Adjust call to
298 * mi/mi-main.c (proceed_thread): Adjust call to 'proceed'.
302 * gdbthread.h (struct thread_control_state) <stepping_command>:
304 * infcmd.c (step_once): Pass step=1 to clear_proceed_status. Set
305 the thread's stepping_command field.
306 * infrun.c (resume): Check the thread's stepping_command flag to
307 determine which threads should be resumed. Rename 'entry_step'
309 (clear_proceed_status_thread): Clear 'stepping_command'.
310 (schedlock_applies): Change parameter type to struct thread_info
312 (find_thread_needs_step_over): Remove 'step' parameter. Adjust.
313 (switch_back_to_stepped_thread): Adjust calls to
315 (_initialize_infrun): Adjust "set scheduler-locking step" help.
319 * infrun.c (step_start_function): Delete and ...
320 * gdbthread.h (struct thread_control_state) <step_start_function>:
321 ... now a field here.
322 * infrun.c (clear_proceed_status_thread): Clear the thread's
324 (proceed, process_event_stop_test, print_stop_event): Adjust.
328 * infrun.c (proceed): No longer handle negative step.
332 * nat/x86-linux.h (x86_linux_new_thread): New declaration.
333 (x86_linux_prepare_to_resume): Likewise.
334 * x86-linux-nat.c (x86_linux_new_thread):
335 Moved to nat/x86-linux.c.
336 (x86_linux_prepare_to_resume): Likewise.
337 * nat/x86-linux.c (x86_linux_new_thread): New function.
338 (x86_linux_prepare_to_resume): Likewise.
342 * nat/x86-linux-dregs.h: New file.
343 * nat/x86-linux-dregs.c: Likewise.
344 * Makefile.in (HFILES_NO_SRCDIR): Add nat/x86-linux-dregs.h.
345 (x86-linux-dregs.o): New rule.
346 * config/i386/linux.mh (NATDEPFILES): Add x86-linux-dregs.o.
347 * config/i386/linux64.mh (NATDEPFILES): Likewise.
348 * x86-linux-nat.c: Include nat/x86-linux-dregs.h.
349 (u_debugreg_offset): Moved to nat/x86-linux-dregs.c.
350 (x86_linux_dr_get): Likewise.
351 (x86_linux_dr_set): Likewise.
352 (x86_linux_dr_get_addr): Likewise.
353 (x86_linux_dr_get_control): Likewise.
354 (x86_linux_dr_get_status): Likewise.
355 (update_debug_registers_callback): Likewise.
356 (x86_linux_dr_set_control): Likewise.
357 (x86_linux_dr_set_addr): Likewise.
358 (x86_linux_update_debug_registers): Likewise.
362 * x86-linux-nat.c (x86_linux_update_debug_registers):
363 New function, factored out from...
364 (x86_linux_prepare_to_resume): ...this.
368 * x86-linux-nat.c (x86_linux_dr_get): Update comments.
369 (x86_linux_dr_set): Likewise.
370 (x86_linux_dr_get_addr): Likewise.
371 (x86_linux_dr_get_control): Likewise.
372 (x86_linux_dr_get_status): Likewise.
373 (update_debug_registers_callback): Likewise.
374 (x86_linux_dr_set_control): Likewise.
375 (x86_linux_dr_set_addr): Likewise.
376 (x86_linux_prepare_to_resume): Likewise.
377 (x86_linux_new_thread): Likewise.
381 * x86-linux-nat.c (x86_linux_dr_set_addr): Update assertion.
382 (x86_linux_new_thread): Rename argument.
386 * nat/x86-linux.h: New file.
387 * nat/x86-linux.c: Likewise.
388 * Makefile.in (HFILES_NO_SRCDIR): Add nat/x86-linux.h.
389 (x86-linux.o): New rule.
390 * config/i386/linux.mh (NATDEPFILES): Add x86-linux.o.
391 * config/i386/linux64.mh (NATDEPFILES): Likewise.
392 * nat/linux-nat.h (struct arch_lwp_info): New forward declaration.
393 (lwp_set_arch_private_info): New declaration.
394 (lwp_arch_private_info): Likewise.
395 * linux-nat.c (lwp_set_arch_private_info): New function.
396 (lwp_arch_private_info): Likewise.
397 * x86-linux-nat.c: Include nat/x86-linux.h.
398 (arch_lwp_info): Removed structure.
399 (update_debug_registers_callback):
400 Use lwp_set_debug_registers_changed.
401 (x86_linux_prepare_to_resume): Use lwp_debug_registers_changed
402 and lwp_set_debug_registers_changed.
403 (x86_linux_new_thread): Use lwp_set_debug_registers_changed.
407 * nat/linux-nat.h (ptid_of_lwp): New declaration.
408 (lwp_is_stopped): Likewise.
409 (lwp_stop_reason): Likewise.
410 * linux-nat.c (ptid_of_lwp): New function.
411 (lwp_is_stopped): Likewise.
412 (lwp_is_stopped_by_watchpoint): Likewise.
413 * x86-linux-nat.c (update_debug_registers_callback):
415 (x86_linux_prepare_to_resume): Use ptid_of_lwp and
420 * linux-nat.h (linux_stop_lwp): Move declaration to...
421 * nat/linux-nat.h (linux_stop_lwp): New declaration.
425 * linux-nat.h: Include nat/linux-nat.h.
426 (iterate_over_lwps): Move declaration to nat/linux-nat.h.
427 * nat/linux-nat.h (struct lwp_info): New forward declaration.
428 (iterate_over_lwps_ftype): New typedef.
429 (iterate_over_lwps): New declaration.
430 * linux-nat.h (iterate_over_lwps): Update comment. Use
431 iterate_over_lwps_ftype. Update callback return value check.
435 * x86-nat.h (x86_debug_reg_state): Move declaration to...
436 * nat/x86-dregs.h (x86_debug_reg_state): New declaration.
440 * nat/linux-nat.h (current_lwp_ptid): New declaration.
441 * linux-nat.c (current_lwp_ptid): New function.
442 * x86-linux-nat.c: Include nat/linux-nat.h.
443 (x86_linux_dr_get_addr): Use current_lwp_ptid.
444 (x86_linux_dr_get_control): Likewise.
445 (x86_linux_dr_get_status): Likewise.
446 (x86_linux_dr_set_control): Likewise.
447 (x86_linux_dr_set_addr): Likewise.
452 * breakpoint.c (create_breakpoint): Set thread on breakpoint struct.
456 * ser-mingw.c (ser_windows_setparity): Fix indentation.
457 * ser-unix.c (hardwire_setparity): Likewise.
461 * NEWS: Mention set/show serial parity command.
462 * monitor.c (monitor_open): Call serial_setparity.
463 * remote.c (remote_open_1): Likewise.
464 * ser-base.c (ser_base_serparity): New function.
465 * ser-base.h (ser_base_setparity): Add declaration.
466 * ser-go32.c (dos_ops): Set "setparity" field.
467 * ser-mingw.c (ser_windows_raw): Do not set state.fParity and
469 (ser_windows_setparity): New function.
470 (hardwire_ops): Add ser_windows_setparity.
471 (tty_ops): Add NULL for setparity field.
472 (pipe_ops): Add ser_base_setparity.
474 * ser-pipe.c (pipe_ops): Likewise.
475 * ser-tcp.c (tcp_ops): Likewise.
476 * ser-unix.c (hardwire_setparity): Add declaration.
477 (hardwire_raw): Don't reset PARENB flag.
478 (hardwire_setparity): New function.
479 (hardwire_ops): Add hardwire_setparity.
480 * serial.c (serial_setparity): New function.
481 (serial_parity): New global.
482 (parity_none, parity_odd, parity_even, parity_enums, parity):
484 (set_parity): New function.
485 (_initialize_serial): Add set/show serial parity commands.
486 * serial.h (GDBPARITY_NONE): Define.
487 (GDBPARITY_ODD): Define.
488 (GDBPARITY_EVEN): Define.
489 (serial_setparity) Add declaration.
490 (struct serial_ops): Add setparity field.
491 * target.h (serial_parity): Add declaration.
495 * linespec.c (linespec_lexer_lex_keyword): Update comment.
499 * breakpoint.c (parse_breakpoint_sals): Use
500 linespec_lexer_lex_keyword to ascertain if the user specified
502 * linespec.c [IF_KEYWORD_INDEX]: Define.
503 (linespec_lexer_lex_keyword): Export.
504 (struct ls_parser) <keyword_ok>: Remove.
505 A keyword is only a keyword if not followed by another keyword.
506 (linespec_lexer_lex_one): Remove keyword_ok handling.
507 Add comment explaining why the parsing stream is not advanced
508 when a keyword is seen.
509 (parse_linespec): Remove parser->keyword_ok.
510 * linespec.h (linespec_lexer_lex_keyword): Add declaration.
515 * dwarf2read.c (dwarf2_add_member_fn): Issue a complaint
516 if we find a static method with DW_AT_vtable_elem_location.
520 * tui/tui-io.c (tui_expand_tabs): Reinitialize the column counter
521 before the second loop, to avoid undefined behavior. Reported by
526 * gdbtypes.c (resolve_dynamic_type_internal): Adapt
527 data_location usage to linked list.
528 (resolve_dynamic_type_internal): Adapt data_location to
530 (get_dyn_prop, add_dyn_prop, copy_dynamic_prop_list): New function.
531 (copy_type_recursive, copy_type): Add copy of linked list.
532 * gdbtypes.h (enum dynamic_prop_node_kind): New enum.
533 (struct dynamic_prop_list): New struct.
534 * dwarf2read.c (set_die_type): Set data_location data.
538 * i386-sol2-tdep.c (i386_sol2_static_transform_name): Move "p" to
539 inner block and make it const.
540 * machoread.c (get_archive_prefix_len): Make "lparen" const.
544 * breakpoint.c (set_breakpoint_condition): Make argument "exp" const.
545 * breakpoint.h (set_breakpoint_condition): Update declaration.
549 * tui/tui-io.c (tui_expand_tabs): Make "s1" const.
553 * xcoffread.c (scan_xcoff_symtab): Make "p" and "q" const.
557 * remote-m32r-sdi.c (m32r_open): Make "port_str" const.
561 * nto-tdep.c (nto_find_and_open_solib): Make "endian" const.
562 (nto_init_solib_absolute_prefix): Likewise.
566 * sparc-sol2-tdep.c (sparc_sol2_static_transform_name): Make "p" const.
567 * spu-tdep.c (spu_gdbarch_init): Make "name" const.
571 * config/djgpp/README: Remove gdb.hp.
575 * aarch64-tdep.c (aarch64_gdbarch_init): Don't call
576 set_gdbarch_cannot_step_breakpoint.
580 * linux-nat.c (linux_resume_one_lwp): Rename to ...
581 (linux_resume_one_lwp_throw): ... this. Don't handle ESRCH here,
582 instead call perror_with_name.
583 (check_ptrace_stopped_lwp_gone): New function.
584 (linux_resume_one_lwp): Reimplement as wrapper around
585 linux_resume_one_lwp_throw that swallows errors if the LWP is
587 (resume_stopped_resumed_lwps): Try register reads in TRY/CATCH and
588 swallows errors if the LWP is gone. Use
589 linux_resume_one_lwp_throw instead of linux_resume_one_lwp.
593 * linux-nat.c (status_callback): Return early if the LWP has no
598 * linux-nat.c (select_event_lwp_callback): Update comment to no
599 longer mention SIGTRAP.
603 * amd64-windows-tdep.c (amd64_windows_find_unwind_info): Move
604 redirection code to ...
605 (amd64_windows_frame_decode_insns): ... Here. Fix in prologue
606 checks. Fix SAVE_NONVOL operations. Add debug code and comments.
610 (remote_protocol_features): Remove the "vFile:fstat" feature.
611 (remote_hostio_fstat): Probe for "vFile:fstat" support.
616 * aarch64-linux-tdep.c: Include xml-syscall.h
617 (aarch64_linux_get_syscall_number): New function.
618 (aarch64_linux_init_abi): Call
619 set_gdbarch_get_syscall_number.
620 * syscalls/aarch64-linux.xml: New file.
624 * ser-base.h (ser_base_setstopbits): Change second argument name
625 from "rate" to "num".
631 * common/common-remote-fileio.h (sys/stat.h): New include.
632 (stuct stat): Remove forward declaration.
636 * fbsd-tdep.c (fbsd_make_corefile_notes): Fetch all target registers
637 before writing core register notes.
642 * gdb_curses.h (tgetnum): Mark with EXTERN_C.
643 * stub-termcap.c (tgetent, tgetnum, tgetflag, tgetstr, tputs)
644 (tgoto): Wrap with extern "C".
649 * stub-termcap.c (tputs): Change prototype.
654 * windows-nat.c (struct thread_info_struct): Rename to ...
655 (struct windows_thread_info_struct): ... this.
656 (thread_info): Rename to ...
657 (windows_thread_info): ... this.
663 * NEWS: New Removed targets and native configurations.
668 * Makefile.in (ALL_64_TARGET_OBS): Remove ia64-hpux-tdep.o.
669 (ALL_TARGET_OBS): Remove hppa-hpux-tdep.o, solib-som.o and solib-pa64.o.
670 (HFILES_NO_SRCDIR): Remove solib-som.h, inf-ttrace.h, solib-pa64.h and
671 ia64-hpux-tdep.h, solib-ia64-hpux.h.
672 (ALLDEPFILES): Remove hppa-hpux-tdep.c, hppa-hpux-nat.c,
673 ia64-hpux-nat.c, ia64-hpux-tdep.c, somread.c and solib-som.c.
674 * config/djgpp/fnchange.lst: Remove hppa-hpux-nat.c and
676 * config/ia64/hpux.mh: Remove file.
677 * config/pa/hpux.mh: Remove file.
678 * configure: Rebuilt.
679 * configure.ac (dlgetmodinfo, somread.o): Remove.
680 * configure.host (hppa*-*-hpux*, ia64-*-hpux*): Make them obsolete.
681 (ia64-*-hpux*): Remove its float format exception.
682 * configure.tgt (hppa*-*-hpux*, ia64-*-hpux*): Make them obsolete.
683 * hppa-hpux-nat.c: Remove file.
684 * hppa-hpux-tdep.c: Remove file.
685 * hppa-tdep.c (struct hppa_unwind_info, struct hppa_objfile_private):
686 Move them here from hppa-tdep.h
687 (hppa_objfile_priv_data, hppa_init_objfile_priv_data): Make it static.
688 (hppa_frame_prev_register_helper): Remove HPPA_FLAGS_REGNUM exception.
689 * hppa-tdep.h (struct hppa_unwind_info, struct hppa_objfile_private):
690 Move them to hppa-tdep.c.
691 (hppa_objfile_priv_data, hppa_init_objfile_priv_data): Remove
693 * ia64-hpux-nat.c: Remove file.
694 * ia64-hpux-tdep.c: Remove file.
695 * ia64-hpux-tdep.h: Remove file.
696 * inf-ttrace.c: Remove file.
697 * inf-ttrace.h: Remove file.
698 * solib-ia64-hpux.c: Remove file.
699 * solib-ia64-hpux.h: Remove file.
700 * solib-pa64.c: Remove file.
701 * solib-pa64.h: Remove file.
702 * solib-som.c: Remove file.
703 * solib-som.h: Remove file.
704 * somread.c: Remove file.
708 * configure.ac: AC_SEARCH_LIBS(kinfo_getvmmap, util).
709 * config.in: Regenerate.
710 * configure: Regenerate.
711 * fbsd-nat.c [!HAVE_KINFO_GETVMMAP] (fbsd_read_mapping): Don't
713 (fbsd_find_memory_regions): Use kinfo_getvmmap to
714 enumerate memory regions if present.
718 * amd64fbsd-tdep.c (amd64fbsd_sigtramp_p): Style fixes.
719 * i386fbsd-tdep.c: Fix style in various gdb_static_assert
721 (i386fbsd_sigtramp_p): Likewise.
725 * MAINTAINERS (Write After Approval): Add John Baldwin.
729 * solib.c (_initialize_solib): Make "set/show sysroot" use
730 add_setshow_optional_filename_cmd so it can be restored to
731 empty after being set.
735 * Makefile.in (SFILES): New source break-catch-syscall.c.
736 (COMMON_OBS): New object break-catch-syscall.o.
737 * break-catch-syscall.c: New file.
738 * breakpoint.c: Remove inclusion of "xml-syscall.h".
739 (syscall_catchpoint_p): Move declaration to break-catch-syscall.c
740 (struct syscall_catchpoint): Likewise.
741 (dtor_catch_syscall): Likewise.
742 (catch_syscall_inferior_data): Likewise.
743 (struct catch_syscall_inferior_data): Likewise.
744 (get_catch_syscall_inferior_data): Likewise.
745 (catch_syscall_inferior_data_cleanup): Likewise.
746 (insert_catch_syscall): Likewise.
747 (remove_catch_syscall): Likewise.
748 (breakpoint_hit_catch_syscall): Likewise.
749 (print_it_catch_syscall): Likewise.
750 (print_one_catch_syscall): Likewise.
751 (print_mention_catch_syscall): Likewise.
752 (print_recreate_catch_syscall): Likewise.
753 (catch_syscall_breakpoint_ops): Likewise.
754 (syscall_catchpoint_p): Likewise.
755 (create_syscall_event_catchpoint): Likewise.
756 (catch_syscall_split_args): Likewise.
757 (catch_syscall_command_1): Likewise.
758 (is_syscall_catchpoint_enabled): Likewise.
759 (catch_syscall_enabled): Likewise.
760 (catching_syscall_number): Likewise.
761 (catch_syscall_completer): Likewise.
762 (clear_syscall_counts): Likewise.
763 (initialize_breakpoint_ops): Move initialization of syscall
764 catchpoints to break-catch-syscall.c.
765 (_initialize_breakpoint): Move code related to syscall catchpoints
766 to break-catch-syscall.c.
770 * breakpoint.c (breakpoint_find_if): New function.
771 * breakpoint.h (breakpoint_find_if): New prototype.
775 * remote-fileio.h (remote_fileio_to_host_stat): New declaration.
776 * remote-fileio.c (remote_fileio_to_host_uint): New function.
777 (remote_fileio_to_host_ulong): Likewise.
778 (remote_fileio_to_host_mode): Likewise.
779 (remote_fileio_to_host_time): Likewise.
780 (remote_fileio_to_host_stat): Likewise.
781 * remote.c (PACKET_vFile_fstat): New enum value.
782 (remote_protocol_features): Register the "vFile:fstat" feature.
783 (remote_hostio_fstat): New function.
784 (remote_bfd_iovec_stat): Use the above.
785 (_initialize_remote): Register new "set/show remote
786 hostio-fstat-packet" command.
787 * symfile.c (separate_debug_file_exists): Update comment.
788 * NEWS: Announce new vFile:fstat packet.
792 * common/common-remote-fileio.h: New file.
793 * common/common-remote-fileio.c: Likewise.
794 * Makefile.in (SFILES): Add common/common-remote-fileio.c.
795 (HFILES_NO_SRCDIR): Add common/common-remote-fileio.h.
796 (COMMON_OBS): Add common-remote-fileio.o.
797 (common-remote-fileio.o): New rule.
798 * remote-fileio.h (common-remote-fileio.h): New include.
799 * remote-fileio.c (gdb/fileio.h): Do not include.
800 (remote_fileio_to_be): Moved to common-remote-fileio.h.
801 (remote_fileio_to_fio_uint): Likewise.
802 (remote_fileio_to_fio_time): Likewise.
803 (remote_fileio_mode_to_target): Moved to common-remote-fileio.c.
804 (remote_fileio_to_fio_mode): Likewise.
805 (remote_fileio_to_fio_ulong): Likewise.
806 (remote_fileio_to_fio_stat): Likewise.
810 * guile/scm-value.c (gdbscm_value_dynamic_type): Fix typo in which
811 we were checking the cached type, not the cached dynamic type.
815 * guile/scm-cmd.c (cmdscm_destroyer): Don't xfree the name and
816 other strings, as these are on the GC'd heap, and will be
817 collected along with the smob.
821 * guile/scm-objfile.c (gdbscm_objfile_progspace): New function.
822 (objfile_functions): Bind gdbscm_objfile_progspace to
824 * guile/lib/gdb.scm: Add objfile-progspace to exports.
828 * guile/guile.c (_initialize_guile): Disable automatic
829 finalization, if Guile offers us that possibility.
830 * guile/guile.c (call_initialize_gdb_module):
831 * guile/scm-safe-call.c (gdbscm_with_catch): Arrange to run
832 finalizers in appropriate places.
833 * configure.ac (AC_TRY_LIBGUILE): Add a check for
834 scm_set_automatic_finalization_enabled.
835 * configure: Regenerated.
839 * s390-linux-tdep.c (s390_skip_prologue): Skip the prologue using
844 * s390-linux-nat.c (struct arch_lwp_info): New.
845 (s390_fix_watch_points): Rename to...
846 (s390_prepare_to_resume): ...this. Skip the PER info update
847 unless the watch points have changed.
848 (s390_refresh_per_info, s390_new_thread): New functions.
849 (s390_insert_watchpoint): Call s390_refresh_per_info instead of
850 s390_fix_watch_points.
851 (s390_remove_watchpoint): Likewise.
852 (_initialize_s390_nat): Reflect renaming of s390_fix_watch_points.
853 Register s390_prepare_to_resume.
859 * common/gdb_socket.h: New file.
860 * ser-tcp.c: Include gdb_socket.h. Don't include netinet/in.h nor
862 (net_open): Use union gdb_sockaddr_u.
866 * configure.ac (build_warnings): Move -Wmissing-prototypes
867 -Wdeclaration-after-statement -Wmissing-parameter-type
868 -Wold-style-declaration -Wold-style-definition to the C-specific
870 * configure: Regenerate.
874 * common/gdb_socket.h: New file.
875 * ser-tcp.c: Include gdb_socket.h. Don't include netinet/in.h nor
877 (net_open): Use union gdb_sockaddr_u.
881 * common/common-exceptions.c [!__cplusplus] (enum catcher_state)
882 (exceptions_state_mc_action_iter)
883 (exceptions_state_mc_action_iter_1, exceptions_state_mc_catch):
885 [__cplusplus] (try_scope_depth): New global.
886 [__cplusplus] (exception_try_scope_entry)
887 (exception_try_scope_exit, gdb_exception_sliced_copy)
888 (exception_rethrow): New functions.
889 (throw_exception): In C++ mode, throw
890 gdb_exception_RETURN_MASK_QUIT for RETURN_QUIT and
891 gdb_exception_RETURN_MASK_ERROR for RETURN_ERROR.
892 (throw_it): In C++ mode, use try_scope_depth.
893 * common/common-exceptions.h [!__cplusplus]
894 (exceptions_state_mc_action_iter)
895 (exceptions_state_mc_action_iter_1, exceptions_state_mc_catch):
897 [__cplusplus] (exception_try_scope_entry)
898 (exception_try_scope_exit, exception_rethrow): Declare.
899 [__cplusplus] (struct exception_try_scope): New struct.
900 [__cplusplus] (TRY, CATCH, END_CATCH): Reimplement on top of real
902 (struct gdb_exception_RETURN_MASK_ALL)
903 (struct gdb_exception_RETURN_MASK_ERROR)
904 (struct gdb_exception_RETURN_MASK_QUIT): New types.
908 * main.c (handle_command_errors): Remove volatile qualifier from
913 * breakpoint.c (save_breakpoints): Adjust to avoid code between
915 * gdbtypes.c (safe_parse_type): Remove empty line.
916 (types_deeply_equal):
917 * guile/scm-frame.c (gdbscm_frame_name):
918 * linux-thread-db.c (find_new_threads_once):
919 * python/py-breakpoint.c (bppy_get_commands):
920 * record-btrace.c (record_btrace_insert_breakpoint)
921 (record_btrace_remove_breakpoint, record_btrace_start_replaying)
922 (record_btrace_start_replaying): Adjust to avoid code between TRY
927 * common/common-exceptions.c (struct catcher) <exception>: No
928 longer a pointer to volatile exception. Now an exception value.
929 <mask>: Delete field.
930 (exceptions_state_mc_init): Remove all parameters. Adjust.
931 (exceptions_state_mc): No longer pop the catcher here.
932 (exceptions_state_mc_catch): New function.
933 (throw_exception): Adjust.
934 * common/common-exceptions.h (exceptions_state_mc_init): Remove
936 (exceptions_state_mc_catch): Declare.
937 (TRY_CATCH): Rename to ...
938 (TRY): ... this. Remove EXCEPTION and MASK parameters.
939 (CATCH, END_CATCH): New.
940 All callers adjusted.
944 * top.c (quit_force): Inline and delete DO_TRY, DO_PRINT_EX.
948 * amd64-tdep.c (amd64_frame_cache, amd64_sigtramp_frame_cache)
949 (amd64_epilogue_frame_cache): Normal exception handling code.
950 * break-catch-throw.c (check_status_exception_catchpoint)
951 (re_set_exception_catchpoint): Ditto.
952 * cli/cli-interp.c (safe_execute_command):
953 * cli/cli-script.c (script_from_file): Ditto.
954 * compile/compile-c-symbols.c (generate_c_for_for_one_variable):
956 * compile/compile-object-run.c (compile_object_run): Ditto.
957 * cp-abi.c (baseclass_offset): Ditto.
958 * cp-valprint.c (cp_print_value): Ditto.
959 * exceptions.c (catch_exceptions_with_msg):
960 * frame-unwind.c (frame_unwind_try_unwinder): Ditto.
961 * frame.c (get_frame_address_in_block_if_available): Ditto.
962 * i386-tdep.c (i386_frame_cache, i386_epilogue_frame_cache)
963 (i386_sigtramp_frame_cache): Ditto.
964 * infcmd.c (post_create_inferior): Ditto.
965 * linespec.c (parse_linespec, find_linespec_symbols):
966 * p-valprint.c (pascal_object_print_value): Ditto.
967 * parse.c (parse_expression_for_completion): Ditto.
968 * python/py-finishbreakpoint.c (bpfinishpy_init): Ditto.
969 * remote.c (remote_get_noisy_reply): Ditto.
970 * s390-linux-tdep.c (s390_frame_unwind_cache): Ditto.
971 * solib-svr4.c (solib_svr4_r_map): Ditto.
975 * common/common-utils.h (startswith): New inline function.
976 All places where this logic was used updated to use the above.
981 * mem-break.c (default_memory_insert_breakpoint): Set shadow_len
982 after reading the breakpoint's shadow memory.
986 * hppabsd-nat.c: Remove file.
987 * hppaobsd-nat.c: New file.
988 * Makefile.in (ALLDEPFILES): Remove hppabsd-nat.c. Add
990 * config/pa/obsd.mh (NATDEPFILES): Replace hppabsd-nat.o with
995 * target.h (struct target_ops) <to_decr_pc_after_break>: Delete.
996 (target_decr_pc_after_break): Delete declaration.
997 * target.c (default_target_decr_pc_after_break)
998 (target_decr_pc_after_break): Delete.
999 * linux-nat.c (check_stopped_by_breakpoint, linux_nat_wait_1): Use
1000 gdbarch_decr_pc_after_break instead of target_decr_pc_after_break.
1001 * linux-thread-db.c (check_event): Likewise.
1002 * infrun.c (adjust_pc_after_break): Likewise.
1003 * darwin-nat.c (cancel_breakpoint): Likewise.
1004 * aix-thread.c (aix_thread_wait): Likewise.
1005 * target-delegates.c: Regenerate.
1009 * linux-nat.c (save_sigtrap): Check for breakpoints before
1010 checking watchpoints.
1011 (status_callback) [USE_SIGTRAP_SIGINFO]: Don't check whether a
1012 breakpoint is inserted if relying on SIGTRAP's siginfo.si_code.
1013 (check_stopped_by_breakpoint) [USE_SIGTRAP_SIGINFO]: Decide whether
1014 a breakpoint triggered based on the SIGTRAP's siginfo.si_code.
1015 (linux_nat_stopped_by_sw_breakpoint)
1016 (linux_nat_supports_stopped_by_sw_breakpoint)
1017 (linux_nat_stopped_by_hw_breakpoint)
1018 (linux_nat_supports_stopped_by_hw_breakpoint): New functions.
1019 (linux_nat_wait_1): Don't re-increment the PC if relying on
1020 SIGTRAP's siginfo->si_code.
1021 (linux_nat_add_target): Install new target methods.
1022 * linux-thread-db.c (check_event): Don't account for breakpoint PC
1023 offset if the target already adjusted the PC.
1024 * nat/linux-ptrace.h (USE_SIGTRAP_SIGINFO): New.
1025 (GDB_ARCH_TRAP_BRKPT): New.
1026 (TRAP_HWBKPT): Define if not already defined.
1030 * NEWS: Mention the new "swbreak" and "hwbreak" stop reasons.
1031 * remote.c (struct remote_state) <remote_stopped_by_watchpoint_p>:
1033 <stop_reason>: New field.
1034 (PACKET_swbreak_feature, PACKET_hwbreak_feature): New enum values.
1035 (packet_set_cmd_state): New function.
1036 (remote_protocol_features): Register the "swbreak" and "hwbreak"
1038 (remote_query_supported): If not disabled with the corresponding
1039 "set remote foo-packet" command, report support for the swbreak
1040 and hwbreak features.
1041 (struct stop_reply) <remote_stopped_by_watchpoint_p>: Delete
1043 <stop_reason>: New field.
1044 (remote_parse_stop_reply): Handle "swbreak" and "hwbreak".
1045 (remote_wait_as): Adjust.
1046 (remote_stopped_by_sw_breakpoint)
1047 (remote_supports_stopped_by_sw_breakpoint)
1048 (remote_stopped_by_hw_breakpoint)
1049 (remote_supports_stopped_by_hw_breakpoint): New functions.
1050 (remote_stopped_by_watchpoint): New function.
1051 (init_remote_ops): Install them.
1052 (_initialize_remote): Register new "set/show remote
1053 swbreak-feature-packet" and "set/show remote
1054 swbreak-feature-packet" commands.
1058 * btrace.h: Include target/waitstatus.h.
1059 (struct btrace_thread_info) <stop_reason>: New field.
1060 * record-btrace.c (record_btrace_step_thread): Use
1061 record_check_stopped_by_breakpoint instead of breakpoint_here_p.
1062 (record_btrace_decr_pc_after_break): Delete.
1063 (record_btrace_stopped_by_sw_breakpoint)
1064 (record_btrace_supports_stopped_by_sw_breakpoint)
1065 (record_btrace_stopped_by_hw_breakpoint)
1066 (record_btrace_supports_stopped_by_hw_breakpoint): New functions.
1067 (init_record_btrace_ops): Install them.
1068 * record-full.c (record_full_hw_watchpoint): Delete and replace
1070 (record_full_stop_reason): ... this throughout.
1071 (record_full_exec_insn): Adjust.
1072 (record_full_wait_1): Adjust. No longer re-increment the PC.
1073 (record_full_wait_1): Adjust. Use
1074 record_check_stopped_by_breakpoint instead of breakpoint_here_p.
1075 (record_full_stopped_by_watchpoint): Adjust.
1076 (record_full_stopped_by_sw_breakpoint)
1077 (record_full_supports_stopped_by_sw_breakpoint)
1078 (record_full_supports_stopped_by_sw_breakpoint)
1079 (record_full_stopped_by_hw_breakpoint)
1080 (record_full_supports_stopped_by_hw_breakpoint): New functions.
1081 (init_record_full_ops, init_record_full_core_ops): Install them.
1082 * record.c (record_check_stopped_by_breakpoint): New function.
1083 * record.h: Include target/waitstatus.h.
1084 (record_check_stopped_by_breakpoint): New declaration.
1088 enum lwp_stop_reason -> enum target_stop_reason
1089 * linux-nat.c (linux_resume_one_lwp, check_stopped_by_watchpoint)
1090 (linux_nat_stopped_by_watchpoint, status_callback)
1091 (linux_nat_wait_1): Adjust.
1092 * linux-nat.h (enum lwp_stop_reason): Delete.
1093 (struct lwp_info) <stop_reason>: Now an enum target_stop_reason.
1094 * x86-linux-nat.c (x86_linux_prepare_to_resume): Adjust.
1095 * target/waitstatus.h (enum target_stop_reason): New.
1099 * breakpoint.c (need_moribund_for_location_type): New function.
1100 (bpstat_stop_status): Don't skipping checking moribund locations
1101 of breakpoint types which the target tell caused a stop.
1102 (program_breakpoint_here_p): New function, factored out from ...
1103 (bp_loc_is_permanent): ... this.
1104 (update_global_location_list): Don't create a moribund location if
1105 the target supports reporting stops of the type of the removed
1107 * breakpoint.h (program_breakpoint_here_p): New declaration.
1108 * infrun.c (adjust_pc_after_break): Return early if the target has
1109 already adjusted the PC. Add comments.
1110 (handle_signal_stop): If nothing explains a signal, and the target
1111 tells us the stop was caused by a software breakpoint, check if
1112 there's a breakpoint instruction in the memory. If so, adjust the
1113 PC before presenting the stop to the user. Otherwise, ignore the
1114 trap. If nothing explains a signal, and the target tells us the
1115 stop was caused by a hardware breakpoint, ignore the trap.
1116 * target.h (struct target_ops) <to_stopped_by_sw_breakpoint,
1117 to_supports_stopped_by_sw_breakpoint, to_stopped_by_hw_breakpoint,
1118 to_supports_stopped_by_hw_breakpoint>: New fields.
1119 (target_stopped_by_sw_breakpoint)
1120 (target_supports_stopped_by_sw_breakpoint)
1121 (target_stopped_by_hw_breakpoint)
1122 (target_supports_stopped_by_hw_breakpoint): Define.
1123 * target-delegates.c: Regenerate.
1127 * infrun.c (follow_fork_inferior): Use the whole of the
1128 inferior_ptid and pending_follow.related_pid ptids instead of
1129 building ptids from the process components. Adjust verbose output
1130 to use target_pid_to_str.
1131 * linux-nat.c (linux_child_follow_fork): Use the whole of the
1132 inferior_ptid and pending_follow.related_pid ptids instead of
1133 building ptids from the process components.
1137 * inf-ptrace.c [PT_GET_PROCESS_STATE]
1138 (inf_ptrace_insert_fork_catchpoint): New function.
1139 (inf_ptrace_remove_fork_catchpoint): New function.
1140 (inf_ptrace_target) [PT_GET_PROCESS_STATE]: Install them.
1144 * s390-linux-tdep.c (s390_register_name): Return empty string
1145 instead of NULL for registers that shouldn't be visible.
1149 * s390-linux-tdep.c (s390_gdbarch_init): Use the correct syscall
1150 XML file for 64-bit targets.
1154 * target.h (find_default_create_inferior): Remove declaration.
1155 (find_default_attach): Likewise.
1159 * inf-ptrace.c (inf_ptrace_resume): Remove spurious whitespace.
1160 Use ptid_get_pid to get the overall process id when resuming all
1165 * i386-linux-nat.c (i386_linux_resume): Get the ptrace PID out of
1166 the lwp field of ptid. Pass the full ptid to get_thread_regcache.
1167 * inf-ptrace.c (get_ptrace_pid): New function.
1168 (inf_ptrace_resume): Use it.
1169 * linux-nat.c (linux_resume_one_lwp): Pass the LWP's ptid ummodified
1174 * nat/linux-btrace.c: Include sys/utsname.h.
1175 (linux_determine_kernel_ptr_bits): New.
1176 (linux_enable_bts): Call linux_determine_kernel_ptr_bits.
1177 * x86-linux-nat.c (x86_linux_enable_btrace): Do not overwrite non-zero
1182 * btrace.c (ftrace_update_function): Treat return as tailcall for
1183 "_dl_runtime_resolve".
1187 * btrace.h (btrace_function) <lbegin, lend>: Remove.
1188 * btrace.c (ftrace_debug): Do not print the line range.
1189 (ftrace_skip_file, ftrace_update_lines): Remove.
1190 (ftrace_new_function): Remove lbegin and lend initialization.
1191 (btrace_compute_ftrace_bts): Remove call to ftrace_update_lines.
1192 * record-btrace.c (btrace_compute_src_line_range): New.
1193 (btrace_call_history_src_line): Call btrace_compute_src_line_range.
1197 * infrun.c (follow_exec): Delete all threads of the process except
1198 the event thread. Extended comments.
1202 * contrib/ari/gdb_ari.sh: Reinstate checks for "true" and "false".
1206 * utils.h: Remove <stdbool.h> #include.
1207 (producer_is_gcc): Change return type to "int".
1208 * utils.c (producer_is_gcc): Change return type to int.
1209 Return 1 instead of true, and 0 instead of false.
1210 Adjust function documentation accordingly.
1214 * s390-linux-nat.c (have_regset_vxrs): New static variable.
1215 (s390_linux_fetch_inferior_registers): Handle vector registers, if
1217 (s390_linux_store_inferior_registers): Likewise.
1218 (s390_get_hwcap): Remove function. Embed its logic...
1219 (s390_read_description): ...here. Yield a target description with
1220 vector registers if applicable.
1221 * s390-linux-tdep.c: Include "features/s390-vx-linux64.c",
1222 "features/s390-tevx-linux64.c", "features/s390x-vx-linux64.c", and
1223 "features/s390x-tevx-linux64.c".
1224 (struct gdbarch_tdep) <v0_full_regnum>: New field.
1225 (s390_dwarf_regmap): Add vector registers. Remove bogus entries
1226 for "GNU/Linux-specific registers".
1227 (s390_dwarf_reg_r0l): New enum value.
1228 (s390_dwarf_reg_to_regnum): Support vector registers.
1229 (s390_adjust_frame_regnum): Adjust pseudo DWARF register numbers
1230 of GPR lower halves.
1231 (regnum_is_vxr_full): New function.
1232 (s390_register_name): New function.
1233 (s390_pseudo_register_name): Handle v0-v15, which are composed of
1234 f0-f15 and v0l-v15l.
1235 (s390_pseudo_register_type): Likewise.
1236 (s390_pseudo_register_read): Likewise.
1237 (s390_pseudo_register_write): Likewise.
1238 (s390_value_from_register): Account for the fact that values are
1239 placed left-justified in vector registers.
1240 (s390_pseudo_register_reggroup_p): Add pseudo registers v0-v15 to
1241 the vector reggroup and omit them from the general reggroup.
1242 (s390_regmap_vxrs_low, s390_regmap_vxrs_high): New register maps.
1243 (s390_vxrs_low_regset, s390_vxrs_high_regset): New regsets.
1244 (s390_iterate_over_regset_sections): Add iterations for the two
1246 (s390_core_read_description): Yield a target description with
1247 vector registers if applicable.
1248 (s390_gdbarch_init): Handle target descriptions with vector
1249 registers. Add "register_name" gdbarch method.
1250 (_initialize_s390_tdep): Call new tdesc initialization functions.
1251 * s390-linux-tdep.h (HWCAP_S390_VX): New macro.
1252 (S390_V0_LOWER_REGNUM, S390_V1_LOWER_REGNUM, S390_V2_LOWER_REGNUM)
1253 (S390_V3_LOWER_REGNUM, S390_V4_LOWER_REGNUM, S390_V5_LOWER_REGNUM)
1254 (S390_V6_LOWER_REGNUM, S390_V7_LOWER_REGNUM, S390_V8_LOWER_REGNUM)
1255 (S390_V9_LOWER_REGNUM, S390_V10_LOWER_REGNUM)
1256 (S390_V11_LOWER_REGNUM, S390_V12_LOWER_REGNUM)
1257 (S390_V13_LOWER_REGNUM, S390_V14_LOWER_REGNUM)
1258 (S390_V15_LOWER_REGNUM, S390_V16_REGNUM, S390_V17_REGNUM)
1259 (S390_V18_REGNUM, S390_V19_REGNUM, S390_V20_REGNUM)
1260 (S390_V21_REGNUM, S390_V22_REGNUM, S390_V23_REGNUM)
1261 (S390_V24_REGNUM, S390_V25_REGNUM, S390_V26_REGNUM)
1262 (S390_V27_REGNUM, S390_V28_REGNUM, S390_V29_REGNUM)
1263 (S390_V30_REGNUM, S390_V31_REGNUM): New macros.
1264 (S390_NUM_REGS): Adjust value.
1265 (s390_vxrs_low_regset, s390_vxrs_high_regset): Declare.
1266 (tdesc_s390_vx_linux64, tdesc_s390_tevx_linux64)
1267 (tdesc_s390x_vx_linux64, tdesc_s390x_tevx_linux64): Likewise.
1268 * NEWS: Announce S/390 vector register support.
1272 * features/s390-tevx-linux64.xml: New file.
1273 * features/s390-vx-linux64.xml: New file.
1274 * features/s390-vx.xml: New file.
1275 * features/s390x-tevx-linux64.xml: New file.
1276 * features/s390x-vx-linux64.xml: New file.
1277 * features/Makefile (WHICH): Add s390-vx-linux64,
1278 s390x-vx-linux64, s390-tevx-linux64, and s390x-tevx-linux64.
1279 (s390-vx-linux64-expedite, s390-tevx-linux64-expedite)
1280 (s390x-vx-linux64-expedite, s390x-tevx-linux64-expedite): New
1282 * features/s390-tevx-linux64.c: New generated file.
1283 * features/s390-vx-linux64.c: Likewise.
1284 * features/s390x-tevx-linux64.c: Likewise.
1285 * features/s390x-vx-linux64.c: Likewise.
1286 * regformats/s390-tevx-linux64.dat: Likewise.
1287 * regformats/s390-vx-linux64.dat: Likewise.
1288 * regformats/s390x-tevx-linux64.dat: Likewise.
1289 * regformats/s390x-vx-linux64.dat: Likewise.
1293 * symtab.h (struct symtab) <next>: Fix comment.
1297 * python/python.c (python_GdbModuleDef): Rename GdbMethods to
1302 * dtrace-probe.c (dtrace_probe_ops): Make extern.
1306 * common/common-exceptions.h (exception_none): Declare.
1307 * common/common-exceptions.c (exception_none): Moved from
1309 (exceptions_state_mc_init): Use exception_none.
1310 * exceptions.c (exception_none): Move to
1311 common/common-exceptions.c.
1312 * exceptions.h (exception_none): Move to
1313 common/common-exceptions.h.
1317 * main.c (catch_command_errors, catch_command_errors_const):
1318 Remove 'mask' argument. Adjust.
1319 (captured_main): Adjust callers.
1323 * python/python-internal.h: Include "extension-priv.h".
1327 * breakpoint.h (enum print_stop_action): Move further up in the
1332 * gdbarch.sh: Include regcache.h.
1333 * gdbarch.h: Regenerate.
1337 * arm-tdep.c (decode_insn) <arm_handle_insn, thumb_handle_insn>:
1338 Remove duplicate const.
1339 * sparc-sol2-tdep.c (sparc_sol2_static_transform_name): Remove
1344 * cp-valprint.c (vtbl_ptr_name): Use EXPORTED_CONST.
1345 * guile/guile.c (extension_language_guile): Use EXPORTED_CONST.
1346 * features/feature_to_c.sh: Tag the generated xml_builtin array
1347 with extern const in C++ mode.
1351 * minidebug.c (struct lzma_stream): Rename to ...
1352 (struct gdb_lzma_stream): ... this.
1353 (lzma_open, lzma_pread, lzma_close, lzma_stat): Adjust.
1357 * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): New
1359 (mi_cmd_stack_list_locals, mi_cmd_stack_list_args)
1360 (mi_cmd_stack_list_variables): Use it.
1364 * x86-linux-nat.c (u_debugreg_offset): New function.
1365 (x86_linux_dr_get, x86_linux_dr_set): Use it.
1369 * nat/x86-dregs.h (enum target_hw_bp_type): Remove forward
1371 Include break-common.h.
1376 * arm-tdep.c (set_fp_model_sfunc, arm_set_abi): Use 'int' for
1377 local used to iterate over enums.
1378 * completer.c (signal_completer): Likewise.
1379 * i386-tdep.c (i386_stap_parse_special_token): Likewise.
1380 * rs6000-tdep.c (powerpc_set_vector_abi): Likewise.
1381 * tui/tui-data.c (tui_next_win, tui_prev_win): Likewise.
1382 * tui/tui-layout.c (next_layout, prev_layout): Likewise.
1383 * tui/tui-win.c (tui_refresh_all_win, tui_rehighlight_all)
1384 (tui_resize_all, tui_set_focus_command, tui_all_windows_info): Likewise.
1385 * tui-wingeneral.c (tui_refresh_all): Likewise.
1389 * target.h: Include "infrun.h".
1393 * gdb_proc_service.h: Wrap with EXTERN_C_PUSH/EXTERN_C_POP.
1397 * common/agent.h (IPA_SYM_EXPORTED_NAME): New.
1399 * common/common-defs.h (EXTERN_C_PUSH, EXTERN_C_POP): New macros.
1403 * cli-out.c (_rl_erase_entire_line): Move declaration out of
1404 cli_mld_erase_entire_line, and make it extern "C".
1405 * common/common-defs.h (EXTERN_C): New.
1406 * completer.c (_rl_completion_prefix_display_length)
1407 (_rl_print_completions_horizontally, QSFUNC): Move declarations
1408 out of gdb_display_match_list_1.
1409 (_rl_qsort_string_compare): Move declaration out of
1410 gdb_display_match_list_1, and make it extern "C".
1411 * defs.h (re_comp): Use EXTERN_C.
1412 * maint.c (_mcleanup): Move declaration out of mcleanup_wrapper,
1413 and make it extern "C".
1414 (monstartup): Move declaration out of maintenance_set_profile_cmd,
1415 and make it extern "C".
1416 (main): Move declaration out of maintenance_set_profile_cmd.
1417 * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason_string): Use
1422 * python/python.c (GdbMethods): Rename to ...
1423 (python_GdbMethods): ... this and make extern.
1424 (GdbModuleDef): Rename to ...
1425 (python_GdbModuleDef): ... this and make extern.
1429 * record-btrace.c (set_record_btrace_cmdlist)
1430 (show_record_btrace_cmdlist): Remove redefinitions.
1435 * dwarf2-frame.c (enum cfa_how_kind, struct
1436 dwarf2_frame_state_reg_info): Move out of struct
1438 * dwarf2read.c (struct tu_stats): Move out of struct
1440 (struct file_entry): Move out of struct line_header.
1441 (struct nextfield, struct nextfnfield, struct fnfieldlist, struct
1442 typedef_field_list): Move out of struct field_info.
1443 * gdbtypes.h (enum dynamic_prop_kind, union dynamic_prop_data):
1444 Move out of struct dynamic_prop.
1445 (union type_owner, union field_location, struct field, struct
1446 range_bounds, union type_specific): Move out of struct main_type.
1447 (struct fn_fieldlist, struct fn_field, struct typedef_field)
1448 (VOFFSET_STATIC): Move out of struct cplus_struct_type.
1449 (struct call_site_target, union call_site_parameter_u, struct
1450 call_site_parameter): Move out of struct call_site.
1451 * m32c-tdep.c (enum m32c_prologue_kind): Move out of struct
1453 (enum srcdest_kind): Move out of struct srcdest.
1454 * main.c (enum cmdarg_kind): Move out of struct cmdarg.
1455 * prologue-value.h (enum prologue_value_kind): Move out of struct
1457 * s390-linux-tdep.c (enum s390_abi_kind): Move out of struct
1459 * stabsread.c (struct nextfield, struct next_fnfieldlist): Move
1460 out of struct field_info.
1461 * symfile.h (struct other_sections): Move out of struct
1463 * symtab.c (struct symbol_cache_slot): Move out struct
1465 * target-descriptions.c (enum tdesc_type_kind): Move out of
1466 typedef struct tdesc_type.
1467 * tui/tui-data.h (enum tui_line_or_address_kind): Move out of
1468 struct tui_line_or_address.
1469 * value.c (enum internalvar_kind, union internalvar_data): Move
1470 out of struct internalvar.
1471 * xtensa-tdep.h (struct ctype_cache): Move out of struct
1477 Rename symbols whose names are reserved C++ keywords throughout.
1481 * Makefile.in (COMPILER): New, get it from autoconf.
1482 (COMPILE.pre, CC_LD): Use COMPILER.
1483 (CXX): Get from autoconf instead.
1484 (CXX_FOR_TARGET): Default to g++ instead of gcc.
1485 * acinclude.m4: Include build-with-cxx.m4.
1486 * build-with-cxx.m4: New file.
1487 * configure.ac: Call AC_PROG_CXX and GDB_AC_BUILD_WITH_CXX.
1488 Disable -Werror by default if building in C++ mode.
1489 (build_warnings): Add -Wno-sign-compare, -Wno-write-strings and
1490 -Wno-narrowing in C++ mode. Only enable -Wpointer-sign in C mode.
1491 Run supported-warning-flags tests with the C++ compiler.
1492 Save/restore CXXFLAGS too.
1493 * configure: Regenerate.
1497 * libiberty.m4: New file.
1498 * acinclude.m4: Include libiberty.m4.
1499 * configure.ac: Call libiberty_INIT.
1500 * config.in, configure: Regenerate.
1504 * s390-linux-tdep.c (s390_gcc_target_options): Not just handle
1505 31-bit targets, but 64-bit targets as well.
1506 (s390_gnu_triplet_regexp): New function.
1507 (s390_gdbarch_init): Set the gcc_target_options gdbarch method for
1508 64-bit targets as well. Set the gnu_triplet_regexp gdbarch
1513 * windows-nat.c (CONTEXT_DEBUGGER): Remove.
1514 (CONTEXT_DEBUGGER_DR): Add CONTEXT_SEGMENTS. Incorporate flags
1515 from CONTEXT_DEBUGGER.
1519 * gdbtypes.c (internal_type_vptr_fieldno): Add missing call to
1521 (set_type_vptr_fieldno): Ditto.
1522 (internal_type_vptr_basetype, set_type_vptr_basetype): Ditto.
1523 * gnu-v3-abi.c (gnuv3_dynamic_class): Ditto.
1527 * auto-load.h (file_is_auto_load_safe): Add ATTRIBUTE_PRINTF.
1528 * complaints.c (vcomplaint): Pass argument FMT directly to
1529 printf-like functions instead of complaint->fmt.
1530 * ctf.c (ctf_save_write_metadata): Add ATTRIBUTE_PRINTF.
1531 * darwin-nat.c (inferior_debug): Add ATTRIBUTE_PRINTF.
1532 * compile/compile-loc2c.c (pushf, unary, binary): Add
1534 (do_compile_dwarf_expr_to_c): Pass string literal as format string
1536 (BINARY): Pass string literal as format string to 'binary'.
1537 * compile/compile-object-load.c (link_callbacks_einfo): Add
1539 * guile/guile-internal.h (gdbscm_printf): Add ATTRIBUTE_PRINTF.
1543 * windows-termcap.c: Rename to ...
1544 * stub-termcap.c: ... this. Adjust header line.
1545 * Makefile.in (SFILES): Refer to stub-termcap.c instead of
1547 * configure: Regenerate.
1548 * configure.ac: Refer to stub-termcap.o instead of
1550 * gdb_curses.h: Mention stub-termcap.c instead of
1555 * compile/compile-c-symbols.c (convert_one_symbol, convert_symbol_bmsym)
1556 (gcc_symbol_address): Call gnu_ifunc_resolve_addr.
1560 * gdb/infcmd.c (print_return_value): use type_to_string to print type.
1564 * elfread.c (elf_read_minimal_symbols): Use bfd_alloc for
1565 bfd_canonicalize_symtab.
1569 * amd64fbsd-nat.c: Include sys/user.h.
1570 (_initialize_amd64fbsd_nat): Use the KERN_PROC_SIGTRAMP sysctl
1571 instead of KERN_PS_STRINGS to locate the signal trampoline.
1572 * i386fbsd-nat.c: Include sys/user.h.
1573 (_initialize_i386fbsd_nat): Use the KERN_PROC_SIGTRAMP sysctl
1574 instead of KERN_PS_STRINGS to locate the signal trampoline.
1575 * amd64fbsd-tdep.c (amd64fbsd_sigtramp_code): New.
1576 (amd64fbsd_sigtramp_p): New.
1577 (amd64fbsd_sigtramp_start_addr, amd64fbsd_sigtramp_end_addr): No
1578 longer set default values.
1579 (amd64fbsd_init_abi): Set "sigtramp_p" to "amd64fbsd_sigtramp_p".
1580 * i386fbsd-tdep.c (i386fbsd_sigtramp_start)
1581 (i386fbsd_sigtramp_middle, i386fbsd_sigtramp_end)
1582 (i386fbsd_freebsd4_sigtramp_start)
1583 (i386fbsd_freebsd4_sigtramp_middle)
1584 (i386fbsd_freebsd4_sigtramp_end, i386fbsd_osigtramp_start)
1585 (i386fbsd_osigtramp_middle, i386fbsd_osigtramp_end): New.
1586 (i386fbsd_sigtramp_p): New.
1587 (i386fbsd_sigtramp_start_addr, i386fbsd_sigtramp_end_addr): No
1588 longer set default values.
1589 (i386fbsd_init_abi): Set "sigtramp_p" to "i386fbsd_sigtramp_p".
1593 * amd64fbsd-tdep.c (amd64fbsd_sigcontext_addr): Use
1594 get_frame_register instead of frame_unwind_register_unsigned.
1599 * compile/compile-c-support.c (c_compute_program): Change // comment.
1600 * compile/compile-object-load.c (setup_sections): Change // comment.
1605 * iq2000-tdep.c (iq2000_frame_cache): Delete C++-style comment.
1609 * remote.c (skip_to_semicolon): New function.
1610 (remote_parse_stop_reply) <T stop reply>: Use it. Don't
1611 special case the stop reasons that look like hex numbers
1612 upfront. Instead handle real register numbers after matching
1613 all the known stop reasons.
1617 PR c++/17976, symtab/17821
1618 * cp-namespace.c (cp_search_static_and_baseclasses): New parameter
1619 is_in_anonymous. All callers updated.
1620 (find_symbol_in_baseclass): Ditto.
1621 (cp_lookup_nested_symbol_1): Ditto. Don't search all static blocks
1622 for symbols in an anonymous namespace.
1623 * dwarf2read.c (namespace_name): Don't call dwarf2_name, fetch
1624 DW_AT_name directly.
1625 (dwarf2_name): Convert missing namespace name to
1626 CP_ANONYMOUS_NAMESPACE_STR.
1630 * linux-nat.c (linux_handle_extended_wait): Call
1631 thread_db_notice_clone whenever a new clone LWP is detected.
1632 (linux_stop_and_wait_all_lwps, linux_unstop_all_lwps): New
1634 * linux-nat.h (thread_db_attach_lwp): Delete declaration.
1635 (thread_db_notice_clone, linux_stop_and_wait_all_lwps)
1636 (linux_unstop_all_lwps): Declare.
1637 * linux-thread-db.c (struct thread_get_info_inout): Delete.
1638 (thread_get_info_callback): Delete.
1639 (thread_from_lwp): Use td_thr_get_info and record_thread.
1640 (thread_db_attach_lwp): Delete.
1641 (thread_db_notice_clone): New function.
1642 (try_thread_db_load_1): If /proc is mounted and shows the
1643 process'es task list, walk over all LWPs and call thread_from_lwp
1644 instead of relying on td_ta_thr_iter.
1645 (attach_thread): Don't call check_thread_signals here. Split the
1646 tail part of the function (which adds the thread to the core GDB
1648 (record_thread): ... this function. Call check_thread_signals
1650 (thread_db_wait): Don't call thread_db_find_new_threads_1. Always
1651 call thread_from_lwp.
1652 (thread_db_update_thread_list): Rename to ...
1653 (thread_db_update_thread_list_org): ... this.
1654 (thread_db_update_thread_list): New function.
1655 (thread_db_find_thread_from_tid): Delete.
1656 (thread_db_get_ada_task_ptid): Simplify.
1657 * nat/linux-procfs.c: Include <sys/stat.h>.
1658 (linux_proc_task_list_dir_exists): New function.
1659 * nat/linux-procfs.h (linux_proc_task_list_dir_exists): Declare.
1663 * linux-nat.c (lin_lwp_attach_lwp): No longer special case the
1664 main LWP. Handle the case of waitpid returning 0 if we're already
1665 attached to the LWP. Don't set the LWP's last_resume_kind to
1666 resume_stop if we already knew about the LWP.
1667 (linux_nat_filter_event): Add debug logs.
1671 * target.h (forward_target_decr_pc_after_break): Delete
1677 * linux-thread-db.c (thread_get_info_callback): Return early if
1678 the thread's lwp id is -1.
1686 * dtrace-probe.c (dtrace_process_dof_probe): Initialize arg.expr.
1687 (dtrace_get_probes) Change type of variable 'dof'.
1691 PR breakpoints/16812
1692 * linux-nat.c (linux_nat_filter_event): Report SIGTRAP,SIGILL,SIGSEGV.
1693 * nat/linux-ptrace.c (linux_wstatus_maybe_breakpoint): Add.
1694 * nat/linux-ptrace.h: Add linux_wstatus_maybe_breakpoint.
1698 * common/ax.def (setv): Fix consumed entry in setv DEFOP.
1702 * tui/tui-io.c (tui_handle_resize_during_io): Remove this
1704 (tui_putc): Don't call tui_handle_resize_during_io.
1705 (tui_getc): Likewise.
1706 (tui_mld_getc): Likewise.
1707 * tui/tui-win.c: Include event-loop.h and tui/tui-io.h.
1708 (tui_sigwinch_token): New static variable.
1709 (tui_initialize_win): Adjust documentation. Set
1711 (tui_async_resize_screen): New asynchronous callback.
1712 (tui_sigwinch_handler): Adjust documentation. Asynchronously
1713 invoke tui_async_resize_screen.
1717 * configure: Regenerated.
1718 * configure.ac: Use GDB_AC_TRANSFORM.
1719 * Makefile.in (aclocal_m4_deps): Added transform.m4.
1720 * acinclude.m4: sinclude transform.m4.
1721 * transform.m4: New file.
1722 (GDB_AC_TRANSFORM): New macro.
1726 * NEWS: Announce the support for DTrace SDT probes.
1730 * amd64-linux-tdep.c: Include "parser-defs.h" and "user-regs.h".
1731 (amd64_dtrace_parse_probe_argument): New function.
1732 (amd64_dtrace_probe_is_enabled): Likewise.
1733 (amd64_dtrace_enable_probe): Likewise.
1734 (amd64_dtrace_disable_probe): Likewise.
1735 (amd64_linux_init_abi): Register the
1736 `gdbarch_dtrace_probe_argument', `gdbarch_dtrace_enable_probe',
1737 `gdbarch_dtrace_disable_probe' and
1738 `gdbarch_dtrace_probe_is_enabled' hooks.
1739 (amd64_dtrace_disabled_probe_sequence_1): New constant.
1740 (amd64_dtrace_disabled_probe_sequence_2): Likewise.
1741 (amd64_dtrace_enable_probe_sequence): Likewise.
1742 (amd64_dtrace_disable_probe_sequence): Likewise.
1746 * breakpoint.c (BREAK_ARGS_HELP): Help string updated to mention
1747 the -probe-dtrace new vpossible value for PROBE_MODIFIER.
1748 * configure.ac (CONFIG_OBS): dtrace-probe.o added if BFD can
1750 * Makefile.in (SFILES): dtrace-probe.c added.
1751 * configure: Regenerate.
1752 * dtrace-probe.c: New file.
1753 (SHT_SUNW_dof): New constant.
1754 (dtrace_probe_type): New enum.
1755 (dtrace_probe_arg): New struct.
1756 (dtrace_probe_arg_s): New typedef.
1757 (struct dtrace_probe_enabler): New struct.
1758 (dtrace_probe_enabler_s): New typedef.
1759 (dtrace_probe): New struct.
1760 (dtrace_probe_is_linespec): New function.
1761 (dtrace_dof_sect_type): New enum.
1762 (dtrace_dof_dofh_ident): Likewise.
1763 (dtrace_dof_encoding): Likewise.
1764 (DTRACE_DOF_ENCODE_LSB): Likewise.
1765 (DTRACE_DOF_ENCODE_MSB): Likewise.
1766 (dtrace_dof_hdr): New struct.
1767 (dtrace_dof_sect): Likewise.
1768 (dtrace_dof_provider): Likewise.
1769 (dtrace_dof_probe): Likewise.
1770 (DOF_UINT): New macro.
1771 (DTRACE_DOF_PTR): Likewise.
1772 (DTRACE_DOF_SECT): Likewise.
1773 (dtrace_process_dof_probe): New function.
1774 (dtrace_process_dof): Likewise.
1775 (dtrace_build_arg_exprs): Likewise.
1776 (dtrace_get_arg): Likewise.
1777 (dtrace_get_probes): Likewise.
1778 (dtrace_get_probe_argument_count): Likewise.
1779 (dtrace_can_evaluate_probe_arguments): Likewise.
1780 (dtrace_evaluate_probe_argument): Likewise.
1781 (dtrace_compile_to_ax): Likewise.
1782 (dtrace_probe_destroy): Likewise.
1783 (dtrace_gen_info_probes_table_header): Likewise.
1784 (dtrace_gen_info_probes_table_values): Likewise.
1785 (dtrace_probe_is_enabled): Likewise.
1786 (dtrace_probe_ops): New variable.
1787 (info_probes_dtrace_command): New function.
1788 (_initialize_dtrace_probe): Likewise.
1789 (dtrace_type_name): Likewise.
1793 * gdbarch.sh (dtrace_parse_probe_argument): New.
1794 (dtrace_probe_is_enabled): Likewise.
1795 (dtrace_enable_probe): Likewise.
1796 (dtrace_disable_probe): Likewise.
1797 * gdbarch.c: Regenerate.
1798 * gdbarch.h: Regenerate.
1802 * stap-probe.c (stap_probe_ops): Add NULLs in the static
1803 stap_probe_ops for `enable_probe' and `disable_probe'.
1804 * probe.c (enable_probes_command): New function.
1805 (disable_probes_command): Likewise.
1806 (_initialize_probe): Define the cli commands `enable probe' and
1808 (parse_probe_linespec): New function.
1809 (info_probes_for_ops): Use parse_probe_linespec.
1810 * probe.h (probe_ops): New hooks `enable_probe' and
1815 * probe.c (compute_probe_arg): Moved from stap-probe.c
1816 (compile_probe_arg): Likewise.
1817 (probe_funcs): Likewise.
1818 * stap-probe.c (compute_probe_arg): Moved to probe.c.
1819 (compile_probe_arg): Likewise.
1820 (probe_funcs): Likewise.
1824 * probe.c (print_ui_out_not_applicables): New function.
1825 (exists_probe_with_pops): Likewise.
1826 (info_probes_for_ops): Do not include column headers for probe
1827 types for which no probe has been actually found on any object.
1828 Also invoke `print_ui_out_not_applicables' in order to match the
1829 column rows with the header when probes of several types are
1831 Print the "Type" column.
1832 * probe.h (probe_ops): Added a new probe operation `type_name'.
1833 * stap-probe.c (stap_probe_ops): Add `stap_type_name'.
1834 (stap_type_name): New function.
1838 * tui/tui-io.c (tui_getc): Don't call key_is_command_char.
1839 (key_is_command_char): Delete.
1843 * tui/tui.c (tui_enable): Resize windows before anything
1844 might show a window.
1849 * aarch64-linux-nat.c: Don't include features/aarch64.c anymore.
1850 (aarch64_linux_read_description): Remove initialize_tdesc_aarch64
1852 * aarch64-tdep.h (tdesc_aarch64): Declare.
1856 * contrib/ari/gdb_ari.sh: Remove checks for "true" and "false".
1860 * cp-namespace.c (cp_basic_lookup_symbol): Rename parameter
1861 anonymous_namespace to is_in_anonymous for consistency with the rest
1863 (cp_lookup_bare_symbol): Fix typo in comment.
1864 (cp_search_static_and_baseclasses): Ditto.
1865 (search_symbol_list): Use vertical space in comment better.
1866 (reset_directive_searched): Ditto. Fix typo.
1867 (cp_lookup_nested_symbol_1): Clarify contents of NESTED_NAME parameter.
1871 * MAINTAINERS: Update my email address.
1875 * symtab.c (completion_list_add_name): Fix memory leak.
1879 * completer.c (complete_line): Remove incorrect comment.
1883 * python/py-framefilter.c (py_print_single_arg, enumerate_locals)
1884 (py_print_frame): Use RETURN_MASK_ERROR.
1888 * python/py-framefilter.c (py_print_frame): Mention RETURN_QUIT in
1889 function comment. Wrap all function that can throw in cleanups.
1890 (gdbpy_apply_frame_filter): Wrap all function that can throw in
1895 * python/py-framefilter.c (py_print_frame): Substitute goto error.
1896 Remove the error label.
1900 * python/py-framefilter.c (py_print_frame): Put conditional code paths
1901 with goto first, indent the former else codepath left. Put variable
1902 'elided' to a new inner block.
1906 * python/py-framefilter.c (py_print_frame): Whitespacing fixes.
1910 * xcoffread.c (within_function): Delete.
1915 * breakpoint.c (base_breakpoint_ops): Delete.
1916 * dwarf2loc.c (dwarf_expr_ctx_funcs): Make extern.
1917 * elfread.c (elf_sym_fns_gdb_index, elf_sym_fns_lazy_psyms): Make extern.
1918 * guile/guile.c (guile_extension_script_ops, guile_extension_ops): Make extern.
1919 * ppcnbsd-tdep.c (ppcnbsd2_sigtramp): Make extern.
1920 * python/py-arch.c (arch_object_type): Make extern.
1921 * python/py-block.c (block_syms_iterator_object_type): Make extern.
1922 * python/py-bpevent.c (breakpoint_event_object_type): Make extern.
1923 * python/py-cmd.c (cmdpy_object_type): Make extern.
1924 * python/py-continueevent.c (continue_event_object_type)
1925 * python/py-event.h (GDBPY_NEW_EVENT_TYPE): Remove 'qual'
1926 parameter. Update all callers.
1927 * python/py-evtregistry.c (eventregistry_object_type): Make extern.
1928 * python/py-exitedevent.c (exited_event_object_type): Make extern.
1929 * python/py-finishbreakpoint.c (finish_breakpoint_object_type): Make extern.
1930 * python/py-function.c (fnpy_object_type): Make extern.
1931 * python/py-inferior.c (inferior_object_type, membuf_object_type): Make extern.
1932 * python/py-infevents.c (call_pre_event_object_type)
1933 (inferior_call_post_event_object_type).
1934 (memory_changed_event_object_type): Make extern.
1935 * python/py-infthread.c (thread_object_type): Make extern.
1936 * python/py-lazy-string.c (lazy_string_object_type): Make extern.
1937 * python/py-linetable.c (linetable_entry_object_type)
1938 (linetable_object_type, ltpy_iterator_object_type): Make extern.
1939 * python/py-newobjfileevent.c (new_objfile_event_object_type)
1940 (clear_objfiles_event_object_type): Make extern.
1941 * python/py-objfile.c (objfile_object_type): Make extern.
1942 * python/py-param.c (parmpy_object_type): Make extern.
1943 * python/py-progspace.c (pspace_object_type): Make extern.
1944 * python/py-signalevent.c (signal_event_object_type): Make extern.
1945 * python/py-symtab.c (symtab_object_type, sal_object_type): Make extern.
1946 * python/py-type.c (type_object_type, field_object_type)
1947 (type_iterator_object_type): Make extern.
1948 * python/python.c (python_extension_script_ops)
1949 (python_extension_ops): Make extern.
1950 * stap-probe.c (stap_probe_ops): Make extern.
1954 * infrun.c (adjust_pc_after_break): Don't adjust the PC just
1955 because the event thread is not the current thread.
1959 * gdbtypes.c (internal_type_self_type): If TYPE_SPECIFIC_FIELD hasn't
1960 been initialized yet, return NULL.
1964 * symfile.h (new_symfile_objfile): Delete.
1965 * symfile.c (finish_new_objfile): Renamed from new_symfile_objfile.
1966 All callers updated.
1970 * tui/tui-io.c (tui_handle_resize_during_io): Call
1971 tui_update_gdb_sizes() after resizing the screen.
1972 * tui/tui.c (tui_enable): Resize the terminal before
1973 calling tui_update_gdb_sizes().
1977 * tui/tui-io.c (tui_getc): Move cursor to the end of the command
1978 line before printing a newline.
1982 * utils.c (producer_is_gcc): Return true or false.
1986 * utils.h (producer_is_gcc): Change return type to bool. Add major
1988 * utils.c (producer_is_gcc): Likewise.
1989 (producer_is_gcc_ge_4): Adjust producer_is_gcc call.
1990 * dwarf2read.c (check_producer): Likewise.
1994 * infrun.c (displaced_step_fixup): Switch to the event thread
1995 before calling gdbarch_displaced_step_fixup.
1999 * MAINTAINERS (Write After Approval): Add Antoine Tremblay.
2003 * ada-varobj.c (ada_name_of_child): Constify parent.
2004 (ada_path_expr_of_child): Same.
2005 (ada_value_of_child): Same.
2006 (ada_type_of_child): Same.
2007 * c-varobj.c (c_is_path_expr_parent): Same.
2008 (c_describe_child): Same.
2009 (c_name_of_child): Same.
2010 (c_value_of_child): Same.
2011 (c_type_of_child): Same.
2012 (cplus_number_of_children): Same.
2013 (cplus_describe_child): Constify var.
2014 (cplus_name_of_child): Constify parent.
2015 (cplus_value_of_child): Same.
2016 (cplus_type_of_child): Same.
2017 * jv-varobj.c (java_name_of_child): Same.
2018 (java_value_of_child): Same.
2019 (java_type_of_child): Same.
2020 * varobj.c (value_of_child): Same.
2021 (varobj_default_is_path_expr_parent): Constify var, parent and return
2023 (varobj_get_path_expr): Constify var, modify path_expr through
2025 (install_new_value): Constify parent.
2026 (value_of_child): Constify parent.
2027 * varobj.h (struct varobj): Constify parent.
2028 (struct lang_varobj_ops): Constify name_of_child, value_of_child and
2030 (varobj_get_path_expr): Constify var.
2031 (varobj_get_path_expr_parent): Constify var and return value.
2035 * arm-tdep.c (arm_prologue_unwind_stop_reason): New function.
2036 (arm_prologue_this_id): Move PC and SP limit checks to
2037 arm_prologue_unwind_stop_reason.
2038 (arm_prologue_unwind) <stop_reason> : Set to
2039 arm_prologue_unwind_stop_reason.
2043 * dwarf2read.c (set_cu_language): Recognize DW_LANG_Fortran03 and
2044 DW_LANG_Fortran08 as language_fortran.
2049 * gdb/remote.c (remote_parse_stop_reply): Fix wrong comparison
2050 of pointer against char.
2054 * c-typeprint.c (cp_type_print_method_args): Handle '_Atomic'.
2055 (c_type_print_modifier): Likewise.
2056 * dwarf2read.c (read_tag_atomic_type): New function.
2057 (read_type_die_1): Handle DW_TAG_atomic_type.
2058 * gdbtypes.c (make_atomic_type): New function.
2059 (recursive_dump_type): Handle TYPE_ATOMIC.
2060 * gdbtypes.h (enum type_flag_values): Renumber.
2061 (enum type_instance_flag_value): Add TYPE_INSTANCE_FLAG_ATOMIC.
2062 (TYPE_ATOMIC): New macro.
2063 (make_atomic_type): Declare.
2067 * btrace.c (ftrace_find_call): Skip gaps.
2068 (ftrace_new_function): Initialize level.
2069 (ftrace_new_call, ftrace_new_tailcall, ftrace_new_return)
2070 (ftrace_new_switch): Update
2072 (ftrace_new_gap): New.
2073 (ftrace_update_function): Create new function after gap.
2074 (btrace_compute_ftrace_bts): Create gap on error.
2075 (btrace_stitch_bts): Update parameters. Clear trace if it
2077 (btrace_stitch_trace): Update parameters. Update callers.
2078 (btrace_clear): Reset the number of gaps.
2079 (btrace_insn_get): Return NULL if the iterator points to a gap.
2080 (btrace_insn_number): Return zero if the iterator points to a gap.
2081 (btrace_insn_end): Allow gaps at the end.
2082 (btrace_insn_next, btrace_insn_prev, btrace_insn_cmp): Handle gaps.
2083 (btrace_find_insn_by_number): Assert that the found iterator does
2085 (btrace_call_next, btrace_call_prev): Assert that the last function
2087 * btrace.h (btrace_bts_error): New.
2088 (btrace_function): Update comment.
2089 (btrace_function) <insn, insn_offset, number>: Update comment.
2090 (btrace_function) <errcode>: New.
2091 (btrace_thread_info) <ngaps>: New.
2092 (btrace_thread_info) <replay>: Update comment.
2093 (btrace_insn_get): Update comment.
2094 * record-btrace.c (btrace_ui_out_decode_error): New.
2095 (record_btrace_info): Print number of gaps.
2096 (btrace_insn_history, btrace_call_history): Call
2097 btrace_ui_out_decode_error for gaps.
2098 (record_btrace_step_thread, record_btrace_start_replaying): Skip gaps.
2102 * common/btrace-common.h (btrace_cpu_vendor, btrace_cpu): New.
2103 * nat/linux-btrace.c: (btrace_this_cpu): New.
2104 (cpu_supports_bts): Call btrace_this_cpu.
2105 (intel_supports_bts): Add cpu parameter.
2109 * btrace.h (btrace_insn_class): New.
2110 (btrace_insn) <size, iclass>: New.
2111 * btrace.c (ftrace_find_call): Update parameters. Update users.
2112 Use instruction classification.
2113 (ftrace_new_return): Update parameters. Update users.
2114 (ftrace_update_function): Update parameters. Update users. Use
2115 instruction classification.
2116 (ftrace_update_insns): Update parameters. Update users.
2117 (ftrace_classify_insn): New.
2118 (btrace_compute_ftrace_bts): Fill in new btrace_insn fields. Add
2119 TRY_CATCH around call to gdb_insn_length.
2123 * btrace.c (btrace_compute_ftrace_bts, btrace_compute_ftrace):
2124 Update parameters. Update users.
2128 * btrace.c (parse_xml_btrace_conf_bts): Add size.
2129 (btrace_conf_bts_attributes): New.
2130 (btrace_conf_children): Add attributes.
2131 * common/btrace-common.h (btrace_config_bts): New.
2132 (btrace_config)<bts>: New.
2133 (btrace_config): Update comment.
2134 * nat/linux-btrace.c (linux_enable_btrace, linux_enable_bts):
2136 * features/btrace-conf.dtd: Increment version. Add size
2137 attribute to bts element.
2138 * record-btrace.c (set_record_btrace_bts_cmdlist,
2139 show_record_btrace_bts_cmdlist): New.
2140 (record_btrace_adjust_size, record_btrace_print_bts_conf,
2141 record_btrace_print_conf, cmd_set_record_btrace_bts,
2142 cmd_show_record_btrace_bts): New.
2143 (record_btrace_info): Call record_btrace_print_conf.
2144 (_initialize_record_btrace): Add commands.
2145 * remote.c: Add PACKET_Qbtrace_conf_bts_size enum.
2146 (remote_protocol_features): Add Qbtrace-conf:bts:size packet.
2147 (btrace_sync_conf): Synchronize bts size.
2148 (_initialize_remote): Add Qbtrace-conf:bts:size packet.
2149 * NEWS: Announce new commands and new packets.
2153 * Makefile.in (XMLFILES): Add btrace-conf.dtd.
2154 * x86-linux-nat.c (x86_linux_enable_btrace): Update parameters.
2155 (x86_linux_btrace_conf): New.
2156 (x86_linux_create_target): Initialize to_btrace_conf.
2157 * nat/linux-btrace.c (linux_enable_btrace): Update parameters.
2158 Check format. Split into this and ...
2159 (linux_enable_bts): ... this.
2160 (linux_btrace_conf): New.
2161 (perf_event_skip_record): Renamed into ...
2162 (perf_event_skip_bts_record): ... this. Updated users.
2163 (linux_disable_btrace): Split into this and ...
2164 (linux_disable_bts): ... this.
2165 (linux_read_btrace): Check format.
2166 * nat/linux-btrace.h (linux_enable_btrace): Update parameters.
2167 (linux_btrace_conf): New.
2168 (btrace_target_info)<ptid>: Moved.
2169 (btrace_target_info)<conf>: New.
2170 (btrace_target_info): Split into this and ...
2171 (btrace_tinfo_bts): ... this. Updated users.
2172 * btrace.c (btrace_enable): Update parameters.
2173 (btrace_conf, parse_xml_btrace_conf_bts, parse_xml_btrace_conf)
2174 (btrace_conf_children, btrace_conf_attributes)
2175 (btrace_conf_elements): New.
2176 * btrace.h (btrace_enable): Update parameters.
2177 (btrace_conf, parse_xml_btrace_conf): New.
2178 * common/btrace-common.h (btrace_config): New.
2179 * feature/btrace-conf.dtd: New.
2180 * record-btrace.c (record_btrace_conf): New.
2181 (record_btrace_cmdlist): New.
2182 (record_btrace_enable_warn, record_btrace_open): Pass
2183 &record_btrace_conf.
2184 (record_btrace_info): Print recording format.
2185 (cmd_record_btrace_bts_start): New.
2186 (cmd_record_btrace_start): Call cmd_record_btrace_bts_start.
2187 (_initialize_record_btrace): Add "record btrace bts" subcommand.
2188 Add "record bts" alias command.
2189 * remote.c (remote_state)<btrace_config>: New.
2190 (remote_btrace_reset, PACKET_qXfer_btrace_conf): New.
2191 (remote_protocol_features): Add qXfer:btrace-conf:read.
2192 (remote_open_1): Call remote_btrace_reset.
2193 (remote_xfer_partial): Handle TARGET_OBJECT_BTRACE_CONF.
2194 (btrace_target_info)<conf>: New.
2195 (btrace_sync_conf, btrace_read_config): New.
2196 (remote_enable_btrace): Update parameters. Call btrace_sync_conf and
2198 (remote_btrace_conf): New.
2199 (init_remote_ops): Initialize to_btrace_conf.
2200 (_initialize_remote): Add qXfer:btrace-conf packet.
2201 * target.c (target_enable_btrace): Update parameters.
2202 (target_btrace_conf): New.
2203 * target.h (target_enable_btrace): Update parameters.
2204 (target_btrace_conf): New.
2205 (target_object)<TARGET_OBJECT_BTRACE_CONF>: New.
2206 (target_ops)<to_enable_btrace>: Update parameters and comment.
2207 (target_ops)<to_btrace_conf>: New.
2208 * target-delegates: Regenerate.
2209 * target-debug.h (target_debug_print_const_struct_btrace_config_p)
2210 (target_debug_print_const_struct_btrace_target_info_p): New.
2211 * NEWS: Announce new command and new packet.
2215 * nat/linux-btrace.h (perf_event_buffer): New.
2216 (btrace_target_info) <buffer, size, data_head>: Replace with ...
2218 * nat/linux-btrace.c (perf_event_header, perf_event_mmap_size)
2219 (perf_event_buffer_size, perf_event_buffer_begin)
2220 (perf_event_buffer_end, linux_btrace_has_changed): Removed.
2222 (perf_event_new_data): New.
2226 * btrace.c (btrace_enable): Pass BTRACE_FORMAT_BTS.
2227 * record-btrace.c (record_btrace_open): Remove call to
2228 target_supports_btrace.
2229 * remote.c (remote_supports_btrace): Update parameters.
2230 * target.c (target_supports_btrace): Update parameters.
2231 * target.h (to_supports_btrace, target_supports_btrace): Update
2233 * target-delegates.c: Regenerate.
2234 * target-debug.h (target_debug_print_enum_btrace_format): New.
2235 * nat/linux-btrace.c
2236 (kernel_supports_btrace): Rename into ...
2237 (kernel_supports_bts): ... this. Update users. Update warning text.
2238 (intel_supports_btrace): Rename into ...
2239 (intel_supports_bts): ... this. Update users.
2240 (cpu_supports_btrace): Rename into ...
2241 (cpu_supports_bts): ... this. Update users.
2242 (linux_supports_btrace): Update parameters. Split into this and ...
2243 (linux_supports_bts): ... this.
2244 * nat/linux-btrace.h (linux_supports_btrace): Update parameters.
2248 * Makefile.in (SFILES): Add common/btrace-common.c.
2249 (COMMON_OBS): Add common/btrace-common.o.
2250 (btrace-common.o): Add build rules.
2251 * btrace.c (parse_xml_btrace): Update parameters.
2252 (parse_xml_btrace_block): Set format field.
2253 (btrace_add_pc, btrace_fetch): Use struct btrace_data.
2254 (do_btrace_data_cleanup, make_cleanup_btrace_data): New.
2255 (btrace_compute_ftrace): Split into this and...
2256 (btrace_compute_ftrace_bts): ...this.
2257 (btrace_stitch_trace): Split into this and...
2258 (btrace_stitch_bts): ...this.
2259 * btrace.h (parse_xml_btrace): Update parameters.
2260 (make_cleanup_btrace_data): New.
2261 * common/btrace-common.c: New.
2262 * common/btrace-common.h: Include common-defs.h.
2263 (btrace_block_s): Update comment.
2264 (btrace_format): New.
2265 (btrace_format_string): New.
2266 (btrace_data_bts): New.
2268 (btrace_data_init, btrace_data_fini, btrace_data_empty): New.
2269 * remote.c (remote_read_btrace): Update parameters.
2270 * target.c (target_read_btrace): Update parameters.
2271 * target.h (target_read_btrace): Update parameters.
2272 (target_ops)<to_read_btrace>: Update parameters.
2273 * x86-linux-nat.c (x86_linux_read_btrace): Update parameters.
2274 * target-delegates.c: Regenerate.
2275 * target-debug (target_debug_print_struct_btrace_data_p): New.
2276 * nat/linux-btrace.c (linux_read_btrace): Split into this and...
2277 (linux_read_bts): ...this.
2278 * nat/linux-btrace.h (linux_read_btrace): Update parameters.
2282 * remote-m32r-sdi.c: Include symfile.h.
2286 * symtab.h (clear_symtab_users, deduce_language_from_filename): Move
2287 * symfile.h (clear_symtab_users, deduce_language_from_filename): ...
2292 * linux-thread-db.c (find_new_threads_callback): Add debug output.
2297 * breakpoint.c (map_breakpoint_numbers): Check for empty args string.
2298 (enable_count_command): Check args for NULL value.
2302 * guile/scm-frame.c: Fix spelling errors in a comment.
2306 * python/python-internal.h (Py_hash_t): Define it for Python <3.2.
2307 * python/py-value.c (valpy_fetch_lazy): Use it. Remove cast to the
2312 * linux-nat.c (handle_extended_wait): Don't resume LWPs here.
2313 (wait_lwp): Don't call wait_lwp if linux_handle_extended_wait
2315 (resume_stopped_resumed_lwps): Don't check whether the thread is
2316 marked as executing.
2317 (linux_nat_wait_1): Use resume_stopped_resumed_lwps.
2321 * regset.h (struct regset): Add flags field.
2322 (REGSET_VARIABLE_SIZE): New value for a regset's flags field.
2323 * corelow.c (get_core_register_section): Add warning if the size
2324 exceeds the requested size and the regset does not have the
2325 REGSET_VARIABLE_SIZE flag set.
2326 * alphanbsd-tdep.c (alphanbsd_gregset): Add REGSET_VARIABLE_SIZE
2328 * armbsd-tdep.c (armbsd_gregset): Likewise.
2329 * hppa-hpux-tdep.c (hppa_hpux_regset): Likewise.
2330 * hppaobsd-tdep.c (hppaobsd_gregset): Likewise.
2331 * m68kbsd-tdep.c (m68kbsd_gregset): Likewise.
2332 * mipsnbsd-tdep.c (mipsnbsd_gregset): Likewise.
2336 * amd64-linux-tdep.c (amd64_linux_iterate_over_regset_sections):
2337 For ".reg-xstate", explicitly specify the requested section size
2338 via X86_XSTATE_SIZE instead of just 0 on input and
2339 X86_XSTATE_MAX_SIZE on output.
2340 * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections):
2346 * gdbarch.sh (iterate_over_regset_sections_cb): Document this
2347 function type, particularly its SIZE parameter.
2348 * gdbarch.h: Regenerate.
2349 * amd64-tdep.c (amd64_supply_fpregset): In gdb_assert, compare
2350 actual against required size using ">=" instead of "==".
2351 (amd64_collect_fpregset): Likewise.
2352 * i386-tdep.c (i386_supply_gregset): Likewise.
2353 (i386_collect_gregset): Likewise.
2354 (i386_supply_fpregset): Likewise.
2355 (i386_collect_fpregset): Likewise.
2356 * mips-linux-tdep.c (mips_supply_gregset_wrapper): Likewise.
2357 (mips_fill_gregset_wrapper): Likewise.
2358 (mips_supply_fpregset_wrapper): Likewise.
2359 (mips_fill_fpregset_wrapper): Likewise.
2360 (mips64_supply_gregset_wrapper): Likewise.
2361 (mips64_fill_gregset_wrapper): Likewise.
2362 (mips64_supply_fpregset_wrapper): Likewise.
2363 (mips64_fill_fpregset_wrapper): Likewise.
2364 * mn10300-linux-tdep.c (am33_supply_gregset_method): Likewise.
2365 (am33_supply_fpregset_method): Likewise.
2366 (am33_collect_gregset_method): Likewise.
2367 (am33_collect_fpregset_method): Likewise.
2374 * tui/tui-command.c (tui_refresh_cmd_win): New function.
2375 * tui/tui-command.c (tui_refresh_cmd_win): Declare.
2376 * tui/tui-file.c: #include tui/tui-command.h.
2377 (tui_file_fputs): Refresh command window if stream is not gdb_stdout.
2378 (tui_file_flush): Refresh command window if stream is gdb_stdout.
2379 * tui/tui-io.c (tui_puts): Remove calls to wrefresh, fflush.
2384 * event-loop.c (gdb_do_one_event): Add default switch case.
2388 Filter out inferior gcc option -fpreprocessed.
2389 * compile/compile.c (filter_args): New function.
2394 * event-loop.c: Don't declare nor define a queue type for
2396 (event_queue): Delete.
2397 (create_event, create_file_event, gdb_event_xfree)
2398 (initialize_event_loop, process_event): Delete.
2399 (gdb_do_one_event): Return as soon as one event is handled.
2400 (handle_file_event): Change prototype. Used the passed in
2401 file_handler pointer and ready_mask instead of looping over all
2403 (gdb_wait_for_event): Update the poll/select timeouts before
2404 blocking. Run event handlers directly instead of queueing events.
2405 Return as soon as one event is handled.
2406 (struct async_event_handler_data): Delete.
2407 (invoke_async_event_handler): Delete.
2408 (check_async_event_handlers): Change return type to int. Run
2409 event handlers directly instead of queueing events. Return as
2410 soon as one event is handled.
2411 (handle_timer_event): Delete.
2412 (update_wait_timeout): New function, factored out from
2414 (poll_timers): Reimplement.
2415 * event-loop.h (initialize_event_loop): Delete declaration.
2416 * top.c (gdb_init): Don't call initialize_event_loop.
2420 * event-loop.c (clear_async_event_handler): New function.
2421 * event-loop.h (clear_async_event_handler): New declaration.
2422 * record-btrace.c (record_btrace_async): New function.
2423 (init_record_btrace_ops): Install record_btrace_async.
2424 * record-full.c (record_full_async): New function.
2425 (record_full_resume): Don't mark the async event source here.
2426 (init_record_full_ops): Install record_full_async.
2427 (record_full_core_resume): Don't mark the async event source here.
2428 (init_record_full_core_ops): Install record_full_async.
2429 * remote.c (remote_async): Mark and clear the async stop reply
2430 queue event-loop token as appropriate.
2434 * linux-nat.c (linux_child_follow_fork, linux_nat_wait_1): Use
2435 target_is_async_p instead of target_can_async.
2436 (linux_nat_wait): Use target_is_async_p instead of
2437 target_can_async. Don't enable async here.
2438 * remote.c (interrupt_query, remote_wait, putpkt_binary): Use
2439 target_is_async_p instead of target_can_async.
2443 * varobj.h (lang_varobj_ops): Mention which return values need
2448 * dwarf2loc.c (dwarf2_evaluate_property): Add i18n marker.
2453 * ada-lang.c (ada_lookup_symbol_list_worker): Do not re-cache
2454 results found in the cache.
2459 * ada-lang.c (ada_get_symbol_cache): Set pspace_data->sym_cache
2460 when allocating a new one.
2464 * MAINTAINERS: Remove myself.
2468 * dwarf2read.c (process_structure_scope): Update setting of
2469 TYPE_VPTR_BASETYPE, TYPE_VPTR_FIELDNO.
2470 * gdbtypes.c (internal_type_vptr_fieldno): New function.
2471 (set_type_vptr_fieldno): New function.
2472 (internal_type_vptr_basetype): New function.
2473 (set_type_vptr_basetype): New function.
2474 (get_vptr_fieldno): Update setting of TYPE_VPTR_FIELDNO,
2476 (allocate_cplus_struct_type): Initialize vptr_fieldno.
2477 (recursive_dump_type): Printing of vptr_fieldno, vptr_basetype ...
2478 (print_cplus_stuff): ... moved here.
2479 (copy_type_recursive): Don't copy TYPE_VPTR_BASETYPE.
2480 * gdbtypes.h (struct main_type): Members vptr_fieldno, vptr_basetype
2482 (struct cplus_struct_type): ... here. All uses updated.
2483 (TYPE_VPTR_FIELDNO, TYPE_VPTR_BASETYPE): Rewrite.
2484 (internal_type_vptr_fieldno, set_type_vptr_fieldno): Declare.
2485 (internal_type_vptr_basetype, set_type_vptr_basetype): Declare.
2486 * stabsread.c (read_tilde_fields): Update setting of
2487 TYPE_VPTR_FIELDNO, TYPE_VPTR_BASETYPE.
2491 * cp-valprint.c (cp_find_class_member): Rename parameter domain_p
2493 (cp_print_class_member): Rename local domain to self_type.
2494 * dwarf2read.c (quirk_gcc_member_function_pointer): Rename local
2495 domain_type to self_type.
2496 (set_die_type) <need_gnat_info>: Handle
2497 TYPE_CODE_METHODPTR, TYPE_CODE_MEMBERPTR, TYPE_CODE_METHOD.
2498 * gdb-gdb.py (StructMainTypePrettyPrinter): Handle
2499 TYPE_SPECIFIC_SELF_TYPE.
2500 * gdbtypes.c (internal_type_self_type): New function.
2501 (set_type_self_type): New function.
2502 (smash_to_memberptr_type): Rename parameter domain to self_type.
2503 Update setting of TYPE_SELF_TYPE.
2504 (smash_to_methodptr_type): Update setting of TYPE_SELF_TYPE.
2505 (smash_to_method_type): Rename parameter domain to self_type.
2506 Update setting of TYPE_SELF_TYPE.
2507 (check_stub_method): Call smash_to_method_type.
2508 (recursive_dump_type): Handle TYPE_SPECIFIC_SELF_TYPE.
2509 (copy_type_recursive): Ditto.
2510 * gdbtypes.h (enum type_specific_kind): New value
2511 TYPE_SPECIFIC_SELF_TYPE.
2512 (struct main_type) <type_specific>: New member self_type.
2513 (struct cplus_struct_type) <fn_field.type>: Update comment.
2514 (TYPE_SELF_TYPE): Rewrite.
2515 (internal_type_self_type, set_type_self_type): Declare.
2516 * gnu-v3-abi.c (gnuv3_print_method_ptr): Rename local domain to
2518 (gnuv3_method_ptr_to_value): Rename local domain_type to self_type.
2519 * m2-typeprint.c (m2_range): Replace TYPE_SELF_TYPE with
2521 * stabsread.c (read_member_functions): Mark methods with
2522 TYPE_CODE_METHOD, not TYPE_CODE_FUNC. Update setting of
2527 * gdbtypes.h (TYPE_SELF_TYPE): Renamed from TYPE_DOMAIN_TYPE.
2532 * gnu-v3-abi.c (gnuv3_dynamic_class): Assert only passed structs
2533 or unions. Return zero if union.
2534 (gnuv3_get_vtable): Call check_typedef. Assert only passed structs.
2535 (gnuv3_rtti_type): Pass already-check_typedef'd value to
2537 (compute_vtable_size): Assert only passed structs.
2538 (gnuv3_print_vtable): Don't call gnuv3_get_vtable for non-structs.
2542 * gdbtypes.c (copy_type_recursive): Handle all TYPE_SPECIFIC_FIELD
2551 * cli/cli-cmds.c (complete_command): Notify user if max-completions
2553 * common/common-exceptions.h (enum errors)
2554 <MAX_COMPLETIONS_REACHED_ERROR>: New value.
2555 * completer.h (get_max_completions_reached_message): New declaration.
2556 (max_completions): Likewise.
2557 (completion_tracker_t): New typedef.
2558 (new_completion_tracker): New declaration.
2559 (make_cleanup_free_completion_tracker): Likewise.
2560 (maybe_add_completion_enum): New enum.
2561 (maybe_add_completion): New declaration.
2562 (throw_max_completions_reached_error): Likewise.
2563 * completer.c (max_completions): New global variable.
2564 (new_completion_tracker): New function.
2565 (free_completion_tracker): Likewise.
2566 (make_cleanup_free_completion_tracker): Likewise.
2567 (maybe_add_completions): Likewise.
2568 (throw_max_completions_reached_error): Likewise.
2569 (complete_line): Remove duplicates and limit result to max_completions
2571 (get_max_completions_reached_message): New function.
2572 (gdb_display_match_list): Handle max_completions.
2573 (_initialize_completer): New declaration and function.
2574 * symtab.c: Include completer.h.
2575 (completion_tracker): New static variable.
2576 (completion_list_add_name): Call maybe_add_completion.
2577 (default_make_symbol_completion_list_break_on_1): Renamed from
2578 default_make_symbol_completion_list_break_on. Maintain
2579 completion_tracker across calls to completion_list_add_name.
2580 (default_make_symbol_completion_list_break_on): New function.
2581 * top.c (init_main): Set rl_completion_display_matches_hook.
2582 * tui/tui-io.c: Include completer.h.
2583 (tui_old_rl_display_matches_hook): New static global.
2584 (tui_rl_display_match_list): Notify user if max-completions reached.
2585 (tui_setup_io): Save/restore rl_completion_display_matches_hook.
2586 * NEWS (New Options): Mention set/show max-completions.
2590 * symtab.c (struct add_name_data) <code>: New field.
2592 (add_symtab_completions): New function.
2593 (symtab_expansion_callback): Likewise.
2594 (default_make_symbol_completion_list_break_on): Set datum.code.
2595 Move minimal symbol scan before calling expand_symtabs_matching.
2596 Scan known primary symtabs for externs and statics before calling
2597 expand_symtabs_matching. Pass symtab_expansion_callback as
2598 expansion_notify argument to expand_symtabs_matching. Do not scan
2599 primary symtabs for externs and statics after calling
2600 expand_symtabs_matching.
2604 * symfile.h (expand_symtabs_exp_notify_ftype): New typedef.
2605 (struct quick_symbol_functions) <expand_symtabs_matching>:
2606 New argument expansion_notify. All uses updated.
2607 (expand_symtabs_matching): New argument expansion_notify.
2609 * symfile-debug.c (debug_qf_expand_symtabs_matching):
2610 Also print expansion notify.
2611 * symtab.c (expand_symtabs_matching_via_partial): Call
2612 expansion_notify whenever a partial symbol table is expanded.
2613 * dwarf2read.c (dw2_expand_symtabs_matching): Call
2614 expansion_notify whenever a symbol table is instantiated.
2618 * cli-out.c: #include completer.h, readline/readline.h.
2619 (cli_mld_crlf, cli_mld_putch, cli_mld_puts): New functions.
2620 (cli_mld_flush, cld_mld_erase_entire_line): Ditto.
2621 (cli_mld_beep, cli_mld_read_key, cli_display_match_list): Ditto.
2622 * cli-out.h (cli_display_match_list): Declare.
2623 * completer.c (MB_INVALIDCH, MB_NULLWCH): New macros.
2624 (ELLIPSIS_LEN): Ditto.
2625 (gdb_get_y_or_n, gdb_display_match_list_pager): New functions.
2626 (gdb_path_isdir, gdb_printable_part, gdb_fnwidth): Ditto.
2627 (gdb_fnprint, gdb_print_filename): Ditto.
2628 (gdb_complete_get_screenwidth, gdb_display_match_list_1): Ditto.
2629 (gdb_display_match_list): Ditto.
2630 * completer.h (mld_crlf_ftype, mld_putch_ftype): New typedefs.
2631 (mld_puts_ftype, mld_flush_ftype, mld_erase_entire_line_ftype): Ditto.
2632 (mld_beep_ftype, mld_read_key_ftype): Ditto.
2633 (match_list_displayer): New struct.
2634 (gdb_display_match_list): Declare.
2635 * top.c (init_main): Set rl_completion_display_matches_hook.
2636 * tui/tui-io.c: #include completer.h.
2637 (printable_part, PUTX, print_filename, get_y_or_n): Delete.
2638 (tui_mld_crlf, tui_mld_putch, tui_mld_puts): New functions.
2639 (tui_mld_flush, tui_mld_erase_entire_line, tui_mld_beep): Ditto.
2640 (tui_mld_getc, tui_mld_read_key): Ditto.
2641 (tui_rl_display_match_list): Rewrite.
2642 (tui_handle_resize_during_io): New arg for_completion. All callers
2647 Add symbol lookup cache.
2648 * NEWS: Document new options and commands.
2649 * symtab.c (symbol_cache_key): New static global.
2650 (DEFAULT_SYMBOL_CACHE_SIZE, MAX_SYMBOL_CACHE_SIZE): New macros.
2651 (SYMBOL_LOOKUP_FAILED): New macro.
2652 (symbol_cache_slot_state): New enum.
2653 (block_symbol_cache): New struct.
2654 (symbol_cache): New struct.
2655 (new_symbol_cache_size, symbol_cache_size): New static globals.
2656 (hash_symbol_entry, eq_symbol_entry): New functions.
2657 (symbol_cache_byte_size, resize_symbol_cache): New functions.
2658 (make_symbol_cache, free_symbol_cache): New functions.
2659 (get_symbol_cache, symbol_cache_cleanup): New function.
2660 (set_symbol_cache_size, set_symbol_cache_size_handler): New functions.
2661 (symbol_cache_lookup, symbol_cache_clear_slot): New function.
2662 (symbol_cache_mark_found, symbol_cache_mark_not_found): New functions.
2663 (symbol_cache_flush, symbol_cache_dump): New functions.
2664 (maintenance_print_symbol_cache): New function.
2665 (maintenance_flush_symbol_cache): New function.
2666 (symbol_cache_stats): New function.
2667 (maintenance_print_symbol_cache_statistics): New function.
2668 (symtab_new_objfile_observer): New function.
2669 (symtab_free_objfile_observer): New function.
2670 (lookup_static_symbol, lookup_global_symbol): Use symbol cache.
2671 (_initialize_symtab): Init symbol_cache_key. New parameter
2672 maint symbol-cache-size. New maint commands print symbol-cache,
2673 print symbol-cache-statistics, flush-symbol-cache.
2674 Install new_objfile, free_objfile observers.
2679 * symfile.c (clear_symtab_users): Move call to breakpoint_re_set
2684 * NEWS: Mention inlined scripts in .debug_gdb_scripts section.
2685 * auto-load.c: #include ctype.h.
2686 (struct auto_load_pspace_info): Replace member loaded_scripts with
2687 new members loaded_script_files, loaded_script_texts.
2688 (auto_load_pspace_data_cleanup): Update.
2689 (init_loaded_scripts_info): Update.
2690 (get_auto_load_pspace_data_for_loading): Update.
2691 (maybe_add_script_file): Renamed from maybe_add_script. All callers
2693 (maybe_add_script_text): New function.
2694 (clear_section_scripts): Update.
2695 (source_script_file, execute_script_contents): New functions.
2696 (source_section_scripts): Add support for
2697 SECTION_SCRIPT_ID_PYTHON_TEXT, SECTION_SCRIPT_ID_GUILE_TEXT.
2698 (print_scripts): New function.
2699 (auto_load_info_scripts): Also print inlined scripts.
2700 (maybe_print_unsupported_script_warning): Renamed from
2701 unsupported_script_warning_print. All callers updated.
2702 (maybe_print_script_not_found_warning): Renamed from
2703 script_not_found_warning_print. All callers updated.
2704 * extension-priv.h (struct extension_language_script_ops): New member
2705 objfile_script_executor.
2706 * extension.c (ext_lang_objfile_script_executor): New function.
2707 * extension.h (objfile_script_executor_func): New typedef.
2708 (ext_lang_objfile_script_executor): Declare.
2709 * guile/guile-internal.h (gdbscm_execute_objfile_script): Declare.
2710 * guile/guile.c (guile_extension_script_ops): Update.
2711 * guile/scm-objfile.c (gdbscm_execute_objfile_script): New function.
2712 * python/python.c (python_extension_script_ops): Update.
2713 (gdbpy_execute_objfile_script): New function.
2717 * tui/tui-io.c (tui_expand_tabs): New function.
2718 (tui_puts, tui_redisplay_readline): Expand TABs into the
2719 appropriate number of spaces.
2720 * tui/tui-regs.c: Include tui-io.h.
2721 (tui_register_format): Call tui_expand_tabs to expand TABs into
2722 the appropriate number of spaces.
2723 * tui/tui-io.h: Add prototype for tui_expand_tabs.
2727 * NEWS: "info source" command now display producer string if present.
2728 * source.c (source_info): Print producer string if present.
2732 * varobj.c (varobj_delete): Fix comment.
2736 * varobj.c (create_child): Modify comment.
2740 * ada-varobj.c (ada_number_of_children): Constify struct varobj *
2742 (ada_name_of_variable): Same.
2743 (ada_path_expr_of_child): Same.
2744 (ada_value_of_variable): Same.
2745 (ada_value_is_changeable_p): Same.
2746 (ada_value_has_mutated): Same.
2747 * c-varobj.c (varobj_is_anonymous_child): Same.
2748 (c_is_path_expr_parent): Same.
2749 (c_number_of_children): Same.
2750 (c_name_of_variable): Same.
2751 (c_path_expr_of_child): Same.
2753 (c_value_of_variable): Same.
2754 (cplus_number_of_children): Same.
2755 (cplus_name_of_variable): Same.
2756 (cplus_path_expr_of_child): Same.
2757 (cplus_value_of_variable): Same.
2758 * jv-varobj.c (java_number_of_children): Same.
2759 (java_name_of_variable): Same.
2760 (java_path_expr_of_child): Same.
2761 (java_value_of_variable): Same.
2762 * varobj.c (number_of_children): Same.
2763 (name_of_variable): Same.
2765 (varobj_ensure_python_env): Same.
2766 (varobj_get_objname): Same.
2767 (varobj_get_expression): Same.
2768 (varobj_get_display_format): Same.
2769 (varobj_get_display_hint): Same.
2770 (varobj_has_more): Same.
2771 (varobj_get_thread_id): Same.
2772 (varobj_get_frozen): Same.
2773 (dynamic_varobj_has_child_method): Same.
2774 (varobj_get_gdb_type): Same.
2775 (is_path_expr_parent): Same.
2776 (varobj_default_is_path_expr_parent): Same.
2777 (varobj_get_language): Same.
2778 (varobj_get_attributes): Same.
2779 (varobj_is_dynamic_p): Same.
2780 (varobj_get_child_range): Same.
2781 (varobj_value_has_mutated): Same.
2782 (varobj_get_value_type): Same.
2783 (number_of_children): Same.
2784 (name_of_variable): Same.
2785 (check_scope): Same.
2786 (varobj_editable_p): Same.
2787 (varobj_value_is_changeable_p): Same.
2788 (varobj_floating_p): Same.
2789 (varobj_default_value_is_changeable_p): Same.
2793 * varobj.c (varobj_get_path_expr): Set var->path_expr.
2794 * c-varobj.c (c_path_expr_of_child): Set local var instead of
2796 (cplus_path_expr_of_child): Same.
2800 * mi-cmd-var.c (print_varobj): Free varobj_get_expression
2802 (mi_cmd_var_info_expression): Same.
2803 * varobj.c (varobj_get_expression): Mention in the comment that
2804 the result must by freed by the caller.
2808 * mi/mi-cmd-var.c (mi_cmd_var_info_type): Free result of
2810 (varobj_update_one): Same.
2811 * varobj.c (update_type_if_necessary): Free curr_type_str and
2813 (varobj_get_type): Specify in comment that the result needs to be
2814 freed by the caller.
2819 * dwarf2read.c (dwarf_decode_line_header): Punt if version > 4.
2823 * dwarf2read.c (checkproducer): Call producer_is_gcc.
2824 * utils.c (producer_is_gcc_ge_4): Likewise.
2825 (producer_is_gcc): New function.
2826 * utils.h (producer_is_gcc): New declaration.
2830 * gdbtypes.h (struct dynamic_prop): New PROP_ADDR_OFFSET enum
2832 * gdbtypes.c (resolve_dynamic_type_internal): Replace "addr"
2833 parameter by "addr_stack" parameter.
2834 (resolve_dynamic_range): Replace "addr" parameter by
2835 "stack_addr" parameter. Update function documentation.
2836 Update code accordingly.
2837 (resolve_dynamic_array, resolve_dynamic_union)
2838 (resolve_dynamic_struct, resolve_dynamic_type_internal): Likewise.
2839 (resolve_dynamic_type): Update code, following the changes made
2840 to resolve_dynamic_type_internal's interface.
2841 * dwarf2loc.h (struct property_addr_info): New.
2842 (dwarf2_evaluate_property): Replace "address" parameter
2843 by "addr_stack" parameter. Adjust function documentation.
2844 (struct dwarf2_offset_baton): New.
2845 (struct dwarf2_property_baton): Update documentation of
2846 field "referenced_type" to be more general. New field
2847 "offset_info" in union data field.
2848 * dwarf2loc.c (dwarf2_evaluate_property): Replace "address"
2849 parameter by "addr_stack" parameter. Adjust code accordingly.
2850 Add support for PROP_ADDR_OFFSET properties.
2851 * dwarf2read.c (attr_to_dynamic_prop): Add support for
2852 DW_AT_data_member_location attributes as well. Use case
2853 statements instead of if/else condition.
2857 * ada-varobj.c (ada_varobj_get_array_number_of_children):
2858 Return zero if PARENT_VALUE is NULL and parent_type's
2859 range type is dynamic.
2863 * gdbtypes.c (is_dynamic_type_internal) <TYPE_CODE_RANGE>: Return
2864 nonzero if the type's subtype is dynamic.
2865 (resolve_dynamic_range): Also resolve the range's subtype.
2870 * symfile.c (unmap_overlay_command): Initialize sec to NULL.
2874 * NEWS: Mention gdb.Objfile.username.
2875 * python/py-objfile.c (objfpy_get_username): New function.
2876 (objfile_getset): Add "username".
2880 * stack.c (return_command): Markup warning message with _.
2884 * gdbtypes.h (TYPE_TYPE_SPECIFIC): Delete.
2888 Fix 100x slowdown regression on DWZ files.
2889 * dwarf2read.c (struct dwarf2_per_objfile): Add line_header_hash.
2890 (struct line_header): Add offset and offset_in_dwz.
2891 (dwarf_decode_lines): Add parameter decode_mapping to the declaration.
2892 (free_line_header_voidp): New declaration.
2893 (line_header_hash, line_header_hash_voidp, line_header_eq_voidp): New
2895 (dwarf2_build_include_psymtabs): Update dwarf_decode_lines caller.
2896 (handle_DW_AT_stmt_list): Use line_header_hash.
2897 (free_line_header_voidp): New function.
2898 (dwarf_decode_line_header): Initialize offset and offset_in_dwz.
2899 (dwarf_decode_lines): New parameter decode_mapping, use it.
2900 (dwarf2_free_objfile): Free line_header_hash.
2905 * valops.c (value_rtti_indirect_type): Catch exception thrown by
2910 * dwarf2read.c (read_subroutine_type): Set TYPE_NO_RETURN from
2912 * gdbtypes.h (struct func_type): Add is_noreturn field flag. Make
2913 calling_convention an 8 bit bit field.
2914 (TYPE_NO_RETURN): New macro.
2915 * infcmd.c (finish_command): Query if function does not return
2917 * stack.c (return_command): Likewise.
2921 * linux-nat.c (linux_is_async_p): New macro.
2922 (linux_nat_is_async_p):
2923 (linux_nat_terminal_inferior): Check whether the target can async
2924 instead of whether it is already async.
2925 (linux_nat_terminal_ours): Don't check whether the target is
2927 (linux_async_pipe): Use linux_is_async_p.
2931 * NEWS (Changes since GDB 7.9): Add 'thread apply all' option
2933 * thread.c (tp_array_compar_ascending, tp_array_compar): New.
2934 (thread_apply_all_command): Parse CMD for tp_array_compar_ascending.
2935 Sort tp_array using tp_array_compar.
2936 (_initialize_thread): Extend thread_apply_all_command help.
2940 * corelow.c (core_open): Call also thread_command.
2941 * gdbthread.h (thread_command): New prototype moved from ...
2942 * thread.c (thread_command): ... here.
2943 (thread_command): Make it global.
2947 * configure.ac [*mingw32*]: Check $curses_found instead of
2949 * configure: Regenerate.
2950 * windows-termcap.c: Remove HAVE_CURSES_H, HAVE_NCURSES_H and
2951 HAVE_NCURSES_NCURSES_H checks.
2955 * tui/tui.c (tui_enable) [__MINGW32__]: If the call to 'newterm'
2956 fails with the 1st arg NULL, try again with "unknown". Don't test
2957 the "cup" capability: it isn't supported by the Windows port of
2958 ncurses, but the Windows console driver is still capable of
2963 * compile/compile.c (_initialize_compile): Use -fPIE for compile_args.
2967 * Makefile.in (HFILES_NO_SRCDIR): Remove ada-varobj.h.
2968 (ALLDEPFILES): Remove irix5-nat.c. These two are part of the
2969 reason that "make TAGS" is broken.
2973 * hppa-tdep.c (inst_saves_gr): Fix logical working flow issues
2974 and check additional store instructions.
2978 * MAINTAINERS (Write After Approval): Add "Wei-cheng Wang".
2982 * ppc-linux-tdep.c (ppc_skip_trampoline_code,
2983 ppc_canonicalize_syscall, ppc_linux_syscall_record,
2984 ppc_linux_record_signal, ppc_init_linux_record_tdep): Add comments.
2985 * ppc64-tdep.c (ppc64_skip_trampoline_code): Likewise.
2986 * rs6000-tdep.c (rs6000_epilogue_frame_cache,
2987 rs6000_epilogue_frame_this_id, rs6000_epilogue_frame_prev_register,
2988 rs6000_epilogue_frame_sniffer, ppc_record_vsr, ppc_process_record_op4,
2989 ppc_process_record_op19, ppc_process_record_op31,
2990 ppc_process_record_op59, ppc_process_record_op60,
2991 ppc_process_record_op63): Likewise.
2995 * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason_string)
2996 (linux_ptrace_test_ret_to_nx): Use safe_strerror instead of
3001 * rs6000-tdep.c (ppc_process_record_op4, ppc_process_record_op19,
3002 ppc_process_record_op31, ppc_process_record_op59,
3003 ppc_process_record_op60, ppc_process_record_op63,
3004 ppc_process_record): Fix -Wformat warning.
3005 * rs6000-tdep.c (rs6000_epilogue_frame_cache, ppc_process_record_op60):
3006 Remove unused variables.
3010 * MAINTAINERS (Write After Approval): Add "Chen Gang".
3014 * configure.ac [*mingw32*]: Only add windows-termcap.o to
3015 CONFIG_OBS if not building with a curses library.
3016 * configure: Regenerate.
3018 * windows-termcap.c: Include defs.h. Make the whole body empty if
3019 either one of HAVE_CURSES_H or HAVE_NCURSES_H or
3020 HAVE_NCURSES_NCURSES_H is defined.
3024 * rs6000-tdep.c (rs6000_gdbarch_init): Move divide operator
3025 from end of line to start of next line.
3029 * ppc-linux-tdep.c (ppc_skip_trampoline_code):
3030 Scan PLT stub backward for reverse debugging.
3031 * ppc64-tdep.c (ppc64_skip_trampoline_code): Likewise.
3036 * configure.tgt (powerpc*-*-linux): Add linux-record.o to
3038 (ppc_linux_record_tdep, ppc64_linux_record_tdep): New for linux syscall
3040 (ppc_canonicalize_syscall, ppc_linux_syscall_record,
3041 ppc_linux_record_signal, ppc_init_linux_record_tdep): New functions.
3042 (ppc_linux_init_abi): Set process_record, process_record_signal.
3043 * ppc-tdep.h (struct gdbarch_tdep): Add ppc_syscall_record and
3044 ppc_linux_record_tdep to gdbarch_tdep.
3045 (ppc_process_record): New declaration.
3046 * rs6000-tdep.c (ppc_record_vsr, ppc_process_record_op4,
3047 ppc_process_record_op19, ppc_process_record_op31,
3048 ppc_process_record_op59, ppc_process_record_op60,
3049 ppc_process_record_op63, ppc_process_record): New functions.
3053 * rs6000-tdep.c (rs6000_in_function_epilogue_p): Rename to
3054 rs6000_in_function_epilogue_frame_p and add an argument
3056 (rs6000_epilogue_frame_cache, rs6000_epilogue_frame_this_id,
3057 rs6000_epilogue_frame_prev_register, rs6000_epilogue_frame_sniffer):
3059 (rs6000_epilogue_frame_unwind): New.
3060 (rs6000_gdbarch_init): Append epilogue unwinder.
3064 * nat/linux-personality.c: Replace "#ifndef
3065 HAVE_DECL_ADDR_NO_RANDOMIZE" by "#if
3066 !HAVE_DECL_ADDR_NO_RANDOMIZE", fixing a regression in RHEL-5
3071 * tui/tui-win.c (tui_rehighlight_all, tui_set_var_cmd): New
3073 (_initialize_tui_win) <border-kind, border-mode>:
3074 <active-border-mode>: Use tui_set_var_cmd as the "set" function.
3075 (tui_set_tab_width_command): Fix the commentary.
3077 * tui/tui-win.h: Add prototype for tui_rehighlight_all.
3079 * tui/tui-win.c (tui_scroll_left_command, tui_scroll_right_command):
3081 (tui_set_tab_width_command): Delete and recreate the source and
3082 the disassembly windows, to show the effect of the changed tab
3085 * tui/tui-data.h (LINE_PREFIX): Make shorter
3086 (MAX_PID_WIDTH): Enlarge from 14 to 19, to leave enough space for
3087 "Thread NNNNN.XXXX" thread ID notation on Windows.
3091 Fix gcc-5 compilation.
3092 * hppa-tdep.c (inst_saves_gr): Fix parentheses typo.
3096 * Makefile.in (HFILES_NO_SRCDIR): Add nat/linux-personality.h.
3097 (linux-personality.o): New rule.
3098 * common/common-defs.h: Include <stdint.h>.
3099 * config/aarch64/linux.mh (NATDEPFILES): Include
3100 linux-personality.o.
3101 * config/alpha/alpha-linux.mh (NATDEPFILES): Likewise.
3102 * config/arm/linux.mh (NATDEPFILES): Likewise.
3103 * config/i386/linux64.mh (NATDEPFILES): Likewise.
3104 * config/i386/linux.mh (NATDEPFILES): Likewise.
3105 * config/ia64/linux.mh (NATDEPFILES): Likewise.
3106 * config/m32r/linux.mh (NATDEPFILES): Likewise.
3107 * config/m68k/linux.mh (NATDEPFILES): Likewise.
3108 * config/mips/linux.mh (NATDEPFILES): Likewise.
3109 * config/pa/linux.mh (NATDEPFILES): Likewise.
3110 * config/powerpc/linux.mh (NATDEPFILES): Likewise.
3111 * config/powerpc/ppc64-linux.mh (NATDEPFILES): Likewise.
3112 * config/powerpc/spu-linux.mh (NATDEPFILES): Likewise.
3113 * config/s390/linux.mh (NATDEPFILES): Likewise.
3114 * config/sparc/linux64.mh (NATDEPFILES): Likewise.
3115 * config/sparc/linux.mh (NATDEPFILES): Likewise.
3116 * config/tilegx/linux.mh (NATDEPFILES): Likewise.
3117 * config/xtensa/linux.mh (NATDEPFILES): Likewise.
3118 * defs.h: Remove #include <stdint.h> (moved to
3119 common/common-defs.h).
3120 * linux-nat.c: Include nat/linux-personality.h. Remove #include
3121 <sys/personality.h>; do not define ADDR_NO_RANDOMIZE (moved to
3122 nat/linux-personality.c).
3123 (linux_nat_create_inferior): Remove code to disable address space
3124 randomization (moved to nat/linux-personality.c). Create cleanup
3125 to disable address space randomization.
3126 * nat/linux-personality.c: New file.
3127 * nat/linux-personality.h: Likewise.
3131 * Makefile.in (ALLDEPFILES): Including common/mingw-strerror.c and
3132 common/posix-strerror.c.
3133 (posix-strerror.o): New rule.
3134 (mingw-strerror.o): Likewise.
3135 * common/common-utils.h (safe_strerror): Move prototype to here,
3137 * common/common.host: New file.
3138 * common/mingw-strerror.c: Likewise.
3139 * common/posix-strerror.c: Likewise.
3140 * configure: Regenerated.
3141 * configure.ac: Source common/common.host. Add variable
3142 common_host_obs to gdb_host_obs.
3143 * contrib/ari/gdb_ari.sh: Mention gdb/common/mingw-strerror.c and
3144 gdb/common/posix-strerror.c when warning about the use of
3146 * mingw-hdep.c (safe_strerror): Remove definition; move it to
3147 common/mingw-strerror.c.
3148 * posix-hdep.c (safe_strerror): Remove definition; move it to
3149 common/posix-hdep.c.
3150 * utils.h (safe_strerror): Remove prototype; move to
3151 common/common-utils.h.
3159 * ada-lang.c (ada_array_bound_from_type): Ignore array's parallel
3160 ___XA type if the array has already been fixed.
3164 * Makefile.in (ppc-linux.o): New rule.
3165 * config/powerpc/ppc64-linux.mh (NATDEPFILES): Add ppc-linux.o.
3166 * configure.ac: AC_CHECK_FUNCS(getauxval).
3167 * config.in: Re-generated.
3168 * configure: Re-generated.
3169 * nat/ppc-linux.h [__powerpc64__] (ppc64_64bit_inferior_p):
3171 * nat/ppc-linux.c: New file.
3172 * ppc-linux-nat.c (ppc_linux_target_wordsize) [__powerpc64__]:
3173 Call ppc64_64bit_inferior_p.
3177 * ppc-linux-nat.c (PT_ORIG_R3, PT_TRAP): Move to
3179 (PPC_FEATURE_CELL, PPC_FEATURE_BOOKE): Likewise.
3180 (PPC_FEATURE_HAS_DFP): Likewise.
3181 (PTRACE_GETVRREGS, PTRACE_SETVRREGS): Likewise.
3182 (PTRACE_GETVSXREGS, PTRACE_SETVSXREGS): Likewise.
3183 (PTRACE_GETEVRREGS, PTRACE_SETEVRREGS): Likewise.
3184 Include "nat/ppc-linux.h".
3185 * nat/ppc-linux.h: New file.
3186 * Makefile.in (HFILES_NO_SRCDIR): Add nat/ppc-linux.h.
3191 * breakpoint.c: Include "interps.h".
3192 (bpstat_do_actions_1): Also check whether the interpreter is
3198 * infrun.c (reinstall_readline_callback_handler_cleanup): Don't
3199 reinstall if the interpreter is sync.
3203 * objfiles.c (objfile_filename): New function.
3204 * objfiles.h (objfile_filename): Declare it.
3205 (objfile_name): Add function comment.
3206 * python/py-objfile.c (objfpy_lookup_objfile_by_name): Try both the
3207 bfd file name (which may be realpath'd), and the original name.
3211 * NEWS: Create a new section for the next release branch.
3212 Rename the section of the current branch, now that it has
3217 GDB 7.9 branch created (92fc2e6978d9a7c8324c7e851dbee59e22ec7a37):
3218 * version.in: Bump version to 7.9.50.DATE-cvs.
3222 * nat/linux-procfs.c (linux_proc_attach_tgid_threads):
3223 Remove trailing new-line in argument of call to warning.
3227 * linux-nat.c (attach_proc_task_lwp_callback): Remove trailing
3228 new-line in argument of call to "warning".
3232 * ada-lang.c (ada_lookup_symbol_nonlocal): If name not found
3233 in static block, then try searching for primitive types.
3237 * top.h (gdb_add_history): Declare.
3238 * top.c (command_count): New variable.
3239 (gdb_add_history): New function.
3240 (gdb_safe_append_history): New static function.
3241 (quit_force): Call it.
3242 (command_line_input): Use gdb_add_history instead of
3244 * event-top.c (command_line_handler): Likewise.
3249 * darwin-nat.c: Replace <machine/setjmp.h> #include by
3250 <setjmp.h> #include.
3254 * dwarf2read.c (compute_delayed_physnames): Use TYPE_FN_FIELD_PHYSNAME.
3259 * NEWS: The "maint demangle" command is renamed as "demangle".
3260 * demangle.c: #include cli/cli-utils.h, language.h.
3261 (demangle_command): New function.
3262 (_initialize_demangle): Add new command "demangle".
3263 * maint.c (maintenance_demangle): Stub out.
3264 (_initialize_maint_cmds): Update help text for "maint demangle",
3265 and mark as deprecated.
3269 * inf-ptrace.c (inf_ptrace_follow_fork): Adjust now that
3270 inferior_thread is a function.
3274 * Makefile.in (.y.c): Don't munge yacc's #line
3279 * utils.c (defaulted_query): Rewrite to use gdb_readline_wrapper
3280 to prompt for input.
3281 * tui/tui-hooks.c (tui_query_hook): Remove.
3282 (tui_install_hooks): Don't set deprecated_query_hook.
3283 * tui/tui-io.c (tui_redisplay_readline): Fix off-by-one error in
3284 height calculation. Always update the command window's cur_line.
3288 * breakpoint.c (hardware_breakpoint_inserted_here_p): New
3290 * breakpoint.h (hardware_breakpoint_inserted_here_p): New
3292 * linux-nat.c (linux_nat_status_is_event): Move higher up in file.
3293 (linux_resume_one_lwp): Store the thread's PC. Adjust to clear
3295 (check_stopped_by_watchpoint): New function.
3296 (save_sigtrap): Reimplement.
3297 (linux_nat_stopped_by_watchpoint): Adjust.
3298 (linux_nat_lp_status_is_event): Delete.
3299 (stop_wait_callback): Only call save_sigtrap after storing the
3301 (status_callback): If the thread had been stopped for a breakpoint
3302 that has since been removed, discard the event and resume the LWP.
3303 (count_events_callback, select_event_lwp_callback): Use
3304 lwp_status_pending_p instead of linux_nat_lp_status_is_event.
3305 (cancel_breakpoint): Rename to ...
3306 (check_stopped_by_breakpoint): ... this. Record whether the LWP
3307 stopped for a software breakpoint or hardware breakpoint.
3308 (select_event_lwp): Only give preference to the stepping LWP in
3309 all-stop mode. Adjust comments.
3310 (stop_and_resume_callback): Remove references to new_pending_p.
3311 (linux_nat_filter_event): Likewise. Leave exit events of the
3312 leader thread pending here. Handle signal short circuiting here.
3313 Only call save_sigtrap after storing the pending waitstatus.
3314 (linux_nat_wait_1): Remove 'retry' label. Remove references to
3315 new_pending. Don't handle leaving events the caller is not
3316 interested in pending here, nor handle signal short-circuiting
3317 here. Also give equal priority to all LWPs that have had events
3318 in non-stop mode. If reporting a software breakpoint event,
3319 unadjust the LWP's PC.
3320 * linux-nat.h (enum lwp_stop_reason): New.
3321 (struct lwp_info) <stop_pc>: New field.
3322 (struct lwp_info) <stopped_by_watchpoint>: Delete field.
3323 (struct lwp_info) <stop_reason>: New field.
3324 * x86-linux-nat.c (x86_linux_prepare_to_resume): Adjust.
3328 * linux-nat.c (linux_handle_extended_wait) <PTRACE_EVENT_EXEC>:
3329 Set the LWP's 'resumed' flag.
3333 * linux-nat.c (linux_resume_one_lwp): New function.
3334 (resume_lwp): Use lwp_status_pending_p and linux_resume_one_lwp.
3335 (linux_nat_resume): Use lwp_status_pending_p and
3336 linux_resume_one_lwp.
3337 (linux_handle_syscall_trap): Use linux_resume_one_lwp.
3338 (linux_handle_extended_wait): Use linux_resume_one_lwp.
3339 (status_callback, running_callback): Use lwp_status_pending_p.
3340 (lwp_status_pending_p): New function.
3341 (stop_and_resume_callback): Use lwp_status_pending_p.
3342 (linux_nat_filter_event): Use linux_resume_one_lwp.
3343 (linux_nat_wait_1): Always use status_callback to look for an LWP
3344 with a pending status. Use linux_resume_one_lwp.
3345 (resume_stopped_resumed_lwps): Use lwp_status_pending_p and
3346 linux_resume_one_lwp.
3350 * breakpoint.c (bp_location_inserted_here_p): New function,
3351 factored out from ...
3352 (breakpoint_inserted_here_p): ... here. Use
3353 ALL_BP_LOCATIONS_AT_ADDR.
3354 (software_breakpoint_inserted_here_p): Use
3355 bp_location_inserted_here_p and ALL_BP_LOCATIONS_AT_ADDR.
3359 Skip enabling event reporting if the kernel supports
3361 * linux-thread-db.c: Include "nat/linux-ptrace.h".
3362 (thread_db_use_events): New function.
3363 (try_thread_db_load_1): Check thread_db_use_events before enabling
3365 (update_thread_state): New function.
3366 (attach_thread): Use it. Check thread_db_use_events before
3367 enabling event reporting.
3368 (thread_db_detach): Check thread_db_use_events before disabling
3370 (find_new_threads_callback): Check thread_db_use_events before
3371 enabling event reporting. Update the thread's state if not using
3372 libthread_db events.
3376 * linux-nat.c (lin_lwp_attach_lwp): Assert that the lwp id we're
3377 about to wait for is > 0.
3378 * linux-thread-db.c (find_new_threads_callback): Ignore thread if
3379 the kernel thread ID is -1.
3383 * linux-nat.c (attach_proc_task_lwp_callback): New function.
3384 (linux_nat_attach): Use linux_proc_attach_tgid_threads.
3385 (wait_lwp, linux_nat_filter_event): If not set yet, set the lwp's
3386 ptrace option flags.
3387 * linux-nat.h (struct lwp_info) <must_set_ptrace_flags>: New
3389 * nat/linux-procfs.c: Include <dirent.h>.
3390 (linux_proc_get_int): New parameter "warn". Handle it.
3391 (linux_proc_get_tgid): Adjust.
3392 (linux_proc_get_tracerpid): Rename to ...
3393 (linux_proc_get_tracerpid_nowarn): ... this.
3394 (linux_proc_pid_get_state): New function, factored out from
3395 (linux_proc_pid_has_state): ... this. Add new parameter "warn"
3397 (linux_proc_pid_is_gone): New function.
3398 (linux_proc_pid_is_stopped): Adjust.
3399 (linux_proc_pid_is_zombie_maybe_warn)
3400 (linux_proc_pid_is_zombie_nowarn): New functions.
3401 (linux_proc_pid_is_zombie): Use
3402 linux_proc_pid_is_zombie_maybe_warn.
3403 (linux_proc_attach_tgid_threads): New function.
3404 * nat/linux-procfs.h (linux_proc_get_tgid): Update comment.
3405 (linux_proc_get_tracerpid): Rename to ...
3406 (linux_proc_get_tracerpid_nowarn): ... this, and update comment.
3407 (linux_proc_pid_is_gone): New declaration.
3408 (linux_proc_pid_is_zombie): Update comment.
3409 (linux_proc_pid_is_zombie_nowarn): New declaration.
3410 (linux_proc_attach_lwp_func): New typedef.
3411 (linux_proc_attach_tgid_threads): New declaration.
3412 * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason): Adjust to
3413 use nowarn functions.
3414 (linux_ptrace_attach_fail_reason_string): Move here from
3415 gdbserver/linux-low.c and rename.
3416 (ptrace_supports_feature): If the current ptrace options are not
3417 known yet, check them now, instead of asserting.
3418 * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason_string):
3423 * linux-thread-db.c (thread_db_find_new_threads_silently)
3424 (try_thread_db_load_1, try_thread_db_load, thread_db_load_search)
3425 (find_new_threads_once): Print debug output on gdb_stdlog.
3430 * compile/compile.c: Include "gdb_wait.h".
3431 (do_rmdir): Check return value, and free 'zap'.
3436 * dwarf2loc.c (indirect_pieced_value): Don't call
3437 gdb_sign_extend. Call extract_signed_integer instead.
3438 * utils.c (gdb_sign_extend): Remove.
3439 * utils.h (gdb_sign_extend): Remove declaration.
3444 * stabsread.c (define_symbol): Set language for C++ special symbols.
3448 * inflow.c (initial_gdb_ttystate): Tweak comment.
3452 * inflow.c (set_initial_gdb_ttystate): Add empty line after
3453 comment documenting function.
3457 * terminal.h (set_initial_gdb_ttystate): Declare.
3458 * inflow.c (initial_gdb_ttystate): New static variable.
3459 (set_initial_gdb_ttystate): New setter.
3460 (child_terminal_init_with_pgrp): Copy initial_gdb_ttystate
3461 instead of our current terminal state.
3462 * top.c (gdb_init): Call set_initial_gdb_ttystate.
3466 * guile/scm-type.c (tyscm_array_1): Add comment.
3467 * python/py-type.c (typy_array_1): Add comment.
3471 * guile/scm-type.c (tyscm_array_1): Do not raise out-of-range
3472 error if N2 is equal to N1 - 1.
3476 * python/py-type.c (typy_array_1): Do not raise negative-length
3477 exception if N2 is equal to N1 - 1.
3481 * c-exp.y: Whitespace cleanup.
3482 (classify_inner_name): Remove extra ;.
3486 * mips-tdep.c (mips32_scan_prologue): Keep the extracted stack
3491 * dwarf2read.c (setup_type_unit_groups): Remove outdated comment.
3495 * symtab.h (struct symbol): Fix typo in comment.
3499 Update year range in copyright notice of all files.
3503 * top.c (print_gdb_version): Update copyright year to 2015.
3507 * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2014.
3509 For older changes see ChangeLog-2014.
3515 version-control: never