From 06237875d46c4e937110bac2c58a540915a12f2c Mon Sep 17 00:00:00 2001 From: Ed Falis Date: Mon, 4 Oct 2004 15:00:43 +0000 Subject: [PATCH] s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size 2004-10-04 Ed Falis * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size From-SVN: r88505 --- gcc/ada/ChangeLog | 4 ++++ gcc/ada/s-vxwork-x86.ads | 15 +++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 6089e7d1cc6..02004746568 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,7 @@ +2004-10-04 Ed Falis + + * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size + 2004-10-04 Sergey Rybin * 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 11a3bcece35..6181a1ec0d1 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; -- 2.30.2