5
5
//! instruction.
6
6
//!
7
7
//! Most `rustix` syscalls use the vsyscall mechanism rather than going using
8
- //! `int 0x80` sequences.
8
+ //! `int 0x80` sequences, as vsyscall is much faster.
9
+ //!
10
+ //! Syscalls made with `int 0x80` preserve the flags register, while syscalls
11
+ //! made using vsyscall do not.
9
12
10
13
#![ allow( dead_code) ]
11
14
@@ -25,7 +28,6 @@ pub(in crate::backend) unsafe fn indirect_syscall0(
25
28
"call {callee}" ,
26
29
callee = in( reg) callee,
27
30
inlateout( "eax" ) nr. to_asm( ) => r0,
28
- options( preserves_flags)
29
31
) ;
30
32
FromAsm :: from_asm ( r0)
31
33
}
@@ -42,7 +44,6 @@ pub(in crate::backend) unsafe fn indirect_syscall1(
42
44
callee = in( reg) callee,
43
45
inlateout( "eax" ) nr. to_asm( ) => r0,
44
46
in( "ebx" ) a0. to_asm( ) ,
45
- options( preserves_flags)
46
47
) ;
47
48
FromAsm :: from_asm ( r0)
48
49
}
@@ -76,7 +77,6 @@ pub(in crate::backend) unsafe fn indirect_syscall2(
76
77
inlateout( "eax" ) nr. to_asm( ) => r0,
77
78
in( "ebx" ) a0. to_asm( ) ,
78
79
in( "ecx" ) a1. to_asm( ) ,
79
- options( preserves_flags)
80
80
) ;
81
81
FromAsm :: from_asm ( r0)
82
82
}
@@ -97,7 +97,6 @@ pub(in crate::backend) unsafe fn indirect_syscall3(
97
97
in( "ebx" ) a0. to_asm( ) ,
98
98
in( "ecx" ) a1. to_asm( ) ,
99
99
in( "edx" ) a2. to_asm( ) ,
100
- options( preserves_flags)
101
100
) ;
102
101
FromAsm :: from_asm ( r0)
103
102
}
@@ -128,7 +127,6 @@ pub(in crate::backend) unsafe fn indirect_syscall4(
128
127
in( "ebx" ) a0. to_asm( ) ,
129
128
in( "ecx" ) a1. to_asm( ) ,
130
129
in( "edx" ) a2. to_asm( ) ,
131
- options( preserves_flags)
132
130
) ;
133
131
FromAsm :: from_asm ( r0)
134
132
}
@@ -161,7 +159,6 @@ pub(in crate::backend) unsafe fn indirect_syscall5(
161
159
in( "ecx" ) a1. to_asm( ) ,
162
160
in( "edx" ) a2. to_asm( ) ,
163
161
in( "edi" ) a4. to_asm( ) ,
164
- options( preserves_flags)
165
162
) ;
166
163
FromAsm :: from_asm ( r0)
167
164
}
@@ -203,7 +200,6 @@ pub(in crate::backend) unsafe fn indirect_syscall6(
203
200
in( "ecx" ) a1. to_asm( ) ,
204
201
in( "edx" ) a2. to_asm( ) ,
205
202
in( "edi" ) a4. to_asm( ) ,
206
- options( preserves_flags)
207
203
) ;
208
204
FromAsm :: from_asm ( r0)
209
205
}
0 commit comments