summaryrefslogtreecommitdiff
path: root/gnu/usr.bin
diff options
context:
space:
mode:
authorFederico G. Schwindt <fgsch@cvs.openbsd.org>2002-04-03 11:47:51 +0000
committerFederico G. Schwindt <fgsch@cvs.openbsd.org>2002-04-03 11:47:51 +0000
commit58a473028c9d04f2d5e7325de7d0215f6d266443 (patch)
tree09493b6ff91ea72f1d423cc7dd36df55b5854ae8 /gnu/usr.bin
parent4e525087c87d722ebdbfc12faa74efe9ec3f5b73 (diff)
more stuff adapted from gdb -current.
Diffstat (limited to 'gnu/usr.bin')
-rw-r--r--gnu/usr.bin/binutils/gdb/config/sparc/tm-sp64.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/gnu/usr.bin/binutils/gdb/config/sparc/tm-sp64.h b/gnu/usr.bin/binutils/gdb/config/sparc/tm-sp64.h
index 740b032e509..21a1d8c2bf6 100644
--- a/gnu/usr.bin/binutils/gdb/config/sparc/tm-sp64.h
+++ b/gnu/usr.bin/binutils/gdb/config/sparc/tm-sp64.h
@@ -224,7 +224,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
On sparc64, all structs are returned via a pointer. */
#undef USE_STRUCT_CONVENTION
-#define USE_STRUCT_CONVENTION(gcc_p, type) 1
+#define USE_STRUCT_CONVENTION(gcc_p, type) \
+ (TYPE_LENGTH (type) > 32)
/* Store the address of the place in which to copy the structure the
subroutine will return. This is called from call_function. */
@@ -293,3 +294,7 @@ get_longjmp_target PARAMS ((CORE_ADDR *));
#define TARGET_WRITE_FP(val) \
sparc64_write_fp(val)
+
+#undef REG_STRUCT_HAS_ADDR
+#define REG_STRUCT_HAS_ADDR(gcc_p, type) \
+ (TYPE_LENGTH (type) > 32)