diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog
index 628559087a04..f5b5fb4488e7 100644
--- a/boehm-gc/ChangeLog
+++ b/boehm-gc/ChangeLog
@@ -1,3 +1,7 @@
+2000-06-19  Andrew Haley  <aph@cygnus.com>
+
+        * os_dep.c (read): Pass two dummy args to syscall().
+
 2000-05-11  Bryce McKinlay  <bryce@albatross.co.nz>
 
 	Imported 5.0 release version.
diff --git a/boehm-gc/os_dep.c b/boehm-gc/os_dep.c
index b169eebcbcf8..87f84e7bccdc 100644
--- a/boehm-gc/os_dep.c
+++ b/boehm-gc/os_dep.c
@@ -2236,7 +2236,10 @@ word len;
 	    result = readv(fd, &iov, 1);
 	}
 #   else
-    	result = syscall(SYS_read, fd, buf, nbyte);
+	/* The two zero args at the end of this list are because one
+	   IA-64 syscall() implementation actually requires six args
+	   to be passed, even though they aren't always used. */
+    	result = syscall(SYS_read, fd, buf, nbyte, 0, 0);
 #   endif
     GC_end_syscall();
     return(result);