From patchwork Thu Aug 20 13:53:35 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Max Filippov X-Patchwork-Id: 8318 Received: (qmail 130244 invoked by alias); 20 Aug 2015 13:53:49 -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 130145 invoked by uid 89); 20 Aug 2015 13:53:49 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.7 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, FROM_LOCAL_NOVOWEL, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=no version=3.3.2 X-HELO: mail-la0-f44.google.com Received: from mail-la0-f44.google.com (HELO mail-la0-f44.google.com) (209.85.215.44) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Thu, 20 Aug 2015 13:53:48 +0000 Received: by lahi9 with SMTP id i9so22910888lah.2 for ; Thu, 20 Aug 2015 06:53:44 -0700 (PDT) X-Received: by 10.112.13.166 with SMTP id i6mr3026159lbc.50.1440078824803; Thu, 20 Aug 2015 06:53:44 -0700 (PDT) Received: from octofox.metropolis ([5.19.183.212]) by smtp.gmail.com with ESMTPSA id ba19sm1250241lab.0.2015.08.20.06.53.43 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 20 Aug 2015 06:53:43 -0700 (PDT) From: Max Filippov To: gdb-patches@sourceware.org Cc: Maxim Grigoriev , Woody LaRue , Marc Gauthier , Joel Brobecker , Max Filippov Subject: [PATCH v3] xtensa: initialize call_abi in xtensa_tdep Date: Thu, 20 Aug 2015 16:53:35 +0300 Message-Id: <1440078815-14369-1-git-send-email-jcmvbkbc@gmail.com> Use XSHAL_ABI value provided by xtensa-config.h to correctly initialize xtensa_tdep.call_abi This fixes calls to functions from GDB that otherwise fail with the following assertion in call0 configuration: gdb/regcache.c:602: internal-error: regcache_raw_read: Assertion `regnum >= 0 && regnum < regcache->descr->nr_raw_registers' failed. gdb/ * xtensa-tdep.h (XTENSA_GDBARCH_TDEP_INSTANTIATE): Initialize call_abi using XSHAL_ABI macro. --- Changes v2 -> v3: - rebase to the current master. Changes v1 -> v2: - fix call_abi code formatting. gdb/xtensa-tdep.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gdb/xtensa-tdep.h b/gdb/xtensa-tdep.h index caa2988..ff090f3 100644 --- a/gdb/xtensa-tdep.h +++ b/gdb/xtensa-tdep.h @@ -246,7 +246,9 @@ struct gdbarch_tdep .spill_location = -1, \ .spill_size = (spillsz), \ .unused = 0, \ - .call_abi = CallAbiDefault, \ + .call_abi = (XSHAL_ABI == XTHAL_ABI_CALL0 \ + ? CallAbiCall0Only \ + : CallAbiDefault), \ .debug_interrupt_level = XCHAL_DEBUGLEVEL, \ .icache_line_bytes = XCHAL_ICACHE_LINESIZE, \ .dcache_line_bytes = XCHAL_DCACHE_LINESIZE, \