diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-10-12 00:49:44 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-10-12 00:49:44 +0000 |
commit | f44476711db142376aa30182b23384037905b910 (patch) | |
tree | b05a10a55b6be1d314a2fdf64f8f25a4fb9b6912 /sysdeps/unix/sysv/linux/i386/sysdep.h | |
parent | eb9f749186994ede50658aeae4ddd6432f93b34e (diff) | |
download | glibc-f44476711db142376aa30182b23384037905b910.tar.gz glibc-f44476711db142376aa30182b23384037905b910.tar.xz glibc-f44476711db142376aa30182b23384037905b910.zip |
Update.
* sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Use INTERNAL_SYSCALL is possible. * sysdeps/unix/sysv/linux/i386/sysdep.h (INTERNAL_SYSCALL_ERROR_P): New define. (INTERNAL_SYSCALL_ERRNO): Likewise.
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386/sysdep.h')
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/sysdep.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h index 87dfe9042c..ac7edb406c 100644 --- a/sysdeps/unix/sysv/linux/i386/sysdep.h +++ b/sysdeps/unix/sysv/linux/i386/sysdep.h @@ -291,9 +291,9 @@ asm (".L__X'%ebx = 1\n\t" #define INLINE_SYSCALL(name, nr, args...) \ ({ \ unsigned int resultvar = INTERNAL_SYSCALL(name, nr, args); \ - if (resultvar >= 0xfffff001) \ + if (INTERNAL_SYSCALL_ERROR_P (resultvar)) \ { \ - __set_errno (-resultvar); \ + __set_errno (INTERNAL_SYSCALL_ERRNO (resultvar)); \ resultvar = 0xffffffff; \ } \ (int) resultvar; }) @@ -315,6 +315,12 @@ asm (".L__X'%ebx = 1\n\t" : "i" (__NR_##name) ASMFMT_##nr(args) : "memory", "cc"); \ (int) resultvar; }) +#undef INTERNAL_SYSCALL_ERROR_P +#define INTERNAL_SYSCALL_ERROR_P(val) ((val) >= 0xfffff001) + +#undef INTERNAL_SYSCALL_ERRNO +#define INTERNAL_SYSCALL_ERRNO(val) (-(val)) + #define LOADARGS_0 #define LOADARGS_1 \ "bpushl .L__X'%k2, %k2\n\t" \ |