summaryrefslogtreecommitdiff
path: root/libc/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps')
-rw-r--r--libc/sysdeps/linux/i386/bits/syscalls.h53
1 files changed, 0 insertions, 53 deletions
diff --git a/libc/sysdeps/linux/i386/bits/syscalls.h b/libc/sysdeps/linux/i386/bits/syscalls.h
index 5e9209386..b0f54dcb0 100644
--- a/libc/sysdeps/linux/i386/bits/syscalls.h
+++ b/libc/sysdeps/linux/i386/bits/syscalls.h
@@ -30,8 +30,6 @@
}) \
)
-#if 1 /* defined __PIC__ || defined __pic__ */
-
/* This code avoids pushing/popping ebx as much as possible.
* I think the main reason was that older GCCs had problems
* with proper saving/restoring of ebx if "b" constraint was used,
@@ -126,56 +124,5 @@ __asm__ (
#define ASMFMT_6(arg1, arg2, arg3, arg4, arg5, arg6) \
, "a" (arg1), "c" (arg2), "d" (arg3), "S" (arg4), "D" (arg5), "g" (arg6)
-#else /* !PIC */
-
-/* Simpler code which just uses "b" constraint to load ebx.
- * Seems to work with gc 4.2.x, and generates slightly smaller,
- * but slightly slower code. Example (time syscall):
- *
- * - 8b 4c 24 04 mov 0x4(%esp),%ecx
- * - 87 cb xchg %ecx,%ebx
- * + 53 push %ebx
- * + 8b 5c 24 08 mov 0x8(%esp),%ebx
- * b8 0d 00 00 00 mov $0xd,%eax
- * cd 80 int $0x80
- * - 87 cb xchg %ecx,%ebx
- * + 5b pop %ebx
- * c3 ret
- *
- * 2 bytes smaller, but uses stack via "push/pop ebx"
- */
-
-#define LOADARGS_0
-#define LOADARGS_1
-#define LOADARGS_2
-#define LOADARGS_3
-#define LOADARGS_4
-#define LOADARGS_5
-#define LOADARGS_6 "push %%ebp\n\t" "movl %7, %%ebp\n\t"
-
-#define RESTOREARGS_0
-#define RESTOREARGS_1
-#define RESTOREARGS_2
-#define RESTOREARGS_3
-#define RESTOREARGS_4
-#define RESTOREARGS_5
-#define RESTOREARGS_6 "pop %%ebp\n\t"
-
-#define ASMFMT_0()
-#define ASMFMT_1(arg1) \
- , "b" (arg1)
-#define ASMFMT_2(arg1, arg2) \
- , "b" (arg1), "c" (arg2)
-#define ASMFMT_3(arg1, arg2, arg3) \
- , "b" (arg1), "c" (arg2), "d" (arg3)
-#define ASMFMT_4(arg1, arg2, arg3, arg4) \
- , "b" (arg1), "c" (arg2), "d" (arg3), "S" (arg4)
-#define ASMFMT_5(arg1, arg2, arg3, arg4, arg5) \
- , "b" (arg1), "c" (arg2), "d" (arg3), "S" (arg4), "D" (arg5)
-#define ASMFMT_6(arg1, arg2, arg3, arg4, arg5, arg6) \
- , "b" (arg1), "c" (arg2), "d" (arg3), "S" (arg4), "D" (arg5), "m" (arg6)
-
-#endif /* !PIC */
-
#endif /* __ASSEMBLER__ */
#endif /* _BITS_SYSCALLS_H */