From patchwork Wed Jan 18 23:56:56 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Max Filippov X-Patchwork-Id: 18951 Received: (qmail 39313 invoked by alias); 18 Jan 2017 23:57:32 -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 39202 invoked by uid 89); 18 Jan 2017 23:57:31 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.9 required=5.0 tests=AWL, BAYES_50, FREEMAIL_FROM, FROM_LOCAL_NOVOWEL, HK_RANDOM_ENVFROM, RCVD_IN_DNSWL_LOW, RCVD_IN_SORBS_SPAM, SPF_PASS autolearn=no version=3.3.2 spammy=2.1.4, Filippov, filippov, jcmvbkbcgmailcom X-HELO: mail-pf0-f196.google.com Received: from mail-pf0-f196.google.com (HELO mail-pf0-f196.google.com) (209.85.192.196) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 18 Jan 2017 23:57:30 +0000 Received: by mail-pf0-f196.google.com with SMTP id f144so1998656pfa.2 for ; Wed, 18 Jan 2017 15:57:30 -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=aFmpnetjK7DAuJU2U5j5aT95iuzTsa+55bAAk8Ced50=; b=naURGKiqseD6KQQbrG2BRTZQ/euUOy34S2a0aU8Tc0GFEDA9KSZXU6qJum5asAzyBE BmHhLwuFTJ9l3dgN0QLrqKIFiXWiaQa8Hq79HesRhCIQGY5ssNOc5H8XvfvyDLboGU4T KS6a74FSod/riRVw82SXK1LZY0szUfacFQUUW3MgpSnPphD9VfgFADQFo5vLaQr8VZn0 7edsVCqOxXJqriKO+TlYRvp08sCQQWk2hBUrNbpIaCu1V86wAHM288DdtdseidKyelfq +aNpzLIBK8U7mG+n/ZSphXETooAJKQj0uxqetDGeQfQianwA7lrEEsebomiZwDrhQk5p cCyw== X-Gm-Message-State: AIkVDXIsnB3wADs4wD/QW8CX8Zii0pp8I5OUz6GPtBnBDx4cQLFP3Fs9o4+aH0aeGBj5BA== X-Received: by 10.98.198.199 with SMTP id x68mr6603206pfk.87.1484783849034; Wed, 18 Jan 2017 15:57:29 -0800 (PST) Received: from octofox.metropolis (corp.Cadence.COM. [158.140.1.28]) by smtp.gmail.com with ESMTPSA id 18sm3276967pgf.28.2017.01.18.15.57.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 18 Jan 2017 15:57:28 -0800 (PST) From: Max Filippov To: gdb-patches@sourceware.org Cc: Maxim Grigoriev , Woody LaRue , Marc Gauthier , Max Filippov Subject: [PATCH 2/2] gdbserver: xtensa: support THREADPTR register Date: Wed, 18 Jan 2017 15:56:56 -0800 Message-Id: <1484783816-13856-3-git-send-email-jcmvbkbc@gmail.com> In-Reply-To: <1484783816-13856-1-git-send-email-jcmvbkbc@gmail.com> References: <1484783816-13856-1-git-send-email-jcmvbkbc@gmail.com> Provide aceess to the THREADPTR register to remote gdb. 2017-01-18 Max Filippov gdb/gdbserver/ * 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. --- gdb/gdbserver/linux-xtensa-low.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gdb/gdbserver/linux-xtensa-low.c b/gdb/gdbserver/linux-xtensa-low.c index 73fbfe2..eca0289 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 }; @@ -86,6 +87,10 @@ 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 @@ -133,6 +138,10 @@ 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. */