From patchwork Wed Feb 22 01:55:03 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Max Filippov X-Patchwork-Id: 19328 Received: (qmail 52460 invoked by alias); 22 Feb 2017 01:55:33 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 52410 invoked by uid 89); 22 Feb 2017 01:55:33 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.0 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, FROM_LOCAL_NOVOWEL, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy=H*RU:74.125.83.66, Hx-spam-relays-external:74.125.83.66, 8511 X-HELO: mail-pg0-f66.google.com Received: from mail-pg0-f66.google.com (HELO mail-pg0-f66.google.com) (74.125.83.66) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 22 Feb 2017 01:55:31 +0000 Received: by mail-pg0-f66.google.com with SMTP id s67so10480232pgb.1 for ; Tue, 21 Feb 2017 17:55:31 -0800 (PST) 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; bh=jmiD2k1faTeUCgWvW42Yg8xakzBiG7T6yL/cnNXkbv8=; b=ft0zyOgiUb8p70CSnsjuY08DAFKqVAOWDfKtwpgMJ1uVsFgVfSyT/CGcxPXdN15smN uZy0tgq/fFMoUUsIbQ1VmxYL1WTdSVRwYbr4FsNSOeNSvaR63U9gxjAgUgXMrftgAgZh n3MT7nqhtBRKnRc4aPFPixSGA5Ry8S/so5mHpIik0/Svns1/IOPQtnioqaHawarOQIZM vdqAc882ZfAcTgvxxN9brNXIY3Dg5aJllFt527ghsysmhnJfVTBhuJEKF06wOAFAWny+ k8g2D5kDpckzb/gNHV7cjWcaXZO9W0gu7wioV9ubFI0i4DS/+5JHzeZ9FVlsfDPVB1SV VJUA== X-Gm-Message-State: AMke39k5lDiJ8fsTKfFanZXfGvGqrKgbUzhL1J3ZVb6he69oGF9Okebu5D7vLjVBVEFefw== X-Received: by 10.99.170.5 with SMTP id e5mr39340328pgf.89.1487728529950; Tue, 21 Feb 2017 17:55:29 -0800 (PST) Received: from octofox.metropolis (corp.Cadence.COM. [158.140.1.28]) by smtp.gmail.com with ESMTPSA id j7sm43172325pfe.84.2017.02.21.17.55.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 21 Feb 2017 17:55:29 -0800 (PST) From: Max Filippov To: gdb-patches@sourceware.org Cc: Maxim Grigoriev , Woody LaRue , Marc Gauthier , Max Filippov Subject: [PATCH v2 2/2] gdbserver: xtensa: support THREADPTR register Date: Tue, 21 Feb 2017 17:55:03 -0800 Message-Id: <1487728503-2517-3-git-send-email-jcmvbkbc@gmail.com> In-Reply-To: <1487728503-2517-1-git-send-email-jcmvbkbc@gmail.com> References: <1487728503-2517-1-git-send-email-jcmvbkbc@gmail.com> Provide aceess to the THREADPTR register to remote gdb. gdb/gdbserver/ 2017-01-18 Max Filippov * linux-xtensa-low.c (regnum::R_THREADPTR): New enum member. (xtensa_fill_gregset): Call collect_register_by_name for threadptr register. (xtensa_store_gregset): Call supply_register_by_name for threadptr register. --- Changes v1->v2: - add missing spaces to type casts; - move directory name up in the commit message.. gdb/gdbserver/linux-xtensa-low.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gdb/gdbserver/linux-xtensa-low.c b/gdb/gdbserver/linux-xtensa-low.c index 89efa05..d285233 100644 --- a/gdb/gdbserver/linux-xtensa-low.c +++ b/gdb/gdbserver/linux-xtensa-low.c @@ -36,6 +36,7 @@ enum regnum { R_LBEG, R_LEND, R_LCOUNT, R_SAR, R_WS, R_WB, + R_THREADPTR, R_A0 = 64 }; @@ -84,6 +85,11 @@ xtensa_fill_gregset (struct regcache *regcache, void *buf) collect_register (regcache, i, ptr); ptr += register_size (tdesc, i); } + +#if XCHAL_HAVE_THREADPTR + collect_register_by_name (regcache, "threadptr", + (char *) &rset[R_THREADPTR]); +#endif } static void @@ -131,6 +137,11 @@ xtensa_store_gregset (struct regcache *regcache, const void *buf) supply_register_by_name (regcache, "ps", (char*)&rset[R_PS]); supply_register_by_name (regcache, "windowbase", (char*)&rset[R_WB]); supply_register_by_name (regcache, "windowstart", (char*)&rset[R_WS]); + +#if XCHAL_HAVE_THREADPTR + supply_register_by_name (regcache, "threadptr", + (char *) &rset[R_THREADPTR]); +#endif } /* Xtensa GNU/Linux PTRACE interface includes extended register set. */