+2014-04-28 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-lang.c (ada_discrete_type_high_bound): Resolve the type's
+ dynamic bounds before computing its upper bound.
+ (ada_discrete_type_low_bound): Same as above with the lower bound.
+
+2014-04-28 Joel Brobecker <brobecker@adacore.com>
+
+ * dwarf2read.c (is_dynamic_type): Return true for dynamic
+ range types. Adjust the array handling implementation to
+ take advantage of this change.
+ (resolve_dynamic_range): New function, mostly extracted from
+ resolve_dynamic_bounds.
+ (resolve_dynamic_array): New function, mostly extracted from
+ resolve_dynamic_bounds.
+ (resolve_dynamic_bounds): Delete.
+ (resolve_dynamic_type): Reimplement. Add handling of
+ TYPE_CODE_RANGE types.
+
+2014-04-28 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-varobj.c (ada_varobj_describe_simple_array_child): Remove
+ handling of parallel ___XA types.
+
+2014-04-28 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-lang.c (ada_evaluate_subexp) <OP_VAR_VALUE>: Remove
+ unnecessary second call to static_unwrap_type.
+
+2014-04-27 Hui Zhu <hui@codesourcery.com>
+
+ * stack.c (print_frame_info): Call do_gdb_disassembly with
+ DUMMY_FRAME, SIGTRAMP_FRAME and ARCH_FRAME.
+
+2014-04-26 Doug Evans <xdje42@gmail.com>
+
+ * guile/scm-safe-call.c (scscm_eval_scheme_string): Fix comment.
+
+2014-04-25 Pedro Alves <palves@redhat.com>
+
+ PR server/16255
+ * common/linux-ptrace.c (linux_ptrace_attach_warnings): Rename to ...
+ (linux_ptrace_attach_fail_reason): ... this. Remove "warning: "
+ and newline from built string.
+ * common/linux-ptrace.h (linux_ptrace_attach_warnings): Rename to ...
+ (linux_ptrace_attach_fail_reason): ... this.
+ * linux-nat.c (linux_nat_attach): Adjust to use
+ linux_ptrace_attach_fail_reason.
+
+2014-04-25 Pedro Alves <palves@redhat.com>
+
+ * remote.c (struct remote_state): Remove multi_process_aware,
+ non_stop_aware, cond_tracepoints, cond_breakpoints,
+ breakpoint_commands, fast_tracepoints, static_tracepoints,
+ install_in_trace, disconnected_tracing,
+ enable_disable_tracepoints, string_tracing, and
+ augmented_libraries_svr4_read fields.
+ (remote_multi_process_p): Move further below in the file.
+ (struct packet_config): Add comments.
+ (update_packet_config): Delete function.
+ (show_packet_config_cmd): Use packet_config_support.
+ (add_packet_config_cmd): Use NULL as set callback.
+ (packet_ok): "set remote foo-packet"-style commands no longer
+ change config->supported -- adjust.
+ (PACKET_ConditionalTracepoints, PACKET_ConditionalBreakpoints)
+ (PACKET_BreakpointCommands, PACKET_FastTracepoints)
+ (PACKET_StaticTracepoints, PACKET_InstallInTrace): Add comments.
+ (PACKET_QNonStop, PACKET_multiprocess_feature)
+ (PACKET_EnableDisableTracepoints_feature, PACKET_tracenz_feature)
+ (PACKET_DisconnectedTracing_feature)
+ (PACKET_augmented_libraries_svr4_read_feature): New enum values.
+ (set_remote_protocol_packet_cmd): Delete function.
+ (packet_config_support, packet_support): New functions.
+ (set_remote_protocol_Z_packet_cmd): Don't call
+ update_packet_config.
+ (remote_query_attached, remote_pass_signals)
+ (remote_program_signals, remote_threads_info)
+ (remote_threads_extra_info, remote_start_remote): Use
+ packet_support.
+ (remote_start_remote): Use packet_config_support and
+ packet_support.
+ (init_all_packet_configs): Set all packets to unknown support,
+ instead of calling update_packet_config.
+ (remote_check_symbols): Use packet_support.
+ (remote_supported_packet): Unconditionally set the packet config's
+ support status.
+ (remote_multi_process_feature, remote_non_stop_feature)
+ (remote_cond_tracepoint_feature, remote_cond_breakpoint_feature)
+ (remote_breakpoint_commands_feature)
+ (remote_fast_tracepoint_feature, remote_static_tracepoint_feature)
+ (remote_install_in_trace_feature)
+ (remote_disconnected_tracing_feature)
+ (remote_enable_disable_tracepoint_feature)
+ (remote_string_tracing_feature)
+ (remote_augmented_libraries_svr4_read_feature): Delete functions.
+ (remote_protocol_features): Adjust to use remote_supported_packet
+ for "augmented-libraries-svr4-read", "multiprocess", "QNonStop",
+ "ConditionalTracepoints", "ConditionalBreakpoints",
+ "BreakpointCommands", "FastTracepoints", "StaticTracepoints",
+ "InstallInTrace", "DisconnectedTracing", "DisconnectedTracing",
+ "EnableDisableTracepoints", and "tracenz".
+ (remote_query_supported): Use packet_support.
+ (remote_open_1): Adjust.
+ (extended_remote_attach_1): Use packet_support. Switch on the
+ result of packet_ok instead of checking whether the packet ended
+ up disabled.
+ (remote_vcont_resume): Use packet_support.
+ (remote_resume, remote_stop_ns, fetch_register_using_p)
+ (remote_prepare_to_store, store_register_using_P)
+ (check_binary_download, remote_write_bytes): Use packet_support.
+ (remote_vkill): Use packet_support. Switch on the result of
+ packet_ok instead of checking whether the packet ended up
+ disabled.
+ (extended_remote_supports_disable_randomization): Use
+ packet_support.
+ (extended_remote_run): Switch on the result of packet_ok instead
+ of checking whether the packet ended up disabled.
+ (remote_insert_breakpoint, remote_remove_breakpoint)
+ (remote_insert_watchpoint, remote_remove_watchpoint)
+ (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint): Use
+ packet_support.
+ (remote_search_memory): Use packet_config_support.
+ (remote_get_thread_local_address, remote_get_tib_address)
+ (remote_hostio_send_command, remote_can_execute_reverse): Use
+ packet_support.
+ (remote_supports_cond_tracepoints)
+ (remote_supports_cond_breakpoints)
+ (remote_supports_fast_tracepoints)
+ (remote_supports_static_tracepoints)
+ (remote_supports_install_in_trace)
+ (remote_supports_enable_disable_tracepoint)
+ (remote_supports_string_tracing)
+ (remote_can_run_breakpoint_commands): Rewrite, checking whether
+ the packet config says the feature is enabled or disabled.
+ (remote_download_tracepoint, remote_trace_set_readonly_regions)
+ (remote_get_trace_status): Use packet_support.
+ (remote_set_disconnected_tracing): Adjust to check whether the
+ feature is enabled with packet_support.
+ (remote_set_trace_buffer_size, remote_use_agent)
+ (remote_can_use_agent, remote_supports_btrace): Use
+ packet_support.
+ (remote_enable_btrace, remote_disable_btrace, remote_read_btrace):
+ Use packet_config_support.
+ (remote_augmented_libraries_svr4_read): Rewrite, checking whether
+ the packet config says the feature is enabled or disabled.
+ (set_range_stepping): Use packet_support.
+
+2014-04-25 Tom Tromey <tromey@redhat.com>
+
+ * cli/cli-cmds.c (_initialize_cli_cmds): Document "quit" command's
+ argument.
+
+2014-04-24 Sanimir Agovic <sanimir.agovic@intel.com>
+
+ * NEWS: Mention support for C99 variable length arrays.
+
+2014-04-24 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-lang.c (standard_exc): Expand introductory comment.
+
+2014-04-24 Michael Sturm <michael.sturm@mintel.com>
+ Walfred Tedeschi <walfred.tedeschi@intel.com>
+
+ * amd64-linux-nat.c (amd64_linux_gregset32_reg_offset): Add
+ AVX512 registers.
+ (amd64_linux_read_description): Add code to handle AVX512 xstate
+ mask and return respective tdesc.
+ * amd64-linux-tdep.c: Include features/i386/amd64-avx512-linux.c
+ and features/i386/x32-avx512-linux.c.
+ (amd64_linux_gregset_reg_offset): Add AVX512 registers.
+ (amd64_linux_core_read_description): Add code to handle AVX512
+ xstate mask and return respective tdesc.
+ (_initialize_amd64_linux_tdep): Initialize AVX512 tdesc.
+ * amd64-linux-tdep.h (AMD64_LINUX_ORIG_RAX_REGNUM): Adjust regnum
+ calculation.
+ (AMD64_LINUX_NUM_REGS): Adjust to new number of registers.
+ (tdesc_amd64_avx512_linux): New prototype.
+ (tdesc_x32_avx512_linux): Likewise.
+ * amd64-tdep.c: Include features/i386/amd64-avx512.c and
+ features/i386/x32-avx512.c.
+ (amd64_ymm_avx512_names): New register names for pseudo
+ registers YMM16-31.
+ (amd64_ymmh_avx512_names): New register names for raw registers
+ YMMH16-31.
+ (amd64_k_names): New register names for K registers.
+ (amd64_zmmh_names): New register names for ZMM raw registers.
+ (amd64_zmm_names): New registers names for ZMM pseudo registers.
+ (amd64_xmm_avx512_names): New register names for XMM16-31
+ registers.
+ (amd64_pseudo_register_name): Add code to return AVX512 pseudo
+ registers.
+ (amd64_init_abi): Add code to intitialize AVX512 tdep variables
+ if feature is present.
+ (_initialize_amd64_tdep): Call AVX512 tdesc initializers.
+ * amd64-tdep.h (enum amd64_regnum): Add AVX512 registers.
+ (AMD64_NUM_REGS): Adjust to new number of registers.
+ * i386-linux-nat.c (GETXSTATEREGS_SUPPLIES): Extend range of
+ registers supplied via XSTATE by AVX512 registers.
+ (i386_linux_read_description): Add case for AVX512.
+ * i386-linux-tdep.c: Include i386-avx512-linux.c.
+ (i386_linux_gregset_reg_offset): Add AVX512 registers.
+ (i386_linux_core_read_description): Add case for AVX512.
+ (i386_linux_init_abi): Install supported register note section
+ for AVX512.
+ (_initialize_i386_linux_tdep): Add call to tdesc init function for
+ AVX512.
+ * i386-linux-tdep.h (I386_LINUX_NUM_REGS): Set number of
+ registers to be number of zmm7h + 1.
+ (tdesc_i386_avx512_linux): Add tdesc for AVX512 registers.
+ * i386-tdep.c: Include features/i386/i386-avx512.c.
+ (i386_zmm_names): Add ZMM pseudo register names array.
+ (i386_zmmh_names): Add ZMM raw register names array.
+ (i386_k_names): Add K raw register names array.
+ (num_lower_zmm_regs): Add constant for the number of lower ZMM
+ registers. AVX512 has 16 more ZMM registers than there are YMM
+ registers.
+ (i386_zmmh_regnum_p): Add function to look up register number of
+ ZMM raw registers.
+ (i386_zmm_regnum_p): Likewise for ZMM pseudo registers.
+ (i386_k_regnum_p): Likewise for K raw registers.
+ (i386_ymmh_avx512_regnum_p): Likewise for additional YMM raw
+ registers added by AVX512.
+ (i386_ymm_avx512_regnum_p): Likewise for additional YMM pseudo
+ registers added by AVX512.
+ (i386_xmm_avx512_regnum_p): Likewise for additional XMM registers
+ added by AVX512.
+ (i386_register_name): Add code to hide YMMH16-31 and ZMMH0-31.
+ (i386_pseudo_register_name): Add ZMM pseudo registers.
+ (i386_zmm_type): Construct and return vector registers type for ZMM
+ registers.
+ (i386_pseudo_register_type): Return appropriate type for YMM16-31,
+ ZMM0-31 pseudo registers and K registers.
+ (i386_pseudo_register_read_into_value): Add code to read K, ZMM
+ and YMM16-31 registers from register cache.
+ (i386_pseudo_register_write): Add code to write K, ZMM and
+ YMM16-31 registers.
+ (i386_register_reggroup_p): Add code to include/exclude AVX512
+ registers in/from respective register groups.
+ (i386_validate_tdesc_p): Handle AVX512 feature, add AVX512
+ registers if feature is present in xcr0.
+ (i386_gdbarch_init): Add code to initialize AVX512 feature
+ variables in tdep structure, wire in pseudo registers and call
+ initialize_tdesc_i386_avx512.
+ * i386-tdep.h (struct gdbarch_tdep): Add AVX512 related
+ variables.
+ (i386_regnum): Add AVX512 registers.
+ (I386_SSE_NUM_REGS): New define for number of SSE registers.
+ (I386_AVX_NUM_REGS): Likewise for AVX registers.
+ (I386_AVX512_NUM_REGS): Likewise for AVX512 registers.
+ (I386_MAX_REGISTER_SIZE): Change to 64 bytes, ZMM registers are
+ 512 bits wide.
+ (i386_xmm_avx512_regnum_p): New prototype for register look up.
+ (i386_ymm_avx512_regnum_p): Likewise.
+ (i386_k_regnum_p): Likewise.
+ (i386_zmm_regnum_p): Likewise.
+ (i386_zmmh_regnum_p): Likewise.
+ * i387-tdep.c : Update year in copyright notice.
+ (xsave_ymm_avx512_offset): New table for YMM16-31 offsets in
+ XSAVE buffer.
+ (XSAVE_YMM_AVX512_ADDR): New macro.
+ (xsave_xmm_avx512_offset): New table for XMM16-31 offsets in
+ XSAVE buffer.
+ (XSAVE_XMM_AVX512_ADDR): New macro.
+ (xsave_avx512_k_offset): New table for K register offsets in
+ XSAVE buffer.
+ (XSAVE_AVX512_K_ADDR): New macro.
+ (xsave_avx512_zmm_h_offset): New table for ZMM register offsets
+ in XSAVE buffer.
+ (XSAVE_AVX512_ZMM_H_ADDR): New macro.
+ (i387_supply_xsave): Add code to supply AVX512 registers to XSAVE
+ buffer.
+ (i387_collect_xsave): Add code to collect AVX512 registers from
+ XSAVE buffer.
+ * i387-tdep.h (I387_NUM_XMM_AVX512_REGS): New define for number
+ of XMM16-31 registers.
+ (I387_NUM_K_REGS): New define for number of K registers.
+ (I387_K0_REGNUM): New define for K0 register number.
+ (I387_NUM_ZMMH_REGS): New define for number of ZMMH registers.
+ (I387_ZMM0H_REGNUM): New define for ZMM0H register number.
+ (I387_NUM_YMM_AVX512_REGS): New define for number of YMM16-31
+ registers.
+ (I387_YMM16H_REGNUM): New define for YMM16H register number.
+ (I387_XMM16_REGNUM): New define for XMM16 register number.
+ (I387_YMM0_REGNUM): New define for YMM0 register number.
+ (I387_KEND_REGNUM): New define for last K register number.
+ (I387_ZMMENDH_REGNUM): New define for last ZMMH register number.
+ (I387_YMMH_AVX512_END_REGNUM): New define for YMM31 register
+ number.
+ (I387_XMM_AVX512_END_REGNUM): New define for XMM31 register
+ number.
+ * common/i386-xstate.h: Add AVX 3.1 feature bits, mask and XSTATE
+ size.
+ * features/Makefile: Add AVX512 related files.
+ * features/i386/32bit-avx512.xml: New file.
+ * features/i386/64bit-avx512.xml: Likewise.
+ * features/i386/amd64-avx512-linux.c: Likewise.
+ * features/i386/amd64-avx512-linux.xml: Likewise.
+ * features/i386/amd64-avx512.c: Likewise.
+ * features/i386/amd64-avx512.xml: Likewise.
+ * features/i386/i386-avx512-linux.c: Likewise.
+ * features/i386/i386-avx512-linux.xml: Likewise.
+ * features/i386/i386-avx512.c: Likewise.
+ * features/i386/i386-avx512.xml: Likewise.
+ * features/i386/x32-avx512-linux.c: Likewise.
+ * features/i386/x32-avx512-linux.xml: Likewise.
+ * features/i386/x32-avx512.c: Likewise.
+ * features/i386/x32-avx512.xml: Likewise.
+ * regformats/i386/amd64-avx512-linux.dat: New file.
+ * regformats/i386/amd64-avx512.dat: Likewise.
+ * regformats/i386/i386-avx512-linux.dat: Likewise.
+ * regformats/i386/i386-avx512.dat: Likewise.
+ * regformats/i386/x32-avx512-linux.dat: Likewise.
+ * regformats/i386/x32-avx512.dat: Likewise.
+ * NEWS: Add note about new support for AVX512.
+
+
+2014-04-23 Pedro Alves <palves@redhat.com>
+
+ * breakpoint.c (insert_bp_location): Tolerate errors if the
+ breakpoint is set in a user-loaded objfile.
+ (remove_breakpoint_1): Likewise. Also tolerate errors if the
+ location is marked shlib_disabled. If the breakpoint is set in a
+ user-loaded objfile is a GDB-side memory breakpoint, validate it
+ before uninsertion. (disable_breakpoints_in_freed_objfile): Skip
+ non-OBJF_USERLOADED objfiles. Don't clear the location's inserted
+ flag.
+ * mem-break.c (memory_validate_breakpoint): New function.
+ * objfiles.c (userloaded_objfile_contains_address_p): New
+ function.
+ * objfiles.h (userloaded_objfile_contains_address_p): Declare.
+ * target.h (memory_validate_breakpoint): New declaration.
+
+2014-04-23 Pedro Alves <palves@redhat.com>
+
+ * breakpoint.c (insert_bp_location, remove_breakpoint_1): If
+ the breakpoint is set in a shared library, only suppress
+ errors for software breakpoints, not hardware breakpoints.
+
2014-04-22 Pedro Alves <palves@redhat.com>
* infrun.c (schedlock_applies): New function, factored out from