diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | io/Makefile | 5 | ||||
-rw-r--r-- | posix/fnmatch.c | 7 | ||||
-rw-r--r-- | posix/glob.c | 5 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ptrace.c | 26 |
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; |