From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x641.google.com (mail-ej1-x641.google.com [IPv6:2a00:1450:4864:20::641]) by sourceware.org (Postfix) with ESMTPS id 314AE3857C40 for ; Wed, 5 Aug 2020 11:10:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 314AE3857C40 Received: by mail-ej1-x641.google.com with SMTP id l4so45877458ejd.13 for ; Wed, 05 Aug 2020 04:10:28 -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=/O62EPb2PQe0iH7s9AfRd34bYE6w+hEPWnHaqBxj5ug=; b=mmqv0Krhhm21n3nOvDqSQXXHvM4J9xinhSQN3GL+SunqU7TsBv2xEWE8NUB04hHBzV VZaoLpWb6kFqFTzNi+RUiCcMCdLjPpB1Z0StQfyQhVs84+V8Z1TH7hmqFLflBnJx7ZPC lWlViAS3SQUQG2P8bd5dcrpfr23j44NTPbZGJn2hnHTDPnTLT5CUuk3KlUUlukCdBjO3 CoZuiKtAQixuFH8bic9gM5sZHfaNhc6ZEvso+vaKZaEmMu08xZxmyM2kzyKRWWldJjIl 6b3Nm6pIosqONYn2hWJ31M4H6BNzelcXpBMpKGtS4J9oovA7LH6A+r/2KLClihAy9qYr MF6Q== X-Gm-Message-State: AOAM530XAWUDUoht+cJsU3yt8YgSU0kDvYFbkl7SEaK/b3YmVrliDAFU GT7ks9T4Qo5gmtKMladqHyCgNSRtjX8= X-Google-Smtp-Source: ABdhPJy68rvOEPqGe0FZ5iW0UkwM69SHWGM5Z6nh94Q4B/cUt8sEB4m58GMrr/6EDFqTDNEpwra2cw== X-Received: by 2002:a17:906:fa0b:: with SMTP id lo11mr2744975ejb.235.1596625826937; Wed, 05 Aug 2020 04:10:26 -0700 (PDT) Received: from atlantis.home ([2a03:1b20:3:f011::6d]) by smtp.gmail.com with ESMTPSA id q17sm1361072ejd.20.2020.08.05.04.10.25 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 05 Aug 2020 04:10:26 -0700 (PDT) From: Shahab Vahedi To: gdb-patches@sourceware.org Cc: Shahab Vahedi , Shahab Vahedi , Simon Marchi , Tom Tromey , Eli Zaretskii , Anton Kolesov , Francois Bedard Subject: [PATCH v6 0/4] arc: Add GNU/Linux support Date: Wed, 5 Aug 2020 13:09:30 +0200 Message-Id: <20200805110934.6225-1-shahab.vahedi@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200326125206.13120-1-shahab.vahedi@gmail.com> References: <20200326125206.13120-1-shahab.vahedi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-6.3 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: Wed, 05 Aug 2020 11:10:29 -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. 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