This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] xtensa: initialize call_abi in xtensa_tdep


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=90b81c5f158b2b0565ce5c45270103cc0cfb5b1b

commit 90b81c5f158b2b0565ce5c45270103cc0cfb5b1b
Author: Max Filippov <jcmvbkbc@gmail.com>
Date:   Sat May 30 13:00:32 2015 +0300

    xtensa: initialize call_abi in xtensa_tdep
    
    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.
    
    2015-08-31  Max Filippov  <jcmvbkbc@gmail.com>
    gdb/
    	* xtensa-tdep.h (XTENSA_GDBARCH_TDEP_INSTANTIATE): Initialize
    	call_abi using XSHAL_ABI macro.

Diff:
---
 gdb/ChangeLog     | 5 +++++
 gdb/xtensa-tdep.h | 4 +++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 9dd591c..b26402d 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2015-08-31  Max Filippov  <jcmvbkbc@gmail.com>
+
+	* xtensa-tdep.h (XTENSA_GDBARCH_TDEP_INSTANTIATE): Initialize
+	call_abi using XSHAL_ABI macro.
+
 2015-08-29  Doug Evans  <xdje42@gmail.com>
 
 	* symtab.h (struct symbol): Tweak comment.
diff --git a/gdb/xtensa-tdep.h b/gdb/xtensa-tdep.h
index 5b28cab..fbf0e1d 100644
--- a/gdb/xtensa-tdep.h
+++ b/gdb/xtensa-tdep.h
@@ -226,7 +226,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,		\


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]