committed: fix vxworks x86 fp context size

Arnaud Charlet charlet@aix.act-europe.fr
Mon Oct 4 15:15:00 GMT 2004


Committed as obvious

2004-10-04  Ed Falis  <falis@gnat.com>

	* s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
-------------- next part --------------
Index: s-vxwork-x86.ads
===================================================================
RCS file: /cvs/gcc/gcc/gcc/ada/s-vxwork-x86.ads,v
retrieving revision 1.1
diff -u -p -r1.1 s-vxwork-x86.ads
--- s-vxwork-x86.ads	9 Aug 2004 12:24:25 -0000	1.1
+++ s-vxwork-x86.ads	4 Oct 2004 14:32:04 -0000
@@ -38,13 +38,16 @@ package System.VxWorks is
 
    --  Floating point context record. x86 version
 
-   --  For now this is a dummy implementation (more work needed ???)
-
-   type FP_CONTEXT is record
-      Dummy : Integer;
-   end record;
+   --  There are two kinds of FP_CONTEXT for this architecture, corresponding
+   --  to newer and older processors. The type is defined in fppI86lib.h as a
+   --  union. The form used depends on the versions of the save and restore
+   --  routines that are selected by the user (these versions are provided in
+   --  vxwork.ads). Since we do not examine the contents of these objects, it
+   --  is sufficient to declare the type as of the required size: 512 bytes.
 
+   type FP_CONTEXT is array (1 .. 128) of Integer;
    for FP_CONTEXT'Alignment use 4;
+   for FP_CONTEXT'Size use 512 * Storage_Unit;
    pragma Convention (C, FP_CONTEXT);
 
    Num_HW_Interrupts : constant := 256;


More information about the Gcc-patches mailing list