summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--io/Makefile5
-rw-r--r--posix/fnmatch.c7
-rw-r--r--posix/glob.c5
-rw-r--r--sysdeps/unix/sysv/linux/ptrace.c26
5 files changed, 42 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 93a726d3f1..47e8d7e01a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 Thu Jan 18 00:32:43 1996  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
 
+	* io/Makefile (routines): Add mknod, xstat fxstat lxstat xmknod.
+
+	* sysdeps/unix/sysv/linux/ptrace.c: Use ... decl, and stdarg.h to
+	get args.
+
+	* posix/glob.c (_GNU_SOURCE): Define if undefined, so glob.h
+	defines GNU extensions.
+	* posix/fnmatch.c: Likewise.
+
 	Replaced all simple system call files *.S throughout sysdeps/unix
 	with syscalls.list files to be processed by make-syscalls.sh.
 	* sysdeps/unix/s-proto.S: New file.
diff --git a/io/Makefile b/io/Makefile
index c484e4024f..cf8d21b24f 100644
--- a/io/Makefile
+++ b/io/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -29,7 +29,8 @@ headers := sys/stat.h statbuf.h \
 routines :=							      \
 	utime							      \
 	mkfifo							      \
-	stat fstat lstat					      \
+	stat fstat lstat mknod					      \
+	xstat fxstat lxstat xmknod				      \
 	umask chmod fchmod mkdir				      \
 	open close read write lseek access euidaccess		      \
 	fcntl flock lockf					      \
diff --git a/posix/fnmatch.c b/posix/fnmatch.c
index 1ef5599e23..1ddea80961 100644
--- a/posix/fnmatch.c
+++ b/posix/fnmatch.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1993, 1996 Free Software Foundation, Inc.
 
 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Library General Public License as
@@ -19,6 +19,11 @@ Cambridge, MA 02139, USA.  */
 #include <config.h>
 #endif
 
+/* Enable GNU extensions in fnmatch.h.  */
+#ifndef _GNU_SOURCE
+#define	_GNU_SOURCE	1
+#endif
+
 #include <errno.h>
 #include <fnmatch.h>
 #include <ctype.h>
diff --git a/posix/glob.c b/posix/glob.c
index 259ac020d2..d628b84617 100644
--- a/posix/glob.c
+++ b/posix/glob.c
@@ -24,6 +24,11 @@ Cambridge, MA 02139, USA.  */
 #include <config.h>
 #endif
 
+/* Enable GNU extensions in glob.h.  */
+#ifndef _GNU_SOURCE
+#define	_GNU_SOURCE	1
+#endif
+
 #include <errno.h>
 #include <sys/types.h>
 #include <sys/stat.h>
diff --git a/sysdeps/unix/sysv/linux/ptrace.c b/sysdeps/unix/sysv/linux/ptrace.c
index 2c04830c42..32cc990119 100644
--- a/sysdeps/unix/sysv/linux/ptrace.c
+++ b/sysdeps/unix/sysv/linux/ptrace.c
@@ -17,16 +17,28 @@ not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 #include <errno.h>
+#include <sys/types.h>
 #include <sys/ptrace.h>
-#include <sys/syscall.h>
+#include <stdarg.h>
+
+extern int __syscall_ptrace (int, pid_t, void *, void *);
 
 int
-ptrace (int request, int pid, int addr, int data)
+ptrace (enum __ptrace_request request, ...)
 {
-  long int ret;
-  long int res;
+  int res, ret;
+  va_list ap;
+  pid_t pid;
+  void *addr, *data;
+
+  va_start (ap, request);
+  pid = va_arg (ap, pid_t);
+  addr = va_arg (ap, void *);
+  data = va_arg (ap, void *);
+  va_end (ap);
+
   if (request > 0 && request < 4)
-    (long int *) data = &ret;
+    data = &ret;
 
   res = __syscall_ptrace (request, pid, addr, data);
 
@@ -35,9 +47,9 @@ ptrace (int request, int pid, int addr, int data)
       if (request > 0 && request < 4)
 	{
 	  errno = 0;
-	  return (ret);
+	  return ret;
 	}
-      return (int) res;
+      return res;
     }
 
   errno = -res;