Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Mark Kettenis <kettenis@chello.nl>
To: gdb-patches@sources.redhat.com
Subject: [PATCH] Activate extract_struct_value_address for SPARC and UltraSPARC
Date: Sun, 11 Jan 2004 20:48:00 -0000	[thread overview]
Message-ID: <200401112048.i0BKm0rv004191@elgar.kettenis.dyndns.org> (raw)

Andrews -Wunused-function message pointed out that this wasn't hooked
up.  So some of my previous patches were absolutely useless.  Anyway,
this corrects the problem, and hooks things up.  No regressions in
structs.exp on NetBSD/sparc and FreeBSD/sparc64.

Committed,

Mark


Index: ChangeLog
from  Mark Kettenis  <kettenis@gnu.org>
 
	* sparc-tdep.c (sparc32_extract_struct_value_address): Rename from
	sparc_extract_struct_value_address.
	(sparc32_gdbarch_init): Set extract_struct_value_address.
	* sparc64-tdep.c (sparc64_extract_struct_value_address): New
	function.
	(sparc64_init_abi): Set extract_struct_value_address.  Don't set
	return_value_on_stack.

 
Index: sparc-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/sparc-tdep.c,v
retrieving revision 1.138
diff -u -p -r1.138 sparc-tdep.c
--- sparc-tdep.c 10 Jan 2004 23:43:25 -0000 1.138
+++ sparc-tdep.c 11 Jan 2004 20:42:13 -0000
@@ -839,7 +839,7 @@ sparc32_return_value (struct gdbarch *gd
    CORE_ADDR.  */
 
 static CORE_ADDR
-sparc_extract_struct_value_address (struct regcache *regcache)
+sparc32_extract_struct_value_address (struct regcache *regcache)
 {
   ULONGEST sp;
 
@@ -1069,6 +1069,8 @@ sparc32_gdbarch_init (struct gdbarch_inf
   set_gdbarch_push_dummy_call (gdbarch, sparc32_push_dummy_call);
 
   set_gdbarch_return_value (gdbarch, sparc32_return_value);
+  set_gdbarch_extract_struct_value_address
+    (gdbarch, sparc32_extract_struct_value_address);
   set_gdbarch_stabs_argument_has_addr
     (gdbarch, sparc32_stabs_argument_has_addr);
 
Index: sparc64-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/sparc64-tdep.c,v
retrieving revision 1.8
diff -u -p -r1.8 sparc64-tdep.c
--- sparc64-tdep.c 4 Jan 2004 12:18:25 -0000 1.8
+++ sparc64-tdep.c 11 Jan 2004 20:42:13 -0000
@@ -1086,6 +1086,19 @@ sparc64_return_value (struct gdbarch *gd
 
   return RETURN_VALUE_REGISTER_CONVENTION;
 }
+
+/* Extract from REGCACHE, which contains the (raw) register state, the
+   address in which a function should return its structure value, as a
+   CORE_ADDR.  */
+
+static CORE_ADDR
+sparc64_extract_struct_value_address (struct regcache *regcache)
+{
+  ULONGEST addr;
+
+  regcache_cooked_read_unsigned (regcache, SPARC_O0_REGNUM, &addr);
+  return addr;
+}
 \f
 
 void
@@ -1117,8 +1130,8 @@ sparc64_init_abi (struct gdbarch_info in
   set_gdbarch_push_dummy_call (gdbarch, sparc64_push_dummy_call);
 
   set_gdbarch_return_value (gdbarch, sparc64_return_value);
-  set_gdbarch_return_value_on_stack
-    (gdbarch, generic_return_value_on_stack_not);
+  set_gdbarch_extract_struct_value_address
+    (gdbarch, sparc64_extract_struct_value_address);
   set_gdbarch_stabs_argument_has_addr
     (gdbarch, default_stabs_argument_has_addr);
 


             reply	other threads:[~2004-01-11 20:48 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-11 20:48 Mark Kettenis [this message]
2004-01-11 21:12 ` Andrew Cagney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200401112048.i0BKm0rv004191@elgar.kettenis.dyndns.org \
    --to=kettenis@chello.nl \
    --cc=gdb-patches@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox