From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x644.google.com (mail-ej1-x644.google.com [IPv6:2a00:1450:4864:20::644]) by sourceware.org (Postfix) with ESMTPS id D301D3861896 for ; Thu, 23 Jul 2020 19:35:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org D301D3861896 Received: by mail-ej1-x644.google.com with SMTP id a1so7584212ejg.12 for ; Thu, 23 Jul 2020 12:35:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ea5e3rOrLB2/mxrHf9F5FWFYjMxLiZ3DDTmhPU+uS0c=; b=jfcwQ/X1Jdf9IRUiQA1W8kWjCfw5Gsd9R7ozAutxw+ysjHCnAUVdDSrCZUSuYG8v+C MtpBNS3cdxh4DHuoDyVlDu1wPSTTVuOmIzudTdNYbki1SwsYQIy36bindd7xG0we6yDh rvVhb7c8zGRWJUAwCI5Dkpz8dD2UsiJudcRu1YFxKlZ5IKBveD5ukgeW3BU8fPMkDfiq fom4azee+PUCgZUagR2l+1+ujF3sW3zpupfRvAt7LJ19I2xwC//h5ztR9a+snz+EMsHo he3WTgSB3FYR55BLrXtcRnQj14dYGKuYiX5FuU9SqBbioWhjyObMWouv2P9q2BCP0Y4t l9cQ== X-Gm-Message-State: AOAM53151z0GR6mAsgo7b3a4aW+y3KMPIX4Q5DxBrR8Po77qv1NkBLwj tx77pu+FwsgVgbdFHOrTJ+KvU13blVcYwQ== X-Google-Smtp-Source: ABdhPJyD4t+sh6Wc7m5s7uYFH38muo7VffsaNNEP/x97MRuzub8bgRfHYrWWoEMHXSuY/EVYTEYLfA== X-Received: by 2002:a17:906:2b0e:: with SMTP id a14mr5723340ejg.459.1595532943643; Thu, 23 Jul 2020 12:35:43 -0700 (PDT) Received: from atlantis.home ([2a03:1b20:3:f011::6d]) by smtp.gmail.com with ESMTPSA id cw14sm2702048edb.88.2020.07.23.12.35.42 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 23 Jul 2020 12:35:43 -0700 (PDT) From: Shahab Vahedi To: gdb-patches@sourceware.org Cc: Shahab Vahedi , Shahab Vahedi , Simon Marchi , Tom Tromey , Anton Kolesov , Francois Bedard Subject: [PATCH v4 0/3] arc: Add GNU/Linux support Date: Thu, 23 Jul 2020 21:35:29 +0200 Message-Id: <20200723193532.25812-1-shahab.vahedi@gmail.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200713154527.13430-1-shahab.vahedi@gmail.com> References: <20200713154527.13430-1-shahab.vahedi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Jul 2020 19:35:46 -0000 From: Shahab Vahedi 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. v4: Latest changes per remarks of Simon [1] 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". [1] [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 (2): arc: Add ARCv2 XML target along with refactoring arc: Add hardware loop detection gdb/Makefile.in | 1 + gdb/arc-linux-tdep.c | 283 ++++++++ gdb/arc-tdep.c | 654 +++++++++++------- gdb/arc-tdep.h | 27 +- gdb/arch/arc.c | 108 ++- gdb/arch/arc.h | 79 ++- gdb/configure.tgt | 5 + gdb/doc/gdb.texinfo | 3 +- 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 +- 17 files changed, 906 insertions(+), 318 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.27.0