Add unit test to aarch64 prologue analyzer
[deliverable/binutils-gdb.git] / gdb / ChangeLog
index 22f02cccd50e2e89cf168d31a816c6fdc208308c..b4dd11761108983e8219630a77cd3ae4b0212825 100644 (file)
@@ -1,3 +1,351 @@
+2016-12-02  Yao Qi  <yao.qi@linaro.org>
+           Pedro Alves  <palves@redhat.com>
+
+       * aarch64-tdep.c: Include "selftest.h".
+       (abstract_instruction_reader): New class.
+       (instruction_reader): New class.
+       (aarch64_analyze_prologue): Add new parameter reader.  Call
+       reader.read instead of read_memory_unsigned_integer.
+       [GDB_SELF_TEST] (instruction_reader_test): New class.
+       (aarch64_analyze_prologue_test): New function.
+       (_initialize_aarch64_tdep) [GDB_SELF_TEST]: Register
+       selftests::aarch64_analyze_prologue_test.
+       * trad-frame.c (trad_frame_cache_zalloc):
+       (trad_frame_alloc_saved_regs): Add a new function.
+       * trad-frame.h (trad_frame_alloc_saved_regs): Declare.
+
+2016-12-01  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * ui-out.c (enum ui_out_table_state): Move to class
+       ui_out_table as ui_out_table::state.
+       (struct ui_out_table): Change to ...
+       (class ui_out_table): ... this.
+       <flag>: Remove.
+       <entry_level>: Rename to ...
+       <m_entry_level>: ... this.
+       <columns>: Rename to ...
+       <m_nr_cols>: ... this.
+       <id>: Rename to ...
+       <m_id>: ... this.
+       <headers>: Rename to ...
+       <m_headers>: ... this.
+       <headers_iterator>: Rename to ...
+       <m_headers_iterator>: ... this.
+       <start_body, append_header, start_row, get_next_header,
+       query_field, current_state, entry_level>: New methods.
+       (struct ui_out) <table>: Change type to unique_ptr to
+       ui_out_table.
+       (append_header_to_list, get_next_header, clear_header_list,
+       clear_table): Remove.
+       (ui_out_table_begin): Instantiate ui_out_table object.  Update
+       table check.
+       (ui_out_table_body): Update table check, replace code with call
+       to ui_out_table::start_body.
+       (ui_out_table_end): Update table check, replace manual cleanup
+       with assignment of uiout->table unique_ptr to nullptr.
+       (ui_out_table_header): Update table check, replace call to
+       append_header_to_list with call to append_header method.
+       (ui_out_begin): Remove one table state check, update another.
+       Replace code with call to start_row method.
+       (verify_field): Update table checks.
+       (ui_out_query_field): Update table check, replace code with call
+       to query_field method.
+       (ui_out_new): Remove table initialization code.
+
+2016-12-01  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * ui-out.c (enum ui_out_table_state): New enum.
+       (struct ui_out_table) <body_flag>: Remove field.
+       <state>: New field.
+       (ui_out_table_begin): Replace usages of body_flag with state.
+       (ui_out_table_body): Likewise.
+       (ui_out_table_end): Likewise.
+       (ui_out_table_header): Likewise.
+       (ui_out_begin): Likewise.
+       (verify_field): Likewise.
+       (ui_out_new): Likewise.
+
+2016-12-01  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * ui-out.h (ui_out_begin_ftype): Remove level parameter.
+       (ui_out_end_ftype): Likewise.
+       * ui-out.c (struct ui_out) <level>: Replace field with a method
+       that dynamically computes the result.
+       (current_level): Get vector's back item instead of using
+       uiout->level.
+       (push_level): Make return type void.
+       (pop_level): Make return type void and update access to
+       ui_out::level.
+       (uo_begin): Remove level parameter.
+       (uo_end): Likewise.
+       (ui_out_table_begin): Update access to uiout::level.
+       (ui_out_begin): Don't read return value from push_level, call
+       uiout->level() instead, update call to uo_begin.
+       (ui_out_end): Don't read return value from pop_level, update
+       call to uo_end.
+       (verify_field): Update access to uiout->level.
+       (ui_out_new): Don't initialize ui_out::level, call push_level
+       to push the initial level instead of doing it by hand.
+       * cli-out.c (cli_begin): Remove level parameter.
+       (cli_end): Likewise.
+       * mi/mi-out.c (mi_begin): Likewise.
+       (mi_end): Likewise.
+
+2016-12-01  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * ui-out.c (struct ui_out_level): Replace with ...
+       (class ui_out_level): ... this.
+       (current_level): Update.
+       (push_level): Update.
+       (pop_level): Update.
+       (verify_field): Update.
+       (ui_out_new): Update.
+
+2016-12-01  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * ui-out.c (struct ui_out_hdr): Replace with ...
+       (class ui_out_hdr): ... this.
+       (append_header_to_list): Update.
+       (get_next_header): Update.
+       (ui_out_query_field): Update.
+
+2016-12-01  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * mi/mi-out.c (mi_table_header): Change char * args to
+       std::string.
+       * cli-out.c (cli_table_header): Likewise.
+       * ui-out.h (table_header_ftype): Likewise.
+       (ui_out_table_header): Constify colhdr argument.
+       (ui_out_query_field): Constify col_name argument.
+       * ui-out.c (ui_out_hdr) <col_name, colhdr>: Change type to
+       std::string.
+       (uo_table_header): Change char * args to std::string.
+       (ui_out_table_header): Likewise.
+       (get_next_header): Constify colhdr argument and adapt.
+       (clear_header_list): Don't free col_name/colhdr fields.
+       (append_header_to_list): Change char * args to std::string and
+       adapt.
+       (verify_field): Constify variable.
+       (ui_out_query_field): Constify col_name argument and adapt.
+       * breakpoint.c (wrap_indent_at_field): Constify variable.
+
+2016-12-01  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * ui-out.c (struct ui_out_hdr) <next>: Remove.
+       (struct ui_out_table) <header_first, header_last, header_next>: Remove.
+       <headers, headers_iterator>: New fields.
+       (ui_out_table_body): Update for the new data structure.
+       (ui_out_begin): Likewise.
+       (clear_header_list): Likewise.
+       (append_header_to_list): Likewise.
+       (get_next_header): Likewise.
+       (ui_out_query_field): Likewise.
+       (ui_out_new): Likewise.
+
+2016-11-30  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * ui-out.c (struct ui_out_table) <id>: Change type to
+       std::string.
+       (ui_out_table_begin): Change tblid parameter type to
+       std::string, adapt code.
+       update following type change.
+       (clear_table): Update.
+       (ui_out_new): Update.
+
+2016-11-30  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * cli-out.h (cli_ui_out_data) <streams>: Change type to
+       std::vector.
+       * cli-out.c: Remove vec.h include.
+       (cli_uiout_dtor): Update.
+       (cli_field_fmt): Update.
+       (cli_spaces): Update.
+       (cli_text): Update.
+       (cli_message): Update.
+       (cli_flush): Update.
+       (cli_redirect): Update.
+       (out_field_fmt): Update.
+       (field_separator): Update.
+       (cli_out_data_ctor): Update.
+       (cli_out_new): Update.
+       (cli_out_set_stream): Update.
+
+2016-11-30  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * mi/mi-out.c: Remove vec.h include.
+       (mi_ui_out_data) <streams>: Change type to std::vector.
+       (mi_field_string): Update.
+       (mi_field_fmt): Update.
+       (mi_flush): Update.
+       (mi_redirect): Update.
+       (field_separator): Update.
+       (mi_open): Update.
+       (mi_close): Update.
+       (mi_out_buffered): Update.
+       (mi_out_rewind): Update.
+       (mi_out_put): Update.
+       (mi_out_data_ctor): Update.
+       (mi_out_data_dtor): Don't free streams.
+
+2016-11-30  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * ui-out.c (ui_out_level_p): Remove typedef.
+       (DEF_VEC_P (ui_out_level_p)): Remove definition.
+       (struct ui_out) <levels>: Change type to vector of unique_ptr of
+       ui_out_level.
+       (current_level): Update.
+       (push_level): Update.
+       (pop_level): Update, don't manually delete the ui_out_level
+       instance.
+       (ui_out_new): Update.
+
+2016-11-30  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * cli-out.c (cli_uiout_dtor): Use delete instead of xfree.
+       (cli_out_new): Use new instead of XNEW.
+       * mi/mi-out.c (mi_out_data_dtor): Use delete instead of xfree.
+       (mi_out_new): Use new instead of XNEW.
+       * tui/tui-out.c (tui_out_new): Likewise.
+       * ui-out.c (push_level): Likewise.
+       (pop_level): Use delete instead of xfree.
+       (clear_header_list): Use delete instead of xfree.
+       (append_header_to_list): Use new instead of XNEW.
+       (ui_out_new): Likewise.
+
+2016-11-30  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * disable-implicit-rules.mk: New file.
+       * Makefile.in: Include disable-implicit-rules.mk.
+       * data-directory/Makefile.in: Likewise.
+       * gnulib/Makefile.in: Likewise.
+
+2016-11-30  Yao Qi  <yao.qi@linaro.org>
+
+       * arm-tdep.c (arm_scan_prologue): Read memory as unsigned integer.
+       (arm_exidx_unwind_sniffer): Likewise.
+
+2016-11-28  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * record-full.c (record_full_open_1): Fix debug output.
+
+2016-11-26  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * mi/mi-out.c (mi_message): Remove verbosity argument.
+       * ada-tasks.c (print_ada_task_info, info_task, task_command):
+       Update call.
+       * auto-load.c (auto_load_info_scripts): Likewise.
+       * breakpoint.c (breakpoint_1, watchpoints_info, tracepoints_info):
+       Likewise.
+       * cli-out.c (cli_message): Remove verbosity argument.
+       * inferior.c (print_inferior): Update call.
+       * linux-thread-db.c (info_auto_load_libthread_db): Likewise.
+       * probe.c (info_probes_for_ops): Likewise.
+       * skip.c (skip_info): Likewise.
+       * solib.c (info_sharedlibrary_command): Likewise.
+       * symfile.c (load_progress): Likewise.
+       * thread.c (print_thread_info_1): Likewise.
+       * ui-out.c (uo_message, ui_out_message): Remove verbosity argument.
+       (ui_out_get_verblvl): Remove.
+       * ui-out.h (ui_out_message): Remove verbosity argument.
+       (ui_out_get_verblvl): Remove.
+       (message_ftype): Remove verbosity argument.
+
+2016-11-26  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * mi/mi-out.c (mi_wrap_hint): Constify argument.
+       * cli-out.c (cli_wrap_hint): Likewise.
+       * ui-out.c (ui_out_wrap_hint, uo_wrap_hint): Likewise.
+       * ui-out.h (ui_out_wrap_hint, wrap_hint_ftype): Likewise.
+       * utils.c (wrap_here): Likewise.
+       (wrap_indent): Constify.
+       * utils.h (wrap_here): Constify argument.
+
+2016-11-26  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * ui-out.c (uo_redirect): Return the return value from the
+       implementation function.
+
+2016-11-26  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * ui-out.c (ui_out_destroy, uo_data_destroy): Remove.
+       * ui-out.h (ui_out_destroy): Remove.
+
+2016-11-26  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * mi/mi-out.c (ui_out_data): Rename to ...
+       (mi_ui_out_data): ... this.
+
+2016-11-26  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * ui-out.c (_initialize_ui_out): Remove.
+       (ui_out_set_flags): Remove.
+       (ui_out_clear_flags): Remove.
+       * ui-out.h (ui_out_begin_cleanup_end): Remove.
+       (ui_out_begin_cleanup_end): Remove.
+       (ui_out_set_flags): Remove.
+       (ui_out_clear_flags): Remove.
+       * mi/mi-out.c (_initialize_mi_out): Remove.
+       (mi_out_buffered): Remove.
+       * mi/mi-out.h (mi_out_buffered): Remove.
+
+2016-11-26  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * ui-out.h (struct ui_out_impl): Remove comment.
+       * ui-out.c (struct ui_out): Remove comment.
+
+2016-11-25  John Baldwin  <jhb@FreeBSD.org>
+
+       * contrib/ari/gdb_ari.sh (no parameter function): Remove check.
+
+2016-11-25  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * Makefile.in: Fix typo.
+
+2016-11-25  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * record-full.c (record_full_resume): Fix typos in comment.
+
+2016-11-25  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * infcmd.c (interrupt_command): Fix typo in comment.
+
+2016-11-24  John Baldwin  <jhb@FreeBSD.org>
+
+       * ada-lang.c (create_excep_cond_exprs): Do not use 'std::move'.
+       * ax-gdb.c (agent_eval_command_one): Likewise.
+       (agent_eval_command_one): Likewise.
+       * breakpoint.c (parse_cond_to_aexpr): Likewise.
+       (parse_cmd_to_aexpr): Likewise.
+       * dtrace-probe.c (dtrace_process_dof_probe): Likewise.
+       * parse.c (parse_expression_for_completion): Likewise.
+
+2016-11-24  John Baldwin  <jhb@FreeBSD.org>
+
+       * common/new-op.c (operator new): Mark 'noexcept'.
+       (operator new[]): Likewise.
+
+2016-11-24  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+       * dwarf2loc.c (copy_bitwise): Use memcpy for the middle part, if
+       it is byte-aligned.
+
+2016-11-24  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+           Pedro Alves  <palves@redhat.com>
+
+       * dwarf2loc.c (bits_to_str, check_copy_bitwise)
+       (copy_bitwise_tests): New functions.
+       (_initialize_dwarf2loc): Register the new function
+       copy_bitwise_tests as a unit test.
+       * selftest.c (run_self_tests): Improve the failure message's
+       wording and formatting.
+
+2016-11-24  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+       * dwarf2loc.c (extract_bits_primitive): Remove.
+       (extract_bits): Remove.
+       (copy_bitwise): Rewrite.  Fixes a possible corruption that may
+       occur for non-byte-aligned copies.
+
 2016-11-24  Andreas Arnez  <arnez@linux.vnet.ibm.com>
 
        PR gdb/12616
This page took 0.027279 seconds and 4 git commands to generate.