diff options
| -rw-r--r-- | gcc/ada/ChangeLog | 4 | ||||
| -rw-r--r-- | 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 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; |
