|
210 | 210 | : "memory", REGISTERS_CLOBBERED_BY_SYSCALL); \ |
211 | 211 | (long int) resultvar; \ |
212 | 212 | }) |
| 213 | +#undef internal_syscall0 |
| 214 | +#define internal_syscall0(number, dummy...) \ |
| 215 | + ({ \ |
| 216 | + extern long syscall(long n, ...); \ |
| 217 | + unsigned long int resultvar = syscall(number); \ |
| 218 | + (long int)resultvar; \ |
| 219 | + }) |
213 | 220 |
|
214 | 221 | #undef internal_syscall1 |
215 | 222 | #define internal_syscall1(number, arg1) \ |
|
224 | 231 | : "memory", REGISTERS_CLOBBERED_BY_SYSCALL); \ |
225 | 232 | (long int) resultvar; \ |
226 | 233 | }) |
| 234 | +#undef internal_syscall1 |
| 235 | +#define internal_syscall1(number, arg1) \ |
| 236 | + ({ \ |
| 237 | + extern long syscall(long n, ...); \ |
| 238 | + unsigned long int resultvar = syscall(number, arg1); \ |
| 239 | + (long int)resultvar; \ |
| 240 | + }) |
227 | 241 |
|
228 | 242 | #undef internal_syscall2 |
229 | 243 | #define internal_syscall2(number, arg1, arg2) \ |
|
240 | 254 | : "memory", REGISTERS_CLOBBERED_BY_SYSCALL); \ |
241 | 255 | (long int) resultvar; \ |
242 | 256 | }) |
| 257 | +#undef internal_syscall2 |
| 258 | +#define internal_syscall2(number, arg1, arg2) \ |
| 259 | + ({ \ |
| 260 | + extern long syscall(long n, ...); \ |
| 261 | + unsigned long int resultvar = syscall(number, arg1, arg2); \ |
| 262 | + (long int)resultvar; \ |
| 263 | + }) |
243 | 264 |
|
244 | 265 | #undef internal_syscall3 |
245 | 266 | #define internal_syscall3(number, arg1, arg2, arg3) \ |
|
258 | 279 | : "memory", REGISTERS_CLOBBERED_BY_SYSCALL); \ |
259 | 280 | (long int) resultvar; \ |
260 | 281 | }) |
| 282 | +#undef internal_syscall3 |
| 283 | +#define internal_syscall3(number, arg1, arg2, arg3) \ |
| 284 | + ({ \ |
| 285 | + extern long syscall(long n, ...); \ |
| 286 | + unsigned long int resultvar = syscall(number, arg1, arg2, arg3); \ |
| 287 | + (long int)resultvar; \ |
| 288 | + }) |
261 | 289 |
|
262 | 290 | #undef internal_syscall4 |
263 | 291 | #define internal_syscall4(number, arg1, arg2, arg3, arg4) \ |
|
278 | 306 | : "memory", REGISTERS_CLOBBERED_BY_SYSCALL); \ |
279 | 307 | (long int) resultvar; \ |
280 | 308 | }) |
| 309 | +#undef internal_syscall4 |
| 310 | +#define internal_syscall4(number, arg1, arg2, arg3, arg4) \ |
| 311 | + ({ \ |
| 312 | + extern long syscall(long n, ...); \ |
| 313 | + unsigned long int resultvar = syscall(number, arg1, arg2, arg3, arg4); \ |
| 314 | + (long int)resultvar; \ |
| 315 | + }) |
281 | 316 |
|
282 | 317 | #undef internal_syscall5 |
283 | 318 | #define internal_syscall5(number, arg1, arg2, arg3, arg4, arg5) \ |
|
301 | 336 | : "memory", REGISTERS_CLOBBERED_BY_SYSCALL); \ |
302 | 337 | (long int) resultvar; \ |
303 | 338 | }) |
| 339 | +#undef internal_syscall5 |
| 340 | +#define internal_syscall5(number, arg1, arg2, arg3, arg4, arg5) \ |
| 341 | + ({ \ |
| 342 | + extern long syscall(long n, ...); \ |
| 343 | + unsigned long int resultvar = \ |
| 344 | + syscall(number, arg1, arg2, arg3, arg4, arg5); \ |
| 345 | + (long int)resultvar; \ |
| 346 | + }) |
304 | 347 |
|
305 | 348 | #undef internal_syscall6 |
306 | 349 | #define internal_syscall6(number, arg1, arg2, arg3, arg4, arg5, arg6) \ |
|
326 | 369 | : "memory", REGISTERS_CLOBBERED_BY_SYSCALL); \ |
327 | 370 | (long int) resultvar; \ |
328 | 371 | }) |
329 | | - |
| 372 | +#undef internal_syscall6 |
| 373 | +#define internal_syscall6(number, arg1, arg2, arg3, arg4, arg5, arg6) \ |
| 374 | + ({ \ |
| 375 | + extern long syscall(long n, ...); \ |
| 376 | + unsigned long int resultvar = \ |
| 377 | + syscall(number, arg1, arg2, arg3, arg4, arg5, arg6); \ |
| 378 | + (long int)resultvar; \ |
| 379 | + }) |
330 | 380 |
|
331 | 381 | # define VDSO_NAME "LINUX_2.6" |
332 | 382 | # define VDSO_HASH 61765110 |
|
0 commit comments