X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2FChangeLog;h=397ee0458af25098626ffe90fed26ec360f5fbd9;hb=84b68c77e7f1c8c883ff94aaa2fce0df2eab0877;hp=5fe8267e213ac30a36233d3ab6812cc165040850;hpb=970d89d8fdd84b31decaf3bd84e785aad057ea32;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 5fe8267e21..397ee0458a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,12 +1,1053 @@ +2018-12-26 Simon Marchi + + * target.c (target_terminal::restore_inferior): Remove struct keyword. + +2018-12-26 Simon Marchi + + * build-id.c (build_id_to_debug_bfd): Enhance debug output. + * symfile.c (separate_debug_file_exists): Likewise. + +2018-12-24 Andrew Burgess + + * c-exp.y (field_name): Allow DOUBLE_KEYWORD, INT_KEYWORD, LONG, + SHORT, SIGNED_KEYWORD, and UNSIGNED tokens to act as a field + names. + (typename_stoken): New function. + +2018-12-24 Andrew Burgess + + * c-exp.y (field_name): New %token, and new rule. + (exp): Replace uses of 'name' with 'field_name' where appropriate. + +2018-12-24 Andrew Burgess + + PR gdb/13368 + * c-exp.y (typebase): Extend the comment. + (ident_tokens): Likewise. + +2018-12-18 Tom Tromey + + * dwarf2read.c (dwarf2_find_containing_comp_unit): Don't take + address of sect_off. + +2018-12-23 Joel Brobecker + + GDB 8.2.1 released. + +2018-12-22 Andrew Burgess + + * riscv-tdep.c (riscv_call_arg_struct): Don't adjust size before + assigning locations. + (riscv_return_value): Take more care not to read/write outside of + argument buffer. Cast return value between the declared type and + the abi type. + +2018-12-22 Andrew Burgess + + * riscv-tdep.c (riscv_register_reggroup_p): Save and restore fcsr, + fflags, and frm registers. + +2018-12-22 Andrew Burgess + + * riscv-tdep.c (riscv_dwarf_reg_to_regnum): New function. + (riscv_gdbarch_init): Register new function with gdbarch. + * riscv-tdep.h: New enum to define RISC-V DWARF register numbers. + +2018-12-21 Simon Marchi + + * minsyms.c (mst_str): New. + (minimal_symbol_reader::record_full): Add debug output. + +2018-12-21 John Baldwin + + * fbsd-nat.c (fbsd_handle_debug_trap): Require pl.pl_flags to + equal PL_FLAG_SI. + (fbsd_nat_target::stopped_by_sw_breakpoint): Likewise. + +2018-12-21 Paul Marechal + + PR gdb/23974 + * target.c (target_read_stralloc): Check for empty vector. + +2018-12-21 Дилян Палаузов + + * top.c (print_gdb_configuration): Print "--without-python" + if GDB was configured without Python. + +2018-12-21 Andrew Burgess + + * riscv-tdep.c (riscv_scan_prologue): Use plongest to format + a signed offset as a string. + +2018-12-21 Dave Murphy + + * dtrace-probe.c (dtrace_static_probe_ops): Explicit zero + initialise. + * probe.c (any_static_probe_ops): Ditto. + * record-btrace.c (record_btrace_thread_observer_token): Ditto. + * stap-probe.c (stap_static_probe_ops): Ditto. + * tui/tui-hooks.c (tui_observers_token): Ditto. + * unittests/observable-selftests.c (token1, token2, token3): Ditto. + +2018-12-19 Andrew Burgess + + * gdb/dummy-frame.c (default_dummy_id): Defined new function. + * gdb/dummy-frame.h (default_dummy_id): Declare new function. + * gdb/frame-unwind.c (default_unwind_pc): Define new function. + (default_unwind_sp): Define new function. + * gdb/frame-unwind.h (default_unwind_pc): Declare new function. + (default_unwind_sp): Declare new function. + * gdb/frame.c (frame_unwind_pc): Assume gdbarch_unwind_pc is + available. + (get_frame_sp): Assume that gdbarch_unwind_sp is available. + * gdb/gdbarch.c: Regenerate. + * gdb/gdbarch.h: Regenerate. + * gdb/gdbarch.sh: Update definition of dummy_id, unwind_pc, and + unwind_sp. Add additional header files to be included in + generated file. + +2018-12-19 Dimitar Dimitrov + + * nat/linux-ptrace.c (linux_ptrace_test_ret_to_nx): Remove + sp clobbers. + +2018-12-17 Andrew Burgess + + * dwarf2read.c (struct dwarf2_cu): Convert the fields 'mark', + 'has_loclist', 'checked_producer', 'producer_is_gxx_lt_4_6', + 'producer_is_gcc_lt_4_3', 'producer_is_icc_lt_14', + 'processing_has_namespace_info' from unsigned int to bool. Update + comments. + (producer_is_icc_lt_14): Update return type. + (producer_is_gcc_lt_4_3): Likewise. + (producer_is_gxx_lt_4_6): Likewise. + (process_die): Write true instead of 1 into predicate fields. + (dwarf2_start_symtab): Likewise. + (var_decode_location): Likewise. + (dwarf2_mark_helper): Likewise. + (dwarf2_mark): Likewise. + (dwarf2_clear_marks): Write false instead of 0 into predicate + field. + (dwarf2_cu::dwarf2_cu): Initialise predicate fields to false, not + 0. + +2018-12-17 Szabolcs Nagy + + * nat/aarch64-sve-linux-ptrace.h: Include signal.h instead of + asm/sigcontext.h. + +2018-12-17 Philippe Waroquiers + + * nat/linux-ptrace.c (kill_child): Fix ARI warning by removing + warning trailing new line. + +2018-12-16 Philippe Waroquiers + + * nat/linux-ptrace.c (kill_child): New function. + (linux_ptrace_test_ret_to_nx): Use kill_child instead of local code. + Add a call to kill_child in case of early return after fork. + (linux_check_ptrace_features): Use kill_child instead of local code. + (linux_test_for_tracefork): Likewise. + +2018-12-14 Tom Tromey + + * Makefile.in: Remove "alloca" comment. + (INFOFILES): Remove. + (local-maintainer-clean): Don't use INFOFILES. + +2018-12-13 John Baldwin + + * syscalls/update-freebsd.sh: New file. + * syscalls/freebsd.xml: Regenerate. + +2018-12-13 John Baldwin + + * NEWS: Add entry documenting system call aliases. + * break-catch-syscall.c (catch_syscall_split_args): Pass 'result' + to get_syscalls_by_name. + * gdbarch.sh (UNKNOWN_SYSCALL): Remove. + * gdbarch.h: Regenerate. + * syscalls/gdb-syscalls.dtd (syscall): Add alias attribute. + * xml-syscall.c [!HAVE_LIBEXPAT] (get_syscalls_by_name): Rename + from get_syscall_by_name. Now accepts a pointer to a vector of + integers and returns a bool. + [HAVE_LIBEXPAT] (struct syscall_desc): Add alias member. + (syscall_create_syscall_desc): Add alias parameter and pass it to + syscall_desc constructor. + (syscall_start_syscall): Handle alias attribute. + (syscall_attr): Add alias attribute. + (xml_get_syscalls_by_name): Rename from xml_get_syscall_number. + Now accepts a pointer to a vector of integers and returns a + bool. Add syscalls whose alias or name matches the requested + name. + (get_syscalls_by_name): Rename from get_syscall_by_name. Now + accepts a pointer to a vector of integers and returns a bool. + * xml-syscall.h (get_syscalls_by_name): Likewise. + +2018-12-13 John Baldwin + + * break-catch-syscall.c (catch_syscall_split_args): Pass 'result' + to get_syscalls_by_group. + * xml-syscall.c [!HAVE_LIBEXPAT] (get_syscalls_by_group): Return + false. + [HAVE_LIBEXPAT] (xml_list_syscalls_by_group): Append syscall + numbers to an existing vector of integers and return a bool. + (get_syscalls_by_group): Accept pointer to vector of integers + and change return type to bool. + * xml-syscall.h (get_syscalls_by_group): Likewise. + +2018-12-13 Jim Wilson + + * riscv-tdep.c (riscv_print_one_register_info): For MSTATUS, add + comment for SD field, and correct xlen calculation. For MISA, add + comment for MXL field, add call to register_size, and correct base + calculation. + +2018-12-13 Stafford Horne + + * NEWS(New targets): Add or1k*-*-linux*. + +2018-12-12 Philippe Waroquiers + + * nat/linux-osdata.c (linux_xfer_osdata_info_os_types): Forward + declare on one line to fix ARI warning. + +2018-12-12 Andrew Burgess + + * infrun.c (infcall_suspend_state::infcall_suspend_state): New. + (infcall_suspend_state::registers): New. + (infcall_suspend_state::restore): New. + (infcall_suspend_state::thread_suspend): Rename to... + (infcall_suspend_state::m_thread_suspend): ...this. + (infcall_suspend_state::registers): Rename to... + (infcall_suspend_state::m_registers): ...this. + (infcall_suspend_state::siginfo_gdbarch): Rename to... + (infcall_suspend_state::m_siginfo_gdbarch): ...this. + (infcall_suspend_state::siginfo_data): Rename to... + (infcall_suspend_state::m_siginfo_data): ...this. + (save_infcall_suspend_state): Rewrite to use infcall_suspend_state + constructor. + (restore_infcall_suspend_state): Rewrite to use + infcall_suspend_state::restore method. + (get_infcall_suspend_state_regcache): Use + infcall_suspend_state::registers method. + +2018-12-12 Andrew Burgess + + * riscv-tdep.c (riscv_call_arg_scalar_float): Unnamed (variadic) + arguments are passed in integer registers. + (riscv_call_arg_complex_float): Likewise. + +2018-12-11 Philippe Waroquiers + + * nat/linux-osdata.c (common_getter): New function. + (struct osdata_type): Change getter to take_snapshot. + Add LONGEST len_avail and struct buffer buffer. + Change all elements in the initializer. + Add an element for the list of types. + (linux_xfer_osdata_info_os_types): New function. + (linux_common_xfer_osdata): Use common_getter for the list of types. + Replace getter call by common_getter. + (linux_xfer_osdata_cpus): Remove args READBUF, OFFSET, LEN. + Add arg BUFFER. Only keep the code that adds data in BUFFER. + (linux_xfer_osdata_fds): Likewise. + (linux_xfer_osdata_modules): Likewise. + (linux_xfer_osdata_msg): Likewise. + (linux_xfer_osdata_processes): Likewise. + (linux_xfer_osdata_processgroups): Likewise. + (linux_xfer_osdata_sem): Likewise. + (linux_xfer_osdata_shm): Likewise. + (linux_xfer_osdata_isockets): Likewise. + (linux_xfer_osdata_threads): Likewise. + +2018-12-11 Philippe Waroquiers + + * nat/linux-osdata.c: Removed various trailing spaces. + +2018-12-10 Andrew Burgess + + * riscv-tdep.c (riscv_register_name): Fix ARI warning by removing + leading whitespace before #include line. + +2018-12-08 Simon Marchi + Дилян Палаузов + + PR gdb/23950 + * configure.ac: Search for tgetent in libtinfow. + * configure: Re-generate. + +2018-12-08 Philippe Waroquiers + + * linux-thread-db.c (struct thread_db_info): Add td_ta_delete_p. + (thread_db_err_str): Forward declare. + (delete_thread_db_info): Call td_ta_delete_p if available. + (try_thread_db_load_1): Acquire td_ta_delete address. + * nat/gdb_thread_db.h (td_ta_delete_ftype): Declare. + +2018-12-08 Pedro Alves + + * source.c (forward_search_command): Rename to ... + (search_command_helper): ... this. Add 'forward' parameter. + Tweak to use a gdb::def_vector instead of a xrealloc'ed + buffer. Handle backward searches too. + (forward_search_command, reverse_search_command): Reimplement by + calling search_command_helper. + +2018-12-07 Andrew Burgess + + * .dir-locals.el: Copy most of the settings from c-mode over to + c++-mode. + +2018-12-08 Stafford Horne + + * Makefile.in (ALL_TARGET_OBS): Add or1k-linux-tdep.o. + * configure.tgt: Add or1k*-*-linux*. + * or1k-linux-tdep.c: New file. + * or1k-tdep.c (or1k_gdbarch_init): Call gdbarch_init_osabi. + +2018-12-07 Pedro Alves + + * dwarf2read.c (get_gdb_index_contents_from_section): Use + gdb::make_array_view. + +2018-12-05 Philippe Waroquiers + + * language.c (_initialize_language): Fix leak by assigning + a static string to language. Same for range and case_sensitive, + even if no leak is detected for these variables. + +2018-12-05 John Baldwin + + * configure: Re-generate. + * configure.ac: Use separate sed expressions to escape variables + in auto-load directories. + +2018-12-05 Andrew Burgess + + * riscv-tdep.c (riscv_features_from_gdbarch_info): New function. + (riscv_find_default_target_description): Use new function to + extract feature from gdbarch_info. + (riscv_gdbarch_init): Add error checks for xlen and flen between + target description and bfd headers. Be smarter about when we + think the hardware floating point abi should be used. + +2018-12-05 Alan Hayward + + * nat/aarch64-linux-hw-point.c + (aarch64_linux_any_set_debug_regs_state): New function. + * nat/aarch64-linux-hw-point.h + (aarch64_linux_any_set_debug_regs_state): New declaration. + * nat/aarch64-linux.c (aarch64_linux_new_thread): Check if any + BPs or WPs are set. + +2018-11-30 John Baldwin + + * common/filestuff.c [HAVE_KINFO_GETFILE]: Include headers. + (fdwalk) [HAVE_KINFO_GETFILE]: Use kinfo_getfile. + +2018-11-30 Philippe Waroquiers + Simon Marchi + + * linespec.c (symtab_vector_up): Remove. + (symtabs_from_filename): Change return type to std::vector. + (collect_symtabs_from_filename): Likewise. + (create_sals_line_offset): Assign return value of + collect_symtabs_from_filename to *ls->file_symtabs. + (convert_explicit_location_to_linespec): Remove call to release. + (parse_linespec): Likewise. + (symtab_collector) : Remove initialization of + m_symtabs. + : Change return type to std::vector. + : Adjust. + +2018-11-30 John Baldwin + + * fbsd-nat.c [__FreeBSD_version >= 700009] (USE_SIGINFO): Macro + defined. + (union sigval32, struct siginfo32, fbsd_siginfo_size) + (fbsd_convert_siginfo): Make conditional on USE_SIGINFO instead + of KERN_PROC_AUXV and PT_LWPINFO. + (fbsd_nat_target::xfer_partial): Define method unconditionally. + Make TARGET_OBJECT_SIGNAL_INFO conditional on USE_SIGINFO. + Make TARGET_OBJECT_AUXV conditional on KERN_PROC_AUXV. + Make TARGET_OBJECT_FREEBSD_VMMAP and + TARGET_OBJECT_FREEBSD_PS_STRINGS conditional on KERN_PROC_VMMAP + and KERN_PROC_PS_STRINGS. + * fbsd-nat.h: Include . + (fbsd_nat_target::xfer_partial): Declare method unconditionally. + +2018-11-30 Andrew Burgess + + * riscv-linux-nat.c: Add 'inferior.h' and 'target-descriptions.h' + header files. + (riscv_linux_nat_target::read_description): New method. + +2018-11-30 Andrew Burgess + + * arch/riscv.h (riscv_gdbarch_features::hash): New method. + * arch/riscv.c (struct riscv_gdbarch_features_hasher): New. + (riscv_tdesc_cache): New global. + (riscv_create_target_description): Look in the cache before + creating a new target description. + +2018-11-30 Andrew Burgess + + * arch/riscv.h (riscv_gdb_features::operator==): New. + (riscv_gdb_features::operator!=): New. + * riscv-tdep.c (riscv_gdbarch_init): Make use of the inequality + operator. + +2018-11-30 Andrew Burgess + + * arch/riscv.h (riscv_create_target_description): Make return type + const. + * arch/riscv.c (riscv_create_target_description): Likewise. + * riscv-tdep.c (riscv_find_default_target_description): Likewise. + +2018-11-30 Jan Kratochvil + Keith Seitz + Tom Tromey + Sergio Durigan Junior + + https://bugzilla.redhat.com/show_bug.cgi?id=1613614 + * dwarf2read.c (dwarf2_find_containing_comp_unit): Add + 'mid_cu->length' to '*cu_off' when checking if 'sect_off' is + inside the CU. + +2018-11-30 Pedro Alves + + * aix-thread.c (aix_thread_target) : Delete. + : New override. + * bfd-target.c (aix_thread_target) : Delete. + : New override. + * bsd-uthread.c (bsd_uthread_target) : Delete. + : New override. + * exec.c (exec_target) : Delete. + : New override. + * gdbarch-selftests.c (register_to_value_test): Adjust to use the + stratum method instead of the to_stratum field. + * linux-thread-db.c (thread_db_target) : Delete. + : New override. + (thread_db_target::thread_db_target): Delete. + * make-target-delegates (print_class): Don't print a ctor + declaration. Print a stratum method override declaration. + * process-stratum-target.h (process_stratum_target) + : Delete. + : New override. + * ravenscar-thread.c (ravenscar_thread_target) + : Delete. + : New override. + * record-btrace.c (record_btrace_target) + : Delete. + : New override. + * record-full.c (record_full_base_target) + : Delete. + : New override. + * record.c (record_disconnect, record_detach) + (record_mourn_inferior, record_kill): Adjust to use the stratum + method instead of the to_stratum field. + * regcache.c (cooked_read_test, cooked_write_test): Likewise. + * sol-thread.c (sol_thread_target) + : Delete. + : New override. + * spu-multiarch.c (spu_multiarch_target) + : Delete. + : New override. + * target-delegates.c: Regenerate. + * target.c (target_stack::push, target_stack::unpush) + (pop_all_targets_above, pop_all_targets_at_and_above) + (info_target_command, target_require_runnable) + (target_stack::find_beneath): Adjust to use the stratum method + instead of the to_stratum field. + (dummy_target::dummy_target): Delete. + (dummy_target::stratum): New. + (debug_target::debug_target): Delete. + (debug_target::stratum): New. + (maintenance_print_target_stack): Adjust to use the stratum method + instead of the to_stratum field. + * target.h (struct target_ops) : New method. + : Delete. + : Adjust to use the stratum method + instead of the to_stratum field. + +2018-11-30 Pedro Alves + + * corelow.c (core_target) : New + overrides. + * inf-child.c (inf_child_target::has_all_memory) + (inf_child_target::has_memory, inf_child_target::has_stack) + (inf_child_target::has_registers) + (inf_child_target::has_execution): Delete. + * inf-child.h (inf_child_target) : Delete. + * process-stratum-target.c + (process_stratum_target::has_all_memory) + (process_stratum_target::has_memory) + (process_stratum_target::has_stack) + (process_stratum_target::has_registers) + (process_stratum_target::has_execution): New. + * process-stratum-target.h (process_stratum_target) + : New method overrides. + * ravenscar-thread.c (ravenscar_thread_target) : Delete. + * remote-sim.c (gdbsim_target) : Delete. + * remote.c (remote_target) : Delete. + * target.c (default_child_has_all_memory) + (default_child_has_memory, default_child_has_stack) + (default_child_has_registers, default_child_has_execution): + Delete. + * target.h (default_child_has_all_memory) + (default_child_has_memory, default_child_has_stack) + (default_child_has_registers, default_child_has_execution): + Delete. + * tracefile.h (tracefile_target) : New override. + +2018-11-30 Pedro Alves + + * Makefile.in (COMMON_SFILES): Add process-stratum-target.c. + * bsd-kvm.c: Include "process-stratum-target.h". + (bsd_kvm_target): Now inherits from process_stratum_target. + (bsd_kvm_target::bsd_kvm_target): Default it. + * corelow.c: Include "process-stratum-target.h". + (core_target): Now inherits from process_stratum_target. + (core_target::core_target): Don't set to_stratum here. + * inf-child.c (inf_child_target::inf_child_target): Delete. + * inf-child.h: Include "process-stratum-target.h". + (inf_child_target): Inherit from process_stratum_target. + (inf_child_target) : Default it. + : + Delete overrides. + * process-stratum-target.c: New file. + * process-stratum-target.h: New file. + * remote-sim.c: Include "process-stratum-target.h". + (gdbsim_target): Inherit from process_stratum_target. + : Default it. + * remote.c: Include "process-stratum-target.h". + (remote_target): Inherit from process_stratum_target. + : Default it. + * target.c (default_thread_address_space) + (default_thread_architecture): Delete. + * target.h (target_ops) : Now returns NULL by + default. + : Ditto. + * test-target.h: Include "process-stratum-target.h" instead of + "target.h". + (test_target_ops): Inherit from process_stratum_target. + : Default it. + * tracefile.c (tracefile_target::tracefile_target): Delete. + * tracefile.h: Include "process-stratum-target.h". + (tracefile_target): Inherit from process_stratum_target. + : Default it. + * target-delegates.c: Regenerate. + +2018-11-30 Pedro Alves + + * Makefile.in (COMMON_SFILES): Add test-target.c. + * gdbarch-selftests.c: Include "test-target.h". + * regcache.c: Include "test-target.h". + * target.c (test_target_info, test_target_ops::info): Move to ... + * test-target.c: ... this new file. + * target.h (test_target_ops): Move to ... + * test-target.h: ... this new file. + +2018-11-29 Philippe Waroquiers + + * source.c (forward_search_command): Fix leak by using + xrealloc even for the first allocation in the loop, as buf + is static. + +2018-11-29 Rajendra SY + + PR gdb/23093 + * gdb/fbsd-tdep.c (fbsd_gdb_signal_from_target) + (fbsd_gdb_signal_to_target): New. + (fbsd_init_abi): Install gdbarch "signal_from_target" and + "signal_to_target" methods. + +2018-11-29 Tom Tromey + + * valarith.c (value_x_unop): Don't set argvec[3]. + +2018-11-26 Simon Marchi + + PR gdb/23917 + * sparc-linux-nat.c (sparc_linux_nat_target): Remove extraneous + semicolon. + +2018-11-26 Pedro Alves + + * procfs.c (procfs_notice_thread): Replace uses of + in_thread_list/is_exited with find_thread_ptid/THREAD_EXITED. + * sol-thread.c (sol_thread_target::wait) + (sol_update_thread_list_callback): Likewise. + +2018-11-25 Tom Tromey + + * ui-out.c (ui_out::field_fmt): Remove comment. + * tui/tui-out.c (tui_ui_out::do_field_fmt): Remove comment. + * mi/mi-out.c (mi_ui_out::do_field_fmt): Remove comment. + +2018-11-24 Philippe Waroquiers + + * source.c (open_source_file): Leak fixed in '8e6a5953e1d Fix 4K + leak in open_source_file' has been partially undone by '2179fbc36d23 + Return scoped_fd from open_source_file'. Re-add the transfer of + current s->fullname to the unique_xmalloc_ptr fullname given + to find_and_open_source. + +2018-11-23 Pedro Alves + + * gdbthread.h (enum thread_state): Move comments here. + (is_running, is_stopped, is_exited): Remove declarations. + +2018-11-22 Pedro Alves + + * Makefile.in (COMMON_SFILES): Add thread-iter.c. + * breakpoint.c (breakpoints_should_be_inserted_now): Replace + ALL_NON_EXITED_THREADS with all_non_exited_threads. + (print_one_breakpoint_location): Replace ALL_INFERIORS with + all_inferiors. + * bsd-kvm.c: Include inferior.h. + * btrace.c (btrace_free_objfile): Replace ALL_NON_EXITED_THREADS + with all_non_exited_threads. + * common/filtered-iterator.h: New. + * common/safe-iterator.h: New. + * corelow.c (core_target_open): Don't call init_thread_list here. + * darwin-nat.c (thread_info_from_private_thread_info): Replace + ALL_THREADS with all_threads. + * fbsd-nat.c (fbsd_nat_target::resume): Replace + ALL_NON_EXITED_THREADS with inf->non_exited_threads. + * fbsd-tdep.c (fbsd_make_corefile_notes): Replace + ALL_NON_EXITED_THREADS with inf->non_exited_threads. + * fork-child.c (postfork_hook): Don't call init_thread_list here. + * gdbarch-selftests.c (register_to_value_test): Adjust. + * gdbthread.h: Don't include "inferior.h" here. + (struct inferior): Forward declare. + (enum step_over_calls_kind): Moved here from inferior.h. + (thread_info::deletable): Definition moved to thread.c. + (find_thread_ptid (inferior *, ptid_t)): Declare. + (ALL_THREADS, ALL_THREADS_BY_INFERIOR, ALL_THREADS_SAFE): Delete. + Include "thread-iter.h". + (all_threads, all_non_exited_threads, all_threads_safe): New. + (any_thread_p): Declare. + (thread_list): Delete. + * infcmd.c (signal_command): Replace ALL_NON_EXITED_THREADS with + all_non_exited_threads. + (proceed_after_attach_callback): Delete. + (proceed_after_attach): Take an inferior pointer instead of an + integer PID. Adjust to use range-for. + (attach_post_wait): Pass down inferior pointer instead of pid. + Use range-for instead of ALL_NON_EXITED_THREADS. + (detach_command): Remove init_thread_list call. + * inferior-iter.h: New. + * inferior.c (struct delete_thread_of_inferior_arg): Delete. + (delete_thread_of_inferior): Delete. + (delete_inferior, exit_inferior_1): Use range-for with + inf->threads_safe() instead of iterate_over_threads. + (inferior_appeared): Call init_thread_list here. + (discard_all_inferiors): Use all_non_exited_inferiors. + (find_inferior_id, find_inferior_pid): Use all_inferiors. + (iterate_over_inferiors): Use all_inferiors_safe. + (have_inferiors, number_of_live_inferiors): Use + all_non_exited_inferiors. + (number_of_inferiors): Use all_inferiors and std::distance. + (print_inferior): Use all_inferiors. + * inferior.h: Include gdbthread.h. + (enum step_over_calls_kind): Moved to gdbthread.h. + (struct inferior) : New field. + : New methods. + (ALL_INFERIORS): Delete. + Include "inferior-iter.h". + (ALL_NON_EXITED_INFERIORS): Delete. + (all_inferiors_safe, all_inferiors, all_non_exited_inferiors): New + functions. + * inflow.c (child_interrupt, child_pass_ctrlc): Replace + ALL_NON_EXITED_THREADS with all_non_exited_threads. + * infrun.c (follow_exec): Use all_threads_safe. + (clear_proceed_status, proceed): Use all_non_exited_threads. + (init_wait_for_inferior): Don't clear inline frame state here. + (infrun_thread_stop_requested, for_each_just_stopped_thread): Use + all_threads instead of ALL_NON_EXITED_THREADS. + (random_pending_event_thread): Use all_non_exited_threads instead + of ALL_NON_EXITED_THREADS. Use a lambda for repeated code. + (clean_up_just_stopped_threads_fsms): Use all_non_exited_threads + instead of ALL_NON_EXITED_THREADS. + (handle_no_resumed): Use all_non_exited_threads instead of + ALL_NON_EXITED_THREADS. Use all_inferiors instead of + ALL_INFERIORS. + (restart_threads, switch_back_to_stepped_thread): Use + all_non_exited_threads instead of ALL_NON_EXITED_THREADS. + * linux-nat.c (check_zombie_leaders): Replace ALL_INFERIORS with + all_inferiors. + (kill_unfollowed_fork_children): Use inf->non_exited_threads + instead of ALL_NON_EXITED_THREADS. + * linux-tdep.c (linux_make_corefile_notes): Use + inf->non_exited_threads instead of ALL_NON_EXITED_THREADS. + * linux-thread-db.c (thread_db_target::update_thread_list): + Replace ALL_INFERIORS with all_inferiors. + (thread_db_target::thread_handle_to_thread_info): Use + inf->non_exited_threads instead of ALL_NON_EXITED_THREADS. + * mi/mi-interp.c (multiple_inferiors_p): New. + (mi_on_resume_1): Simplify using all_non_exited_threads and + multiple_inferiors_p. + * mi/mi-main.c (mi_cmd_thread_list_ids): Use all_non_exited_threads + instead of ALL_NON_EXITED_THREADS. + * nto-procfs.c (nto_procfs_target::open): Don't call + init_thread_list here. + * record-btrace.c (record_btrace_target_open) + (record_btrace_target::stop_recording) + (record_btrace_target::close) + (record_btrace_target::record_is_replaying) + (record_btrace_target::resume, record_btrace_target::wait) + (record_btrace_target::record_stop_replaying): Use + all_non_exited_threads instead of ALL_NON_EXITED_THREADS. + * record-full.c (record_full_wait_1): Use all_non_exited_threads + instead of ALL_NON_EXITED_THREADS. + * regcache.c (cooked_read_test): Remove reference to global + thread_list. + * remote-sim.c (gdbsim_target::create_inferior): Don't call + init_thread_list here. + * remote.c (remote_target::update_thread_list): Use + all_threads_safe instead of ALL_NON_EXITED_THREADS. + (remote_target::process_initial_stop_replies): Replace + ALL_INFERIORS with all_non_exited_inferiors and use + all_non_exited_threads instead of ALL_NON_EXITED_THREADS. + (remote_target::open_1): Don't call init_thread_list here. + (remote_target::append_pending_thread_resumptions) + (remote_target::remote_resume_with_hc): Use all_non_exited_threads + instead of ALL_NON_EXITED_THREADS. + (remote_target::commit_resume) + (remote_target::remove_new_fork_children): Replace ALL_INFERIORS + with all_non_exited_inferiors and use all_non_exited_threads + instead of ALL_NON_EXITED_THREADS. + (remote_target::kill_new_fork_children): Use + all_non_exited_threads instead of ALL_NON_EXITED_THREADS. Remove + init_thread_list and init_wait_for_inferior calls. + (remote_target::remote_btrace_maybe_reopen) + (remote_target::thread_handle_to_thread_info): Use + all_non_exited_threads instead of ALL_NON_EXITED_THREADS. + * target.c (target_terminal::restore_inferior) + (target_terminal_is_ours_kind): Replace ALL_INFERIORS with + all_non_exited_inferiors. + * thread-iter.c: New file. + * thread-iter.h: New file. + * thread.c: Include "inline-frame.h". + (thread_list): Delete. + (clear_thread_inferior_resources): Call clear_inline_frame_state. + (init_thread_list): Use all_threads_safe instead of + ALL_THREADS_SAFE. Adjust to per-inferior thread lists. + (new_thread): Adjust to per-inferior thread lists. + (add_thread_silent): Pass inferior to find_thread_ptid. + (thread_info::deletable): New, moved from the header. + (delete_thread_1): Adjust to per-inferior thread lists. + (find_thread_global_id): Use inf->threads(). + (find_thread_ptid): Use find_inferior_ptid and pass inferior to + find_thread_ptid. + (find_thread_ptid(inferior*, ptid_t)): New overload. + (iterate_over_threads): Use all_threads_safe. + (any_thread_p): New. + (thread_count): Use all_threads and std::distance. + (live_threads_count): Use all_non_exited_threads and + std::distance. + (valid_global_thread_id): Use all_threads. + (in_thread_list): Use find_thread_ptid. + (first_thread_of_inferior): Adjust to per-inferior thread lists. + (any_thread_of_inferior, any_live_thread_of_inferior): Use + inf->non_exited_threads(). + (prune_threads, delete_exited_threads): Use all_threads_safe. + (thread_change_ptid): Pass inferior pointer to find_thread_ptid. + (set_resumed, set_running): Use all_non_exited_threads. + (is_thread_state, is_stopped, is_exited, is_running) + (is_executing): Delete. + (set_executing, set_stop_requested, finish_thread_state): Use + all_non_exited_threads. + (print_thread_info_1): Use all_inferiors and all_threads. + (thread_apply_all_command): Use all_non_exited_threads. + (thread_find_command): Use all_threads. + (update_threads_executing): Use all_non_exited_threads. + * tid-parse.c (parse_thread_id): Use inf->threads. + * x86-bsd-nat.c (x86bsd_dr_set): Use inf->non_exited_threads (). + +2018-11-22 Pedro Alves + + * infrun.c (follow_exec) : Add thread and + switch to it before calling into try_open_exec_file. + +2018-11-22 Pedro Alves + + * cli/cli-interp.c (cli_on_user_selected_context_changed): Use + inferior_thread instead of find_thread_ptid, and only when + inferior_ptid is not null_ptid. + * inferior.c (add_inferior): Don't include target_pid_to_str + output when the inferior is not started. + * python/py-inferior.c (python_on_normal_stop): Don't use + find_thread_ptid. + (tui_on_user_selected_context_changed): Use inferior_thread + instead of find_thread_ptid, and only when inferior_ptid is not + null_ptid. + +2018-11-21 Benno Fünfstück + + PR python/23714 + * gdb/python/python.c (execute_gdb_command): Call + prevent_dont_repeat earlier to avoid affecting dont_repeat. + +2018-11-21 Andrew Burgess + + * Makefile.in (ALL_TARGET_OBS): Add arch/riscv.o. + (HFILES_NO_SRCDIR): Add arch/riscv.h. + * arch/riscv.c: New file. + * arch/riscv.h: New file. + * configure.tgt: Add cpu_obs list of riscv, move riscv-tdep.o into + this list, and add arch/riscv.o. + * features/Makefile: Add riscv features. + * features/riscv/32bit-cpu.c: New file. + * features/riscv/32bit-cpu.xml: New file. + * features/riscv/32bit-csr.c: New file. + * features/riscv/32bit-csr.xml: New file. + * features/riscv/32bit-fpu.c: New file. + * features/riscv/32bit-fpu.xml: New file. + * features/riscv/64bit-cpu.c: New file. + * features/riscv/64bit-cpu.xml: New file. + * features/riscv/64bit-csr.c: New file. + * features/riscv/64bit-csr.xml: New file. + * features/riscv/64bit-fpu.c: New file. + * features/riscv/64bit-fpu.xml: New file. + * features/riscv/rebuild-csr-xml.sh: New file. + * riscv-tdep.c: Add 'arch/riscv.h' include. + (riscv_gdb_reg_names): Delete. + (csr_reggroup): New global. + (struct riscv_register_alias): Delete. + (struct riscv_register_feature): New structure. + (riscv_register_aliases): Delete. + (riscv_xreg_feature): New global. + (riscv_freg_feature): New global. + (riscv_virtual_feature): New global. + (riscv_csr_feature): New global. + (riscv_create_csr_aliases): New function. + (riscv_read_misa_reg): Delete. + (riscv_has_feature): Delete. + (riscv_isa_xlen): Simplify, just return cached xlen. + (riscv_isa_flen): Simplify, just return cached flen. + (riscv_has_fp_abi): Update for changes in struct gdbarch_tdep. + (riscv_register_name): Update to make use of tdesc_register_name. + Look up xreg and freg names in the new globals riscv_xreg_feature + and riscv_freg_feature. Don't supply csr aliases here. + (riscv_fpreg_q_type): Delete. + (riscv_register_type): Use tdesc_register_type in almost all + cases, override the returned type in a few specific cases only. + (riscv_print_one_register_info): Handle errors reading registers. + (riscv_register_reggroup_p): Use tdesc_register_in_reggroup_p for + registers that are otherwise unknown to GDB. Also check the + csr_reggroup. + (riscv_print_registers_info): Remove assert about upper register + number, and use gdbarch_register_reggroup_p instead of + short-cutting. + (riscv_find_default_target_description): New function. + (riscv_check_tdesc_feature): New function. + (riscv_add_reggroups): New function. + (riscv_setup_register_aliases): New function. + (riscv_init_reggroups): New function. + (_initialize_riscv_tdep): Add calls to setup CSR aliases, and + setup register groups. Register new riscv debug variable. + * riscv-tdep.h: Add 'arch/riscv.h' include. + (struct gdbarch_tdep): Remove abi union, and add + riscv_gdbarch_features field. Remove cached quad floating point + type, and provide initialisation for double type field. + * target-descriptions.c (maint_print_c_tdesc_cmd): Add riscv to + the list of targets using the feature based target descriptions. + * NEWS: Mention target description support. + +2018-11-21 Pedro Alves + + * valops.c (find_method_list, value_find_oload_method_list) + (find_overload_match, find_oload_champ): Rename parameters and + locals. + +2018-11-21 Pedro Alves + + * valops.c (find_method_list): Replace pointer and length + parameters with an gdb::array_view. Adjust. + (value_find_oload_method_list): Likewise. + (find_overload_match): Use gdb::array_view for methods list. + Adjust to find_oload_champ interface change. + (find_oload_champ): 'xm_worker_vec' parameter now a pointer/array. + 'num_fns' parameter now a size_t. Eliminate 'fn_count' local. + +2018-11-21 Pedro Alves + + * gdbtypes.c (compare_badness): Change type of parameters to const + reference. Adjust to badness_vector being a std::vector now. + (rank_function): Adjust to badness_vector being a std::vector now. + * gdbtypes.h (badness_vector): Now a typedef to std::vector. + (LENGTH_MATCH): Delete. + (compare_badness): Change type of parameters to const reference. + (rank_function): Return a badness_vector by value now. + (find_overload_match): Adjust to badness_vector being a + std::vector now. Remove cleanups. + (find_oload_champ_namespace): 'oload_champ_bv' parameter now a + badness_vector pointer. + (find_oload_champ_namespace_loop): 'oload_champ_bv' parameter now + a badness_vector pointer. Adjust to badness_vector being a + std::vector now. Remove cleanups. + (find_oload_champ): 'oload_champ_bv' parameter now + a badness_vector pointer. Adjust to badness_vector being a + std::vector now. Remove cleanups. + +2018-11-21 Pedro Alves + + * cp-support.c (sym_return_val_size, sym_return_val_index) + (sym_return_val): Delete. + (overload_list_add_symbol): Add std::vector parameter. Adjust to + add to the vector. + (make_symbol_overload_list): Adjust to return a std::vector + instead of maintaining a global open coded vector. + (make_symbol_overload_list_block): Add std::vector parameter. + (make_symbol_overload_list_block): Rename to ... + (add_symbol_overload_list_block): ... this and add std::vector + parameter. + (make_symbol_overload_list_namespace): Rename to ... + (add_symbol_overload_list_namespace): ... this and add std::vector + parameter. + (make_symbol_overload_list_adl_namespace): Rename to ... + (add_symbol_overload_list_adl_namespace): ... this and add + std::vector parameter. + (make_symbol_overload_list_adl): Delete. + (add_symbol_overload_list_adl): New. + (make_symbol_overload_list_using): Rename to ... + (add_symbol_overload_list_using): ... this and add std::vector + parameter. + (make_symbol_overload_list_qualified): Rename to ... + (add_symbol_overload_list_qualified): ... this and add std::vector + parameter. + * cp-support.h: Include "common/array-view.h" and . + (make_symbol_overload_list): Change return type to std::vector. + (make_symbol_overload_list_adl): Delete declaration. + (add_symbol_overload_list_adl): New declaration. + * valops.c (find_overload_match): Local 'oload_syms' now a + std::vector. + (find_oload_champ_namespace): 'oload_syms' parameter now a + std::vector pointer. + (find_oload_champ_namespace_loop): 'oload_syms' parameter now a + std::vector pointer. Adjust to new make_symbol_overload_list + interface. + +2018-11-21 Pedro Alves + + * common/array-view.h (array_view::splice(size_type, size_t)): New. + (array_view::splice(size_type)): New. + * eval.c (eval_call, evaluate_funcall): Adjust to use array_view. + * extension.c (xmethod_worker::get_arg_types): Adjust to return an + std::vector. + (xmethod_worker::get_result_type): Adjust to use gdb::array_view. + * extension.h: Include "common/array-view.h". + (xmethod_worker::invoke): Adjust to use gdb::array_view. + (xmethod_worker::get_arg_types): Adjust to return an std::vector. + (xmethod_worker::get_result_type): Adjust to use gdb::array_view. + (xmethod_worker::do_get_arg_types): Adjust to use std::vector. + (xmethod_worker::do_get_result_type): Adjust to use + gdb::array_view. + * gdbtypes.c (rank_function): Adjust to use gdb::array_view. + * gdbtypes.h: Include "common/array-view.h". + (rank_function): Adjust to use gdb::array_view. + * python/py-xmethods.c (python_xmethod_worker::invoke) + (python_xmethod_worker::do_get_arg_types) + (python_xmethod_worker::do_get_result_type) + (python_xmethod_worker::invoke): Adjust to new interfaces. + * valarith.c (value_user_defined_cpp_op, value_user_defined_op) + (value_x_binop, value_x_unop): Adjust to use gdb::array_view. + * valops.c (find_overload_match, find_oload_champ_namespace) + (find_oload_champ_namespace_loop, find_oload_champ): Adjust to use + gdb:array_view and the new xmethod_worker interfaces. + * value.c (result_type_of_xmethod, call_xmethod): Adjust to use + gdb::array_view. + * value.h (find_overload_match, result_type_of_xmethod) + (call_xmethod): Adjust to use gdb::array_view. + * unittests/array-view-selftests.c: Add slicing tests. + +2018-11-21 Pedro Alves + + * ada-lang.c (ada_evaluate_subexp): Adjust to pass an array_view. + * common/array-view.h (make_array_view): New. + * compile/compile-object-run.c (compile_object_run): Adjust to + pass an array_view. + * elfread.c (elf_gnu_ifunc_resolve_addr): Adjust. + * eval.c (eval_call): Adjust to pass an array_view. + (evaluate_subexp_standard): Adjust to pass an array_view. + * gcore.c (call_target_sbrk): Adjust to pass an array_view. + * guile/scm-value.c (gdbscm_value_call): Likewise. + * infcall.c (push_dummy_code): Replace pointer + size parameters + with an array_view parameter. + (call_function_by_hand, call_function_by_hand_dummy): Likewise and + adjust. + * infcall.h: Include "common/array-view.h". + (call_function_by_hand, call_function_by_hand_dummy): Replace + pointer + size parameters with an array_view parameter. + * linux-fork.c (inferior_call_waitpid): Adjust to use array_view. + * linux-tdep.c (linux_infcall_mmap): Likewise. + * objc-lang.c (lookup_objc_class, lookup_child_selector) + (value_nsstring, print_object_command): Likewise. + * python/py-value.c (valpy_call): Likewise. + * rust-lang.c (rust_evaluate_funcall): Likewise. + * spu-tdep.c (flush_ea_cache): Likewise. + * valarith.c (value_x_binop, value_x_unop): Likewise. + * valops.c (value_allocate_space_in_inferior): Likewise. + * unittests/array-view-selftests.c (run_tests): Add + gdb::make_array_view test. + +2018-11-20 Andrew Burgess + + * cli-out.c (cli_ui_out::do_field_int): Use string_printf rather + than a fixed size buffer. + +2018-11-20 Andrew Burgess + + * breakpoint.c (print_one_breakpoint_location): Reduce whitespace, + and remove insertion of extra spaces in GDB's output. + * cli-out.c (cli_ui_out::do_field_fmt): Update header comment. + Layout field into a temporary buffer, and then output it as a + string field. + +2018-11-20 Philippe Waroquiers + + * NEWS: Document the language choice done by + 'info [types|functions|variables]|rbreak'. + +2018-11-20 Philippe Waroquiers + + * symtab.c (treg_matches_sym_type_name): Use + scoped_switch_to_sym_language_if_auto instead of local logic. + (print_symbol_info): Use scoped_switch_to_sym_language_if_auto + to switch to SYM language when language mode is auto. + +2018-11-20 Philippe Waroquiers + + * language.h (scoped_switch_to_sym_language_if_auto): New class. + +2018-11-20 Philippe Waroquiers + + * symtab.c (search_symbols): Properly check absence of type regexp + before entering the loop scanning the minimal symbols. + +2018-11-20 John Darrington + + * s12z-tdep.c (s12z_extract_return_value): New function. + (inv_reg_perm) New array. + (s12z_return_value): Populate readbuf if non-null. + 2018-11-20 Eli Zaretskii * common/filestuff.c (gdb_fopen_cloexec): Disable use of "e" mode with 'fopen' also if O_CLOEXEC is equal to O_NOINHERIT, to cater to MinGW fixed by Gnulib. + (O_NOINHERIT): Define if not defined. -2018-11-19 John Darrington +2018-11-19 John Darrington - *s12z-tdep.c (s12z_frame_cache): Add an assertion. + * s12z-tdep.c (s12z_frame_cache): Add an assertion. 2018-11-19 Simon Marchi @@ -1268,14 +2309,14 @@ (value_struct_elt_for_reference): Use it to get virtual base offset and add it in calculating class member address. -2018-10-08 John Darrington +2018-10-08 John Darrington - * dwarf2read.c (dwarf2_cu) : New field. - (check_producer): Check if the producer is codewarrior. - (producer_is_codewarrior): New function. - (lnp_state_machine::record_line): Ignore is_stmt flag for records - produced by codewarrior. - (dwarf2_cu::dwarf2_cu): Initialize producer_is_codewarrior. + * dwarf2read.c (dwarf2_cu) : New field. + (check_producer): Check if the producer is codewarrior. + (producer_is_codewarrior): New function. + (lnp_state_machine::record_line): Ignore is_stmt flag for records + produced by codewarrior. + (dwarf2_cu::dwarf2_cu): Initialize producer_is_codewarrior. 2018-10-06 Tom Tromey @@ -1676,7 +2717,7 @@ * aarch64-linux-tdep.c (aarch64_linux_sigframe_init): Use pulongest. -2018-10-02 John Darrington +2018-10-02 John Darrington * NEWS: Mention changed commands. * ser-uds.c: New file. @@ -1684,7 +2725,7 @@ * configure: Regenerate. * Makefile.in: Add new file. * serial.c (serial_open): Check if filename is a socket - and lookup the appropriate interface accordingly. + and lookup the appropriate interface accordingly. 2018-10-01 Alan Hayward @@ -4240,14 +5281,16 @@ * mips-fbsd-tdep.c (mips_fbsd_iterate_over_regset_sections): Likewise. * mips-linux-tdep.c (mips_linux_iterate_over_regset_sections): Likewise. * mips-nbsd-tdep.c (mipsnbsd_iterate_over_regset_sections): Likewise. - * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): Likewise. + * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): + Likewise. * mn10300-linux-tdep.c (am33_iterate_over_regset_sections): Likewise. * nios2-linux-tdep.c (nios2_iterate_over_regset_sections): Likewise. * ppc-fbsd-tdep.c (ppcfbsd_iterate_over_regset_sections): Likewise. * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections): Likewise. * ppc-nbsd-tdep.c (ppcnbsd_iterate_over_regset_sections): Likewise. * ppc-obsd-tdep.c (ppcobsd_iterate_over_regset_sections): Likewise. - * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): Likewise. + * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): + Likewise. * rs6000-aix-tdep.c (rs6000_aix_iterate_over_regset_sections): Likewise. * s390-linux-tdep.c (s390_iterate_over_regset_sections): Likewise. * score-tdep.c (score7_linux_iterate_over_regset_sections): Likewise. @@ -4652,8 +5695,8 @@ 2018-08-02 Xavier Roirand PR gdb/22629: - * darwin-nat.c (darwin_kill_inferior): Fix handling of - kill inferior. + * darwin-nat.c (darwin_kill_inferior): Fix handling of + kill inferior. 2018-08-02 Tom Tromey @@ -6618,7 +7661,8 @@ 2018-06-27 Omair Javaid PR gdb/21695 - * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration. + * dwarf2read.c (lnp_state_machine::check_line_address): Update + declaration. (dwarf_decode_lines_1): Adjust. 2018-06-27 Simon Marchi @@ -7020,13 +8064,13 @@ 2018-06-21 Alan Hayward - * regcache.c (readable_regcache::read_part): Avoid memcpy when - possible. - (regcache::write_part): Likewise. - (readable_regcache::cooked_read_part): Update comment. - (readable_regcache::cooked_write_part): Likewise. - * regcache.h: (readable_regcache::read_part): Likewise. - (regcache::write_part): Likewise. + * regcache.c (readable_regcache::read_part): Avoid memcpy when + possible. + (regcache::write_part): Likewise. + (readable_regcache::cooked_read_part): Update comment. + (readable_regcache::cooked_write_part): Likewise. + * regcache.h: (readable_regcache::read_part): Likewise. + (regcache::write_part): Likewise. 2018-06-21 Richard Bunt Dirk Schubert @@ -7322,7 +8366,7 @@ 2018-06-11 John David Anglin - * gdb/hppa-linux-nat.c + * hppa-linux-nat.c (hppa_linux_nat_target::fetch_inferior_registers): Rename to hppa_linux_nat_target::fetch_registers.