gdb: Make ldirname return a std::string
[deliverable/binutils-gdb.git] / gdb / ChangeLog
index 872f661dc53d6093471ff24bd5ed77557f171ab1..82213e87d9ebc963d0ebd8d4b316dd27d81241d0 100644 (file)
@@ -1,3 +1,345 @@
+2017-03-27  Pedro Alves  <palves@redhat.com>
+
+       * dwarf2read.c (struct file_and_directory): New.
+       (dwarf2_get_dwz_file): Adjust to use std::string.
+       (dw2_get_file_names_reader): Adjust to use file_and_directory.
+       (find_file_and_directory): Adjust to return a file_and_directory
+       object.
+       (read_file_scope): Adjust to use file_and_directory.  Remove
+       make_cleanup/do_cleanups calls.
+       (open_and_init_dwp_file): Adjust to use std::string.  Remove
+       make_cleanup/do_cleanups calls.
+       * python/python.c (do_start_initialization): Adjust to ldirname
+       returning a std::string.
+       * utils.c (ldirname): Now returns a std::string.
+       * utils.h (ldirname): Change return type to std::string.
+       * xml-syscall.c (xml_init_syscalls_info): Adjust to ldirname
+       returning a std::string.
+       * xml-tdesc.c (file_read_description_xml): Likewise.
+
+2017-03-24  Alan Hayward  <alan.hayward@arm.com>
+
+       * regcache.c (regcache_debug_print_register): New function.
+       * regcache.h (regcache_debug_print_register): New declaration.
+       * target.c (debug_print_register): Remove.
+       (target_fetch_registers): Call regcache_debug_print_register.
+       (target_store_registers): Likewise.
+
+2017-03-24  Pádraig Brady  <pbrady@fb.com>
+
+       * dwarf2read.c (setup_type_unit_groups): Ensure dir_index doesn't
+       reference beyond the 'lh->include_dirs' array before accessing to
+       it.
+       (psymtab_include_file_name): Likewise.
+       (dwarf_decode_lines_1): Likewise.
+       (dwarf_decode_lines): Likewise.
+       (file_file_name): Likewise.
+
+2017-03-23  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * fbsd-tdep.c (fbsd_corefile_thread): Don't set/restore
+       inferior_ptid.
+       * proc-service.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
+       ps_lsetfpregs): Likewise.
+       * regcache.c (regcache_raw_update, regcache_raw_write): Likewise.
+       * sol-thread.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
+       ps_lsetfpregs): Likewise.
+       * target.c (target_fetch_registers, target_store_registers):
+       Remove asserts.
+
+2017-03-23  Alan Hayward  <alan.hayward@arm.com>
+
+       * sol-thread.c (sol_thread_store_registers): Remove regcache calls.
+
+2017-03-23  Yao Qi  <yao.qi@linaro.org>
+
+       * aarch64-tdep.c (aarch64_process_record_test): Declare.
+       (_initialize_aarch64_tdep): Register it.
+       (aarch64_record_load_store): Handle PRFM instruction.
+       (aarch64_process_record_test): New function.
+
+2017-03-23  Yao Qi  <yao.qi@linaro.org>
+
+       * aarch64-tdep.c (aarch64_record_load_store): Fix code
+       indentation.
+
+2017-03-23  Yao Qi  <yao.qi@linaro.org>
+
+       * aarch64-tdep.c: Remove AARCH64_RECORD_FAILURE.
+
+2017-03-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
+
+       python/python.c (do_start_initialization): Fix memory leak.
+
+2017-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * inf-ptrace.c (inf_ptrace_xfer_partial): Get pid from ptid
+       using get_ptrace_pid.
+       * linux-nat.c (linux_nat_xfer_partial): Don't set/restore
+       inferior_ptid.
+       (linux_proc_xfer_partial, linux_proc_xfer_spu): Use lwp of
+       inferior_ptid instead of pid.
+
+2017-03-22  Yao Qi  <yao.qi@linaro.org>
+
+       * aarch64-tdep.c: Wrap locally used classes in anonymous
+       namespace.
+       * arm-tdep.c: Likewise.
+       * linespec.c: Likewise.
+       * ui-out.c: Likewise.
+
+2017-03-22  Jonah Graham  <jonah@kichwacoders.com>
+
+       PR gdb/19637
+       * python/lib/gdb/printer/bound_registers.py: Import sys.
+
+2017-03-21  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * windows-nat.c (do_windows_fetch_inferior_registers): Add
+       windows_thread_info parameter and use it instead of
+       current_thread.
+       (windows_fetch_inferior_registers): Don't set current_thread,
+       pass the thread to do_windows_fetch_inferior_registers.  Use
+       ptid from regcache instead of inferior_ptid.
+       (do_windows_store_inferior_registers): Add windows_thread_info
+       parameter and use it instead of current_thread.
+       (windows_store_inferior_registers): Don't set current_thread,
+       pass the thread to do_windows_store_inferior_registers.  Use
+       ptid from regcache instead of inferior_ptid.
+
+2017-03-21  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * ser-mingw.c (ser_windows_raw): Remove reference to
+       struct serial::current_timeout.
+
+2017-03-21  Ivo Raisr  <ivo.raisr@oracle.com>
+
+       PR tdep/20928
+       * gdb/sparc-tdep.h (gdbarch_tdep) <sparc64_ccr_type>: New field.
+       * gdb/sparc64-tdep.c (sparc64_ccr_type): New function.
+       (sparc64_fsr_type): Fix %fsr decoding.
+
+2017-03-21  Tim Wiederhake  <tim.wiederhake@intel.com>
+
+       * python/py-record-btrace.c (btpy_insn_data): Change return type
+       for Python 2.
+
+2017-03-20  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * spu-linux-nat.c (spu_fetch_inferior_registers,
+       spu_store_inferior_registers): Use ptid from regcache, set and
+       restore inferior_ptid.
+       * spu-multiarch.c (spu_fetch_registers, spu_store_registers):
+       Likewise.
+
+2017-03-20  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * i386-linux-nat.c (fetch_register, store_register,
+       i386_linux_fetch_inferior_registers,
+       i386_linux_store_inferior_registers): Use ptid from regcache.
+       * ia64-linux-nat.c (ia64_linux_fetch_register,
+       ia64_linux_store_register): Likewise.
+       * inf-ptrace.c (inf_ptrace_fetch_register,
+       inf_ptrace_store_register): Likewise.
+       * m32r-linux-nat.c (m32r_linux_fetch_inferior_registers,
+       m32r_linux_store_inferior_registers): Likewise.
+       * m68k-bsd-nat.c (m68kbsd_fetch_inferior_registers,
+       m68kbsd_store_inferior_registers): Likewise.
+       * m68k-linux-nat.c (fetch_register, store_register,
+       m68k_linux_fetch_inferior_registers,
+       m68k_linux_store_inferior_registers): Likewise.
+       * m88k-bsd-nat.c (m88kbsd_fetch_inferior_registers,
+       m88kbsd_store_inferior_registers): Likewise.
+       * mips-fbsd-nat.c (mips_fbsd_fetch_inferior_registers,
+       mips_fbsd_store_inferior_registers): Likewise.
+       * mips-linux-nat.c (mips64_linux_regsets_fetch_registers,
+       mips64_linux_regsets_store_registers): Likewise.
+       * mips-nbsd-nat.c (mipsnbsd_fetch_inferior_registers,
+       mipsnbsd_store_inferior_registers): Likewise.
+       * mips-obsd-nat.c (mips64obsd_fetch_inferior_registers,
+       mips64obsd_store_inferior_registers): Likewise.
+       * nto-procfs.c (procfs_fetch_registers, procfs_store_registers):
+       Likewise.
+       * ppc-fbsd-nat.c (ppcfbsd_fetch_inferior_registers,
+       ppcfbsd_store_inferior_registers): Likewise.
+       * ppc-linux-nat.c (ppc_linux_fetch_inferior_registers,
+       ppc_linux_store_inferior_registers): Likewise.
+       * ppc-nbsd-nat.c (ppcnbsd_fetch_inferior_registers,
+       ppcnbsd_store_inferior_registers): Likewise.
+       * ppc-obsd-nat.c (ppcobsd_fetch_registers,
+       ppcobsd_store_registers): Likewise.
+       * procfs.c (procfs_fetch_registers, procfs_store_registers):
+       Likewise.
+       * ravenscar-thread.c (ravenscar_fetch_registers,
+       ravenscar_store_registers, ravenscar_prepare_to_store):
+       Likewise.
+       * record-btrace.c (record_btrace_fetch_registers,
+       record_btrace_store_registers, record_btrace_prepare_to_store):
+       Likewise.
+       * remote-sim.c (gdbsim_fetch_register, gdbsim_store_register):
+       Lookup inferior using ptid from regcache, instead of
+       current_inferior.
+       * remote.c (remote_fetch_registers, remote_store_registers): Use
+       ptid from regcache.
+       * rs6000-nat.c (fetch_register, store_register): Likewise.
+       * s390-linux-nat.c (s390_linux_fetch_inferior_registers,
+       s390_linux_store_inferior_registers): Likewise.
+       * sh-nbsd-nat.c (shnbsd_fetch_inferior_registers,
+       shnbsd_store_inferior_registers): Likewise.
+       * sol-thread.c (sol_thread_fetch_registers,
+       sol_thread_store_registers): Likewise.
+       * sparc-nat.c (sparc_fetch_inferior_registers,
+       sparc_store_inferior_registers): Likewise.
+       * tilegx-linux-nat.c (fetch_inferior_registers,
+       store_inferior_registers): Likewise.
+       * vax-bsd-nat.c (vaxbsd_fetch_inferior_registers,
+       vaxbsd_store_inferior_registers): Likewise.
+       * xtensa-linux-nat.c (fetch_gregs, store_gregs, fetch_xtregs,
+       store_xtregs): Likewise.
+
+2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
+
+       PR gdb/14441
+       * NEWS: Mention support for rvalue references in GDB and python.
+       * doc/gdb.texinfo (C Plus Plus Expressions): Mention that GDB
+       supports both lvalue and rvalue references.
+
+2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
+
+       PR gdb/14441
+       * gdbtypes.c (rank_one_type): Implement overloading
+       resolution rules regarding rvalue references.
+
+2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
+
+       PR gdb/14441
+       * aarch64-tdep.c (aarch64_type_align)
+       (aarch64_extract_return_value, aarch64_store_return_value): Change
+       lvalue reference type checks to general reference type checks.
+       * amd64-tdep.c (amd64_classify): Likewise.
+       * amd64-windows-tdep.c (amd64_windows_passed_by_integer_register):
+       Likewise.
+       * arm-tdep.c (arm_type_align, arm_extract_return_value)
+       (arm_store_return_value): Likewise.
+       * ax-gdb.c (gen_fetch, gen_cast): Likewise.
+       * c-typeprint.c (c_print_type): Likewise.
+       * c-varobj.c (adjust_value_for_child_access, c_value_of_variable)
+       (cplus_number_of_children, cplus_describe_child): Likewise.
+       * compile/compile-c-symbols.c (generate_vla_size): Likewise.
+       * completer.c (expression_completer): Likewise.
+       * cp-support.c (make_symbol_overload_list_adl_namespace):
+       Likewise.
+       * darwin-nat-info.c (info_mach_region_command): Likewise.
+       * dwarf2loc.c (entry_data_value_coerce_ref)
+       (value_of_dwarf_reg_entry): Likewise.
+       * eval.c (ptrmath_type_p, evaluate_subexp_standard)
+       (evaluate_subexp_for_address, evaluate_subexp_for_sizeof):
+       Likewise.
+       * findvar.c (extract_typed_address, store_typed_address):
+       Likewise.
+       * gdbtypes.c (rank_one_type): Likewise.
+       * hppa-tdep.c (hppa64_integral_or_pointer_p): Likewise.
+       * infcall.c (value_arg_coerce): Likewise.
+       * language.c (pointer_type): Likewise.
+       * m32c-tdep.c (m32c_reg_arg_type, m32c_m16c_address_to_pointer):
+       Likewise.
+       * m88k-tdep.c (m88k_integral_or_pointer_p): Likewise.
+       * mn10300-tdep.c (mn10300_type_align): Likewise.
+       * msp430-tdep.c (msp430_push_dummy_call): Likewise.
+       * ppc-sysv-tdep.c (do_ppc_sysv_return_value)
+       (ppc64_sysv_abi_push_param, ppc64_sysv_abi_return_value):
+       Likewise.
+       * printcmd.c (print_formatted, x_command): Likewise.
+       * python/py-type.c (typy_get_composite, typy_template_argument):
+       Likewise.
+       * python/py-value.c (valpy_referenced_value)
+       (valpy_get_dynamic_type, value_has_field): Likewise.
+       * s390-linux-tdep.c (s390_function_arg_integer): Likewise.
+       * sparc-tdep.c (sparc_integral_or_pointer_p): Likewise.
+       * sparc64-tdep.c (sparc64_integral_or_pointer_p): Likewise.
+       * spu-tdep.c (spu_scalar_value_p): Likewise.
+       * symtab.c (lookup_symbol_aux): Likewise.
+       * typeprint.c (whatis_exp, print_type_scalar): Likewise.
+       * valarith.c (binop_types_user_defined_p, unop_user_defined_p):
+       Likewise.
+       * valops.c (value_cast_pointers, value_cast)
+       (value_reinterpret_cast, value_dynamic_cast, value_addr, typecmp)
+       (value_struct_elt, value_struct_elt_bitpos)
+       (value_find_oload_method_list, find_overload_match)
+       (value_rtti_indirect_type): Likewise.
+       * valprint.c (val_print_scalar_type_p, generic_val_print):
+       Likewise.
+       * value.c (value_actual_type, value_as_address, unpack_long)
+       (pack_long, pack_unsigned_long, coerce_ref_if_computed)
+       (coerce_ref): Likewise.
+       * varobj.c (varobj_get_value_type): Likewise.
+
+2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
+
+       PR gdb/14441
+       * doc/python.texi (Types in Python): Add TYPE_CODE_RVALUE_REF to
+       table of constants.
+       * python/lib/gdb/command/explore.py: Support exploring values
+       of rvalue reference types.
+       * python/lib/gdb/types.py: Implement get_basic_type() for
+       rvalue reference types.
+       * python/py-type.c (pyty_codes) <TYPE_CODE_RVALUE_REF>: New
+       constant.
+       * python/py-value.c (valpy_getitem): Add an rvalue reference
+       check.
+       (valpy_reference_value): Add new parameter "refcode".
+       (valpy_lvalue_reference_value, valpy_rvalue_reference_value):
+       New wrappers for valpy_reference_value().
+       * python/py-xmethods.c (gdbpy_get_xmethod_result_type)
+       (gdbpy_invoke_xmethod): Likewise.
+
+2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
+
+       PR gdb/14441
+       * dwarf2read.c (process_die, read_type_die_1): Handle the
+       DW_TAG_rvalue_reference_type DIE.
+       (read_tag_reference_type): Add new parameter "refcode".
+
+2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
+
+       PR gdb/14441
+       * c-typeprint.c (c_print_type, c_type_print_varspec_prefix)
+       (c_type_print_modifier, c_type_print_varspec_suffix)
+       (c_type_print_base): Support printing rvalue reference types.
+       * c-valprint.c (c_val_print, c_value_print): Support printing
+       rvalue reference values.
+
+2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
+
+       PR gdb/14441
+       * cp-name-parser.y (ptr_operator): Handle the '&&' token in
+       typename.
+       * cp-support.c (replace_typedefs): Handle
+       DEMANGLE_COMPONENT_RVALUE_REFERENCE.
+       * python/py-type.c (typy_lookup_type): Likewise.
+
+2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
+
+       PR gdb/14441
+       * c-exp.y (ptr_operator): Handle the '&&' token in the typename.
+       * parse.c (insert_type): Change assert statement.
+       (follow_types): Handle rvalue reference types.
+       * parser-defs.h (enum type_pieces) <tp_rvalue_reference>: New
+       constant.
+
+2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
+
+       PR gdb/14441
+       * ada-lang.c (ada_evaluate_subexp): Adhere to the new
+       value_ref() interface.
+       * c-valprint.c (c_value_print): Likewise.
+       * infcall.c (value_arg_coerce): Likewise.
+       * python/py-value.c (valpy_reference_value): Likewise.
+       * valops.c (value_cast, value_reinterpret_cast)
+       (value_dynamic_cast, typecmp): Likewise.
+       (value_ref): Parameterize by kind of return value reference type.
+       * value.h (value_ref): Add new parameter "refcode".
+
 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
 
        PR gdb/14441
This page took 0.029579 seconds and 4 git commands to generate.