2001-04-19  Matthew Wilcox  <willy@ldl.fc.hp.com>

	* sysdeps/unix/sysv/linux/hppa/sysdep.h (INLINE_SYSCALL):
	Change to return a signed result for compatibility with other
	architectures, and correctness.
This commit is contained in:
Ulrich Drepper 2001-04-19 21:24:46 +00:00
parent 72ae756aa6
commit 6610a14064
2 changed files with 10 additions and 4 deletions

View File

@ -1,3 +1,9 @@
2001-04-19 Matthew Wilcox <willy@ldl.fc.hp.com>
* 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 <drepper@redhat.com>
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_32BITUIDS):

View File

@ -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; \
})