OLD | NEW |
1 /* Copyright (c) 2005-2011, Google Inc. | 1 /* Copyright (c) 2005-2011, Google Inc. |
2 * All rights reserved. | 2 * All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 1568 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1579 } | 1579 } |
1580 #undef _syscall6 | 1580 #undef _syscall6 |
1581 #define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ | 1581 #define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ |
1582 type5,arg5,type6,arg6) \ | 1582 type5,arg5,type6,arg6) \ |
1583 type LSS_NAME(name)(type1 arg1, type2 arg2, type3 arg3, type4 arg4, \ | 1583 type LSS_NAME(name)(type1 arg1, type2 arg2, type3 arg3, type4 arg4, \ |
1584 type5 arg5, type6 arg6) { \ | 1584 type5 arg5, type6 arg6) { \ |
1585 long __res; \ | 1585 long __res; \ |
1586 struct { long __a1; long __a6; } __s = { (long)arg1, (long) arg6 }; \ | 1586 struct { long __a1; long __a6; } __s = { (long)arg1, (long) arg6 }; \ |
1587 __asm__ __volatile__("push %%ebp\n" \ | 1587 __asm__ __volatile__("push %%ebp\n" \ |
1588 "push %%ebx\n" \ | 1588 "push %%ebx\n" \ |
1589 "leal 4(%2),%%ebp\n" \ | 1589 "movl 4(%2),%%ebp\n" \ |
1590 "movl 0(%2),%%ebx\n" \ | 1590 "movl 0(%2), %%ebx\n" \ |
1591 "movl %1,%%eax\n" \ | 1591 "movl %1,%%eax\n" \ |
1592 LSS_ENTRYPOINT \ | 1592 LSS_ENTRYPOINT \ |
1593 "pop %%ebx\n" \ | 1593 "pop %%ebx\n" \ |
1594 "pop %%ebp" \ | 1594 "pop %%ebp" \ |
1595 : "=a" (__res) \ | 1595 : "=a" (__res) \ |
1596 : "i" (__NR_##name), "0" ((long)(&__s)), \ | 1596 : "i" (__NR_##name), "0" ((long)(&__s)), \ |
1597 "c" ((long)(arg2)), "d" ((long)(arg3)), \ | 1597 "c" ((long)(arg2)), "d" ((long)(arg3)), \ |
1598 "S" ((long)(arg4)), "D" ((long)(arg5)) \ | 1598 "S" ((long)(arg4)), "D" ((long)(arg5)) \ |
1599 : "esp", "memory"); \ | 1599 : "esp", "memory"); \ |
1600 LSS_RETURN(type,__res); \ | 1600 LSS_RETURN(type,__res); \ |
(...skipping 1937 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3538 # pragma pop_macro("fstat64") | 3538 # pragma pop_macro("fstat64") |
3539 # pragma pop_macro("lstat64") | 3539 # pragma pop_macro("lstat64") |
3540 #endif | 3540 #endif |
3541 | 3541 |
3542 #if defined(__cplusplus) && !defined(SYS_CPLUSPLUS) | 3542 #if defined(__cplusplus) && !defined(SYS_CPLUSPLUS) |
3543 } | 3543 } |
3544 #endif | 3544 #endif |
3545 | 3545 |
3546 #endif | 3546 #endif |
3547 #endif | 3547 #endif |
OLD | NEW |