This is the mail archive of the gdb-patches@sources.redhat.com 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]

[RFA] update return value hooks for 128-bit floats


Ok?


r~


	* alpha-tdep.c (alpha_extract_return_value): Handle IEEE Quad floats.
	(alpha_store_return_value): Error on IEEE Quad floats.

--- alpha-tdep.c.3	2003-06-01 22:20:17.000000000 -0700
+++ alpha-tdep.c	2003-06-01 22:24:21.000000000 -0700
@@ -401,6 +401,11 @@ alpha_extract_return_value (struct type 
 	  regcache_cooked_read (regcache, ALPHA_FP0_REGNUM, valbuf);
 	  break;
 
+	case 16:
+	  regcache_cooked_read_unsigned (regcache, ALPHA_V0_REGNUM, &l);
+	  read_memory (l, valbuf, 16);
+	  break;
+
 	default:
 	  abort ();
 	}
@@ -450,6 +455,12 @@ alpha_store_return_value (struct type *v
 	  regcache_cooked_write (regcache, ALPHA_FP0_REGNUM, valbuf);
 	  break;
 
+	case 16:
+	  /* FIXME: 128-bit long doubles are returned like structures:
+	     by writing into indirect storage provided by the caller
+	     as the first argument.  */
+	  error ("Cannot set a 128-bit long double return value.");
+
 	default:
 	  abort ();
 	}


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