public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Shahab Vahedi <shahab.vahedi@gmail.com>
To: gdb-patches@sourceware.org
Cc: Shahab Vahedi <shahab.vahedi@gmail.com>,
	Shahab Vahedi <shahab@synopsys.com>,
	Simon Marchi <simark@simark.ca>, Tom Tromey <tom@tromey.com>,
	Eli Zaretskii <eliz@gnu.org>,
	Anton Kolesov <anton.kolesov@synopsys.com>,
	Francois Bedard <fbedard@synopsys.com>
Subject: [PATCH v6 0/4] arc: Add GNU/Linux support
Date: Wed,  5 Aug 2020 13:09:30 +0200	[thread overview]
Message-ID: <20200805110934.6225-1-shahab.vahedi@gmail.com> (raw)
In-Reply-To: <20200326125206.13120-1-shahab.vahedi@gmail.com>

From: Shahab Vahedi <shahab@synopsys.com>

This is a series of changes to enable debugging ARC targets that are
running on a native ARC GNU/Linux system.  Since this heavily relies
on XML target descriptions provided for different targets, that piece
of code has been refactored to accommodate flexible register support.

After this series, there will come patches that add support for
native ARC gdb/gdbserver.

v6: Add backward compatibility for obsolete feature names
 arc-tdep.c:
  - "find_obsolete_[core,aux]_names()" implemented
 gdb/NEWS:
  - Updated with information about these feature name changes.

v5: Changes per remarks of Simon [1] and on my own (documentation and tests)
 arc.h:
  - Made "reg_size" and "isa" constant in "arc_gdbarch_features".
 arc.c:
  - Fix some malformed indentations.
 arc-tdep.h:
  - Inclusion of "gdbarch.h" has its own patch now.
 arc-tdep.c
  - Use "nullptr" instead of "NULL".
  - Remove unnecessary "break"s after "return"s.
  - "determine_core_reg_feature_set" will assert if wrong input is given.
  - Removed dangling comment.
  - Replaced "const auto *" with "const auto" to be consistent.
  - in "arc_check_for_hw_loops()": No "nullptr" check for "aux_regset".
 arc-linux-tdep.c
  - Remove unnecessary empty lines.
  - Replace "breakpoint uses" with "breakpoints use" in a comment.
  - "return condition;" i.s.o. "if (condition) return true; else return false;"
 gdb.texinfo
  - Update documentation regarding the new feature files.
 arc-tdesc-cpu.xml
  - Use new feature names.

[1] Simon's remarks to v4 of the patches
https://sourceware.org/pipermail/gdb-patches/2020-July/170975.html
https://sourceware.org/pipermail/gdb-patches/2020-August/170993.html
https://sourceware.org/pipermail/gdb-patches/2020-August/170994.html

v4: Latest changes per remarks of Simon [2]
 arc-tdep.c
  - Surround "=" in 2 assignments with space.
  - Put the return type of "mach_type_to_arc_isa ()" on the first line.
  - Remove "inline" from "mach_type_to_arc_isa ()".
  - Add space between the "if" conditions for readability.
  - Use "featues.isa" instead of "features.reg_size" in one occurrence.
  - Make "arc_gdbarch_features_init" static
  - Rename "arc_gdbarch_features_init" to "arc_gdbarch_features_create".
  - Adapt "arc_gdbarch_features_create" to act as a constructor.
 arch/arc.c
  - Add a constructor for "arc_gdbarch_features".
  - Get rid of "ARC_ISA_NONE" now that there is a constructor.
 arch/arc.c
  - Use simple assignments (instead of append) for "architecture".
  - Use "string_sprintf ()".
  - Use "target_desc_up" in "arc_tdesc_cache" to avoid memory leakage.
 arc-linux-tdep.c
  - Two occurrences: compare "resolver.minsym" against "nullptr".
  

[2] [PATCH v3 1/3] arc: Add ARCv2 XML target along with refactoring
https://sourceware.org/pipermail/gdb-patches/2020-July/170427.html

v3: Changes after Simon's remarks:
The XML files have reduced to minimal comprehensible set.
The code is adjusted to work with new reg sets and be platform agnostic.

v2: Changes after Tom's remarks:
 arc-tdep.c
  - arc_tdesc_init(): Use "ARC_{R58,R59}_REGNUM" to index "core_regs[]".
  - arc_gdbarch_init(): Use "xfree ()" instead of "XDELETE ()"
  - arc_gdbarch_init(): return "nullptr" instead of "NULL".
  - Use explicit number evaluation, e.g: if (a & b) -> if ((a & b) != 0)
 arc-linux-tdep.c
  - Use true/false instead of TRUE/FALSE.
  - arc_linux_sw_breakpoint_from_kind (): Break long lines into two.
  - arc_linux_sw_breakpoint_from_kind (): Remove starting blank line.
  - Use explicit number evaluation, e.g: if (a & b) -> if ((a & b) != 0)
 gdb/configure.tgt
  - arc*-*-linux*): Remove "build_gdbserver=yes".

Anton Kolesov (1):
  arc: Add GNU/Linux support for ARC

Shahab Vahedi (3):
  arc: Add ARCv2 XML target along with refactoring
  arc: Add inclusion of "gdbarch.h" in "arc-tdep.h"
  arc: Add hardware loop detection

 gdb/Makefile.in                               |   1 +
 gdb/NEWS                                      |   5 +
 gdb/arc-linux-tdep.c                          | 278 +++++++
 gdb/arc-tdep.c                                | 694 ++++++++++++------
 gdb/arc-tdep.h                                |  27 +-
 gdb/arch/arc.c                                | 108 ++-
 gdb/arch/arc.h                                |  79 +-
 gdb/configure.tgt                             |   5 +
 gdb/doc/gdb.texinfo                           |  76 +-
 gdb/features/Makefile                         |   8 +-
 .../arc/{aux-arcompact.c => v1-aux.c}         |   9 +-
 .../arc/{aux-arcompact.xml => v1-aux.xml}     |   7 +-
 .../arc/{core-arcompact.c => v1-core.c}       |   8 +-
 .../arc/{core-arcompact.xml => v1-core.xml}   |   4 +-
 gdb/features/arc/{aux-v2.c => v2-aux.c}       |   9 +-
 gdb/features/arc/{aux-v2.xml => v2-aux.xml}   |   5 +-
 gdb/features/arc/{core-v2.c => v2-core.c}     |   7 +-
 gdb/features/arc/{core-v2.xml => v2-core.xml} |   7 +-
 gdb/testsuite/gdb.arch/arc-tdesc-cpu.xml      |   4 +-
 19 files changed, 986 insertions(+), 355 deletions(-)
 create mode 100644 gdb/arc-linux-tdep.c
 rename gdb/features/arc/{aux-arcompact.c => v1-aux.c} (73%)
 rename gdb/features/arc/{aux-arcompact.xml => v1-aux.xml} (80%)
 rename gdb/features/arc/{core-arcompact.c => v1-core.c} (87%)
 rename gdb/features/arc/{core-arcompact.xml => v1-core.xml} (92%)
 rename gdb/features/arc/{aux-v2.c => v2-aux.c} (76%)
 rename gdb/features/arc/{aux-v2.xml => v2-aux.xml} (86%)
 rename gdb/features/arc/{core-v2.c => v2-core.c} (91%)
 rename gdb/features/arc/{core-v2.xml => v2-core.xml} (90%)

-- 
2.28.0


  parent reply	other threads:[~2020-08-05 11:10 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-26 12:52 [PATCH " Shahab Vahedi
2020-03-26 12:52 ` [PATCH 1/4] arc: Add XML target features for Linux targets Shahab Vahedi
2020-04-24 13:46   ` Tom Tromey
2020-03-26 12:52 ` [PATCH 2/4] arc: Recognize registers available on " Shahab Vahedi
2020-04-24 13:50   ` Tom Tromey
2020-03-26 12:52 ` [PATCH 3/4] arc: Add GNU/Linux support for ARC Shahab Vahedi
2020-04-24 14:00   ` Tom Tromey
2020-03-26 12:52 ` [PATCH 4/4] arc: Add arc-*-linux regformats Shahab Vahedi
2020-04-24 14:01   ` Tom Tromey
2020-04-06  9:13 ` [PING][PATCH 0/4] arc: Add GNU/Linux support Shahab Vahedi
2020-04-20 16:51 ` [PING^2][PATCH " Shahab Vahedi
2020-04-28 16:04 ` [PATCH v2 " Shahab Vahedi
2020-04-28 16:04   ` [PATCH v2 1/4] arc: Add XML target features for Linux targets Shahab Vahedi
2020-05-14 14:49     ` Simon Marchi
2020-04-28 16:04   ` [PATCH v2 2/4] arc: Recognize registers available on " Shahab Vahedi
2020-04-28 16:56     ` Eli Zaretskii
2020-05-14 15:01     ` Simon Marchi
2020-06-17 15:46       ` Shahab Vahedi
2020-07-13 15:48         ` Simon Marchi
2020-07-14  9:05           ` Shahab Vahedi
2020-04-28 16:04   ` [PATCH v2 3/4] arc: Add GNU/Linux support for ARC Shahab Vahedi
2020-05-14 15:09     ` Simon Marchi
2020-06-15 23:13       ` Shahab Vahedi
2020-06-16  0:58         ` Simon Marchi
2020-04-28 16:04   ` [PATCH v2 4/4] arc: Add arc-*-linux regformats Shahab Vahedi
2020-05-14 15:12     ` Simon Marchi
2020-06-15 23:37       ` Shahab Vahedi
2020-06-16  2:08         ` Simon Marchi
2020-05-14 11:43   ` [PATCH v2 0/4] arc: Add GNU/Linux support Shahab Vahedi
2020-07-13 15:45   ` [PATCH v3 0/3] " Shahab Vahedi
2020-07-13 15:45     ` [PATCH v3 1/3] arc: Add ARCv2 XML target along with refactoring Shahab Vahedi
2020-07-15  2:52       ` Simon Marchi
2020-07-15 20:35         ` Shahab Vahedi
2020-07-15 21:23           ` Christian Biesinger
2020-07-16  1:59             ` Simon Marchi
2020-07-16 13:28           ` Simon Marchi
2020-07-22 13:36             ` Shahab Vahedi
2020-07-22 13:49               ` Simon Marchi
2020-07-22 14:33                 ` Shahab Vahedi
2020-07-22 14:54                   ` Simon Marchi
2020-07-13 15:45     ` [PATCH v3 2/3] arc: Add hardware loop detection Shahab Vahedi
2020-07-15  2:55       ` Simon Marchi
2020-07-13 15:45     ` [PATCH v3 3/3] arc: Add GNU/Linux support for ARC Shahab Vahedi
2020-07-15  3:03       ` Simon Marchi
2020-07-23 19:35     ` [PATCH v4 0/3] arc: Add GNU/Linux support Shahab Vahedi
2020-07-23 19:35       ` [PATCH v4 1/3] arc: Add ARCv2 XML target along with refactoring Shahab Vahedi
2020-07-30 23:34         ` Simon Marchi
2020-07-23 19:35       ` [PATCH v4 2/3] arc: Add hardware loop detection Shahab Vahedi
2020-08-01 14:53         ` Simon Marchi
2020-07-23 19:35       ` [PATCH v4 3/3] arc: Add GNU/Linux support for ARC Shahab Vahedi
2020-08-01 15:01         ` Simon Marchi
2020-08-01 23:31       ` [PATCH v4 0/3] arc: Add GNU/Linux support Simon Marchi
2020-08-04  7:59         ` Shahab Vahedi
2020-08-04 12:42           ` Simon Marchi
2020-08-04  8:57 ` [PATCH v5 0/4] " Shahab Vahedi
2020-08-04  8:57   ` [PATCH v5 1/4] arc: Add ARCv2 XML target along with refactoring Shahab Vahedi
2020-08-04 13:08     ` Simon Marchi
2020-08-04 13:18       ` Shahab Vahedi
2020-08-04 13:20         ` Simon Marchi
2020-08-04 14:12           ` Shahab Vahedi
2020-08-04  8:57   ` [PATCH v5 2/4] arc: Add inclusion of "gdbarch.h" in "arc-tdep.h" Shahab Vahedi
2020-08-04  8:57   ` [PATCH v5 3/4] arc: Add hardware loop detection Shahab Vahedi
2020-08-04 14:28     ` Eli Zaretskii
2020-08-04 16:17       ` Shahab Vahedi
2020-08-04 16:42         ` Eli Zaretskii
2020-08-04 18:15           ` Shahab Vahedi
2020-08-04  8:57   ` [PATCH v5 4/4] arc: Add GNU/Linux support for ARC Shahab Vahedi
2020-08-04 12:49   ` [PATCH v5 0/4] arc: Add GNU/Linux support Simon Marchi
2020-08-04 13:05     ` Shahab Vahedi
2020-08-05 11:09 ` Shahab Vahedi [this message]
2020-08-05 11:09   ` [PATCH v6 1/4] arc: Add ARCv2 XML target along with refactoring Shahab Vahedi
2020-08-05 14:31     ` Eli Zaretskii
2020-08-21 16:16     ` Simon Marchi
2020-08-24 20:14       ` Shahab Vahedi
2020-08-05 11:09   ` [PATCH v6 2/4] arc: Add inclusion of "gdbarch.h" in "arc-tdep.h" Shahab Vahedi
2020-08-05 11:09   ` [PATCH v6 3/4] arc: Add hardware loop detection Shahab Vahedi
2020-08-05 11:09   ` [PATCH v6 4/4] arc: Add GNU/Linux support for ARC Shahab Vahedi
2020-08-17  8:07   ` [PATCH v6 0/4] arc: Add GNU/Linux support Shahab Vahedi
2020-08-17 14:12     ` Eli Zaretskii
2020-08-25 15:47 ` [PUSHED " Shahab Vahedi
2020-08-25 15:47   ` [PUSHED 1/4] arc: Add ARCv2 XML target along with refactoring Shahab Vahedi
2020-08-25 16:00     ` Eli Zaretskii
2020-08-25 15:47   ` [PUSHED 2/4] arc: Add inclusion of "gdbarch.h" in "arc-tdep.h" Shahab Vahedi
2020-08-25 15:47   ` [PUSHED 3/4] arc: Add hardware loop detection Shahab Vahedi
2020-08-25 15:58     ` Eli Zaretskii
2020-08-25 15:47   ` [PUSHED 4/4] arc: Add GNU/Linux support for ARC Shahab Vahedi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200805110934.6225-1-shahab.vahedi@gmail.com \
    --to=shahab.vahedi@gmail.com \
    --cc=anton.kolesov@synopsys.com \
    --cc=eliz@gnu.org \
    --cc=fbedard@synopsys.com \
    --cc=gdb-patches@sourceware.org \
    --cc=shahab@synopsys.com \
    --cc=simark@simark.ca \
    --cc=tom@tromey.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).