Displaying 2 results from an estimated 2 matches for "f262d19".
Did you mean:
f2602d13
2012 May 21
0
[klibc:master] lseek: give gcc a little optimization hint
...least on i386.
Copy it into an unsigned long long before breaking it apart seems to
help.
Signed-off-by: H. Peter Anvin <hpa at zytor.com>
---
usr/klibc/lseek.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/usr/klibc/lseek.c b/usr/klibc/lseek.c
index a313bed..f262d19 100644
--- a/usr/klibc/lseek.c
+++ b/usr/klibc/lseek.c
@@ -18,13 +18,14 @@ extern int __llseek(int fd, unsigned long hi, unsigned long lo, off_t * res,
off_t lseek(int fd, off_t offset, int whence)
{
+ unsigned long long ullo = offset;
off_t result;
int rv;
- rv = __llseek(fd, (unsigned l...
2016 Apr 13
0
[PATCH 1/1] x32 support
...Return address */
+ add $8,%rsp /* pop rdx and clear bits 63-32 */
+ mov $__NR_vfork,%eax
+ syscall
+ push %rdx /* Push the return address back */
+ cmp $-4095, %rax
+ jae 1f
+ ret
+1:
+ negl %eax
+ movl %eax, errno(%rip)
+ or $-1,%rax
+ ret
diff --git a/usr/klibc/lseek.c b/usr/klibc/lseek.c
index f262d19..f0faa3b 100644
--- a/usr/klibc/lseek.c
+++ b/usr/klibc/lseek.c
@@ -11,7 +11,7 @@
#include <sys/syscall.h>
#include <bitsize.h>
-#if _BITSIZE == 32
+#if _BITSIZE == 32 && !defined(__x86_64__)
extern int __llseek(int fd, unsigned long hi, unsigned long lo, off_t * res,...