about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-04-19 21:24:46 +0000
committerUlrich Drepper <drepper@redhat.com>2001-04-19 21:24:46 +0000
commit6610a14064b12ab2f05abb4a7dd79b3f08fe7bb9 (patch)
tree5f7ebe57b14392c3e76f6b4d20f4df6877542057
parent72ae756aa60391934a6f4c3339a44a077d2a60d0 (diff)
downloadglibc-6610a14064b12ab2f05abb4a7dd79b3f08fe7bb9.tar.gz
glibc-6610a14064b12ab2f05abb4a7dd79b3f08fe7bb9.tar.xz
glibc-6610a14064b12ab2f05abb4a7dd79b3f08fe7bb9.zip
Update.
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.
-rw-r--r--ChangeLog6
-rw-r--r--sysdeps/unix/sysv/linux/hppa/sysdep.h8
2 files changed, 10 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index b18db0afb9..ed54ff9776 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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):
diff --git a/sysdeps/unix/sysv/linux/hppa/sysdep.h b/sysdeps/unix/sysv/linux/hppa/sysdep.h
index 10e360dfd5..1430642612 100644
--- a/sysdeps/unix/sysv/linux/hppa/sysdep.h
+++ b/sysdeps/unix/sysv/linux/hppa/sysdep.h
@@ -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;						\
 })