+2017-06-20 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ * common/environ.c (gdb_environ::unset): Use '::iterator' instead
+ of '::const_iterator'.
+
+2017-06-20 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
+ 'unittests/environ-selftests.c'.
+ (SUBDIR_UNITTESTS_OBS): Add 'environ-selftests.o'.
+ * charset.c (find_charset_names): Declare object 'iconv_env'.
+ Update code to use 'iconv_env' object. Remove call to
+ 'free_environ'.
+ * common/environ.c: Include <utility>.
+ (make_environ): Delete function.
+ (free_environ): Delete function.
+ (gdb_environ::clear): New function.
+ (gdb_environ::operator=): New function.
+ (gdb_environ::get): Likewise.
+ (environ_vector): Delete function.
+ (set_in_environ): Delete function.
+ (gdb_environ::set): New function.
+ (unset_in_environ): Delete function.
+ (gdb_environ::unset): New function.
+ (gdb_environ::envp): Likewise.
+ * common/environ.h: Include <vector>.
+ (struct gdb_environ): Delete; transform into...
+ (class gdb_environ): ... this class.
+ (free_environ): Delete prototype.
+ (init_environ, get_in_environ, set_in_environ, unset_in_environ,
+ environ_vector): Likewise.
+ * infcmd.c (run_command_1): Update code to call
+ 'envp' from 'gdb_environ' class.
+ (environment_info): Update code to call methods from 'gdb_environ'
+ class.
+ (unset_environment_command): Likewise.
+ (path_info): Likewise.
+ (path_command): Likewise.
+ * inferior.c (inferior::~inferior): Delete call to 'free_environ'.
+ (inferior::inferior): Initialize 'environment' using the host's
+ information.
+ * inferior.h: Remove forward declaration of 'struct gdb_environ'.
+ Include "environ.h".
+ (class inferior) <environment>: Change type from 'struct
+ gdb_environ' to 'gdb_environ'.
+ * mi/mi-cmd-env.c (mi_cmd_env_path): Update code to call
+ methods from 'gdb_environ' class.
+ * solib.c (solib_find_1): Likewise
+ * unittests/environ-selftests.c: New file.
+
+2017-06-20 Yao Qi <yao.qi@linaro.org>
+
+ * features/i386/i386-linux.xml: Exchange the order of including
+ 32bit-linux.xml and 32bit-sse.xml.
+ * features/i386/i386-linux.c: Regenerated.
+
+2017-06-20 Yao Qi <yao.qi@linaro.org>
+
+ * target-descriptions.c (tdesc_reg): Add ctor, dtor.
+ Delete copy ctor and assignment operator.
+ (tdesc_type): Likewise.
+ (tdesc_feature): Likewise.
+ (tdesc_free_reg): Remove.
+ (tdesc_create_reg): Use new.
+ (tdesc_free_type): Remove.
+ (tdesc_create_vector): Use new.
+ (tdesc_create_union): Likewise.
+ (tdesc_create_flags): Likewise.
+ (tdesc_create_enum): Likewise.
+ (tdesc_free_feature): Delete.
+ (free_target_description): Use delete.
+
+2017-06-19 John Baldwin <jhb@FreeBSD.org>
+
+ * mips-tdep.c (print_gp_register_row): Don't error for unavailable
+ registers.
+
+2017-06-19 Pedro Alves <palves@redhat.com>
+
+ * dwarf2read.c (write_psymtabs_to_index): Construct file_closer
+ after gdb::unlinker.
+
+2017-06-19 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ * mi/mi-cm-env.c (_initialize_mi_cmd_env): Use getenv instead of
+ gdb_environ to access an environment variable.
+
+2017-06-18 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+ * nat/linux-ptrace.c (linux_fork_to_function): Add cast to
+ gdb_byte*.
+
+2017-06-17 Simon Marchi <simon.marchi@ericsson.com>
+
+ * nat/fork-inferior.h (trace_start_error): Add ATTRIBUTE_PRINTF.
+
+2017-06-17 Simon Marchi <simon.marchi@ericsson.com>
+
+ * configure: Re-generate.
+ * warning.m4 (build_warnings): Add -Wno-mismatched-tags.
+
+2017-06-17 Simon Marchi <simon.marchi@ericsson.com>
+
+ * configure: Re-generate.
+ * warning.m4: Pass -Werror to compiler when checking for
+ supported warning flags.
+
+2017-06-17 Simon Marchi <simon.marchi@ericsson.com>
+
+ * Makefile.in (COMPILE.pre): Add "-x c++".
+
+2017-06-16 Alan Hayward <alan.hayward@arm.com>
+ Pedro Alves <palves@redhat.com>
+ Yao Qi <yao.qi@linaro.org>
+
+ * defs.h (RequireLongest): New.
+ (extract_integer): Declare function template.
+ (extract_signed_integer): Remove the declaration, but define it
+ static inline.
+ (extract_unsigned_integer): Likewise.
+ (store_integer): Declare function template.
+ (store_signed_integer): Remove the declaration, but define it
+ static inline.
+ (store_unsigned_integer): Likewise.
+ * findvar.c (extract_integer): New function template.
+ (extract_signed_integer): Remove.
+ (extract_unsigned_integer): Remove.
+ (extract_integer<LONGEST>, extract_integer<ULONGEST>): Explicit
+ instantiations.
+ (store_integer): New function template.
+ (store_signed_integer): Remove.
+ (store_unsigned_integer): Remove.
+ (store_integer): Explicit instantiations.
+ * regcache.c (regcache_raw_read_signed): Update.
+ (regcache::raw_read): New function.
+ (regcache::raw_read_signed): Remove.
+ (regcache::raw_read_unsigned): Remove.
+ (regcache_raw_read_unsigned): Update.
+ (regcache_raw_write_unsigned): Update.
+ (regcache::raw_write_signed): Remove.
+ (regcache::raw_write): New function.
+ (regcache_cooked_read_signed): Update.
+ (regcache::raw_write_unsigned): Remove.
+ (regcache::cooked_read_signed): Remove.
+ (regcache_cooked_read_unsigned): Update.
+ (regcache::cooked_read_unsigned): Remove.
+ (regcache_cooked_write_signed): Update.
+ (regcache_cooked_write_unsigned): Update.
+ * regcache.h (regcache) <raw_read_signed>: Remove.
+ <raw_write_signed, raw_read_unsigned, raw_write_unsigned>: Remove.
+ <raw_read, raw_write>: New.
+ <cooked_read_signed, cooked_write_signed>: Remove.
+ <cooked_write_unsigned, cooked_read_unsigned>: Remove.
+ <cooked_read, cooked_write>: New.
+ * sh64-tdep.c (sh64_pseudo_register_read): Update.
+ (sh64_pseudo_register_write): Update.
+
+2017-06-16 Anton Kolesov <anton.kolesov@synopsys.com>
+
+ * arc-tdep.c (arc_disassembler_options): New variable.
+ (arc_gdbarch_init): Set and use it. Use arc_delayed_print_insn instead
+ of default_print_insn.
+ (arc_delayed_print_insn): Set info->section when needed,
+ use default_print_insn to retrieve a disassembler.
+
+2017-06-14 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ PR gdb/21574
+ * infcmd.c (_initialize_infcmd): Expand "help run" documentation
+ to mention $SHELL and startup-with-shell.
+
+2017-06-14 Max Filippov <jcmvbkbc@gmail.com>
+
+ * MAINTAINERS: Move Maxim Grigoriev to the Past Maintainers.
+
+2017-06-14 Yao Qi <yao.qi@linaro.org>
+
+ * aarch64-tdep.c (aarch64_gdb_print_insn): Call
+ default_print_insn instead of print_insn_aarch64.
+ * arm-tdep.c (gdb_print_insn_arm): Call
+ default_print_insn instead of print_insn_big_arm
+ and print_insn_little_arm.
+ * i386-tdep.c (i386_print_insn): Call default_print_insn
+ instead of print_insn_i386.
+ * ia64-tdep.c (ia64_print_insn): Call
+ default_print_insn instead of print_insn_ia64.
+ * mips-tdep.c (gdb_print_insn_mips): Call
+ default_print_insn instead of print_insn_big_mips
+ and print_insn_little_mips.
+ * spu-tdep.c (gdb_print_insn_spu): Call default_print_insn
+ instead of print_insn_spu.
+
+2017-06-14 Pedro Alves <palves@redhat.com>
+
+ * ada-lang.c: Include "common/byte-vector.h".
+ (ada_value_primitive_packed_val): Use gdb::byte_vector.
+ * charset.c (wchar_iterator::iterate): Resize the vector instead
+ of reserving it.
+ * common/byte-vector.h: Include "common/def-vector.h".
+ (wchar_iterator::m_out): Now a gdb::def_vector<gdb_wchar_t>.
+ * cli/cli-dump.c: Include "common/byte-vector.h".
+ (dump_memory_to_file, restore_binary_file): Use gdb::byte_vector.
+ * common/byte-vector.h: New file.
+ * common/def-vector.h: New file.
+ * common/default-init-alloc.h: New file.
+ * dwarf2loc.c: Include "common/byte-vector.h".
+ (rw_pieced_value): Use gdb::byte_vector, and resize the vector
+ instead of reserving it.
+ * dwarf2read.c: Include "common/byte-vector.h".
+ (data_buf::m_vec): Now a gdb::byte_vector.
+ * gdb_regex.c: Include "common/def-vector.h".
+ (compiled_regex::compiled_regex): Use gdb::def_vector<char>.
+ * mi/mi-main.c: Include "common/byte-vector.h".
+ (mi_cmd_data_read_memory): Use gdb::byte_vector.
+ * printcmd.c: Include "common/byte-vector.h".
+ (print_scalar_formatted): Use gdb::byte_vector.
+ * valprint.c: Include "common/byte-vector.h".
+ (maybe_negate_by_bytes, print_decimal_chars): Use
+ gdb::byte_vector.
+
+2017-06-13 Simon Marchi <simon.marchi@ericsson.com>
+
+ * darwin-nat.c: Include "nat/fork-inferior.h".
+
+2017-06-13 Simon Marchi <simon.marchi@ericsson.com>
+
+ * configure.nat: Factor out Darwin bits that are not
+ architecture-specific. Add fork-inferior.o.
+
+2017-06-13 Simon Marchi <simon.marchi@ericsson.com>
+
+ * configure.nat: Factor out AIX bits that are not
+ architecture-specific. Add fork-inferior.o.
+
+2017-06-13 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * dwarf2loc.c (rw_pieced_value): New. Merge logic from...
+ (read_pieced_value, write_pieced_value): ...here. Reduce to
+ wrappers that just call rw_pieced_value.
+
+2017-06-13 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * dwarf2loc.c (write_pieced_value): When writing the data for a
+ memory piece, use write_memory_with_notification instead of
+ write_memory.
+
+2017-06-13 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * valops.c (read_value_memory): Change embedded_offset to
+ represent a bit offset instead of a byte offset.
+ * value.h (read_value_memory): Adjust comment.
+
+2017-06-13 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * dwarf2loc.c (read_pieced_value): Remove unnecessary variables
+ dest_offset_bits and source_offset_bits.
+ (write_pieced_value): Likewise.
+
+2017-06-13 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * dwarf2loc.c (read_pieced_value): Respect the piece offset, as
+ given by DW_OP_bit_piece.
+ (write_pieced_value): Likewise.
+
+2017-06-13 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * dwarf2loc.c (read_pieced_value): Move the buffer allocation and
+ some other preparations to the places where sufficient information
+ is available.
+ (write_pieced_value): Likewise.
+
+2017-06-13 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * dwarf2loc.c (bits_to_bytes): New function.
+ (read_pieced_value): Fix offset calculations for register pieces
+ on big-endian targets.
+ (write_pieced_value): Likewise.
+
+2017-06-13 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * dwarf2loc.c (read_pieced_value): Remove buffer_size variable.
+ (write_pieced_value): Likewise.
+
+2017-06-13 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * dwarf2loc.c (write_pieced_value): When writing to a bit-field,
+ transfer the source value's least significant bits, instead of its
+ lowest-addressed ones. Rename type_len to max_offset.
+ (read_pieced_value): Mirror above changes to write_pieced_value as
+ applicable.
+
+2017-06-13 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * dwarf2loc.c (write_pieced_value): In DWARF_VALUE_MEMORY,
+ truncate full bytes from dest_offset_bits before using it as an
+ offset into the buffer.
+
+2017-06-13 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * dwarf2loc.c (write_pieced_value): Include transfer size in
+ byte-wise check.
+
+2017-06-13 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * dwarf2loc.c (write_pieced_value): Fix copy/paste error in the
+ calculation of this_size.
+
+2017-06-13 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * dwarf2loc.c (read_pieced_value): Respect parent value's offset
+ when targeting a bit-field.
+ (write_pieced_value): Likewise.
+
+2017-06-13 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * dwarf2loc.c (struct piece_closure) <addr_size>: Remove field.
+ (allocate_piece_closure): Drop addr_size parameter.
+ (dwarf2_evaluate_loc_desc_full): Adjust call to
+ allocate_piece_closure.
+
+2017-06-13 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ PR gdb/21226
+ * dwarf2loc.c (read_pieced_value): Anchor stack value pieces at
+ the LSB end, independent of endianness.
+
+2017-06-13 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * dwarf2loc.c (write_pieced_value): Fix order of calculations for
+ size capping.
+
+2017-06-13 Yao Qi <yao.qi@linaro.org>
+
+ * mips-linux-nat.c: Move include features/mips*-linux.c to
+ mips-linux-tdep.c.
+ (_initialize_mips_linux_nat): Move initialize_tdesc_mips* calls
+ to mips-linux-tdep.c.
+ * mips-linux-tdep.c: Include features/mips*-linux.c
+ (_initialize_mips_linux_tdep): Call initialize_tdesc_mips*
+ functions.
+ * mips-linux-tdep.h (tdesc_mips_linux): Declare.
+ (tdesc_mips_dsp_linux, tdesc_mips64_linux): Declare.
+ (tdesc_mips64_dsp_linux): Declare.
+
+2017-06-12 Tom Tromey <tom@tromey.com>
+
+ * valprint.h (val_print_type_code_int): Remove.
+ * valprint.c (generic_val_print_int): Always call
+ val_print_scalar_formatted.
+ (val_print_type_code_int): Remove.
+ * printcmd.c (print_scalar_formatted): Handle options->format==0.
+ * f-valprint.c (f_val_print): Use val_print_scalar_formatted.
+ * c-valprint.c (c_val_print_int): Use val_print_scalar_formatted.
+ * ada-valprint.c (ada_val_print_num): Use
+ val_print_scalar_formatted.
+
+2017-06-12 Tom Tromey <tom@tromey.com>
+
+ * printcmd.c (print_scalar_formatted): Unify the two switches.
+ Don't convert scalars to LONGEST.
+
+2017-06-12 Tom Tromey <tom@tromey.com>
+
+ PR exp/16225:
+ * valprint.h (print_decimal_chars): Update.
+ * valprint.c (maybe_negate_by_bytes): New function.
+ (print_decimal_chars): Add "is_signed" argument.
+ * printcmd.c (print_scalar_formatted): Update.
+
+2017-06-12 Tom Tromey <tom@tromey.com>
+
+ PR exp/16225:
+ * valprint.h (print_binary_chars, print_hex_chars): Update.
+ * valprint.c (val_print_type_code_int): Update.
+ (print_binary_chars): Add "zero_pad" argument.
+ (emit_octal_digit): New function.
+ (print_octal_chars): Don't zero-pad.
+ (print_decimal_chars): Likewise.
+ (print_hex_chars): Add "zero_pad" argument.
+ * sh64-tdep.c (sh64_do_fp_register): Update.
+ * regcache.c (regcache::dump): Update.
+ * printcmd.c (print_scalar_formatted): Update.
+ * infcmd.c (default_print_one_register_info): Update.
+
+2017-06-12 Pedro Alves <palves@redhat.com>
+ Alan Hayward <alan.hayward@arm.com>
+
+ * mips-tdep.c (MAX_MIPS_ABI_REGSIZE): New.
+ (mips_eabi_push_dummy_call): Rename local 'regsize' to
+ 'abi_regsize'. Rename local array 'valbuf' to 'ref_valbuf', and
+ use MAX_MIPS_ABI_REGSIZE instead of MAX_REGISTER_SIZE to size it.
+ Assert that abi_regsize bytes fit in 'ref_valbuf'.
+
+2017-06-12 Pedro Alves <palves@redhat.com>
+
+ * dwarf2read.c (mapped_symtab::data): Now a vector of
+ symtab_index_entry instead of vector of
+ std::unique_ptr<symtab_index_entry>. All users adjusted to check
+ whether an element's name is NULL instead of checking whether the
+ element itself is NULL.
+ (find_slot): Change return type. Adjust.
+ (hash_expand, , add_index_entry, uniquify_cu_indices)
+ (write_hash_table): Adjust.
+
+2017-06-12 Pedro Alves <palves@redhat.com>
+
+ * dwarf2read.c (recursively_count_psymbols): New function.
+ (write_psymtabs_to_index): Call it to compute number of psyms and
+ pass estimate size of psyms_seen to unordered_set's ctor.
+
+2017-06-12 Pedro Alves <palves@redhat.com>
+
+ * dwarf2read.c (write_hash_table): Check if key already exists
+ before emplacing.
+
+2017-06-12 Pedro Alves <palves@redhat.com>
+
+ * dwarf2read.c (data_buf::append_space): Rename to...
+ (data_buf::grow): ... this, and make private. Adjust all callers.
+ (data_buf::append_uint): New method.
+ (add_address_entry, write_one_signatured_type)
+ (write_psymtabs_to_index): Use it.
+
+2017-06-12 Pedro Alves <palves@redhat.com>
+
+ * dwarf2read.c (file_write(FILE *, const void *, size_t)): Delete.
+ (file_write (FILE *, const std::vector<Elem>&)): Delete.
+ (data_buf::file_write): Call ::fwrite directly.
+
+2017-06-12 Pedro Alves <palves@redhat.com>
+
+ * dwarf2read.c (uniquify_cu_indices): Use std::unique and
+ std::vector::erase.
+
+2017-06-12 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Code cleanup: C++ify .gdb_index producer.
+ * dwarf2read.c: Include <unordered_set> and <unordered_map>.
+ (MAYBE_SWAP) [WORDS_BIGENDIAN]: Cast to offset_type.
+ (struct strtab_entry, hash_strtab_entry, eq_strtab_entry)
+ (create_strtab, add_string): Remove.
+ (file_write, data_buf): New.
+ (struct symtab_index_entry): Use std::vector for cu_indices.
+ (struct mapped_symtab): Use std::vector for data.
+ (hash_symtab_entry, eq_symtab_entry, delete_symtab_entry)
+ (create_symbol_hash_table, create_mapped_symtab, cleanup_mapped_symtab):
+ Remove.
+ (find_slot): Change return type. Update it to the new data structures.
+ (hash_expand, add_index_entry): Update it to the new data structures.
+ (offset_type_compare): Remove.
+ (uniquify_cu_indices): Update it to the new data structures.
+ (c_str_view, c_str_view_hasher, vector_hasher): New.
+ (add_indices_to_cpool): Remove.
+ (write_hash_table): Update it to the new data structures.
+ (struct psymtab_cu_index_map, hash_psymtab_cu_index)
+ (eq_psymtab_cu_index): Remove.
+ (psym_index_map): New typedef.
+ (struct addrmap_index_data): Change addr_obstack pointer to data_buf
+ reference and std::unordered_map for cu_index_htab.
+ (add_address_entry, add_address_entry_worker, write_address_map)
+ (write_psymbols): Update it to the new data structures.
+ (write_obstack): Remove.
+ (struct signatured_type_index_data): Change types_list to a data_buf
+ reference and psyms_seen to a std::unordered_set reference.
+ (write_one_signatured_type, recursively_write_psymbols)
+ (write_psymtabs_to_index): Update it to the new data structures.
+
+2017-06-11 Simon Marchi <simon.marchi@ericsson.com>
+
+ * NEWS (Changes since GDB 8.0): Announce {set,show} debug
+ separate-debug-file commands.
+ * symfile.h (separate_debug_file_debug): New global.
+ * symfile.c (separate_debug_file_debug): New global.
+ (separate_debug_file_exists, find_separate_debug_file): Add
+ debug output.
+ (_initialize_symfile): Add "set debug separate-debug-file"
+ command.
+ * build-id.c (build_id_to_debug_bfd,
+ find_separate_debug_file_by_buildid): Add debug output.
+
+2017-06-10 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * gdbarch.sh (displaced_step_free_closure): Remove.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * aarch64-linux-tdep.c (aarch64_linux_init_abi): Don't set
+ displaced_step_free_closure.
+ * amd64-linux-tdep.c (amd64_linux_init_abi_common): Likewise.
+ * arm-linux-tdep.c (arm_linux_init_abi): Likewise.
+ * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
+ * rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
+ * s390-linux-tdep.c (s390_gdbarch_init): Likewise.
+ * arch-utils.h (simple_displaced_step_free_closure): Remove.
+ * arch-utils.c (simple_displaced_step_free_closure): Remove.
+ * infrun.c (displaced_step_clear): Call xfree instead of
+ gdbarch_displaced_step_free_closure.
+
+2017-06-08 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ * common/common-utils.c (stringify_argv): Check for "arg[0] !=
+ NULL".
+
+2017-06-08 Alan Hayward <alan.hayward@arm.com>
+
+ * mn10300-tdep.c (MN10300_MAX_REGISTER_SIZE): Add.
+ (mn10300_extract_return_value): Use MN10300_MAX_REGISTER_SIZE.
+ (mn10300_push_dummy_call): Likewise.
+
+2017-06-08 Alan Hayward <alan.hayward@arm.com>
+
+ * mi/mi-main.c (register_changed_p): Use value_contents_eq.
+
+2017-06-08 Alan Hayward <alan.hayward@arm.com>
+
+ * mi/mi-main.c (register_changed_p): Use cooked_read_value.
+
+2017-06-07 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ * NEWS (Changes since GDB 8.0): Announce that GDBserver is now
+ able to start inferiors using a shell.
+ (New remote packets): Announce new packet "QStartupWithShell".
+ * remote.c: Add PACKET_QStartupWithShell.
+ (extended_remote_create_inferior): Handle new
+ PACKET_QStartupWithShell.
+ (remote_protocol_features) <QStartupWithShell>: New entry for
+ PACKET_QStartupWithShell.
+ (_initialize_remote): Call "add_packet_config_cmd" for
+ QStartupShell.
+
2017-06-07 Sergio Durigan Junior <sergiodj@redhat.com>
Pedro Alves <palves@redhat.com>