diff options
Diffstat (limited to 'mps/code')
| -rw-r--r-- | mps/code/mps.c | 41 |
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." |