Commit c1452f4
committed
fix: the .def check read one header and one spelling, and there are two of each
The check's own comment records the defect it was written to prevent: three
declarations added for openkal 0.8 without matching .def lines, and the failure
appearing one repository away in openkal-llvm-runtime's cross-build. It happened
again, with the same signature:
ld.lld: error: undefined symbol:
__declspec(dllimport) NtQueryVolumeInformationFile
The check was right and its SCOPE was wrong, which is the harder kind to notice:
it read src/win32.h alone and matched `OKW_IMPORT ... OKW_API' alone, while
src/win.h declares the object manager's entries in the plain
`__declspec(dllimport) long __stdcall Nt...' form. It reported a number, the
number was of the names it knew about, and nothing said the set was partial.
It now globs src/*.h and matches both forms: 58 declared across four headers
rather than 49 across one. Four names were outside it -- NtFlushBuffersFile,
NtQueryVolumeInformationFile, NtReadFile, NtWriteFile -- and all four are now
exported. Only one of them was referenced, which is why only one broke a link;
the other three were the same latent hazard.
Verified locally by cross-building openkal-llvm-runtime's same-source example
for x86_64-windows-gnu and aarch64-macos over these working trees.1 parent 88572c2 commit c1452f4
2 files changed
Lines changed: 31 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
189 | 189 | | |
190 | 190 | | |
191 | 191 | | |
192 | | - | |
193 | | - | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
194 | 216 | | |
195 | 217 | | |
196 | 218 | | |
| |||
203 | 225 | | |
204 | 226 | | |
205 | 227 | | |
206 | | - | |
207 | | - | |
| 228 | + | |
| 229 | + | |
208 | 230 | | |
209 | | - | |
| 231 | + | |
210 | 232 | | |
211 | 233 | | |
212 | 234 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
| 13 | + | |
| 14 | + | |
12 | 15 | | |
| 16 | + | |
13 | 17 | | |
0 commit comments