diff options
Diffstat (limited to 'sysdeps/mach')
282 files changed, 543 insertions, 475 deletions
diff --git a/sysdeps/mach/Makefile b/sysdeps/mach/Makefile index 634ba80084..b47cdc6b33 100644 --- a/sysdeps/mach/Makefile +++ b/sysdeps/mach/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1993-2014 Free Software Foundation, Inc. +# Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/_strerror.c b/sysdeps/mach/_strerror.c index e263510565..67abc2c9a2 100644 --- a/sysdeps/mach/_strerror.c +++ b/sysdeps/mach/_strerror.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/adjtime.c b/sysdeps/mach/adjtime.c index 112b4a742b..726ee82760 100644 --- a/sysdeps/mach/adjtime.c +++ b/sysdeps/mach/adjtime.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/bits/libc-lock.h b/sysdeps/mach/bits/libc-lock.h index 40b7f2bcd3..9fad433c86 100644 --- a/sysdeps/mach/bits/libc-lock.h +++ b/sysdeps/mach/bits/libc-lock.h @@ -1,5 +1,5 @@ /* libc-internal interface for mutex locks. Mach cthreads version. - Copyright (C) 1996-2014 Free Software Foundation, Inc. + Copyright (C) 1996-2015 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 diff --git a/sysdeps/mach/configure b/sysdeps/mach/configure index 61ac7d9684..228f99ef9e 100644 --- a/sysdeps/mach/configure +++ b/sysdeps/mach/configure @@ -84,7 +84,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_MIG="${ac_tool_prefix}mig" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -124,7 +124,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_MIG="mig" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -311,7 +311,7 @@ do for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in @@ -377,7 +377,7 @@ do for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in diff --git a/sysdeps/mach/getloadavg.c b/sysdeps/mach/getloadavg.c index 48652d3e58..33602b74cf 100644 --- a/sysdeps/mach/getloadavg.c +++ b/sysdeps/mach/getloadavg.c @@ -1,5 +1,5 @@ /* Get system load averages. Mach version. - Copyright (C) 1999-2014 Free Software Foundation, Inc. + Copyright (C) 1999-2015 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 diff --git a/sysdeps/mach/getpagesize.c b/sysdeps/mach/getpagesize.c index e785966484..9bdd732694 100644 --- a/sysdeps/mach/getpagesize.c +++ b/sysdeps/mach/getpagesize.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/getsysstats.c b/sysdeps/mach/getsysstats.c index a5086c6476..784b5f444a 100644 --- a/sysdeps/mach/getsysstats.c +++ b/sysdeps/mach/getsysstats.c @@ -1,5 +1,5 @@ /* System dependent pieces of sysconf; Mach version - Copyright (C) 1996-2014 Free Software Foundation, Inc. + Copyright (C) 1996-2015 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 diff --git a/sysdeps/mach/gettimeofday.c b/sysdeps/mach/gettimeofday.c index 0a62fd758c..05502e2249 100644 --- a/sysdeps/mach/gettimeofday.c +++ b/sysdeps/mach/gettimeofday.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/Makefile b/sysdeps/mach/hurd/Makefile index fe028316ae..b528815e0c 100644 --- a/sysdeps/mach/hurd/Makefile +++ b/sysdeps/mach/hurd/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1993-2014 Free Software Foundation, Inc. +# Copyright (C) 1993-2015 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 @@ -78,7 +78,7 @@ endef # the headers we want to search for Mach error codes, listed above (and # incidentally, all other headers those include). -include $(common-objpfx)errnos.d -$(common-objpfx)errnos.d: $(mach-errnos-deps) +$(common-objpfx)errnos.d: $(mach-errnos-deps) libc-modules.h $(mach-errno-h) | \ $(CC) $(CFLAGS) $(CPPFLAGS) -M -x c - | \ sed $(sed-remove-objpfx) -e 's,- *:,mach-errnos-deps :=,' \ diff --git a/sysdeps/mach/hurd/_exit.c b/sysdeps/mach/hurd/_exit.c index 3f7e8ae391..978b68f0ec 100644 --- a/sysdeps/mach/hurd/_exit.c +++ b/sysdeps/mach/hurd/_exit.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 @@ -52,4 +52,5 @@ _exit (status) _hurd_exit (W_EXITCODE (status, 0)); } libc_hidden_def (_exit) +rtld_hidden_def (_exit) weak_alias (_exit, _Exit) diff --git a/sysdeps/mach/hurd/accept.c b/sysdeps/mach/hurd/accept.c index 4a65db0abe..b4322312ca 100644 --- a/sysdeps/mach/hurd/accept.c +++ b/sysdeps/mach/hurd/accept.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/sysdeps/mach/hurd/accept4.c b/sysdeps/mach/hurd/accept4.c index 142eafc780..19114f79ce 100644 --- a/sysdeps/mach/hurd/accept4.c +++ b/sysdeps/mach/hurd/accept4.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/sysdeps/mach/hurd/access.c b/sysdeps/mach/hurd/access.c index 3a54df7580..ead583bf40 100644 --- a/sysdeps/mach/hurd/access.c +++ b/sysdeps/mach/hurd/access.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/adjtime.c b/sysdeps/mach/hurd/adjtime.c index 4ff4dc1e5d..cdf62cae8c 100644 --- a/sysdeps/mach/hurd/adjtime.c +++ b/sysdeps/mach/hurd/adjtime.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/bind.c b/sysdeps/mach/hurd/bind.c index 17ef22a7d0..4b09be3635 100644 --- a/sysdeps/mach/hurd/bind.c +++ b/sysdeps/mach/hurd/bind.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 @@ -25,7 +25,7 @@ #include <stddef.h> #include <hurd/ifsock.h> #include <sys/un.h> -#include <string.h> +#include "hurd/hurdsocket.h" /* Give the socket FD the local address ADDR (which is LEN bytes long). */ int @@ -37,13 +37,11 @@ __bind (int fd, __CONST_SOCKADDR_ARG addrarg, socklen_t len) if (addr->sun_family == AF_LOCAL) { + char *name = _hurd_sun_path_dupa (addr, len); /* For the local domain, we must create a node in the filesystem using the ifsock translator and then fetch the address from it. */ - file_t dir, node; - char name[len - offsetof (struct sockaddr_un, sun_path) + 1], *n; - - strncpy (name, addr->sun_path, sizeof name - 1); - name[sizeof name - 1] = '\0'; /* Make sure */ + file_t dir, node, ifsock; + char *n; dir = __file_name_split (name, &n); if (dir == MACH_PORT_NULL) @@ -63,36 +61,32 @@ __bind (int fd, __CONST_SOCKADDR_ARG addrarg, socklen_t len) MACH_MSG_TYPE_COPY_SEND); if (! err) { - /* Link the node, now a socket, into the target directory. */ - err = __dir_link (dir, node, n, 1); - if (err == EEXIST) + enum retry_type doretry; + char retryname[1024]; + /* Get a port to the ifsock translator. */ + err = __dir_lookup (node, "", 0, 0, &doretry, retryname, &ifsock); + if (! err && (doretry != FS_RETRY_NORMAL || retryname[0] != '\0')) err = EADDRINUSE; } - __mach_port_deallocate (__mach_task_self (), node); if (! err) { - /* Get a port to the ifsock translator. */ - file_t ifsock = __file_name_lookup_under (dir, n, 0, 0); - if (ifsock == MACH_PORT_NULL) + /* Get the address port. */ + err = __ifsock_getsockaddr (ifsock, &aport); + if (err == MIG_BAD_ID || err == EOPNOTSUPP) + err = EGRATUITOUS; + if (! err) { - err = errno; - /* If we failed, get rid of the node we created. */ - __dir_unlink (dir, n); - } - else - { - /* Get the address port. */ - err = __ifsock_getsockaddr (ifsock, &aport); - if (err == MIG_BAD_ID || err == EOPNOTSUPP) - /* We are not talking to /hurd/ifsock. Probably - someone came in after we linked our node, unlinked - it, and replaced it with a different node, before we - did our lookup. Treat it as if our link had failed - with EEXIST. */ + /* Link the node, now a socket with proper mode, into the + target directory. */ + err = __dir_link (dir, node, n, 1); + if (err == EEXIST) err = EADDRINUSE; + if (err) + __mach_port_deallocate (__mach_task_self (), aport); } __mach_port_deallocate (__mach_task_self (), ifsock); } + __mach_port_deallocate (__mach_task_self (), node); } __mach_port_deallocate (__mach_task_self (), dir); diff --git a/sysdeps/mach/hurd/bits/fcntl.h b/sysdeps/mach/hurd/bits/fcntl.h index 135aba3bc9..f36fa093a3 100644 --- a/sysdeps/mach/hurd/bits/fcntl.h +++ b/sysdeps/mach/hurd/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for GNU. - Copyright (C) 1993-2014 Free Software Foundation, Inc. + Copyright (C) 1993-2015 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 @@ -103,7 +103,7 @@ fail with EAGAIN. */ #define O_NONBLOCK 0x0008 /* Non-blocking open or non-blocking I/O. */ -#ifdef __USE_BSD +#ifdef __USE_MISC # define O_NDELAY O_NONBLOCK /* Deprecated. */ #endif @@ -134,7 +134,7 @@ #define O_NOCTTY 0 /* Don't assign a controlling terminal. */ -#ifdef __USE_BSD +#ifdef __USE_MISC /* Bits in the file status flags returned by F_GETFL. */ # define FREAD O_RDONLY # define FWRITE O_WRONLY @@ -159,7 +159,7 @@ #define F_SETFD 2 /* Set file descriptor flags. */ #define F_GETFL 3 /* Get file status flags. */ #define F_SETFL 4 /* Set file status flags. */ -#if defined __USE_BSD || defined __USE_UNIX98 || defined __USE_XOPEN2K8 +#if defined __USE_UNIX98 || defined __USE_XOPEN2K8 # define F_GETOWN 5 /* Get owner (receiver of SIGIO). */ # define F_SETOWN 6 /* Set owner (receiver of SIGIO). */ #endif diff --git a/sysdeps/mach/hurd/bits/ioctls.h b/sysdeps/mach/hurd/bits/ioctls.h index e5203ad7e9..ea317aff8d 100644 --- a/sysdeps/mach/hurd/bits/ioctls.h +++ b/sysdeps/mach/hurd/bits/ioctls.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 @@ -148,9 +148,26 @@ enum __ioctl_datum { IOC_8, IOC_16, IOC_32, IOC_64 }; #define _IOT_SIMPLE(type) _IOT (_IOTS (type), 1, 0, 0, 0, 0) /* Basic C types. */ -#define _IOT__IOTBASE_int _IOT_SIMPLE (int) #define _IOT__IOTBASE_char _IOT_SIMPLE (char) #define _IOT__IOTBASE_short _IOT_SIMPLE (short) +#define _IOT__IOTBASE_int _IOT_SIMPLE (int) +#define _IOT__IOTBASE_long _IOT_SIMPLE (long) +#define _IOT_char _IOT_SIMPLE (char) +#define _IOT_short _IOT_SIMPLE (short) +#define _IOT_int _IOT_SIMPLE (int) +#define _IOT_long _IOT_SIMPLE (long) + +#define _IOT__IOTBASE_int8_t _IOT_SIMPLE (int8_t) +#define _IOT__IOTBASE_uint8_t _IOT_SIMPLE (uint8_t) +#define _IOT__IOTBASE_int16_t _IOT_SIMPLE (int16_t) +#define _IOT__IOTBASE_uint16_t _IOT_SIMPLE (uint16_t) +#define _IOT__IOTBASE_int32_t _IOT_SIMPLE (int32_t) +#define _IOT__IOTBASE_uint32_t _IOT_SIMPLE (uint32_t) +#define _IOT__IOTBASE_int64_t _IOT_SIMPLE (int64_t) +#define _IOT__IOTBASE_uint64_t _IOT_SIMPLE (uint64_t) + +#define _IOT__IOTBASE_size_t _IOT_SIMPLE (size_t) +#define _IOT__IOTBASE_ssize_t _IOT_SIMPLE (ssize_t) /* Standard flavors of ioctls. @@ -173,6 +190,10 @@ enum __ioctl_datum { IOC_8, IOC_16, IOC_32, IOC_64 }; #define _IOC_ENCODE_TYPE_1(typespec) _IOC_ENCODE_TYPE_2(typespec) #define _IOC_ENCODE_TYPE_2(typespec) _IOT_##typespec +/* Also, ignore signedness. */ +#define _IOTBASE_unsigned +#define _IOTBASE_signed + /* ioctls verbatim from 4.4 <sys/ioctl.h>. */ diff --git a/sysdeps/mach/hurd/bits/libc-lock.h b/sysdeps/mach/hurd/bits/libc-lock.h index 28c69fa0b4..63d3e8179a 100644 --- a/sysdeps/mach/hurd/bits/libc-lock.h +++ b/sysdeps/mach/hurd/bits/libc-lock.h @@ -1,5 +1,5 @@ /* libc-internal interface for mutex locks. Hurd version using Mach cthreads. - Copyright (C) 1996-2014 Free Software Foundation, Inc. + Copyright (C) 1996-2015 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 @@ -203,4 +203,10 @@ void *__libc_getspecific (__libc_key_t key); #endif /* _CTHREADS_ */ +/* Hide the definitions which are only supposed to be used inside libc in + a separate file. This file is not present in the installation! */ +#ifdef _LIBC +# include <bits/libc-lockP.h> +#endif + #endif /* bits/libc-lock.h */ diff --git a/sysdeps/mach/hurd/bits/libc-tsd.h b/sysdeps/mach/hurd/bits/libc-tsd.h index e2ea911a2c..0086154273 100644 --- a/sysdeps/mach/hurd/bits/libc-tsd.h +++ b/sysdeps/mach/hurd/bits/libc-tsd.h @@ -1,5 +1,5 @@ /* libc-internal interface for thread-specific data. Hurd version. - Copyright (C) 1998-2014 Free Software Foundation, Inc. + Copyright (C) 1998-2015 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 diff --git a/sysdeps/mach/hurd/bits/local_lim.h b/sysdeps/mach/hurd/bits/local_lim.h index f7cc86c003..ccb472f214 100644 --- a/sysdeps/mach/hurd/bits/local_lim.h +++ b/sysdeps/mach/hurd/bits/local_lim.h @@ -1,5 +1,5 @@ /* Minimum guaranteed maximum values for system limits. Hurd version. - Copyright (C) 1993-2014 Free Software Foundation, Inc. + Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/bits/param.h b/sysdeps/mach/hurd/bits/param.h index dac789cce6..f4185da11a 100644 --- a/sysdeps/mach/hurd/bits/param.h +++ b/sysdeps/mach/hurd/bits/param.h @@ -1,5 +1,5 @@ /* Old-style Unix parameters and limits. Hurd version. - Copyright (C) 1993-2014 Free Software Foundation, Inc. + Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/bits/posix_opt.h b/sysdeps/mach/hurd/bits/posix_opt.h index a897cb1640..7564601e72 100644 --- a/sysdeps/mach/hurd/bits/posix_opt.h +++ b/sysdeps/mach/hurd/bits/posix_opt.h @@ -1,5 +1,5 @@ /* Define POSIX options for GNU/Hurd. - Copyright (C) 1998-2014 Free Software Foundation, Inc. + Copyright (C) 1998-2015 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 diff --git a/sysdeps/mach/hurd/bits/socket.h b/sysdeps/mach/hurd/bits/socket.h index e5f783b7cc..9666b106e5 100644 --- a/sysdeps/mach/hurd/bits/socket.h +++ b/sysdeps/mach/hurd/bits/socket.h @@ -1,5 +1,5 @@ /* System-specific socket constants and types. Hurd version. - Copyright (C) 1991-2014 Free Software Foundation, Inc. + Copyright (C) 1991-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/sysdeps/mach/hurd/bits/stat.h b/sysdeps/mach/hurd/bits/stat.h index e6bec34660..4d4bae4391 100644 --- a/sysdeps/mach/hurd/bits/stat.h +++ b/sysdeps/mach/hurd/bits/stat.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 @@ -57,7 +57,7 @@ struct stat __off64_t st_size; /* Size in bytes. */ #endif -#if defined __USE_MISC || defined __USE_XOPEN2K8 +#ifdef __USE_XOPEN2K8 /* Nanosecond resolution timestamps are stored in a format equivalent to 'struct timespec'. This is the type used whenever possible but the Unix namespace rules do not allow the @@ -121,7 +121,7 @@ struct stat64 __off64_t st_size; /* Size in bytes. */ -#if defined __USE_MISC || defined __USE_XOPEN2K8 +#ifdef __USE_XOPEN2K8 /* Nanosecond resolution timestamps are stored in a format equivalent to 'struct timespec'. This is the type used whenever possible but the Unix namespace rules do not allow the @@ -222,9 +222,37 @@ struct stat64 S_IUSEUNK|S_IUNKNOWN|07777)) #endif +#ifdef __USE_MISC /* Default file creation mask (umask). */ -#ifdef __USE_BSD # define CMASK 0022 + +/* Definitions of flags stored in file flags word. */ + +/* Super-user and owner changeable flags. */ +# define UF_SETTABLE 0x0000ffff /* mask of owner changeable flags */ +# define UF_NODUMP 0x00000001 /* do not dump file */ +# define UF_IMMUTABLE 0x00000002 /* file may not be changed */ +# define UF_APPEND 0x00000004 /* writes to file may only append */ +# define UF_OPAQUE 0x00000008 /* directory is opaque wrt. union */ +# define UF_NOUNLINK 0x00000010 /* file may not be removed or renamed */ + +/* Super-user changeable flags. */ +# define SF_SETTABLE 0xffff0000 /* mask of superuser changeable flags */ +# define SF_ARCHIVED 0x00010000 /* file is archived */ +# define SF_IMMUTABLE 0x00020000 /* file may not be changed */ +# define SF_APPEND 0x00040000 /* writes to file may only append */ +# define SF_NOUNLINK 0x00100000 /* file may not be removed or renamed */ +# define SF_SNAPSHOT 0x00200000 /* snapshot inode */ + +__BEGIN_DECLS + +/* Set file flags for FILE to FLAGS. */ +extern int chflags (__const char *__file, unsigned long int __flags) __THROW; + +/* Set file flags of the file referred to by FD to FLAGS. */ +extern int fchflags (int __fd, unsigned long int __flags) __THROW; + +__END_DECLS #endif #endif /* bits/stat.h */ diff --git a/sysdeps/mach/hurd/bits/statfs.h b/sysdeps/mach/hurd/bits/statfs.h index ef15f9133e..62c757898c 100644 --- a/sysdeps/mach/hurd/bits/statfs.h +++ b/sysdeps/mach/hurd/bits/statfs.h @@ -1,5 +1,5 @@ /* Definition of `struct statfs', information about a filesystem. - Copyright (C) 1996-2014 Free Software Foundation, Inc. + Copyright (C) 1996-2015 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 diff --git a/sysdeps/mach/hurd/bits/statvfs.h b/sysdeps/mach/hurd/bits/statvfs.h index 857c511212..fb476eac96 100644 --- a/sysdeps/mach/hurd/bits/statvfs.h +++ b/sysdeps/mach/hurd/bits/statvfs.h @@ -1,5 +1,5 @@ /* Definition of `struct statvfs', information about a filesystem. - Copyright (C) 1998-2014 Free Software Foundation, Inc. + Copyright (C) 1998-2015 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 diff --git a/sysdeps/mach/hurd/bits/typesizes.h b/sysdeps/mach/hurd/bits/typesizes.h index 808c3bdf84..970e64e8f6 100644 --- a/sysdeps/mach/hurd/bits/typesizes.h +++ b/sysdeps/mach/hurd/bits/typesizes.h @@ -1,5 +1,5 @@ /* bits/typesizes.h -- underlying types for *_t. Hurd version. - Copyright (C) 2002-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2015 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 diff --git a/sysdeps/mach/hurd/brk.c b/sysdeps/mach/hurd/brk.c index d97f7418db..c811cb9ed0 100644 --- a/sysdeps/mach/hurd/brk.c +++ b/sysdeps/mach/hurd/brk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/chdir.c b/sysdeps/mach/hurd/chdir.c index c00a0fbbd1..eaaf6466d3 100644 --- a/sysdeps/mach/hurd/chdir.c +++ b/sysdeps/mach/hurd/chdir.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/check_fds.c b/sysdeps/mach/hurd/check_fds.c index a35f192f4d..06a28a8bcb 100644 --- a/sysdeps/mach/hurd/check_fds.c +++ b/sysdeps/mach/hurd/check_fds.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2014 Free Software Foundation, Inc. +/* Copyright (C) 2000-2015 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 diff --git a/sysdeps/mach/hurd/chflags.c b/sysdeps/mach/hurd/chflags.c index 938f81d0d3..f088f9b437 100644 --- a/sysdeps/mach/hurd/chflags.c +++ b/sysdeps/mach/hurd/chflags.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 @@ -24,7 +24,7 @@ /* XXX shouldn't this be __chflags? */ int -chflags (const char *file, int flags) +chflags (const char *file, unsigned long int flags) { error_t err; file_t port = __file_name_lookup (file, 0, 0); diff --git a/sysdeps/mach/hurd/chmod.c b/sysdeps/mach/hurd/chmod.c index d969b8a158..5a08a818f8 100644 --- a/sysdeps/mach/hurd/chmod.c +++ b/sysdeps/mach/hurd/chmod.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/chown.c b/sysdeps/mach/hurd/chown.c index 8c5b67d420..1cf252545b 100644 --- a/sysdeps/mach/hurd/chown.c +++ b/sysdeps/mach/hurd/chown.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/chroot.c b/sysdeps/mach/hurd/chroot.c index 08bb701d7e..4e97dd8db5 100644 --- a/sysdeps/mach/hurd/chroot.c +++ b/sysdeps/mach/hurd/chroot.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/clock.c b/sysdeps/mach/hurd/clock.c index 49a1845d9d..77a21588d4 100644 --- a/sysdeps/mach/hurd/clock.c +++ b/sysdeps/mach/hurd/clock.c @@ -1,5 +1,5 @@ /* Return the CPU time used by the program so far. Hurd version. - Copyright (C) 2001-2014 Free Software Foundation, Inc. + Copyright (C) 2001-2015 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 diff --git a/sysdeps/mach/hurd/close.c b/sysdeps/mach/hurd/close.c index ca4ac9d11e..d30f94a2c0 100644 --- a/sysdeps/mach/hurd/close.c +++ b/sysdeps/mach/hurd/close.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/closedir.c b/sysdeps/mach/hurd/closedir.c index 9ae1a2e3ec..808b3bc5a0 100644 --- a/sysdeps/mach/hurd/closedir.c +++ b/sysdeps/mach/hurd/closedir.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/configure b/sysdeps/mach/hurd/configure index a0f97217e9..4248758b30 100644 --- a/sysdeps/mach/hurd/configure +++ b/sysdeps/mach/hurd/configure @@ -3,20 +3,6 @@ $as_echo "#define NO_HIDDEN 1" >>confdefs.h -# Don't bother trying to generate any glue code to be compatible with the -# existing system library, because we are the only system library. -inhibit_glue=yes - -case "$machine" in - i386*) - # The default oldest ABI is 2.2.6. - # We only need a "yes" here if the oldest ABI supported will be < 2.2.6. - if test "$oldest_abi" != default && test "$oldest_abi" \< "2.2.6"; then - libc_cv_gcc_unwind_find_fde=yes - fi - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Hurd header version" >&5 $as_echo_n "checking Hurd header version... " >&6; } diff --git a/sysdeps/mach/hurd/configure.ac b/sysdeps/mach/hurd/configure.ac index ad915a568b..b1f16a569e 100644 --- a/sysdeps/mach/hurd/configure.ac +++ b/sysdeps/mach/hurd/configure.ac @@ -3,20 +3,6 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. dnl We need this setting because of the need for PLT calls in ld.so. AC_DEFINE([NO_HIDDEN]) -# Don't bother trying to generate any glue code to be compatible with the -# existing system library, because we are the only system library. -inhibit_glue=yes - -case "$machine" in - i386*) - # The default oldest ABI is 2.2.6. - # We only need a "yes" here if the oldest ABI supported will be < 2.2.6. - if test "$oldest_abi" != default && test "$oldest_abi" \< "2.2.6"; then - libc_cv_gcc_unwind_find_fde=yes - fi - ;; -esac - AC_CACHE_CHECK(Hurd header version, libc_cv_hurd_version, [dnl AC_TRY_COMPILE(dnl [#include <hurd/version.h>], [ diff --git a/sysdeps/mach/hurd/connect.c b/sysdeps/mach/hurd/connect.c index 24dd616e3b..43120eebc8 100644 --- a/sysdeps/mach/hurd/connect.c +++ b/sysdeps/mach/hurd/connect.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 @@ -22,6 +22,7 @@ #include <hurd/socket.h> #include <sys/un.h> #include <hurd/ifsock.h> +#include "hurd/hurdsocket.h" /* Open a connection on socket FD to peer at ADDR (which LEN bytes long). For connectionless socket types, just set the default address to send to @@ -36,9 +37,10 @@ __connect (int fd, __CONST_SOCKADDR_ARG addrarg, socklen_t len) if (addr->sun_family == AF_LOCAL) { + char *name = _hurd_sun_path_dupa (addr, len); /* For the local domain, we must look up the name as a file and talk to it with the ifsock protocol. */ - file_t file = __file_name_lookup (addr->sun_path, 0, 0); + file_t file = __file_name_lookup (name, 0, 0); if (file == MACH_PORT_NULL) return -1; err = __ifsock_getsockaddr (file, &aport); diff --git a/sysdeps/mach/hurd/cthreads.c b/sysdeps/mach/hurd/cthreads.c index d4c8dd2d1a..e213819a5a 100644 --- a/sysdeps/mach/hurd/cthreads.c +++ b/sysdeps/mach/hurd/cthreads.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2014 Free Software Foundation, Inc. +/* Copyright (C) 1997-2015 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 diff --git a/sysdeps/mach/hurd/device-nrs.h b/sysdeps/mach/hurd/device-nrs.h index 27dd9951c9..315736300b 100644 --- a/sysdeps/mach/hurd/device-nrs.h +++ b/sysdeps/mach/hurd/device-nrs.h @@ -1,5 +1,5 @@ /* Device numbers of devices used in the implementation. Hurd version. - Copyright (C) 2001-2014 Free Software Foundation, Inc. + Copyright (C) 2001-2015 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 diff --git a/sysdeps/mach/hurd/dirfd.c b/sysdeps/mach/hurd/dirfd.c index b3a66fa042..1c8c882f0f 100644 --- a/sysdeps/mach/hurd/dirfd.c +++ b/sysdeps/mach/hurd/dirfd.c @@ -1,5 +1,5 @@ /* dirfd -- Return the file descriptor used by a DIR stream. Hurd version. - Copyright (C) 1995-2014 Free Software Foundation, Inc. + Copyright (C) 1995-2015 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 diff --git a/sysdeps/mach/hurd/dirstream.h b/sysdeps/mach/hurd/dirstream.h index a5b2d1fd10..7edd23afd0 100644 --- a/sysdeps/mach/hurd/dirstream.h +++ b/sysdeps/mach/hurd/dirstream.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/dl-execstack.c b/sysdeps/mach/hurd/dl-execstack.c index 9069efb9cd..69fe2b5855 100644 --- a/sysdeps/mach/hurd/dl-execstack.c +++ b/sysdeps/mach/hurd/dl-execstack.c @@ -1,5 +1,5 @@ /* Stack executability handling for GNU dynamic linker. Hurd version. - Copyright (C) 2004-2014 Free Software Foundation, Inc. + Copyright (C) 2004-2015 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 @@ -34,7 +34,7 @@ _dl_make_stack_executable (void **stack_endp) return EPERM; *stack_endp = NULL; -#ifdef IS_IN_rtld +#if IS_IN (rtld) if (__mprotect ((void *)_dl_hurd_data->stack_base, _dl_hurd_data->stack_size, PROT_READ|PROT_WRITE|PROT_EXEC) != 0) return errno; diff --git a/sysdeps/mach/hurd/dl-sysdep.c b/sysdeps/mach/hurd/dl-sysdep.c index 7f79d1a415..8bb9fad090 100644 --- a/sysdeps/mach/hurd/dl-sysdep.c +++ b/sysdeps/mach/hurd/dl-sysdep.c @@ -1,5 +1,5 @@ /* Operating system support for run-time dynamic linker. Hurd version. - Copyright (C) 1995-2014 Free Software Foundation, Inc. + Copyright (C) 1995-2015 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 @@ -51,7 +51,7 @@ extern char **_dl_argv; extern char **_environ; int __libc_enable_secure = 0; -INTVARDEF(__libc_enable_secure) +rtld_hidden_data_def (__libc_enable_secure) int __libc_multiple_libcs = 0; /* Defining this here avoids the inclusion of init-first. */ /* This variable contains the lowest stack address ever used. */ @@ -96,9 +96,9 @@ static vm_size_t fmhs; static void unfmh(void){ __vm_deallocate(__mach_task_self(),fmha,fmhs);} static void fmh(void) { - error_t err;int x;mach_port_t p; + error_t err;int x;vm_offset_t o;mach_port_t p; vm_address_t a=0x08000000U,max=VM_MAX_ADDRESS; - while (!(err=__vm_region(__mach_task_self(),&a,&fmhs,&x,&x,&x,&x,&p,&x))){ + while (!(err=__vm_region(__mach_task_self(),&a,&fmhs,&x,&x,&x,&x,&p,&o))){ __mach_port_deallocate(__mach_task_self(),p); if (a+fmhs>=0x80000000U){ max=a; break;} @@ -140,7 +140,7 @@ _dl_sysdep_start (void **start_argptr, else _dl_hurd_data = (void *) p; - INTUSE(__libc_enable_secure) = _dl_hurd_data->flags & EXEC_SECURE; + __libc_enable_secure = _dl_hurd_data->flags & EXEC_SECURE; if (_dl_hurd_data->flags & EXEC_STACK_ARGS && _dl_hurd_data->user_entry == 0) @@ -220,7 +220,7 @@ unfmh(); /* XXX */ environment list. We use memmove, since the locations might overlap. */ - if (INTUSE(__libc_enable_secure) || _dl_skip_args) + if (__libc_enable_secure || _dl_skip_args) { char **newp; diff --git a/sysdeps/mach/hurd/dl-sysdep.h b/sysdeps/mach/hurd/dl-sysdep.h index 0b3158e57e..7c2c4f1dc5 100644 --- a/sysdeps/mach/hurd/dl-sysdep.h +++ b/sysdeps/mach/hurd/dl-sysdep.h @@ -1,5 +1,5 @@ /* System-specific settings for dynamic linker code. Hurd version. - Copyright (C) 2002-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2015 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 diff --git a/sysdeps/mach/hurd/dup2.c b/sysdeps/mach/hurd/dup2.c index 2774896831..dd2838dede 100644 --- a/sysdeps/mach/hurd/dup2.c +++ b/sysdeps/mach/hurd/dup2.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/sysdeps/mach/hurd/dup3.c b/sysdeps/mach/hurd/dup3.c index 3f9dd10248..5ca866a2d6 100644 --- a/sysdeps/mach/hurd/dup3.c +++ b/sysdeps/mach/hurd/dup3.c @@ -1,5 +1,5 @@ /* Duplicate a file descriptor to a given number, with flags. Hurd version. - Copyright (C) 1991-2014 Free Software Foundation, Inc. + Copyright (C) 1991-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/sysdeps/mach/hurd/eloop-threshold.h b/sysdeps/mach/hurd/eloop-threshold.h index bb923ea19e..2539886dad 100644 --- a/sysdeps/mach/hurd/eloop-threshold.h +++ b/sysdeps/mach/hurd/eloop-threshold.h @@ -1,5 +1,5 @@ /* Threshold at which to diagnose ELOOP. Hurd version. - Copyright (C) 2012-2014 Free Software Foundation, Inc. + Copyright (C) 2012-2015 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 diff --git a/sysdeps/mach/hurd/enbl-secure.c b/sysdeps/mach/hurd/enbl-secure.c index e3f8f01d3f..da5529ffb0 100644 --- a/sysdeps/mach/hurd/enbl-secure.c +++ b/sysdeps/mach/hurd/enbl-secure.c @@ -1,5 +1,5 @@ /* Define and initialize the `__libc_enable_secure' flag. Hurd version. - Copyright (C) 1998-2014 Free Software Foundation, Inc. + Copyright (C) 1998-2015 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 diff --git a/sysdeps/mach/hurd/errlist.c b/sysdeps/mach/hurd/errlist.c index f9193ff843..6ae604f244 100644 --- a/sysdeps/mach/hurd/errlist.c +++ b/sysdeps/mach/hurd/errlist.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2014 Free Software Foundation, Inc. +/* Copyright (C) 1998-2015 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 diff --git a/sysdeps/mach/hurd/errno-loc.c b/sysdeps/mach/hurd/errno-loc.c index 7b7380bc00..d1852dbba8 100644 --- a/sysdeps/mach/hurd/errno-loc.c +++ b/sysdeps/mach/hurd/errno-loc.c @@ -1,5 +1,5 @@ /* __errno_location -- helper function for locating per-thread errno value - Copyright (C) 2002-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2015 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 diff --git a/sysdeps/mach/hurd/errnos.awk b/sysdeps/mach/hurd/errnos.awk index e6306d6269..fb2d289fe5 100644 --- a/sysdeps/mach/hurd/errnos.awk +++ b/sysdeps/mach/hurd/errnos.awk @@ -1,4 +1,4 @@ -# Copyright (C) 1991-2014 Free Software Foundation, Inc. +# Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/euidaccess.c b/sysdeps/mach/hurd/euidaccess.c index 5b96a3c6a7..266c82dfb9 100644 --- a/sysdeps/mach/hurd/euidaccess.c +++ b/sysdeps/mach/hurd/euidaccess.c @@ -1,5 +1,5 @@ /* Test for access to FILE using effective UID and GID. Hurd version. - Copyright (C) 1991-2014 Free Software Foundation, Inc. + Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/execve.c b/sysdeps/mach/hurd/execve.c index ffdaa8a183..00c91c3ee2 100644 --- a/sysdeps/mach/hurd/execve.c +++ b/sysdeps/mach/hurd/execve.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/faccessat.c b/sysdeps/mach/hurd/faccessat.c index 91bec43c06..3b84e8757d 100644 --- a/sysdeps/mach/hurd/faccessat.c +++ b/sysdeps/mach/hurd/faccessat.c @@ -1,5 +1,5 @@ /* Test for access to file, relative to open directory. Hurd version. - Copyright (C) 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2015 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 diff --git a/sysdeps/mach/hurd/fchdir.c b/sysdeps/mach/hurd/fchdir.c index 8f165373b8..9c613b318e 100644 --- a/sysdeps/mach/hurd/fchdir.c +++ b/sysdeps/mach/hurd/fchdir.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/fchflags.c b/sysdeps/mach/hurd/fchflags.c index 6d01b1a35b..841d9df56e 100644 --- a/sysdeps/mach/hurd/fchflags.c +++ b/sysdeps/mach/hurd/fchflags.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 @@ -25,7 +25,7 @@ /* XXX should be __fchflags? */ int -fchflags (int fd, int flags) +fchflags (int fd, unsigned long int flags) { error_t err; diff --git a/sysdeps/mach/hurd/fchmod.c b/sysdeps/mach/hurd/fchmod.c index 32dc0ac69f..fd1a6bd9cc 100644 --- a/sysdeps/mach/hurd/fchmod.c +++ b/sysdeps/mach/hurd/fchmod.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/fchmodat.c b/sysdeps/mach/hurd/fchmodat.c index 90bdd7e782..f678fb46a7 100644 --- a/sysdeps/mach/hurd/fchmodat.c +++ b/sysdeps/mach/hurd/fchmodat.c @@ -1,5 +1,5 @@ /* Change the protections of file relative to open directory. Hurd version. - Copyright (C) 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2015 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 diff --git a/sysdeps/mach/hurd/fchown.c b/sysdeps/mach/hurd/fchown.c index 116491612e..747150539b 100644 --- a/sysdeps/mach/hurd/fchown.c +++ b/sysdeps/mach/hurd/fchown.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/fchownat.c b/sysdeps/mach/hurd/fchownat.c index b0b82ce18f..dd1ee9a990 100644 --- a/sysdeps/mach/hurd/fchownat.c +++ b/sysdeps/mach/hurd/fchownat.c @@ -1,5 +1,5 @@ /* Change owner and group of a file relative to open directory. Hurd version. - Copyright (C) 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2015 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 diff --git a/sysdeps/mach/hurd/fcntl.c b/sysdeps/mach/hurd/fcntl.c index 813f3370ed..4c4e11734d 100644 --- a/sysdeps/mach/hurd/fcntl.c +++ b/sysdeps/mach/hurd/fcntl.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 diff --git a/sysdeps/mach/hurd/fdatasync.c b/sysdeps/mach/hurd/fdatasync.c index 374c9ab494..f45c367400 100644 --- a/sysdeps/mach/hurd/fdatasync.c +++ b/sysdeps/mach/hurd/fdatasync.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/fdopendir.c b/sysdeps/mach/hurd/fdopendir.c index 3879294d3d..33c9d6b970 100644 --- a/sysdeps/mach/hurd/fdopendir.c +++ b/sysdeps/mach/hurd/fdopendir.c @@ -1,5 +1,5 @@ /* Open a directory stream from a file descriptor. Hurd version. - Copyright (C) 2005-2014 Free Software Foundation, Inc. + Copyright (C) 2005-2015 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 diff --git a/sysdeps/mach/hurd/fexecve.c b/sysdeps/mach/hurd/fexecve.c index d9f59c26a5..a63c11b840 100644 --- a/sysdeps/mach/hurd/fexecve.c +++ b/sysdeps/mach/hurd/fexecve.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/fgetxattr.c b/sysdeps/mach/hurd/fgetxattr.c index eb3272f8f7..1ace19adba 100644 --- a/sysdeps/mach/hurd/fgetxattr.c +++ b/sysdeps/mach/hurd/fgetxattr.c @@ -1,5 +1,5 @@ /* Access to extended attributes on files. Hurd version. - Copyright (C) 2004-2014 Free Software Foundation, Inc. + Copyright (C) 2004-2015 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 diff --git a/sysdeps/mach/hurd/flistxattr.c b/sysdeps/mach/hurd/flistxattr.c index 4ef6fce57d..6b08128e09 100644 --- a/sysdeps/mach/hurd/flistxattr.c +++ b/sysdeps/mach/hurd/flistxattr.c @@ -1,5 +1,5 @@ /* Access to extended attributes on files. Hurd version. - Copyright (C) 2005-2014 Free Software Foundation, Inc. + Copyright (C) 2005-2015 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 diff --git a/sysdeps/mach/hurd/flock.c b/sysdeps/mach/hurd/flock.c index b3b8a79087..7c716e9da4 100644 --- a/sysdeps/mach/hurd/flock.c +++ b/sysdeps/mach/hurd/flock.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 diff --git a/sysdeps/mach/hurd/fork.c b/sysdeps/mach/hurd/fork.c index 60c34c7620..04d81e1d1d 100644 --- a/sysdeps/mach/hurd/fork.c +++ b/sysdeps/mach/hurd/fork.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2014 Free Software Foundation, Inc. +/* Copyright (C) 1994-2015 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 @@ -129,9 +129,13 @@ __fork (void) ports_locked = 1; + /* Keep our SS locked while stopping other threads, so they don't get a + chance to have it locked in the copied space. */ + __spin_lock (&ss->lock); /* Stop all other threads while copying the address space, so nothing changes. */ err = __proc_dostop (_hurd_ports[INIT_PORT_PROC].port, ss->thread); + __spin_unlock (&ss->lock); if (!err) { stopped = 1; @@ -503,7 +507,7 @@ __fork (void) MACHINE_THREAD_STATE_FLAVOR, (natural_t *) &state, &statecount)) LOSE; -#if STACK_GROWTH_UP +#ifdef STACK_GROWTH_UP #define THREADVAR_SPACE (__hurd_threadvar_max \ * sizeof *__hurd_sightread_variables) if (__hurd_sigthread_stack_base == 0) diff --git a/sysdeps/mach/hurd/fpathconf.c b/sysdeps/mach/hurd/fpathconf.c index 6e9d579fa4..8b5d55f06c 100644 --- a/sysdeps/mach/hurd/fpathconf.c +++ b/sysdeps/mach/hurd/fpathconf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/fremovexattr.c b/sysdeps/mach/hurd/fremovexattr.c index 5dbcef4466..81b08cbc2e 100644 --- a/sysdeps/mach/hurd/fremovexattr.c +++ b/sysdeps/mach/hurd/fremovexattr.c @@ -1,5 +1,5 @@ /* Access to extended attributes on files. Hurd version. - Copyright (C) 2005-2014 Free Software Foundation, Inc. + Copyright (C) 2005-2015 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 diff --git a/sysdeps/mach/hurd/fsetxattr.c b/sysdeps/mach/hurd/fsetxattr.c index 7f793232f1..57b7771060 100644 --- a/sysdeps/mach/hurd/fsetxattr.c +++ b/sysdeps/mach/hurd/fsetxattr.c @@ -1,5 +1,5 @@ /* Access to extended attributes on files. Hurd version. - Copyright (C) 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2015 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 diff --git a/sysdeps/mach/hurd/fstatfs.c b/sysdeps/mach/hurd/fstatfs.c index c202610a10..6cd560f281 100644 --- a/sysdeps/mach/hurd/fstatfs.c +++ b/sysdeps/mach/hurd/fstatfs.c @@ -1,5 +1,5 @@ /* fstatfs -- Return information about the filesystem on which FD resides. - Copyright (C) 1996-2014 Free Software Foundation, Inc. + Copyright (C) 1996-2015 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 diff --git a/sysdeps/mach/hurd/fstatfs64.c b/sysdeps/mach/hurd/fstatfs64.c index dcfeb13dce..be1190bf71 100644 --- a/sysdeps/mach/hurd/fstatfs64.c +++ b/sysdeps/mach/hurd/fstatfs64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2014 Free Software Foundation, Inc. +/* Copyright (C) 2001-2015 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 diff --git a/sysdeps/mach/hurd/fstatvfs.c b/sysdeps/mach/hurd/fstatvfs.c index 405b085279..d110e8b105 100644 --- a/sysdeps/mach/hurd/fstatvfs.c +++ b/sysdeps/mach/hurd/fstatvfs.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2014 Free Software Foundation, Inc. +/* Copyright (C) 1998-2015 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 diff --git a/sysdeps/mach/hurd/fstatvfs64.c b/sysdeps/mach/hurd/fstatvfs64.c index d9a27a1cb6..31e15ca49a 100644 --- a/sysdeps/mach/hurd/fstatvfs64.c +++ b/sysdeps/mach/hurd/fstatvfs64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2014 Free Software Foundation, Inc. +/* Copyright (C) 2001-2015 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 diff --git a/sysdeps/mach/hurd/fsync.c b/sysdeps/mach/hurd/fsync.c index ef31f55272..49fca8dcf4 100644 --- a/sysdeps/mach/hurd/fsync.c +++ b/sysdeps/mach/hurd/fsync.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/ftruncate.c b/sysdeps/mach/hurd/ftruncate.c index 78018f7e47..f2134265cd 100644 --- a/sysdeps/mach/hurd/ftruncate.c +++ b/sysdeps/mach/hurd/ftruncate.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/futimes.c b/sysdeps/mach/hurd/futimes.c index c325d44556..a8244da1d6 100644 --- a/sysdeps/mach/hurd/futimes.c +++ b/sysdeps/mach/hurd/futimes.c @@ -1,5 +1,5 @@ /* futimes -- change access and modification times of open file. Hurd version. - Copyright (C) 2002-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2015 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 diff --git a/sysdeps/mach/hurd/fxstat.c b/sysdeps/mach/hurd/fxstat.c index e4c32379f6..51922252ce 100644 --- a/sysdeps/mach/hurd/fxstat.c +++ b/sysdeps/mach/hurd/fxstat.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 diff --git a/sysdeps/mach/hurd/fxstat64.c b/sysdeps/mach/hurd/fxstat64.c index e96b0b408f..b7ec7e9d4e 100644 --- a/sysdeps/mach/hurd/fxstat64.c +++ b/sysdeps/mach/hurd/fxstat64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2014 Free Software Foundation, Inc. +/* Copyright (C) 2000-2015 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 diff --git a/sysdeps/mach/hurd/fxstatat.c b/sysdeps/mach/hurd/fxstatat.c index 627905cc02..64e3c9d99e 100644 --- a/sysdeps/mach/hurd/fxstatat.c +++ b/sysdeps/mach/hurd/fxstatat.c @@ -1,5 +1,5 @@ /* Get information about file named relative to open directory. Hurd version. - Copyright (C) 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2015 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 diff --git a/sysdeps/mach/hurd/fxstatat64.c b/sysdeps/mach/hurd/fxstatat64.c index 61b0f8b6d9..a15c16dfc3 100644 --- a/sysdeps/mach/hurd/fxstatat64.c +++ b/sysdeps/mach/hurd/fxstatat64.c @@ -1,5 +1,5 @@ /* Get information about file named relative to open directory. Hurd version. - Copyright (C) 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2015 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 diff --git a/sysdeps/mach/hurd/getclktck.c b/sysdeps/mach/hurd/getclktck.c index b4911a68bf..2f1382a0e0 100644 --- a/sysdeps/mach/hurd/getclktck.c +++ b/sysdeps/mach/hurd/getclktck.c @@ -1,5 +1,5 @@ /* Return run-time value of CLK_TCK for Hurd. - Copyright (C) 1999-2014 Free Software Foundation, Inc. + Copyright (C) 1999-2015 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 diff --git a/sysdeps/mach/hurd/getcwd.c b/sysdeps/mach/hurd/getcwd.c index d1ac7aef2c..7a4476491c 100644 --- a/sysdeps/mach/hurd/getcwd.c +++ b/sysdeps/mach/hurd/getcwd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/getdomain.c b/sysdeps/mach/hurd/getdomain.c index 33cb49d580..9a06c9b6d6 100644 --- a/sysdeps/mach/hurd/getdomain.c +++ b/sysdeps/mach/hurd/getdomain.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2014 Free Software Foundation, Inc. +/* Copyright (C) 1998-2015 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 diff --git a/sysdeps/mach/hurd/getdtsz.c b/sysdeps/mach/hurd/getdtsz.c index 297c4a6cb1..e785e1e459 100644 --- a/sysdeps/mach/hurd/getdtsz.c +++ b/sysdeps/mach/hurd/getdtsz.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/getegid.c b/sysdeps/mach/hurd/getegid.c index 98149ef992..76faead1df 100644 --- a/sysdeps/mach/hurd/getegid.c +++ b/sysdeps/mach/hurd/getegid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/geteuid.c b/sysdeps/mach/hurd/geteuid.c index da9c08d8ac..68181a3bac 100644 --- a/sysdeps/mach/hurd/geteuid.c +++ b/sysdeps/mach/hurd/geteuid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/getgid.c b/sysdeps/mach/hurd/getgid.c index fd73f3d232..04fe956577 100644 --- a/sysdeps/mach/hurd/getgid.c +++ b/sysdeps/mach/hurd/getgid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/getgroups.c b/sysdeps/mach/hurd/getgroups.c index a2eaaf2d96..bf5de3b348 100644 --- a/sysdeps/mach/hurd/getgroups.c +++ b/sysdeps/mach/hurd/getgroups.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/gethostid.c b/sysdeps/mach/hurd/gethostid.c index 4e107f2510..68b5a03d8f 100644 --- a/sysdeps/mach/hurd/gethostid.c +++ b/sysdeps/mach/hurd/gethostid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/gethostname.c b/sysdeps/mach/hurd/gethostname.c index 227ed13631..a1fe95e7e7 100644 --- a/sysdeps/mach/hurd/gethostname.c +++ b/sysdeps/mach/hurd/gethostname.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/getitimer.c b/sysdeps/mach/hurd/getitimer.c index 3ddb73ae60..96d7043bff 100644 --- a/sysdeps/mach/hurd/getitimer.c +++ b/sysdeps/mach/hurd/getitimer.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2014 Free Software Foundation, Inc. +/* Copyright (C) 1994-2015 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 diff --git a/sysdeps/mach/hurd/getlogin.c b/sysdeps/mach/hurd/getlogin.c index faa2481ad0..093b3c7c55 100644 --- a/sysdeps/mach/hurd/getlogin.c +++ b/sysdeps/mach/hurd/getlogin.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/getlogin_r.c b/sysdeps/mach/hurd/getlogin_r.c index 6c89bd8b11..9c66f865ab 100644 --- a/sysdeps/mach/hurd/getlogin_r.c +++ b/sysdeps/mach/hurd/getlogin_r.c @@ -1,5 +1,5 @@ /* Reentrant function to return the current login name. Hurd version. - Copyright (C) 1996-2014 Free Software Foundation, Inc. + Copyright (C) 1996-2015 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 @@ -25,7 +25,7 @@ If it cannot be determined or some other error occurred, return the error code. Otherwise return 0. */ int -getlogin_r (name, name_len) +__getlogin_r (name, name_len) char *name; size_t name_len; { @@ -45,4 +45,6 @@ getlogin_r (name, name_len) memcpy (name, login, len); return 0; } -libc_hidden_def (getlogin_r) +libc_hidden_def (__getlogin_r) +weak_alias (__getlogin_r, getlogin_r) +libc_hidden_weak (getlogin_r) diff --git a/sysdeps/mach/hurd/getpeername.c b/sysdeps/mach/hurd/getpeername.c index e54f6839ed..19b7c81f40 100644 --- a/sysdeps/mach/hurd/getpeername.c +++ b/sysdeps/mach/hurd/getpeername.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 diff --git a/sysdeps/mach/hurd/getpgid.c b/sysdeps/mach/hurd/getpgid.c index ecb487c093..a27edae34c 100644 --- a/sysdeps/mach/hurd/getpgid.c +++ b/sysdeps/mach/hurd/getpgid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/getpid.c b/sysdeps/mach/hurd/getpid.c index 0e7ed8eedf..43d5290ce0 100644 --- a/sysdeps/mach/hurd/getpid.c +++ b/sysdeps/mach/hurd/getpid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/getppid.c b/sysdeps/mach/hurd/getppid.c index 1447a6522f..26e8aef251 100644 --- a/sysdeps/mach/hurd/getppid.c +++ b/sysdeps/mach/hurd/getppid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/getpriority.c b/sysdeps/mach/hurd/getpriority.c index fab3f8ec75..73c7ad38c8 100644 --- a/sysdeps/mach/hurd/getpriority.c +++ b/sysdeps/mach/hurd/getpriority.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2014 Free Software Foundation, Inc. +/* Copyright (C) 1994-2015 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 @@ -24,7 +24,7 @@ or user (as specified by WHO) is used. A lower priority number means higher priority. Priorities range from PRIO_MIN to PRIO_MAX. */ int -getpriority (enum __priority_which which, id_t who) +__getpriority (enum __priority_which which, id_t who) { error_t err, onerr; int maxpri = INT_MIN; @@ -81,4 +81,5 @@ getpriority (enum __priority_which which, id_t who) return MACH_PRIORITY_TO_NICE (maxpri); } -libc_hidden_def (getpriority) +libc_hidden_def (__getpriority) +weak_alias (__getpriority, getpriority) diff --git a/sysdeps/mach/hurd/getresgid.c b/sysdeps/mach/hurd/getresgid.c index 994d4be4fc..880c94f201 100644 --- a/sysdeps/mach/hurd/getresgid.c +++ b/sysdeps/mach/hurd/getresgid.c @@ -1,5 +1,5 @@ /* getresgid -- fetch real group ID, effective group ID, and saved-set group ID - Copyright (C) 2002-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2015 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 diff --git a/sysdeps/mach/hurd/getresuid.c b/sysdeps/mach/hurd/getresuid.c index 1034ab7232..b765e6e9ca 100644 --- a/sysdeps/mach/hurd/getresuid.c +++ b/sysdeps/mach/hurd/getresuid.c @@ -1,5 +1,5 @@ /* getresuid -- fetch real user ID, effective user ID, and saved-set user ID - Copyright (C) 2002-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2015 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 diff --git a/sysdeps/mach/hurd/getrlimit.c b/sysdeps/mach/hurd/getrlimit.c index 0dc75185d9..bc6a472a61 100644 --- a/sysdeps/mach/hurd/getrlimit.c +++ b/sysdeps/mach/hurd/getrlimit.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 @@ -43,4 +43,5 @@ __getrlimit (enum __rlimit_resource resource, struct rlimit *rlimits) return 0; } +libc_hidden_def (__getrlimit) weak_alias (__getrlimit, getrlimit) diff --git a/sysdeps/mach/hurd/getrusage.c b/sysdeps/mach/hurd/getrusage.c index c2d5087697..769ba8e023 100644 --- a/sysdeps/mach/hurd/getrusage.c +++ b/sysdeps/mach/hurd/getrusage.c @@ -1,5 +1,5 @@ /* getrusage -- Get resource usage information about processes. Hurd version. - Copyright (C) 1999-2014 Free Software Foundation, Inc. + Copyright (C) 1999-2015 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 diff --git a/sysdeps/mach/hurd/getsid.c b/sysdeps/mach/hurd/getsid.c index 0b096ce9a1..ebfa0cedf5 100644 --- a/sysdeps/mach/hurd/getsid.c +++ b/sysdeps/mach/hurd/getsid.c @@ -1,5 +1,5 @@ /* getsid -- Return session ID of a process. Hurd version. - Copyright (C) 1995-2014 Free Software Foundation, Inc. + Copyright (C) 1995-2015 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 diff --git a/sysdeps/mach/hurd/getsockname.c b/sysdeps/mach/hurd/getsockname.c index 24ed0dd8a4..4c26b6bd58 100644 --- a/sysdeps/mach/hurd/getsockname.c +++ b/sysdeps/mach/hurd/getsockname.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 diff --git a/sysdeps/mach/hurd/getsockopt.c b/sysdeps/mach/hurd/getsockopt.c index bf8dc4b7b4..c33f862333 100644 --- a/sysdeps/mach/hurd/getsockopt.c +++ b/sysdeps/mach/hurd/getsockopt.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 diff --git a/sysdeps/mach/hurd/getuid.c b/sysdeps/mach/hurd/getuid.c index 57f2976739..ad5ff9e5e6 100644 --- a/sysdeps/mach/hurd/getuid.c +++ b/sysdeps/mach/hurd/getuid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/getxattr.c b/sysdeps/mach/hurd/getxattr.c index 5ade5d3f07..b3e8663469 100644 --- a/sysdeps/mach/hurd/getxattr.c +++ b/sysdeps/mach/hurd/getxattr.c @@ -1,5 +1,5 @@ /* Access to extended attributes on files. Hurd version. - Copyright (C) 2004-2014 Free Software Foundation, Inc. + Copyright (C) 2004-2015 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 diff --git a/sysdeps/mach/hurd/group_member.c b/sysdeps/mach/hurd/group_member.c index e12e9df373..991bd919eb 100644 --- a/sysdeps/mach/hurd/group_member.c +++ b/sysdeps/mach/hurd/group_member.c @@ -1,5 +1,5 @@ /* `group_member' -- test if process is in a given group. Hurd version. - Copyright (C) 1993-2014 Free Software Foundation, Inc. + Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/i386/____longjmp_chk.S b/sysdeps/mach/hurd/i386/____longjmp_chk.S index 666465e9e9..0fa685e3fb 100644 --- a/sysdeps/mach/hurd/i386/____longjmp_chk.S +++ b/sysdeps/mach/hurd/i386/____longjmp_chk.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2014 Free Software Foundation, Inc. +/* Copyright (C) 2001-2015 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 diff --git a/sysdeps/mach/hurd/i386/bits/sigcontext.h b/sysdeps/mach/hurd/i386/bits/sigcontext.h index c51a94ef1a..780779fdce 100644 --- a/sysdeps/mach/hurd/i386/bits/sigcontext.h +++ b/sysdeps/mach/hurd/i386/bits/sigcontext.h @@ -1,5 +1,5 @@ /* Machine-dependent signal context structure for GNU Hurd. i386 version. - Copyright (C) 1991-2014 Free Software Foundation, Inc. + Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/i386/exc2signal.c b/sysdeps/mach/hurd/i386/exc2signal.c index b67acff08d..74dda77901 100644 --- a/sysdeps/mach/hurd/i386/exc2signal.c +++ b/sysdeps/mach/hurd/i386/exc2signal.c @@ -1,5 +1,5 @@ /* Translate Mach exception codes into signal numbers. i386 version. - Copyright (C) 1991-2014 Free Software Foundation, Inc. + Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/i386/init-first.c b/sysdeps/mach/hurd/i386/init-first.c index fc355ed6c3..b9bae324d1 100644 --- a/sysdeps/mach/hurd/i386/init-first.c +++ b/sysdeps/mach/hurd/i386/init-first.c @@ -1,5 +1,5 @@ /* Initialization code run first thing by the ELF startup code. For i386/Hurd. - Copyright (C) 1995-2014 Free Software Foundation, Inc. + Copyright (C) 1995-2015 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 @@ -72,6 +72,11 @@ posixland_init (int argc, char **argv, char **envp) /* Set the FPU control word to the proper default value. */ __setfpucw (__fpu_control); } + else + { + /* Initialize data structures so the additional libc can do RPCs. */ + __mach_init (); + } /* Save the command-line arguments. */ __libc_argc = argc; diff --git a/sysdeps/mach/hurd/i386/intr-msg.h b/sysdeps/mach/hurd/i386/intr-msg.h index 452c3ed725..0be995c53b 100644 --- a/sysdeps/mach/hurd/i386/intr-msg.h +++ b/sysdeps/mach/hurd/i386/intr-msg.h @@ -1,5 +1,5 @@ /* Machine-dependent details of interruptible RPC messaging. i386 version. - Copyright (C) 1995-2014 Free Software Foundation, Inc. + Copyright (C) 1995-2015 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 @@ -33,9 +33,9 @@ "_hurd_intr_rpc_msg_do_trap: lcall $7, $0 # status in %0\n" \ "_hurd_intr_rpc_msg_in_trap: movl %%ecx, %%esp\n" \ "_hurd_intr_rpc_msg_sp_restored:" \ - : "=a" (err), "=m" (option), "=m" (timeout) \ - : "m" ((&msg)[-1]), "1" (option), "2" (timeout) \ - : "%ecx"); \ + : "=a" (err), "+m" (option), "+m" (timeout) \ + : "m" ((&msg)[-1]) \ + : "ecx"); \ err; \ }) diff --git a/sysdeps/mach/hurd/i386/ioperm.c b/sysdeps/mach/hurd/i386/ioperm.c index abd0051c6c..6dc2b5de64 100644 --- a/sysdeps/mach/hurd/i386/ioperm.c +++ b/sysdeps/mach/hurd/i386/ioperm.c @@ -1,5 +1,5 @@ /* Access to hardware i/o ports. Hurd/x86 version. - Copyright (C) 2002-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2015 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 diff --git a/sysdeps/mach/hurd/i386/longjmp-ts.c b/sysdeps/mach/hurd/i386/longjmp-ts.c index f78aa772f0..c02e9a5e0f 100644 --- a/sysdeps/mach/hurd/i386/longjmp-ts.c +++ b/sysdeps/mach/hurd/i386/longjmp-ts.c @@ -1,5 +1,5 @@ /* Perform a `longjmp' on a Mach thread_state. i386 version. - Copyright (C) 1991-2014 Free Software Foundation, Inc. + Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/i386/sigcontextinfo.h b/sysdeps/mach/hurd/i386/sigcontextinfo.h index 27b548e73f..ca8f57710a 100644 --- a/sysdeps/mach/hurd/i386/sigcontextinfo.h +++ b/sysdeps/mach/hurd/i386/sigcontextinfo.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2014 Free Software Foundation, Inc. +/* Copyright (C) 1998-2015 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 diff --git a/sysdeps/mach/hurd/i386/sigreturn.c b/sysdeps/mach/hurd/i386/sigreturn.c index 6dba161d7c..1d7ccc39f0 100644 --- a/sysdeps/mach/hurd/i386/sigreturn.c +++ b/sysdeps/mach/hurd/i386/sigreturn.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/i386/static-start.S b/sysdeps/mach/hurd/i386/static-start.S index 22bb84c219..6f8d3d59c5 100644 --- a/sysdeps/mach/hurd/i386/static-start.S +++ b/sysdeps/mach/hurd/i386/static-start.S @@ -1,5 +1,5 @@ /* Startup code for statically linked Hurd/i386 binaries. - Copyright (C) 1998-2014 Free Software Foundation, Inc. + Copyright (C) 1998-2015 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 diff --git a/sysdeps/mach/hurd/i386/sys/io.h b/sysdeps/mach/hurd/i386/sys/io.h index 6ad2d94ded..28fe01fcda 100644 --- a/sysdeps/mach/hurd/i386/sys/io.h +++ b/sysdeps/mach/hurd/i386/sys/io.h @@ -1,5 +1,5 @@ /* Access to hardware i/o ports. GNU/x86 version. - Copyright (C) 2002-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2015 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 diff --git a/sysdeps/mach/hurd/i386/tls.h b/sysdeps/mach/hurd/i386/tls.h index 3f84300206..ca68d1cfde 100644 --- a/sysdeps/mach/hurd/i386/tls.h +++ b/sysdeps/mach/hurd/i386/tls.h @@ -1,5 +1,5 @@ /* Definitions for thread-local data handling. Hurd/i386 version. - Copyright (C) 2003-2014 Free Software Foundation, Inc. + Copyright (C) 2003-2015 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 @@ -23,9 +23,44 @@ /* Some things really need not be machine-dependent. */ #include <sysdeps/mach/hurd/tls.h> + +#ifndef __ASSEMBLER__ +/* Type for the dtv. */ +typedef union dtv +{ + size_t counter; + struct + { + void *val; + bool is_static; + } pointer; +} dtv_t; + + +/* Type of the TCB. */ +typedef struct +{ + void *tcb; /* Points to this structure. */ + dtv_t *dtv; /* Vector of pointers to TLS data. */ + thread_t self; /* This thread's control port. */ + int multiple_threads; + uintptr_t sysinfo; + uintptr_t stack_guard; + uintptr_t pointer_guard; + int gscope_flag; + int private_futex; + /* Reservation of some values for the TM ABI. */ + void *__private_tm[4]; + /* GCC split stack support. */ + void *__private_ss; +} tcbhead_t; +#endif + + /* The TCB can have any size and the memory following the address the thread pointer points to is unspecified. Allocate the TCB there. */ #define TLS_TCB_AT_TP 1 +#define TLS_DTV_AT_TP 0 #ifndef __ASSEMBLER__ @@ -55,69 +90,46 @@ static inline const char * __attribute__ ((unused)) -_hurd_tls_init (tcbhead_t *tcb, int secondcall) +_hurd_tls_init (tcbhead_t *tcb) { HURD_TLS_DESC_DECL (desc, tcb); - if (!secondcall) + /* This field is used by TLS accesses to get our "thread pointer" + from the TLS point of view. */ + tcb->tcb = tcb; + + /* Cache our thread port. */ + tcb->self = __mach_thread_self (); + + /* Get the first available selector. */ + int sel = -1; + error_t err = __i386_set_gdt (tcb->self, &sel, desc); + if (err == MIG_BAD_ID) { - /* This field is used by TLS accesses to get our "thread pointer" - from the TLS point of view. */ - tcb->tcb = tcb; - - /* Cache our thread port. */ - tcb->self = __mach_thread_self (); - - /* Get the first available selector. */ - int sel = -1; - error_t err = __i386_set_gdt (tcb->self, &sel, desc); - if (err == MIG_BAD_ID) - { - /* Old kernel, use a per-thread LDT. */ - sel = 0x27; - err = __i386_set_ldt (tcb->self, sel, &desc, 1); - assert_perror (err); - if (err) - return "i386_set_ldt failed"; - } - else if (err) - { - assert_perror (err); /* Separate from above with different line #. */ - return "i386_set_gdt failed"; - } - - /* Now install the new selector. */ - asm volatile ("mov %w0, %%gs" :: "q" (sel)); + /* Old kernel, use a per-thread LDT. */ + sel = 0x27; + err = __i386_set_ldt (tcb->self, sel, &desc, 1); + assert_perror (err); + if (err) + return "i386_set_ldt failed"; } - else + else if (err) { - /* Fetch the selector set by the first call. */ - int sel; - asm ("mov %%gs, %w0" : "=q" (sel) : "0" (0)); - if (__builtin_expect (sel, 0x50) & 4) /* LDT selector */ - { - error_t err = __i386_set_ldt (tcb->self, sel, &desc, 1); - assert_perror (err); - if (err) - return "i386_set_ldt failed"; - } - else - { - error_t err = __i386_set_gdt (tcb->self, &sel, desc); - assert_perror (err); - if (err) - return "i386_set_gdt failed"; - } + assert_perror (err); /* Separate from above with different line #. */ + return "i386_set_gdt failed"; } + /* Now install the new selector. */ + asm volatile ("mov %w0, %%gs" :: "q" (sel)); + return 0; } /* Code to initially initialize the thread pointer. This might need special attention since 'errno' is not yet available and if the operation can cause a failure 'errno' must not be touched. */ -# define TLS_INIT_TP(descr, secondcall) \ - _hurd_tls_init ((tcbhead_t *) (descr), (secondcall)) +# define TLS_INIT_TP(descr) \ + _hurd_tls_init ((tcbhead_t *) (descr)) /* Return the TCB address of the current thread. */ # define THREAD_SELF \ diff --git a/sysdeps/mach/hurd/i386/trampoline.c b/sysdeps/mach/hurd/i386/trampoline.c index d4a839304b..2dffd1382c 100644 --- a/sysdeps/mach/hurd/i386/trampoline.c +++ b/sysdeps/mach/hurd/i386/trampoline.c @@ -1,5 +1,5 @@ /* Set thread_state for sighandler, and sigcontext to recover. i386 version. - Copyright (C) 1994-2014 Free Software Foundation, Inc. + Copyright (C) 1994-2015 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 @@ -35,7 +35,6 @@ _hurd_setup_sighandler (struct hurd_sigstate *ss, __sighandler_t handler, void trampoline (void); void rpc_wait_trampoline (void); void firewall (void); - extern const void _hurd_intr_rpc_msg_in_trap; extern const void _hurd_intr_rpc_msg_cx_sp; extern const void _hurd_intr_rpc_msg_sp_restored; void *volatile sigsp; diff --git a/sysdeps/mach/hurd/if_index.c b/sysdeps/mach/hurd/if_index.c index 9d0ca62fa1..652149b4d8 100644 --- a/sysdeps/mach/hurd/if_index.c +++ b/sysdeps/mach/hurd/if_index.c @@ -1,5 +1,5 @@ /* Find network interface names and index numbers. Hurd version. - Copyright (C) 2000-2014 Free Software Foundation, Inc. + Copyright (C) 2000-2015 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,7 @@ /* Return the interface index corresponding to interface IFNAME. On error, return 0. */ unsigned int -if_nametoindex (const char *ifname) +__if_nametoindex (const char *ifname) { struct ifreq ifr; int fd = __opensock (); @@ -49,11 +49,13 @@ if_nametoindex (const char *ifname) __close (fd); return ifr.ifr_ifindex; } -libc_hidden_def (if_nametoindex) +libc_hidden_def (__if_nametoindex) +weak_alias (__if_nametoindex, if_nametoindex) +libc_hidden_weak (if_nametoindex) /* Free the structure IFN returned by if_nameindex. */ void -if_freenameindex (struct if_nameindex *ifn) +__if_freenameindex (struct if_nameindex *ifn) { struct if_nameindex *ptr = ifn; while (ptr->if_name || ptr->if_index) @@ -63,12 +65,13 @@ if_freenameindex (struct if_nameindex *ifn) } free (ifn); } +weak_alias (__if_freenameindex, if_freenameindex) /* Return an array of if_nameindex structures, one for each network interface present, plus one indicating the end of the array. On error, return NULL. */ struct if_nameindex * -if_nameindex (void) +__if_nameindex (void) { error_t err = 0; char data[2048]; @@ -148,12 +151,13 @@ if_nameindex (void) __set_errno (err); return idx; } +weak_alias (__if_nameindex, if_nameindex) /* Store the name of the interface corresponding to index IFINDEX in IFNAME (which has space for at least IFNAMSIZ characters). Return IFNAME, or NULL on error. */ char * -if_indextoname (unsigned int ifindex, char *ifname) +__if_indextoname (unsigned int ifindex, char *ifname) { struct ifreq ifr; int fd = __opensock (); @@ -175,7 +179,8 @@ if_indextoname (unsigned int ifindex, char *ifname) __close (fd); return strncpy (ifname, ifr.ifr_name, IFNAMSIZ); } -libc_hidden_def (if_indextoname) +weak_alias (__if_indextoname, if_indextoname) +libc_hidden_weak (if_indextoname) #if 0 void diff --git a/sysdeps/mach/hurd/ifreq.c b/sysdeps/mach/hurd/ifreq.c index 10a3a3754a..2cc936f712 100644 --- a/sysdeps/mach/hurd/ifreq.c +++ b/sysdeps/mach/hurd/ifreq.c @@ -1,5 +1,5 @@ /* Fetch the host's network interface list. Hurd version. - Copyright (C) 2002-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2015 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 diff --git a/sysdeps/mach/hurd/ifreq.h b/sysdeps/mach/hurd/ifreq.h index b7c9a6dbff..a75df57f12 100644 --- a/sysdeps/mach/hurd/ifreq.h +++ b/sysdeps/mach/hurd/ifreq.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2014 Free Software Foundation, Inc. +/* Copyright (C) 1999-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Andreas Jaeger <aj@suse.de>. diff --git a/sysdeps/mach/hurd/ioctl.c b/sysdeps/mach/hurd/ioctl.c index c860348a99..4743cb6945 100644 --- a/sysdeps/mach/hurd/ioctl.c +++ b/sysdeps/mach/hurd/ioctl.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 diff --git a/sysdeps/mach/hurd/isatty.c b/sysdeps/mach/hurd/isatty.c index 724bc0896d..3fd5077717 100644 --- a/sysdeps/mach/hurd/isatty.c +++ b/sysdeps/mach/hurd/isatty.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2014 Free Software Foundation, Inc. +/* Copyright (C) 1994-2015 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 diff --git a/sysdeps/mach/hurd/jmp-unwind.c b/sysdeps/mach/hurd/jmp-unwind.c index 4df4edbf71..8009611599 100644 --- a/sysdeps/mach/hurd/jmp-unwind.c +++ b/sysdeps/mach/hurd/jmp-unwind.c @@ -1,5 +1,5 @@ /* _longjmp_unwind -- Clean up stack frames unwound by longjmp. Hurd version. - Copyright (C) 1995-2014 Free Software Foundation, Inc. + Copyright (C) 1995-2015 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 diff --git a/sysdeps/mach/hurd/kernel-features.h b/sysdeps/mach/hurd/kernel-features.h index fa4a1d8247..d733ebeeb3 100644 --- a/sysdeps/mach/hurd/kernel-features.h +++ b/sysdeps/mach/hurd/kernel-features.h @@ -1,5 +1,5 @@ /* Set flags signalling availability of certain operating system features. - Copyright (C) 2012-2014 Free Software Foundation, Inc. + Copyright (C) 2012-2015 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 diff --git a/sysdeps/mach/hurd/kill.c b/sysdeps/mach/hurd/kill.c index 999be3a6a5..4623ca7dcb 100644 --- a/sysdeps/mach/hurd/kill.c +++ b/sysdeps/mach/hurd/kill.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/lchmod.c b/sysdeps/mach/hurd/lchmod.c index c4bedc9cd3..03b2d1b99b 100644 --- a/sysdeps/mach/hurd/lchmod.c +++ b/sysdeps/mach/hurd/lchmod.c @@ -1,5 +1,5 @@ /* lchmod -- Change the protections of a file or symbolic link. Hurd version. - Copyright (C) 2002-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2015 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 diff --git a/sysdeps/mach/hurd/lchown.c b/sysdeps/mach/hurd/lchown.c index c62c0481b2..8bfe9f8155 100644 --- a/sysdeps/mach/hurd/lchown.c +++ b/sysdeps/mach/hurd/lchown.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/lgetxattr.c b/sysdeps/mach/hurd/lgetxattr.c index b2989fbdbd..4814b85654 100644 --- a/sysdeps/mach/hurd/lgetxattr.c +++ b/sysdeps/mach/hurd/lgetxattr.c @@ -1,5 +1,5 @@ /* Access to extended attributes on files. Hurd version. - Copyright (C) 2004-2014 Free Software Foundation, Inc. + Copyright (C) 2004-2015 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 diff --git a/sysdeps/mach/hurd/link.c b/sysdeps/mach/hurd/link.c index d1d4da85e9..49e6249c9d 100644 --- a/sysdeps/mach/hurd/link.c +++ b/sysdeps/mach/hurd/link.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/linkat.c b/sysdeps/mach/hurd/linkat.c index 2aef15f82b..10f653d2c6 100644 --- a/sysdeps/mach/hurd/linkat.c +++ b/sysdeps/mach/hurd/linkat.c @@ -1,5 +1,5 @@ /* Make a link between file names relative to open directories. Hurd version. - Copyright (C) 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2015 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 diff --git a/sysdeps/mach/hurd/listen.c b/sysdeps/mach/hurd/listen.c index 4fffc71fbb..3be59d0ca1 100644 --- a/sysdeps/mach/hurd/listen.c +++ b/sysdeps/mach/hurd/listen.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 diff --git a/sysdeps/mach/hurd/listxattr.c b/sysdeps/mach/hurd/listxattr.c index f8d914f38b..cd941c5b06 100644 --- a/sysdeps/mach/hurd/listxattr.c +++ b/sysdeps/mach/hurd/listxattr.c @@ -1,5 +1,5 @@ /* Access to extended attributes on files. Hurd version. - Copyright (C) 2005-2014 Free Software Foundation, Inc. + Copyright (C) 2005-2015 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 diff --git a/sysdeps/mach/hurd/llistxattr.c b/sysdeps/mach/hurd/llistxattr.c index 2ee28dc9c1..88edf12341 100644 --- a/sysdeps/mach/hurd/llistxattr.c +++ b/sysdeps/mach/hurd/llistxattr.c @@ -1,5 +1,5 @@ /* Access to extended attributes on files. Hurd version. - Copyright (C) 2005-2014 Free Software Foundation, Inc. + Copyright (C) 2005-2015 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 diff --git a/sysdeps/mach/hurd/lremovexattr.c b/sysdeps/mach/hurd/lremovexattr.c index 4c95e5da5b..b18e6cc03d 100644 --- a/sysdeps/mach/hurd/lremovexattr.c +++ b/sysdeps/mach/hurd/lremovexattr.c @@ -1,5 +1,5 @@ /* Access to extended attributes on files. Hurd version. - Copyright (C) 2005-2014 Free Software Foundation, Inc. + Copyright (C) 2005-2015 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 diff --git a/sysdeps/mach/hurd/lseek.c b/sysdeps/mach/hurd/lseek.c index 10c84ba1d5..2e926a5baf 100644 --- a/sysdeps/mach/hurd/lseek.c +++ b/sysdeps/mach/hurd/lseek.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/lseek64.c b/sysdeps/mach/hurd/lseek64.c index a2ef76b724..d716b71bb8 100644 --- a/sysdeps/mach/hurd/lseek64.c +++ b/sysdeps/mach/hurd/lseek64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2014 Free Software Foundation, Inc. +/* Copyright (C) 2000-2015 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 diff --git a/sysdeps/mach/hurd/lsetxattr.c b/sysdeps/mach/hurd/lsetxattr.c index 472c716c2c..11dbb3e7bd 100644 --- a/sysdeps/mach/hurd/lsetxattr.c +++ b/sysdeps/mach/hurd/lsetxattr.c @@ -1,5 +1,5 @@ /* Access to extended attributes on files. Hurd version. - Copyright (C) 2004-2014 Free Software Foundation, Inc. + Copyright (C) 2004-2015 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 diff --git a/sysdeps/mach/hurd/lutimes.c b/sysdeps/mach/hurd/lutimes.c index 260842d230..809f03df40 100644 --- a/sysdeps/mach/hurd/lutimes.c +++ b/sysdeps/mach/hurd/lutimes.c @@ -1,5 +1,5 @@ /* lutimes -- change access and modification times of a symlink. Hurd version. - Copyright (C) 2002-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2015 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 diff --git a/sysdeps/mach/hurd/lxstat.c b/sysdeps/mach/hurd/lxstat.c index f971517602..a5d45e5d91 100644 --- a/sysdeps/mach/hurd/lxstat.c +++ b/sysdeps/mach/hurd/lxstat.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 diff --git a/sysdeps/mach/hurd/lxstat64.c b/sysdeps/mach/hurd/lxstat64.c index 4fc809dd3c..0897cf370e 100644 --- a/sysdeps/mach/hurd/lxstat64.c +++ b/sysdeps/mach/hurd/lxstat64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2014 Free Software Foundation, Inc. +/* Copyright (C) 2000-2015 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 diff --git a/sysdeps/mach/hurd/malloc-machine.h b/sysdeps/mach/hurd/malloc-machine.h index cd866429a7..d69d82be8e 100644 --- a/sysdeps/mach/hurd/malloc-machine.h +++ b/sysdeps/mach/hurd/malloc-machine.h @@ -1,6 +1,6 @@ /* Basic platform-independent macro definitions for mutexes, thread-specific data and parameters for malloc. - Copyright (C) 2003-2014 Free Software Foundation, Inc. + Copyright (C) 2003-2015 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 @@ -33,13 +33,13 @@ #define mutex_t struct mutex #undef mutex_init -#define mutex_init(m) (__mutex_init(m), 0) +#define mutex_init(m) ({ __mutex_init(m); 0; }) #undef mutex_lock -#define mutex_lock(m) (__mutex_lock(m), 0) +#define mutex_lock(m) ({ __mutex_lock(m); 0; }) #undef mutex_unlock -#define mutex_unlock(m) (__mutex_unlock(m), 0) +#define mutex_unlock(m) ({ __mutex_unlock(m); 0; }) #define mutex_trylock(m) (!__mutex_trylock(m)) diff --git a/sysdeps/mach/hurd/mig-reply.c b/sysdeps/mach/hurd/mig-reply.c index 540b7bd511..9ed31c1673 100644 --- a/sysdeps/mach/hurd/mig-reply.c +++ b/sysdeps/mach/hurd/mig-reply.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2014 Free Software Foundation, Inc. +/* Copyright (C) 1994-2015 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 diff --git a/sysdeps/mach/hurd/mkdir.c b/sysdeps/mach/hurd/mkdir.c index a8cb835ab6..329f110a83 100644 --- a/sysdeps/mach/hurd/mkdir.c +++ b/sysdeps/mach/hurd/mkdir.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/mkdirat.c b/sysdeps/mach/hurd/mkdirat.c index de4f5331d7..75560dc4f3 100644 --- a/sysdeps/mach/hurd/mkdirat.c +++ b/sysdeps/mach/hurd/mkdirat.c @@ -1,5 +1,5 @@ /* Create a directory named relative to another open directory. Hurd version. - Copyright (C) 1991-2014 Free Software Foundation, Inc. + Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/mlock.c b/sysdeps/mach/hurd/mlock.c index 14c311c061..8ef568ea4c 100644 --- a/sysdeps/mach/hurd/mlock.c +++ b/sysdeps/mach/hurd/mlock.c @@ -1,5 +1,5 @@ /* mlock -- guarantee pages are resident in memory. Mach/Hurd version. - Copyright (C) 2001-2014 Free Software Foundation, Inc. + Copyright (C) 2001-2015 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 @@ -28,19 +28,20 @@ int mlock (const void *addr, size_t len) { - mach_port_t hostpriv; + mach_port_t host; vm_address_t page; error_t err; - err = __get_privileged_ports (&hostpriv, NULL); + err = __get_privileged_ports (&host, NULL); if (err) - return __hurd_fail (EPERM); + host = __mach_host_self(); page = trunc_page ((vm_address_t) addr); len = round_page ((vm_address_t) addr + len) - page; - err = __vm_wire (hostpriv, __mach_task_self (), page, len, - VM_PROT_READ); - __mach_port_deallocate (__mach_task_self (), hostpriv); + + err = __vm_wire (host, __mach_task_self (), page, len, VM_PROT_READ); + if (host != __mach_host_self()) + __mach_port_deallocate (__mach_task_self (), host); return err ? __hurd_fail (err) : 0; } diff --git a/sysdeps/mach/hurd/mmap.c b/sysdeps/mach/hurd/mmap.c index 5407ed9b65..139f27ad30 100644 --- a/sysdeps/mach/hurd/mmap.c +++ b/sysdeps/mach/hurd/mmap.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2014 Free Software Foundation, Inc. +/* Copyright (C) 1994-2015 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 @@ -48,8 +48,7 @@ __mmap (__ptr_t addr, size_t len, int prot, int flags, int fd, off_t offset) && prot == (PROT_READ|PROT_WRITE)) /* cf VM_PROT_DEFAULT */ { /* vm_allocate has (a little) less overhead in the kernel too. */ - err = __vm_allocate (__mach_task_self (), &mapaddr, len, - mapaddr == NULL); + err = __vm_allocate (__mach_task_self (), &mapaddr, len, mapaddr == 0); if (err == KERN_NO_SPACE) { @@ -61,7 +60,7 @@ __mmap (__ptr_t addr, size_t len, int prot, int flags, int fd, off_t offset) if (!err) err = __vm_allocate (__mach_task_self (), &mapaddr, len, 0); } - else if (mapaddr != NULL) + else if (mapaddr != 0) err = __vm_allocate (__mach_task_self (), &mapaddr, len, 1); } @@ -97,6 +96,13 @@ __mmap (__ptr_t addr, size_t len, int prot, int flags, int fd, off_t offset) } switch (prot & (PROT_READ|PROT_WRITE)) { + /* Although it apparently doesn't make sense to map a file with + protection set to PROT_NONE, it is actually sometimes done. + In particular, that's how localedef reserves some space for + the locale archive file, the rationale being that some + implementations take into account whether the mapping is + anonymous or not when selecting addresses. */ + case PROT_NONE: case PROT_READ: memobj = robj; if (wobj != MACH_PORT_NULL) @@ -126,8 +132,8 @@ __mmap (__ptr_t addr, size_t len, int prot, int flags, int fd, off_t offset) return (__ptr_t) (long int) __hurd_fail (EACCES); } break; - default: /* impossible */ - return 0; + default: + __builtin_unreachable (); } break; /* XXX handle MAP_NOEXTEND */ @@ -138,7 +144,7 @@ __mmap (__ptr_t addr, size_t len, int prot, int flags, int fd, off_t offset) err = __vm_map (__mach_task_self (), &mapaddr, (vm_size_t) len, (vm_address_t) 0, - mapaddr == NULL, + mapaddr == 0, memobj, (vm_offset_t) offset, ! (flags & MAP_SHARED), vmprot, VM_PROT_ALL, @@ -160,7 +166,7 @@ __mmap (__ptr_t addr, size_t len, int prot, int flags, int fd, off_t offset) (flags & MAP_SHARED) ? VM_INHERIT_SHARE : VM_INHERIT_COPY); } - else if (mapaddr != NULL) + else if (mapaddr != 0) err = __vm_map (__mach_task_self (), &mapaddr, (vm_size_t) len, (vm_address_t) 0, 1, memobj, (vm_offset_t) offset, diff --git a/sysdeps/mach/hurd/munlock.c b/sysdeps/mach/hurd/munlock.c index c03af90cb8..d063afc9c9 100644 --- a/sysdeps/mach/hurd/munlock.c +++ b/sysdeps/mach/hurd/munlock.c @@ -1,5 +1,5 @@ /* munlock -- undo the effects of prior mlock calls. Mach/Hurd version. - Copyright (C) 2001-2014 Free Software Foundation, Inc. + Copyright (C) 2001-2015 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 @@ -27,18 +27,20 @@ int munlock (const void *addr, size_t len) { - mach_port_t hostpriv; + mach_port_t host; vm_address_t page; error_t err; - err = __get_privileged_ports (&hostpriv, NULL); + err = __get_privileged_ports (&host, NULL); if (err) - return __hurd_fail (EPERM); + host = __mach_host_self(); page = trunc_page ((vm_address_t) addr); len = round_page ((vm_address_t) addr + len) - page; - err = __vm_wire (hostpriv, __mach_task_self (), page, len, VM_PROT_NONE); - __mach_port_deallocate (__mach_task_self (), hostpriv); + + err = __vm_wire (host, __mach_task_self (), page, len, VM_PROT_NONE); + if (host != __mach_host_self()) + __mach_port_deallocate (__mach_task_self (), host); return err ? __hurd_fail (err) : 0; } diff --git a/sysdeps/mach/hurd/net/ethernet.h b/sysdeps/mach/hurd/net/ethernet.h index 3b2b473980..8dd2ce4695 100644 --- a/sysdeps/mach/hurd/net/ethernet.h +++ b/sysdeps/mach/hurd/net/ethernet.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2014 Free Software Foundation, Inc. +/* Copyright (C) 1997-2015 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 diff --git a/sysdeps/mach/hurd/net/if_arp.h b/sysdeps/mach/hurd/net/if_arp.h index 6ac89d756c..e104e44dd4 100644 --- a/sysdeps/mach/hurd/net/if_arp.h +++ b/sysdeps/mach/hurd/net/if_arp.h @@ -1,5 +1,5 @@ /* Definitions for Address Resolution Protocol. - Copyright (C) 1997-2014 Free Software Foundation, Inc. + Copyright (C) 1997-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. diff --git a/sysdeps/mach/hurd/net/if_ether.h b/sysdeps/mach/hurd/net/if_ether.h index 270993ceb2..0e6ac7b68f 100644 --- a/sysdeps/mach/hurd/net/if_ether.h +++ b/sysdeps/mach/hurd/net/if_ether.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2014 Free Software Foundation, Inc. +/* Copyright (C) 1997-2015 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 diff --git a/sysdeps/mach/hurd/net/route.h b/sysdeps/mach/hurd/net/route.h index d18a68afff..5a2207630b 100644 --- a/sysdeps/mach/hurd/net/route.h +++ b/sysdeps/mach/hurd/net/route.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2014 Free Software Foundation, Inc.. +/* Copyright (C) 1997-2015 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 diff --git a/sysdeps/mach/hurd/open.c b/sysdeps/mach/hurd/open.c index 7d9b2de70c..c497a7cb44 100644 --- a/sysdeps/mach/hurd/open.c +++ b/sysdeps/mach/hurd/open.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 @@ -22,7 +22,7 @@ #include <hurd.h> #include <hurd/fd.h> -/* Open FILE with access OFLAG. If OFLAG includes O_CREAT, +/* Open FILE with access OFLAG. If O_CREAT or O_TMPFILE is in OFLAG, a third argument is the file protection. */ int __libc_open (const char *file, int oflag, ...) @@ -30,7 +30,7 @@ __libc_open (const char *file, int oflag, ...) mode_t mode; io_t port; - if (oflag & O_CREAT) + if (__OPEN_NEEDS_MODE (oflag)) { va_list arg; va_start (arg, oflag); diff --git a/sysdeps/mach/hurd/openat.c b/sysdeps/mach/hurd/openat.c index 318cb229ef..0d3e138890 100644 --- a/sysdeps/mach/hurd/openat.c +++ b/sysdeps/mach/hurd/openat.c @@ -1,5 +1,5 @@ /* openat -- Open a file named relative to an open directory. Hurd version. - Copyright (C) 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2015 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 @@ -26,7 +26,7 @@ #include <hurd/fd.h> /* Open FILE with access OFLAG. Interpret relative paths relative to - the directory associated with FD. If OFLAG includes O_CREAT, a + the directory associated with FD. If O_CREAT or O_TMPFILE is in OFLAG, a third argument is the file protection. */ int __openat (fd, file, oflag) @@ -37,7 +37,7 @@ __openat (fd, file, oflag) mode_t mode; io_t port; - if (oflag & O_CREAT) + if (__OPEN_NEEDS_MODE (oflag)) { va_list arg; va_start (arg, oflag); diff --git a/sysdeps/mach/hurd/opendir.c b/sysdeps/mach/hurd/opendir.c index 570f0856cc..dda1ff8a3b 100644 --- a/sysdeps/mach/hurd/opendir.c +++ b/sysdeps/mach/hurd/opendir.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 @@ -82,7 +82,7 @@ __opendirat (int dfd, const char *name) int flags = O_RDONLY | O_NONBLOCK | O_DIRECTORY | O_CLOEXEC; int fd; -#ifdef IS_IN_rtld +#if IS_IN (rtld) assert (dfd == AT_FDCWD); fd = open_not_cancel_2 (name, flags); #else diff --git a/sysdeps/mach/hurd/pathconf.c b/sysdeps/mach/hurd/pathconf.c index ef08941dc1..9c35b7c356 100644 --- a/sysdeps/mach/hurd/pathconf.c +++ b/sysdeps/mach/hurd/pathconf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/pipe.c b/sysdeps/mach/hurd/pipe.c index 8bc446e7f2..3193a4131d 100644 --- a/sysdeps/mach/hurd/pipe.c +++ b/sysdeps/mach/hurd/pipe.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 diff --git a/sysdeps/mach/hurd/poll.c b/sysdeps/mach/hurd/poll.c index 9b743b9794..30a390cce6 100644 --- a/sysdeps/mach/hurd/poll.c +++ b/sysdeps/mach/hurd/poll.c @@ -1,5 +1,5 @@ /* poll file descriptors. Hurd version. - Copyright (C) 1998-2014 Free Software Foundation, Inc. + Copyright (C) 1998-2015 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 diff --git a/sysdeps/mach/hurd/ppoll.c b/sysdeps/mach/hurd/ppoll.c index 80a513bf14..554379c23b 100644 --- a/sysdeps/mach/hurd/ppoll.c +++ b/sysdeps/mach/hurd/ppoll.c @@ -1,5 +1,5 @@ /* poll file descriptors. Hurd version. - Copyright (C) 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2015 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 diff --git a/sysdeps/mach/hurd/pread.c b/sysdeps/mach/hurd/pread.c index c359e2a173..80c5bf71f0 100644 --- a/sysdeps/mach/hurd/pread.c +++ b/sysdeps/mach/hurd/pread.c @@ -1,6 +1,6 @@ /* Read block from given position in file without changing file pointer. Hurd version. - Copyright (C) 1999-2014 Free Software Foundation, Inc. + Copyright (C) 1999-2015 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 diff --git a/sysdeps/mach/hurd/pread64.c b/sysdeps/mach/hurd/pread64.c index 55ba5ebbc7..aea001e20f 100644 --- a/sysdeps/mach/hurd/pread64.c +++ b/sysdeps/mach/hurd/pread64.c @@ -1,6 +1,6 @@ /* Read block from given position in file without changing file pointer. Hurd version. - Copyright (C) 2001-2014 Free Software Foundation, Inc. + Copyright (C) 2001-2015 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 diff --git a/sysdeps/mach/hurd/profil.c b/sysdeps/mach/hurd/profil.c index 7ea7272926..9154284c10 100644 --- a/sysdeps/mach/hurd/profil.c +++ b/sysdeps/mach/hurd/profil.c @@ -1,5 +1,5 @@ /* Low-level statistical profiling support function. Mach/Hurd version. - Copyright (C) 1995-2014 Free Software Foundation, Inc. + Copyright (C) 1995-2015 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 diff --git a/sysdeps/mach/hurd/pselect.c b/sysdeps/mach/hurd/pselect.c index 2d87f00bce..8f5fdc9b0a 100644 --- a/sysdeps/mach/hurd/pselect.c +++ b/sysdeps/mach/hurd/pselect.c @@ -1,5 +1,5 @@ /* pselect for Hurd. - Copyright (C) 1998-2014 Free Software Foundation, Inc. + Copyright (C) 1998-2015 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 diff --git a/sysdeps/mach/hurd/ptrace.c b/sysdeps/mach/hurd/ptrace.c index 09fea9c94d..1f3734b96d 100644 --- a/sysdeps/mach/hurd/ptrace.c +++ b/sysdeps/mach/hurd/ptrace.c @@ -1,5 +1,5 @@ /* Process tracing interface `ptrace' for GNU Hurd. - Copyright (C) 1991-2014 Free Software Foundation, Inc. + Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/ptsname.c b/sysdeps/mach/hurd/ptsname.c index bc39cef573..a35bbd430f 100644 --- a/sysdeps/mach/hurd/ptsname.c +++ b/sysdeps/mach/hurd/ptsname.c @@ -1,5 +1,5 @@ /* ptsname -- return the name of a pty slave given an FD to the pty master - Copyright (C) 1999-2014 Free Software Foundation, Inc. + Copyright (C) 1999-2015 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 diff --git a/sysdeps/mach/hurd/pwrite.c b/sysdeps/mach/hurd/pwrite.c index 5c66d37ab6..f4ddf620ee 100644 --- a/sysdeps/mach/hurd/pwrite.c +++ b/sysdeps/mach/hurd/pwrite.c @@ -1,6 +1,6 @@ /* Write block at given position in file without changing file pointer. Hurd version. - Copyright (C) 1999-2014 Free Software Foundation, Inc. + Copyright (C) 1999-2015 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 diff --git a/sysdeps/mach/hurd/pwrite64.c b/sysdeps/mach/hurd/pwrite64.c index 3061b736f5..8234b1870c 100644 --- a/sysdeps/mach/hurd/pwrite64.c +++ b/sysdeps/mach/hurd/pwrite64.c @@ -1,6 +1,6 @@ /* Write block to given position in file without changing file pointer. Hurd version. - Copyright (C) 2001-2014 Free Software Foundation, Inc. + Copyright (C) 2001-2015 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 diff --git a/sysdeps/mach/hurd/read.c b/sysdeps/mach/hurd/read.c index 8dc47bfa29..0819aa9bbe 100644 --- a/sysdeps/mach/hurd/read.c +++ b/sysdeps/mach/hurd/read.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/readdir.c b/sysdeps/mach/hurd/readdir.c index 7146882bc1..67dba56c2e 100644 --- a/sysdeps/mach/hurd/readdir.c +++ b/sysdeps/mach/hurd/readdir.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/readdir64.c b/sysdeps/mach/hurd/readdir64.c index 6208ed42bb..8e7f734266 100644 --- a/sysdeps/mach/hurd/readdir64.c +++ b/sysdeps/mach/hurd/readdir64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2014 Free Software Foundation, Inc. +/* Copyright (C) 2001-2015 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 diff --git a/sysdeps/mach/hurd/readdir64_r.c b/sysdeps/mach/hurd/readdir64_r.c index b1a948193b..98654a170c 100644 --- a/sysdeps/mach/hurd/readdir64_r.c +++ b/sysdeps/mach/hurd/readdir64_r.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2014 Free Software Foundation, Inc. +/* Copyright (C) 2001-2015 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 diff --git a/sysdeps/mach/hurd/readdir_r.c b/sysdeps/mach/hurd/readdir_r.c index c7e5a85328..b0d9f8669b 100644 --- a/sysdeps/mach/hurd/readdir_r.c +++ b/sysdeps/mach/hurd/readdir_r.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/readlink.c b/sysdeps/mach/hurd/readlink.c index 1d6fe18abd..b36a9494f9 100644 --- a/sysdeps/mach/hurd/readlink.c +++ b/sysdeps/mach/hurd/readlink.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/readlinkat.c b/sysdeps/mach/hurd/readlinkat.c index 52167007f3..b538a3bccf 100644 --- a/sysdeps/mach/hurd/readlinkat.c +++ b/sysdeps/mach/hurd/readlinkat.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/reboot.c b/sysdeps/mach/hurd/reboot.c index 83187d46e0..654745b862 100644 --- a/sysdeps/mach/hurd/reboot.c +++ b/sysdeps/mach/hurd/reboot.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 diff --git a/sysdeps/mach/hurd/recv.c b/sysdeps/mach/hurd/recv.c index 1a98ea824f..358380e7a6 100644 --- a/sysdeps/mach/hurd/recv.c +++ b/sysdeps/mach/hurd/recv.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2014 Free Software Foundation, Inc. +/* Copyright (C) 1994-2015 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 @@ -60,4 +60,5 @@ __recv (fd, buf, n, flags) return nread; } +libc_hidden_def (__recv) weak_alias (__recv, recv) diff --git a/sysdeps/mach/hurd/recvfrom.c b/sysdeps/mach/hurd/recvfrom.c index 4e1a3eb8c7..0b88df04bd 100644 --- a/sysdeps/mach/hurd/recvfrom.c +++ b/sysdeps/mach/hurd/recvfrom.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2014 Free Software Foundation, Inc. +/* Copyright (C) 1994-2015 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 diff --git a/sysdeps/mach/hurd/recvmsg.c b/sysdeps/mach/hurd/recvmsg.c index ae45478e12..29b5a88c65 100644 --- a/sysdeps/mach/hurd/recvmsg.c +++ b/sysdeps/mach/hurd/recvmsg.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2014 Free Software Foundation, Inc. +/* Copyright (C) 2001-2015 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 diff --git a/sysdeps/mach/hurd/removexattr.c b/sysdeps/mach/hurd/removexattr.c index e114a5a711..314a6f737b 100644 --- a/sysdeps/mach/hurd/removexattr.c +++ b/sysdeps/mach/hurd/removexattr.c @@ -1,5 +1,5 @@ /* Access to extended attributes on files. Hurd version. - Copyright (C) 2005-2014 Free Software Foundation, Inc. + Copyright (C) 2005-2015 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 diff --git a/sysdeps/mach/hurd/rename.c b/sysdeps/mach/hurd/rename.c index 59fd535814..e04371398e 100644 --- a/sysdeps/mach/hurd/rename.c +++ b/sysdeps/mach/hurd/rename.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/renameat.c b/sysdeps/mach/hurd/renameat.c index 31c838cb61..eabf28f977 100644 --- a/sysdeps/mach/hurd/renameat.c +++ b/sysdeps/mach/hurd/renameat.c @@ -1,5 +1,5 @@ /* Rename a file using relative source and destination names. Hurd version. - Copyright (C) 1991-2014 Free Software Foundation, Inc. + Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/revoke.c b/sysdeps/mach/hurd/revoke.c index b95da7c5bb..3412e6c439 100644 --- a/sysdeps/mach/hurd/revoke.c +++ b/sysdeps/mach/hurd/revoke.c @@ -1,5 +1,5 @@ /* Revoke the access of all descriptors currently open on a file. Hurd version - Copyright (C) 1999-2014 Free Software Foundation, Inc. + Copyright (C) 1999-2015 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 diff --git a/sysdeps/mach/hurd/rewinddir.c b/sysdeps/mach/hurd/rewinddir.c index bccd54909b..1e045f1584 100644 --- a/sysdeps/mach/hurd/rewinddir.c +++ b/sysdeps/mach/hurd/rewinddir.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2014 Free Software Foundation, Inc. +/* Copyright (C) 1994-2015 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 @@ -22,9 +22,10 @@ /* Rewind DIRP to the beginning of the directory. */ void -rewinddir (dirp) +__rewinddir (dirp) DIR *dirp; { seekdir (dirp, (off_t) 0L); } -libc_hidden_def (rewinddir) +libc_hidden_def (__rewinddir) +weak_alias (__rewinddir, rewinddir) diff --git a/sysdeps/mach/hurd/rmdir.c b/sysdeps/mach/hurd/rmdir.c index 8ce8afb355..f1ac498a10 100644 --- a/sysdeps/mach/hurd/rmdir.c +++ b/sysdeps/mach/hurd/rmdir.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/sbrk.c b/sysdeps/mach/hurd/sbrk.c index 35a94c4108..e3b2c42c1c 100644 --- a/sysdeps/mach/hurd/sbrk.c +++ b/sysdeps/mach/hurd/sbrk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/seekdir.c b/sysdeps/mach/hurd/seekdir.c index 82614b2fb7..d13561cf5e 100644 --- a/sysdeps/mach/hurd/seekdir.c +++ b/sysdeps/mach/hurd/seekdir.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/select.c b/sysdeps/mach/hurd/select.c index dca0a2546f..47baf04beb 100644 --- a/sysdeps/mach/hurd/select.c +++ b/sysdeps/mach/hurd/select.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/send.c b/sysdeps/mach/hurd/send.c index 07f1b63485..4ba85e1988 100644 --- a/sysdeps/mach/hurd/send.c +++ b/sysdeps/mach/hurd/send.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2014 Free Software Foundation, Inc. +/* Copyright (C) 1994-2015 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 diff --git a/sysdeps/mach/hurd/sendfile.c b/sysdeps/mach/hurd/sendfile.c index 0b89acdd55..8233ed2ecb 100644 --- a/sysdeps/mach/hurd/sendfile.c +++ b/sysdeps/mach/hurd/sendfile.c @@ -1,5 +1,5 @@ /* sendfile -- copy data directly from one file descriptor to another - Copyright (C) 2002-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2015 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 diff --git a/sysdeps/mach/hurd/sendfile64.c b/sysdeps/mach/hurd/sendfile64.c index 7928956fdb..f770600cc8 100644 --- a/sysdeps/mach/hurd/sendfile64.c +++ b/sysdeps/mach/hurd/sendfile64.c @@ -1,5 +1,5 @@ /* sendfile -- copy data directly from one file descriptor to another - Copyright (C) 2002-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2015 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 diff --git a/sysdeps/mach/hurd/sendmsg.c b/sysdeps/mach/hurd/sendmsg.c index 2ef6a0fa09..34fd09c240 100644 --- a/sysdeps/mach/hurd/sendmsg.c +++ b/sysdeps/mach/hurd/sendmsg.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2014 Free Software Foundation, Inc. +/* Copyright (C) 2001-2015 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 @@ -24,6 +24,7 @@ #include <hurd/fd.h> #include <hurd/ifsock.h> #include <hurd/socket.h> +#include "hurd/hurdsocket.h" /* Send a message described MESSAGE on socket FD. Returns the number of bytes sent, or -1 for errors. */ @@ -104,9 +105,10 @@ __libc_sendmsg (int fd, const struct msghdr *message, int flags) { if (addr->sun_family == AF_LOCAL) { + char *name = _hurd_sun_path_dupa (addr, addr_len); /* For the local domain, we must look up the name as a file and talk to it with the ifsock protocol. */ - file_t file = __file_name_lookup (addr->sun_path, 0, 0); + file_t file = __file_name_lookup (name, 0, 0); if (file == MACH_PORT_NULL) { if (dealloc) diff --git a/sysdeps/mach/hurd/sendto.c b/sysdeps/mach/hurd/sendto.c index 477b4aaa5d..577d28892c 100644 --- a/sysdeps/mach/hurd/sendto.c +++ b/sysdeps/mach/hurd/sendto.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2014 Free Software Foundation, Inc. +/* Copyright (C) 1994-2015 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 @@ -22,6 +22,7 @@ #include <hurd/fd.h> #include <hurd/ifsock.h> #include <hurd/socket.h> +#include "hurd/hurdsocket.h" /* Send N bytes of BUF on socket FD to peer at address ADDR (which is ADDR_LEN bytes long). Returns the number sent, or -1 for errors. */ @@ -47,9 +48,10 @@ __sendto (int fd, if (addr->sun_family == AF_LOCAL) { + char *name = _hurd_sun_path_dupa (addr, addr_len); /* For the local domain, we must look up the name as a file and talk to it with the ifsock protocol. */ - file_t file = __file_name_lookup (addr->sun_path, 0, 0); + file_t file = __file_name_lookup (name, 0, 0); if (file == MACH_PORT_NULL) return errno; err_port = __ifsock_getsockaddr (file, aport); diff --git a/sysdeps/mach/hurd/setdomain.c b/sysdeps/mach/hurd/setdomain.c index 76bcc0d472..8f786d46c5 100644 --- a/sysdeps/mach/hurd/setdomain.c +++ b/sysdeps/mach/hurd/setdomain.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2014 Free Software Foundation, Inc. +/* Copyright (C) 1998-2015 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 diff --git a/sysdeps/mach/hurd/setegid.c b/sysdeps/mach/hurd/setegid.c index ddbf832f8c..23a780db29 100644 --- a/sysdeps/mach/hurd/setegid.c +++ b/sysdeps/mach/hurd/setegid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/seteuid.c b/sysdeps/mach/hurd/seteuid.c index af27c5cfca..dad9ffd68d 100644 --- a/sysdeps/mach/hurd/seteuid.c +++ b/sysdeps/mach/hurd/seteuid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/setgid.c b/sysdeps/mach/hurd/setgid.c index 80b722da83..49d598e6d4 100644 --- a/sysdeps/mach/hurd/setgid.c +++ b/sysdeps/mach/hurd/setgid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/setgroups.c b/sysdeps/mach/hurd/setgroups.c index 732c6b5333..3c75d7c4a6 100644 --- a/sysdeps/mach/hurd/setgroups.c +++ b/sysdeps/mach/hurd/setgroups.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/sethostid.c b/sysdeps/mach/hurd/sethostid.c index f21082e628..727a83c2ea 100644 --- a/sysdeps/mach/hurd/sethostid.c +++ b/sysdeps/mach/hurd/sethostid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/sethostname.c b/sysdeps/mach/hurd/sethostname.c index 8c17cba6af..21b64e9686 100644 --- a/sysdeps/mach/hurd/sethostname.c +++ b/sysdeps/mach/hurd/sethostname.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/setitimer.c b/sysdeps/mach/hurd/setitimer.c index 5459b56420..aeaf3d7c4d 100644 --- a/sysdeps/mach/hurd/setitimer.c +++ b/sysdeps/mach/hurd/setitimer.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2014 Free Software Foundation, Inc. +/* Copyright (C) 1994-2015 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 @@ -33,7 +33,7 @@ mach_port_t _hurd_itimer_port; /* Port the timer thread blocks on. */ thread_t _hurd_itimer_thread; /* Thread waiting for timeout. */ int _hurd_itimer_thread_suspended; /* Nonzero if that thread is suspended. */ vm_address_t _hurd_itimer_thread_stack_base; /* Base of its stack. */ -vm_address_t _hurd_itimer_thread_stack_size; /* Size of its stack. */ +vm_size_t _hurd_itimer_thread_stack_size; /* Size of its stack. */ struct timeval _hurd_itimer_started; /* Time the thread started waiting. */ static void diff --git a/sysdeps/mach/hurd/setlogin.c b/sysdeps/mach/hurd/setlogin.c index 1cb38129d1..d9bfcb1c06 100644 --- a/sysdeps/mach/hurd/setlogin.c +++ b/sysdeps/mach/hurd/setlogin.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/setpgid.c b/sysdeps/mach/hurd/setpgid.c index 6662d3df5e..24b640f249 100644 --- a/sysdeps/mach/hurd/setpgid.c +++ b/sysdeps/mach/hurd/setpgid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/setpriority.c b/sysdeps/mach/hurd/setpriority.c index f3e92f4eb6..41d7aa41fe 100644 --- a/sysdeps/mach/hurd/setpriority.c +++ b/sysdeps/mach/hurd/setpriority.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2014 Free Software Foundation, Inc. +/* Copyright (C) 1994-2015 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 @@ -21,7 +21,7 @@ /* Set the priority of all processes specified by WHICH and WHO to PRIO. Returns 0 on success, -1 on errors. */ int -setpriority (enum __priority_which which, id_t who, int prio) +__setpriority (enum __priority_which which, id_t who, int prio) { error_t err; error_t pidloser, priloser; @@ -94,4 +94,5 @@ setpriority (enum __priority_which which, id_t who, int prio) return err ? __hurd_fail (err) : 0; } -libc_hidden_def (setpriority) +libc_hidden_def (__setpriority) +weak_alias (__setpriority, setpriority) diff --git a/sysdeps/mach/hurd/setregid.c b/sysdeps/mach/hurd/setregid.c index 0bf6f40d07..c2b3daf41e 100644 --- a/sysdeps/mach/hurd/setregid.c +++ b/sysdeps/mach/hurd/setregid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/setresgid.c b/sysdeps/mach/hurd/setresgid.c index 4be7fbfaf9..4f580787ba 100644 --- a/sysdeps/mach/hurd/setresgid.c +++ b/sysdeps/mach/hurd/setresgid.c @@ -1,5 +1,5 @@ /* setresgid -- set real group ID, effective group ID, and saved-set group ID - Copyright (C) 2002-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2015 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 diff --git a/sysdeps/mach/hurd/setresuid.c b/sysdeps/mach/hurd/setresuid.c index aa9cc0fa72..d813fbd490 100644 --- a/sysdeps/mach/hurd/setresuid.c +++ b/sysdeps/mach/hurd/setresuid.c @@ -1,5 +1,5 @@ /* setresuid -- set real user ID, effective user ID, and saved-set user ID - Copyright (C) 2002-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2015 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 diff --git a/sysdeps/mach/hurd/setreuid.c b/sysdeps/mach/hurd/setreuid.c index 9ce47747f1..070e93deb6 100644 --- a/sysdeps/mach/hurd/setreuid.c +++ b/sysdeps/mach/hurd/setreuid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/setrlimit.c b/sysdeps/mach/hurd/setrlimit.c index 158fa42079..151a87abac 100644 --- a/sysdeps/mach/hurd/setrlimit.c +++ b/sysdeps/mach/hurd/setrlimit.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/setsid.c b/sysdeps/mach/hurd/setsid.c index 36ec3d866e..2b792fcf93 100644 --- a/sysdeps/mach/hurd/setsid.c +++ b/sysdeps/mach/hurd/setsid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 @@ -20,6 +20,7 @@ #include <hurd.h> #include <hurd/port.h> #include <hurd/fd.h> +#include <hurd/ioctl.h> /* Create a new session with the calling process as its leader. The process group IDs of the session and the calling process diff --git a/sysdeps/mach/hurd/setsockopt.c b/sysdeps/mach/hurd/setsockopt.c index 32a50d0c73..62594a1925 100644 --- a/sysdeps/mach/hurd/setsockopt.c +++ b/sysdeps/mach/hurd/setsockopt.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 diff --git a/sysdeps/mach/hurd/settimeofday.c b/sysdeps/mach/hurd/settimeofday.c index 274fb52d4c..b866fc772b 100644 --- a/sysdeps/mach/hurd/settimeofday.c +++ b/sysdeps/mach/hurd/settimeofday.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/setuid.c b/sysdeps/mach/hurd/setuid.c index 2753057f9e..4b757b9607 100644 --- a/sysdeps/mach/hurd/setuid.c +++ b/sysdeps/mach/hurd/setuid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/setxattr.c b/sysdeps/mach/hurd/setxattr.c index eb876d9495..2d6412da18 100644 --- a/sysdeps/mach/hurd/setxattr.c +++ b/sysdeps/mach/hurd/setxattr.c @@ -1,5 +1,5 @@ /* Access to extended attributes on files. Hurd version. - Copyright (C) 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2015 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 diff --git a/sysdeps/mach/hurd/shlib-versions b/sysdeps/mach/hurd/shlib-versions new file mode 100644 index 0000000000..edbc3014a6 --- /dev/null +++ b/sysdeps/mach/hurd/shlib-versions @@ -0,0 +1,12 @@ +DEFAULT GLIBC_2.2.6 + +libm=6 + +# libmachuser.so.1 corresponds to mach/*.defs as of Utah's UK22 release. +libmachuser=1 + +# libhurduser.so.0.3 corresponds to hurd/*.defs as of 11 June 2002. +libhurduser=0.3 + +# libc.so.0.3 is the first Hurd libc using libio. +libc=0.3 diff --git a/sysdeps/mach/hurd/shutdown.c b/sysdeps/mach/hurd/shutdown.c index a75d123d34..fdaddbecc0 100644 --- a/sysdeps/mach/hurd/shutdown.c +++ b/sysdeps/mach/hurd/shutdown.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 diff --git a/sysdeps/mach/hurd/sigaction.c b/sysdeps/mach/hurd/sigaction.c index a0620de2bd..34be28f5e1 100644 --- a/sysdeps/mach/hurd/sigaction.c +++ b/sysdeps/mach/hurd/sigaction.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/sysdeps/mach/hurd/sigaltstack.c b/sysdeps/mach/hurd/sigaltstack.c index 2f069e1c61..f573c5ce07 100644 --- a/sysdeps/mach/hurd/sigaltstack.c +++ b/sysdeps/mach/hurd/sigaltstack.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 diff --git a/sysdeps/mach/hurd/siglist.h b/sysdeps/mach/hurd/siglist.h index 578a725377..171e01c925 100644 --- a/sysdeps/mach/hurd/siglist.h +++ b/sysdeps/mach/hurd/siglist.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2014 Free Software Foundation, Inc. +/* Copyright (C) 1999-2015 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 diff --git a/sysdeps/mach/hurd/sigpending.c b/sysdeps/mach/hurd/sigpending.c index 5f2600f562..254b055c8b 100644 --- a/sysdeps/mach/hurd/sigpending.c +++ b/sysdeps/mach/hurd/sigpending.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/sigprocmask.c b/sysdeps/mach/hurd/sigprocmask.c index b3c13425af..2e496dc63b 100644 --- a/sysdeps/mach/hurd/sigprocmask.c +++ b/sysdeps/mach/hurd/sigprocmask.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/sigstack.c b/sysdeps/mach/hurd/sigstack.c index 12d077db52..6a37293bae 100644 --- a/sysdeps/mach/hurd/sigstack.c +++ b/sysdeps/mach/hurd/sigstack.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 diff --git a/sysdeps/mach/hurd/sigsuspend.c b/sysdeps/mach/hurd/sigsuspend.c index 60f235e1ee..5bd7da9302 100644 --- a/sysdeps/mach/hurd/sigsuspend.c +++ b/sysdeps/mach/hurd/sigsuspend.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/sysdeps/mach/hurd/sigwait.c b/sysdeps/mach/hurd/sigwait.c index 89193e6dfd..de024a3189 100644 --- a/sysdeps/mach/hurd/sigwait.c +++ b/sysdeps/mach/hurd/sigwait.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2014 Free Software Foundation, Inc. +/* Copyright (C) 1996-2015 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 diff --git a/sysdeps/mach/hurd/socket.c b/sysdeps/mach/hurd/socket.c index 173a2f3f66..bb7daddb5e 100644 --- a/sysdeps/mach/hurd/socket.c +++ b/sysdeps/mach/hurd/socket.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 @@ -64,4 +64,5 @@ __socket (domain, type, protocol) return _hurd_intern_fd (sock, O_IGNORE_CTTY, 1); } +libc_hidden_def (__socket) weak_alias (__socket, socket) diff --git a/sysdeps/mach/hurd/socketpair.c b/sysdeps/mach/hurd/socketpair.c index b128a9bc64..2c68070d26 100644 --- a/sysdeps/mach/hurd/socketpair.c +++ b/sysdeps/mach/hurd/socketpair.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 diff --git a/sysdeps/mach/hurd/spawni.c b/sysdeps/mach/hurd/spawni.c index a685a1f013..ffc1cf68cf 100644 --- a/sysdeps/mach/hurd/spawni.c +++ b/sysdeps/mach/hurd/spawni.c @@ -1,5 +1,5 @@ /* spawn a new process running an executable. Hurd version. - Copyright (C) 2001-2014 Free Software Foundation, Inc. + Copyright (C) 2001-2015 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 diff --git a/sysdeps/mach/hurd/statfs.c b/sysdeps/mach/hurd/statfs.c index 50c7d6b0e0..dcef6c7258 100644 --- a/sysdeps/mach/hurd/statfs.c +++ b/sysdeps/mach/hurd/statfs.c @@ -1,5 +1,5 @@ /* statfs -- Return information about the filesystem on which FILE resides. - Copyright (C) 1996-2014 Free Software Foundation, Inc. + Copyright (C) 1996-2015 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 diff --git a/sysdeps/mach/hurd/statfs64.c b/sysdeps/mach/hurd/statfs64.c index 1b7e37644e..8de4dc0456 100644 --- a/sysdeps/mach/hurd/statfs64.c +++ b/sysdeps/mach/hurd/statfs64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2014 Free Software Foundation, Inc. +/* Copyright (C) 2001-2015 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 diff --git a/sysdeps/mach/hurd/statfsconv.c b/sysdeps/mach/hurd/statfsconv.c index 2e990040f1..434366b39a 100644 --- a/sysdeps/mach/hurd/statfsconv.c +++ b/sysdeps/mach/hurd/statfsconv.c @@ -1,5 +1,5 @@ /* Convert between `struct statfs' format, and `struct statfs64' format. - Copyright (C) 2001-2014 Free Software Foundation, Inc. + Copyright (C) 2001-2015 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 diff --git a/sysdeps/mach/hurd/statvfs.c b/sysdeps/mach/hurd/statvfs.c index 6dfe1e6a9b..7a5d4e3006 100644 --- a/sysdeps/mach/hurd/statvfs.c +++ b/sysdeps/mach/hurd/statvfs.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2014 Free Software Foundation, Inc. +/* Copyright (C) 1998-2015 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 diff --git a/sysdeps/mach/hurd/statvfs64.c b/sysdeps/mach/hurd/statvfs64.c index 1e9fe9c2a8..ed8ad82c40 100644 --- a/sysdeps/mach/hurd/statvfs64.c +++ b/sysdeps/mach/hurd/statvfs64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2014 Free Software Foundation, Inc. +/* Copyright (C) 2001-2015 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 diff --git a/sysdeps/mach/hurd/symlink.c b/sysdeps/mach/hurd/symlink.c index 25bb2044b4..bf1b0a0399 100644 --- a/sysdeps/mach/hurd/symlink.c +++ b/sysdeps/mach/hurd/symlink.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/symlinkat.c b/sysdeps/mach/hurd/symlinkat.c index 077d5be786..0a6a9363a6 100644 --- a/sysdeps/mach/hurd/symlinkat.c +++ b/sysdeps/mach/hurd/symlinkat.c @@ -1,5 +1,5 @@ /* Create a symbolic link named relative to an open directory. Hurd version. - Copyright (C) 1991-2014 Free Software Foundation, Inc. + Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/sync.c b/sysdeps/mach/hurd/sync.c index e6b4a903b6..91e7e86f9c 100644 --- a/sysdeps/mach/hurd/sync.c +++ b/sysdeps/mach/hurd/sync.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/syncfs.c b/sysdeps/mach/hurd/syncfs.c index 9763082ae8..6daf1343ab 100644 --- a/sysdeps/mach/hurd/syncfs.c +++ b/sysdeps/mach/hurd/syncfs.c @@ -1,6 +1,6 @@ /* Make all changes done to all files on the file system associated with FD actually appear on disk. - Copyright (C) 2012-2014 Free Software Foundation, Inc. + Copyright (C) 2012-2015 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 diff --git a/sysdeps/mach/hurd/sysconf.c b/sysdeps/mach/hurd/sysconf.c index 19b1e54c91..c8b67c266b 100644 --- a/sysdeps/mach/hurd/sysconf.c +++ b/sysdeps/mach/hurd/sysconf.c @@ -1,5 +1,5 @@ /* Return values of system parameters. Hurd version. - Copyright (C) 2012-2014 Free Software Foundation, Inc. + Copyright (C) 2012-2015 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 diff --git a/sysdeps/mach/hurd/telldir.c b/sysdeps/mach/hurd/telldir.c index 34673115c5..21fb8f2bc0 100644 --- a/sysdeps/mach/hurd/telldir.c +++ b/sysdeps/mach/hurd/telldir.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/times.c b/sysdeps/mach/hurd/times.c index acf89b0221..335f520a90 100644 --- a/sysdeps/mach/hurd/times.c +++ b/sysdeps/mach/hurd/times.c @@ -1,5 +1,5 @@ /* Return CPU and real time used by process and its children. Hurd version. - Copyright (C) 2001-2014 Free Software Foundation, Inc. + Copyright (C) 2001-2015 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 diff --git a/sysdeps/mach/hurd/tls.h b/sysdeps/mach/hurd/tls.h index dbe73f5035..de175834a5 100644 --- a/sysdeps/mach/hurd/tls.h +++ b/sysdeps/mach/hurd/tls.h @@ -1,5 +1,5 @@ /* Definitions for thread-local data handling. Hurd version. - Copyright (C) 2003-2014 Free Software Foundation, Inc. + Copyright (C) 2003-2015 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 @@ -22,32 +22,13 @@ #ifndef __ASSEMBLER__ # include <stddef.h> +# include <stdint.h> # include <stdbool.h> +# include <sysdep.h> # include <mach/mig_errors.h> # include <mach.h> -/* Type for the dtv. */ -typedef union dtv -{ - size_t counter; - struct - { - void *val; - bool is_static; - } pointer; -} dtv_t; - - -/* Type of the TCB. */ -typedef struct -{ - void *tcb; /* Points to this structure. */ - dtv_t *dtv; /* Vector of pointers to TLS data. */ - thread_t self; /* This thread's control port. */ -} tcbhead_t; - - /* This is the size of the initial TCB. */ # define TLS_INIT_TCB_SIZE sizeof (tcbhead_t) diff --git a/sysdeps/mach/hurd/tmpfile.c b/sysdeps/mach/hurd/tmpfile.c index 1ac2cf6036..ed677657fd 100644 --- a/sysdeps/mach/hurd/tmpfile.c +++ b/sysdeps/mach/hurd/tmpfile.c @@ -1,5 +1,5 @@ /* Open a stdio stream on an anonymous temporary file. Hurd version. - Copyright (C) 2001-2014 Free Software Foundation, Inc. + Copyright (C) 2001-2015 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 diff --git a/sysdeps/mach/hurd/truncate.c b/sysdeps/mach/hurd/truncate.c index efd9680571..89661e683d 100644 --- a/sysdeps/mach/hurd/truncate.c +++ b/sysdeps/mach/hurd/truncate.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/ttyname.c b/sysdeps/mach/hurd/ttyname.c index d0f6d9f59c..192c5f995a 100644 --- a/sysdeps/mach/hurd/ttyname.c +++ b/sysdeps/mach/hurd/ttyname.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2014 Free Software Foundation, Inc. +/* Copyright (C) 1994-2015 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 diff --git a/sysdeps/mach/hurd/ttyname_r.c b/sysdeps/mach/hurd/ttyname_r.c index b27d4e1d15..882f3fbeb4 100644 --- a/sysdeps/mach/hurd/ttyname_r.c +++ b/sysdeps/mach/hurd/ttyname_r.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2014 Free Software Foundation, Inc. +/* Copyright (C) 1994-2015 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 diff --git a/sysdeps/mach/hurd/umask.c b/sysdeps/mach/hurd/umask.c index bfd50f919c..8e1a9bebaa 100644 --- a/sysdeps/mach/hurd/umask.c +++ b/sysdeps/mach/hurd/umask.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/uname.c b/sysdeps/mach/hurd/uname.c index a58e7a5b0a..bc84ef228a 100644 --- a/sysdeps/mach/hurd/uname.c +++ b/sysdeps/mach/hurd/uname.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 diff --git a/sysdeps/mach/hurd/unlink.c b/sysdeps/mach/hurd/unlink.c index a23a60e6ec..607eb3a422 100644 --- a/sysdeps/mach/hurd/unlink.c +++ b/sysdeps/mach/hurd/unlink.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/unlinkat.c b/sysdeps/mach/hurd/unlinkat.c index 31cc477b39..95151e6c4f 100644 --- a/sysdeps/mach/hurd/unlinkat.c +++ b/sysdeps/mach/hurd/unlinkat.c @@ -1,5 +1,5 @@ /* unlinkat -- Remove a name relative to an open directory. Hurd version. - Copyright (C) 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2015 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 diff --git a/sysdeps/mach/hurd/utimes.c b/sysdeps/mach/hurd/utimes.c index 6739b7904f..e456aecbd4 100644 --- a/sysdeps/mach/hurd/utimes.c +++ b/sysdeps/mach/hurd/utimes.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/wait4.c b/sysdeps/mach/hurd/wait4.c index 209d2d2772..28854c3ab5 100644 --- a/sysdeps/mach/hurd/wait4.c +++ b/sysdeps/mach/hurd/wait4.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/hurd/write.c b/sysdeps/mach/hurd/write.c index 8b84989220..4e41263232 100644 --- a/sysdeps/mach/hurd/write.c +++ b/sysdeps/mach/hurd/write.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/xmknod.c b/sysdeps/mach/hurd/xmknod.c index a24979c58e..3e5c8cce57 100644 --- a/sysdeps/mach/hurd/xmknod.c +++ b/sysdeps/mach/hurd/xmknod.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/xmknodat.c b/sysdeps/mach/hurd/xmknodat.c index fca8eded0c..6c7d6690fc 100644 --- a/sysdeps/mach/hurd/xmknodat.c +++ b/sysdeps/mach/hurd/xmknodat.c @@ -1,5 +1,5 @@ /* Create a device file relative to an open directory. Hurd version. - Copyright (C) 1991-2014 Free Software Foundation, Inc. + Copyright (C) 1991-2015 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 diff --git a/sysdeps/mach/hurd/xstat.c b/sysdeps/mach/hurd/xstat.c index 40e2f3e8d3..f37683fcdb 100644 --- a/sysdeps/mach/hurd/xstat.c +++ b/sysdeps/mach/hurd/xstat.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 diff --git a/sysdeps/mach/hurd/xstat64.c b/sysdeps/mach/hurd/xstat64.c index f7bbc8726b..17f398c322 100644 --- a/sysdeps/mach/hurd/xstat64.c +++ b/sysdeps/mach/hurd/xstat64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2014 Free Software Foundation, Inc. +/* Copyright (C) 2000-2015 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 diff --git a/sysdeps/mach/hurd/xstatconv.c b/sysdeps/mach/hurd/xstatconv.c index 4b35805b2a..68bb202891 100644 --- a/sysdeps/mach/hurd/xstatconv.c +++ b/sysdeps/mach/hurd/xstatconv.c @@ -1,5 +1,5 @@ /* Convert between `struct stat' format, and `struct stat64' format. - Copyright (C) 2000-2014 Free Software Foundation, Inc. + Copyright (C) 2000-2015 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 diff --git a/sysdeps/mach/i386/machine-lock.h b/sysdeps/mach/i386/machine-lock.h index 408c2b39cf..310382672a 100644 --- a/sysdeps/mach/i386/machine-lock.h +++ b/sysdeps/mach/i386/machine-lock.h @@ -1,5 +1,5 @@ /* Machine-specific definition for spin locks. i386 version. - Copyright (C) 1994-2014 Free Software Foundation, Inc. + Copyright (C) 1994-2015 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 diff --git a/sysdeps/mach/i386/machine-sp.h b/sysdeps/mach/i386/machine-sp.h index 020509c73e..d9388ad72b 100644 --- a/sysdeps/mach/i386/machine-sp.h +++ b/sysdeps/mach/i386/machine-sp.h @@ -1,5 +1,5 @@ /* Machine-specific function to return the stack pointer. i386 version. - Copyright (C) 1994-2014 Free Software Foundation, Inc. + Copyright (C) 1994-2015 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 diff --git a/sysdeps/mach/i386/syscall.S b/sysdeps/mach/i386/syscall.S index 0c75262d80..cc94ac3bce 100644 --- a/sysdeps/mach/i386/syscall.S +++ b/sysdeps/mach/i386/syscall.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 diff --git a/sysdeps/mach/i386/sysdep.h b/sysdeps/mach/i386/sysdep.h index 63d960dfa0..7a9a730a76 100644 --- a/sysdeps/mach/i386/sysdep.h +++ b/sysdeps/mach/i386/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/sysdeps/mach/i386/thread_state.h b/sysdeps/mach/i386/thread_state.h index 207256658e..245929f370 100644 --- a/sysdeps/mach/i386/thread_state.h +++ b/sysdeps/mach/i386/thread_state.h @@ -1,5 +1,5 @@ /* Mach thread state definitions for machine-independent code. i386 version. - Copyright (C) 1994-2014 Free Software Foundation, Inc. + Copyright (C) 1994-2015 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 diff --git a/sysdeps/mach/mprotect.c b/sysdeps/mach/mprotect.c index 449bdb9c1f..cd02d67f57 100644 --- a/sysdeps/mach/mprotect.c +++ b/sysdeps/mach/mprotect.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2014 Free Software Foundation, Inc. +/* Copyright (C) 1994-2015 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 diff --git a/sysdeps/mach/msync.c b/sysdeps/mach/msync.c index 4e12a5fafc..5d35522029 100644 --- a/sysdeps/mach/msync.c +++ b/sysdeps/mach/msync.c @@ -1,5 +1,5 @@ /* msync -- Synchronize mapped memory to external storage. Mach version. - Copyright (C) 2002-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2015 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 diff --git a/sysdeps/mach/munmap.c b/sysdeps/mach/munmap.c index f8c416f76f..b1150c654b 100644 --- a/sysdeps/mach/munmap.c +++ b/sysdeps/mach/munmap.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2014 Free Software Foundation, Inc. +/* Copyright (C) 1994-2015 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 @@ -27,6 +27,13 @@ int __munmap (__ptr_t addr, size_t len) { kern_return_t err; + + if (addr == 0) + { + errno = EINVAL; + return -1; + } + if (err = __vm_deallocate (__mach_task_self (), (vm_address_t) addr, (vm_size_t) len)) { diff --git a/sysdeps/mach/nanosleep.c b/sysdeps/mach/nanosleep.c index 5e53e21319..390d8a7cb3 100644 --- a/sysdeps/mach/nanosleep.c +++ b/sysdeps/mach/nanosleep.c @@ -1,5 +1,5 @@ /* nanosleep -- sleep for a period specified with a struct timespec - Copyright (C) 2002-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2015 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 diff --git a/sysdeps/mach/pagecopy.h b/sysdeps/mach/pagecopy.h index 36c3697605..436bf7e1bf 100644 --- a/sysdeps/mach/pagecopy.h +++ b/sysdeps/mach/pagecopy.h @@ -1,5 +1,5 @@ /* Macros for copying by pages; used in memcpy, memmove. Mach version. - Copyright (C) 1995-2014 Free Software Foundation, Inc. + Copyright (C) 1995-2015 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 @@ -30,6 +30,3 @@ (vm_address_t) dstp) == KERN_SUCCESS \ ? trunc_page (nbytes) \ : 0))) - -/* Get the generic macro. */ -#include <sysdeps/generic/pagecopy.h> diff --git a/sysdeps/mach/readonly-area.c b/sysdeps/mach/readonly-area.c index 51319729af..7be9bfd2a5 100644 --- a/sysdeps/mach/readonly-area.c +++ b/sysdeps/mach/readonly-area.c @@ -1,5 +1,5 @@ /* Test if a memory region is wholly unwritable. Mach version. - Copyright (C) 2004-2014 Free Software Foundation, Inc. + Copyright (C) 2004-2015 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 diff --git a/sysdeps/mach/sched_yield.c b/sysdeps/mach/sched_yield.c index d73c57ceab..100e4024fb 100644 --- a/sysdeps/mach/sched_yield.c +++ b/sysdeps/mach/sched_yield.c @@ -1,5 +1,5 @@ /* sched_yield -- yield the processor. Mach version. - Copyright (C) 2000-2014 Free Software Foundation, Inc. + Copyright (C) 2000-2015 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 diff --git a/sysdeps/mach/sleep.c b/sysdeps/mach/sleep.c index 6496b7c833..17091bd3af 100644 --- a/sysdeps/mach/sleep.c +++ b/sysdeps/mach/sleep.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 diff --git a/sysdeps/mach/strerror_l.c b/sysdeps/mach/strerror_l.c index 61d5e71ccd..c7e42f402a 100644 --- a/sysdeps/mach/strerror_l.c +++ b/sysdeps/mach/strerror_l.c @@ -1,5 +1,5 @@ /* strerror_l - Get errno description string in given locale. Mach version. - Copyright (C) 2007-2014 Free Software Foundation, Inc. + Copyright (C) 2007-2015 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 diff --git a/sysdeps/mach/sysdep.h b/sysdeps/mach/sysdep.h index ae2adcc374..5a9976bd1c 100644 --- a/sysdeps/mach/sysdep.h +++ b/sysdeps/mach/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2014 Free Software Foundation, Inc. +/* Copyright (C) 1994-2015 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 diff --git a/sysdeps/mach/thread_state.h b/sysdeps/mach/thread_state.h index 28f9b2b12f..0be456a7fe 100644 --- a/sysdeps/mach/thread_state.h +++ b/sysdeps/mach/thread_state.h @@ -1,5 +1,5 @@ /* Generic definitions for dealing with Mach thread states. - Copyright (C) 1994-2014 Free Software Foundation, Inc. + Copyright (C) 1994-2015 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 diff --git a/sysdeps/mach/usleep.c b/sysdeps/mach/usleep.c index 3d14f1c0bb..a3f34d5345 100644 --- a/sysdeps/mach/usleep.c +++ b/sysdeps/mach/usleep.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2015 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 diff --git a/sysdeps/mach/xpg-strerror.c b/sysdeps/mach/xpg-strerror.c index a896bfb37b..6e1303e7dd 100644 --- a/sysdeps/mach/xpg-strerror.c +++ b/sysdeps/mach/xpg-strerror.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2014 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 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 |