aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEd Falis <falis@gnat.com>2004-10-04 15:00:43 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2004-10-04 17:00:43 +0200
commit06237875d46c4e937110bac2c58a540915a12f2c (patch)
treee42c6e94b398d1a86fd21d29dcff54c817529552 /gcc
parent259d6c3aa44c79b4fd360563064f8873e7be3b65 (diff)
downloadgcc-06237875d46c4e937110bac2c58a540915a12f2c.zip
gcc-06237875d46c4e937110bac2c58a540915a12f2c.tar.gz
gcc-06237875d46c4e937110bac2c58a540915a12f2c.tar.bz2
s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
2004-10-04 Ed Falis <falis@gnat.com> * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size From-SVN: r88505
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog4
-rw-r--r--gcc/ada/s-vxwork-x86.ads15
2 files changed, 13 insertions, 6 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 6089e7d..0200474 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,7 @@
+2004-10-04 Ed Falis <falis@gnat.com>
+
+ * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
+
2004-10-04 Sergey Rybin <rybin@act-europe.fr>
* g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
diff --git a/gcc/ada/s-vxwork-x86.ads b/gcc/ada/s-vxwork-x86.ads
index 11a3bce..6181a1e 100644
--- a/gcc/ada/s-vxwork-x86.ads
+++ b/gcc/ada/s-vxwork-x86.ads
@@ -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;