aboutsummaryrefslogtreecommitdiffstats
path: root/mps/code
diff options
context:
space:
mode:
Diffstat (limited to 'mps/code')
-rw-r--r--mps/code/mps.c41
1 files changed, 36 insertions, 5 deletions
diff --git a/mps/code/mps.c b/mps/code/mps.c
index ba970e9738e..83ed13a477c 100644
--- a/mps/code/mps.c
+++ b/mps/code/mps.c
@@ -79,9 +79,9 @@
79 79
80#include "mpstd.h" 80#include "mpstd.h"
81 81
82/* Mac OS X on 32-bit Intel built with Clang */ 82/* Mac OS X on 32-bit Intel built with Clang or GCC */
83 83
84#if defined(MPS_PF_XCI3LL) 84#if defined(MPS_PF_XCI3LL) || defined(MPS_PF_XCI3GC)
85 85
86#include "lockix.c" /* Posix locks */ 86#include "lockix.c" /* Posix locks */
87#include "than.c" /* generic single threading */ 87#include "than.c" /* generic single threading */
@@ -92,9 +92,9 @@
92#include "span.c" /* generic stack probe */ 92#include "span.c" /* generic stack probe */
93#include "ssixi3.c" /* Posix on 32-bit Intel stack scan */ 93#include "ssixi3.c" /* Posix on 32-bit Intel stack scan */
94 94
95/* Mac OS X on 64-bit Intel build with Clang */ 95/* Mac OS X on 64-bit Intel build with Clang or GCC */
96 96
97#elif defined(MPS_PF_XCI6LL) 97#elif defined(MPS_PF_XCI6LL) || defined(MPS_PF_XCI6GC)
98 98
99#include "lockix.c" /* Posix locks */ 99#include "lockix.c" /* Posix locks */
100#include "than.c" /* generic single threading */ 100#include "than.c" /* generic single threading */
@@ -119,6 +119,21 @@
119#include "span.c" /* generic stack probe */ 119#include "span.c" /* generic stack probe */
120#include "ssixi3.c" /* Posix on 32-bit Intel stack scan */ 120#include "ssixi3.c" /* Posix on 32-bit Intel stack scan */
121 121
122/* Linux on 32-bit Intel with GCC */
123
124#elif defined(MPS_PF_LII4GC)
125
126#include "lockli.c" /* Linux locks */
127#include "thlii4.c" /* Linux on 32-bit Intel threading */
128#include "pthrdext.c" /* Posix thread extensions */
129#include "vmix.c" /* Posix virtual memory */
130#include "protix.c" /* Posix protection */
131#include "protlii3.c" /* Linux on 32-bit Intel protection */
132#include "proti3.c" /* 32-bit Intel mutator context */
133#include "prmci3li.c" /* 32-bit Intel for Linux mutator context */
134#include "span.c" /* generic stack probe */
135#include "ssixi3.c" /* Posix on 32-bit Intel stack scan */
136
122/* Windows on 32-bit Intel with Microsoft Visual Studio */ 137/* Windows on 32-bit Intel with Microsoft Visual Studio */
123 138
124#elif defined(MPS_PF_W3I3MV) 139#elif defined(MPS_PF_W3I3MV)
@@ -128,12 +143,28 @@
128#include "thw3i3.c" /* Windows on 32-bit Intel thread stack scan */ 143#include "thw3i3.c" /* Windows on 32-bit Intel thread stack scan */
129#include "vmw3.c" /* Windows virtual memory */ 144#include "vmw3.c" /* Windows virtual memory */
130#include "protw3.c" /* Windows protection */ 145#include "protw3.c" /* Windows protection */
131#include "proti3.c" /* Intel mutator context decoding */ 146#include "proti3.c" /* 32-bit Intel mutator context decoding */
132#include "prmci3w3.c" /* Windows on 32-bit Intel mutator context */ 147#include "prmci3w3.c" /* Windows on 32-bit Intel mutator context */
133#include "ssw3i3.c" /* Windows on 32-bit Intel scan scan */ 148#include "ssw3i3.c" /* Windows on 32-bit Intel scan scan */
134#include "spi3.c" /* Intel stack probe */ 149#include "spi3.c" /* Intel stack probe */
135#include "mpsiw3.c" /* Windows interface layer extras */ 150#include "mpsiw3.c" /* Windows interface layer extras */
136 151
152/* Windows on 64-bit Intel with Microsoft Visual Studio */
153/* ssw3i6.asm is also required, but can't be included here */
154
155#elif defined(MPS_PF_W3I6MV)
156
157#include "lockw3.c" /* Windows locks */
158#include "thw3.c" /* Windows threading */
159#include "thw3i6.c" /* Windows on 64-bit Intel thread stack scan */
160#include "vmw3.c" /* Windows virtual memory */
161#include "protw3.c" /* Windows protection */
162#include "proti6.c" /* 64-bit Intel mutator context decoding */
163#include "prmci6w3.c" /* Windows on 64-bit Intel mutator context */
164/* ssw3i6.asm */ /* Windows on 64-bit Intel scan scan */
165#include "span.c" /* generic stack probe FIXME: Is this correct? */
166#include "mpsiw3.c" /* Windows interface layer extras */
167
137#else 168#else
138 169
139#error "Unknown platform -- can't determine platform specific parts." 170#error "Unknown platform -- can't determine platform specific parts."