[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
pa INLINE_SYSCALL fix
From: |
Matthew Wilcox |
Subject: |
pa INLINE_SYSCALL fix |
Date: |
Thu, 19 Apr 2001 15:05:59 -0600 |
User-agent: |
Mutt/1.2.5i |
Please apply.
Index: ChangeLog
===================================================================
RCS file: /cvs/glibc/libc/ChangeLog,v
retrieving revision 1.5240
diff -u -p -r1.5240 ChangeLog
--- ChangeLog 2001/04/19 20:48:04 1.5240
+++ ChangeLog 2001/04/19 21:02:13
@@ -1,3 +1,9 @@
+2001-04-19 Matthew Wilcox <address@hidden>
+
+ * sysdeps/unix/sysv/linux/hppa/sysdep.h (INLINE_SYSCALL):
+ Change to return a signed result for compatibility with other
+ architectures, and correctness.
+
2001-04-19 Ulrich Drepper <address@hidden>
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_32BITUIDS):
Index: sysdeps/unix/sysv/linux/hppa/sysdep.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/hppa/sysdep.h,v
retrieving revision 1.2
diff -u -p -r1.2 sysdep.h
--- sysdep.h 2001/04/09 03:58:11 1.2
+++ sysdep.h 2001/04/19 21:02:15
@@ -192,21 +192,21 @@
#undef INLINE_SYSCALL
#define INLINE_SYSCALL(name, nr, args...) ({ \
- unsigned long __sys_res; \
+ long __sys_res; \
{ \
register unsigned long __res asm("r28"); \
LOAD_ARGS_##nr(args) \
asm volatile( \
- "ble 0x100(%%sr2, %%r0)\n\t" \
+ "ble 0x100(%%sr2, %%r0)\n\t" \
" ldi %1, %%r20" \
: "=r" (__res) \
: "i" (SYS_ify(name)) ASM_ARGS_##nr \
); \
__sys_res = __res; \
} \
- if (__sys_res >= (unsigned long)-4095) { \
+ if ((unsigned long)__sys_res >= (unsigned long)-4095) { \
__set_errno(-__sys_res); \
- __sys_res = (unsigned long)-1; \
+ __sys_res = -1; \
} \
__sys_res; \
})
- pa INLINE_SYSCALL fix,
Matthew Wilcox <=