Fix lots of bitrot for stub configurations.
authorRoland McGrath <roland@hack.frob.com>
Mon, 30 Jul 2012 23:09:11 +0000 (16:09 -0700)
committerRoland McGrath <roland@hack.frob.com>
Mon, 30 Jul 2012 23:34:33 +0000 (16:34 -0700)
39 files changed:
ChangeLog
argp/argp-help.c
bits/libc-lock.h
bits/signum.h
bits/stat.h
dirent/opendir.c
elf/rtld.c
iconv/iconv_charmap.c
include/unistd.h
inet/netinet/in.h
intl/loadmsgcat.c
io/fchmodat.c
io/ftw.c
io/xmknod.c
libio/genops.c
nss/makedb.c
nss/nss_db/db-initgroups.c
nss/nss_db/db-netgrp.c
nss/nss_files/files-initgroups.c
nss/nsswitch.c
ports/sysdeps/arm/preconfigure
posix/regex.c
posix/wordexp.c
socket/accept4.c
stdio-common/_i18n_number.h
stdio-common/reg-modifier.c
stdio-common/tmpfile.c
stdio-common/tmpfile64.c
stdio-common/vfscanf.c
sysdeps/generic/ldsodefs.h
sysdeps/generic/sys/param.h
sysdeps/ieee754/k_standard.c
sysdeps/posix/getcwd.c
sysdeps/posix/pwrite64.c
sysdeps/posix/spawni.c
sysdeps/unix/sysv/linux/x86_64/x32/tmpfile.c [deleted file]
sysdeps/unix/sysv/linux/x86_64/x32/tmpfile64.c [deleted file]
sysdeps/wordsize-64/tmpfile.c [deleted file]
sysdeps/wordsize-64/tmpfile64.c [deleted file]

index ea45adce16e441b10ae30516bdb8b94009b15bcf..e608ac4c1b1bd3d94f9523e2dd0fee1d0972abbf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,86 @@
+2012-07-30  Roland McGrath  <roland@hack.frob.com>
+
+       * sysdeps/generic/sys/param.h (MAXSYMLINKS): Define to SYMLOOP_MAX
+       rather than to 1.
+       (NBBY, NGROUPS, CANBSIZ, NCARGS): New macros.
+       (MAXPATHLEN): Removed.
+       (NOGROUP, NODEV): New macros.
+       (setbit, clrbit, isset, isclr): New macros.
+       (howmany, roundup, powerof2): New macros.
+       (DEV_BSIZE): New macro.
+
+       * include/unistd.h: Add attribute_hidden on __libc_pwrite64.
+       * sysdeps/posix/pwrite64.c: Remove libc_hidden_def (__libc_pwrite64).
+
+       * sysdeps/ieee754/k_standard.c (__kernel_standard_l): Conditionalize
+       definition on [!__NO_LONG_DOUBLE_MATH].
+
+       * nss/nsswitch.c (__nss_lookup_function): Conditionalize use of
+       PTR_MANGLE and PTR_DEMANGLE.
+
+       * socket/accept4.c (accept4): Rename to __libc_accept4.
+       Define accept4 as a weak alias.
+
+       * sysdeps/posix/getcwd.c (__getcwd): Conditionalize d_type field use
+       on [_DIRENT_HAVE_D_TYPE].
+       * io/ftw.c (ftw_dir): Likewise.
+
+       * io/xmknod.c (__xmknod): Don't check PATH for being null.
+
+       * libio/genops.c (flush_cleanup): Move inside [_IO_MTSAFE_IO].
+
+       * bits/signum.h (SIGSTOP, SIGCONT, SIGTSTP, SIGTTIN, SIGTTOU, SIGCHLD):
+       Use the BSD numbers rather than the arbitrary ones we had.
+       (SIGBUS, SIGIO, SIGPOLL, SIGPROF, SIGSYS): New macros.
+       (SIGTRAP, SIGURG, SIGUSR1, SIGUSR2, SIGVTALRM): New macros.
+       (SIGXCPU, SIGXFSZ): New macros.
+       (_NSIG): Now 32.
+
+       * elf/rtld.c (_rtld_global): Conditionalize .dl_ns[LM_ID_BASE]
+       initializer on [_LIBC_REENTRANT].
+
+       * iconv/iconv_charmap.c (charmap_conversion): Move ST, ADDR
+       definitions inside [_POSIX_MAPPED_FILES].
+
+       * posix/regex.c: Include <sys/param.h> for MIN/MAX.
+
+       * dirent/opendir.c: Include <fcntl.h>.
+
+       * bits/libc-lock.h (__libc_setspecific): Evaluate arguments.
+       (__libc_getspecific): Likewise.
+       (__libc_key_create): Likewise.
+
+       * stdio-common/tmpfile64.c: Include <fcntl.h> first.
+       [defined O_LARGEFILE && O_LARGEFILE != 0]: Conditionalize on this.
+       * stdio-common/tmpfile.c [!defined O_LARGEFILE || O_LARGEFILE == 0]
+       (tmpfile64): Define as alias.
+       * sysdeps/wordsize-64/tmpfile.c: File removed.
+       * sysdeps/wordsize-64/tmpfile64.c: File removed.
+       * sysdeps/unix/sysv/linux/x86_64/x32/tmpfile64.c: File removed.
+       * sysdeps/unix/sysv/linux/x86_64/x32/tmpfile.c: File removed.
+
+       * stdio-common/vfscanf.c: Include <stdbool.h>.
+       * nss/makedb.c: Likewise.
+       * stdio-common/_i18n_number.h: Likewise.
+       * argp/argp-help.c: Likewise.
+       * posix/wordexp.c: Likewise.
+       * sysdeps/posix/spawni.c: Likewise.
+       * nss/nss_files/files-initgroups.c: Likewise.
+       * stdio-common/reg-modifier.c: Include <stdlib.h>.
+       * nss/nss_files/files-initgroups.c: Likewise.
+       * nss/nss_db/db-netgrp.c: Likewise.
+       * nss/nss_db/db-initgroups.c: Likewise.
+       * io/fchmodat.c: Include <sys/stat.h>.
+
+       * sysdeps/generic/ldsodefs.h (struct rtld_global): Use
+       __rtld_lock_define_recursive macro instead of __rtld_lock_recursive_t.
+
+       * intl/loadmsgcat.c (_nl_load_domain): Don't use MAP_FAILED outside of
+       [HAVE_MMAP].
+
+       * bits/stat.h: Fix inclusion guard to accept _FCNTL_H too.
+       Add multiple inclusion protection.
+
 2012-07-27  David S. Miller  <davem@davemloft.net>
 
        * sysdeps/sparc/fpu/libm-test-ulps: Update.
index 0af680530b0d18321b4cb88e2f2f1045d7895d0e..80c2b7d85c2ff8a93607887bba502c843418a9a0 100644 (file)
@@ -40,6 +40,7 @@ char *alloca ();
 # endif
 #endif
 
+#include <stdbool.h>
 #include <stddef.h>
 #include <stdlib.h>
 #include <string.h>
index d7c49e7bb54f426c676fd62c7e77bd84ec85a444..87948d5b509581306bf215749c6be5b3d35c7965 100644 (file)
 typedef int __libc_key_t;
 
 /* Create key for thread specific data.  */
-#define __libc_key_create(KEY,DEST) -1
+#define __libc_key_create(KEY,DEST)    ((void) (KEY), (void) (DEST), -1)
 
 /* Set thread-specific data associated with KEY to VAL.  */
-#define __libc_setspecific(KEY,VAL) ((void)0)
+#define __libc_setspecific(KEY,VAL)    ((void) (KEY), (void) (VAL))
 
 /* Get thread-specific data associated with KEY.  */
-#define __libc_getspecific(KEY) 0
+#define __libc_getspecific(KEY)                ((void) (KEY), (void *) 0)
 
 #endif /* bits/libc-lock.h */
index 48bb7b8050224166333d58c72827724f84c98807..0a0acb23afa7cd421167cc7a5381ba167d943ad1 100644 (file)
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991, 1993, 1996, 1998 Free Software Foundation, Inc.
+/* Signal number constants.  Generic version.
+   Copyright (C) 1991-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
 # define SIG_HOLD ((__sighandler_t)  2)        /* Add signal to hold mask.  */
 #endif
 
-/* Signals in the 1-15 range are defined with their historical numbers.
-   Signals in the 20-25 range are relatively new and have no ingrained
-   numbers. */
+/* We define here all the signal names listed in POSIX (1003.1-2008).
+   Signals in the 1-15 range are defined with their historical numbers.
+   For other signals specified by POSIX, we use the BSD numbers.  */
 
-/* ANSI signals.  */
-#define        SIGINT  2       /* Interactive attention signal.  */
-#define        SIGILL  4       /* Illegal instruction.  */
-#define        SIGABRT 6       /* Abnormal termination.  */
-#define        SIGFPE  8       /* Erroneous arithmetic operation.  */
-#define        SIGSEGV 11      /* Invalid access to storage.  */
-#define        SIGTERM 15      /* Termination request.  */
+/* ISO C99 signals.  */
+#define        SIGINT          2       /* Interactive attention signal.  */
+#define        SIGILL          4       /* Illegal instruction.  */
+#define        SIGABRT         6       /* Abnormal termination.  */
+#define        SIGFPE          8       /* Erroneous arithmetic operation.  */
+#define        SIGSEGV         11      /* Invalid access to storage.  */
+#define        SIGTERM         15      /* Termination request.  */
 
 /* Historical signals specified by POSIX. */
-#define        SIGHUP  1       /* Hangup.  */
-#define        SIGQUIT 3       /* Quit.  */
-#define        SIGKILL 9       /* Kill (cannot be blocked, caught, or ignored).  */
-#define        SIGPIPE 13      /* Broken pipe.  */
-#define        SIGALRM 14      /* Alarm clock.  */
-
-/* New(er) POSIX signals. */
-#define        SIGSTOP 20      /* Stop (cannot be blocked, caught, or ignored).  */
-#define        SIGCONT 21      /* Continue.  */
-#define        SIGTSTP 22      /* Keyboard stop.  */
-#define        SIGTTIN 23      /* Background read from control terminal.  */
-#define        SIGTTOU 24      /* Background write to control terminal.  */
-#define        SIGCHLD 25      /* Child terminated or stopped.  */
-
-#define        _NSIG   26
+#define        SIGHUP          1       /* Hangup.  */
+#define        SIGQUIT         3       /* Quit.  */
+#define        SIGTRAP         5       /* Trace/breakpoint trap.  */
+#define        SIGKILL         9       /* Killed.  */
+#define SIGBUS         10      /* Bus error.  */
+#define        SIGSYS          12      /* Bad system call.  */
+#define        SIGPIPE         13      /* Broken pipe.  */
+#define        SIGALRM         14      /* Alarm clock.  */
+
+/* New(er) POSIX signals (1003.1-2008).  */
+#define        SIGURG          16 /* High bandwidth data is available at a socket.  */
+#define        SIGSTOP         17      /* Stopped (signal).  */
+#define        SIGTSTP         18      /* Stopped.  */
+#define        SIGCONT         19      /* Continued.  */
+#define        SIGCHLD         20      /* Child terminated or stopped.  */
+#define        SIGTTIN         21      /* Background read from control terminal.  */
+#define        SIGTTOU         22      /* Background write to control terminal.  */
+#define        SIGPOLL         23      /* Pollable event occurred (System V).  */
+#define        SIGIO           SIGPOLL /* I/O now possible (4.2 BSD).  */
+#define        SIGXCPU         24      /* CPU time limit exceeded.  */
+#define        SIGXFSZ         25      /* File size limit exceeded.  */
+#define        SIGVTALRM       26      /* Virtual timer expired.  */
+#define        SIGPROF         27      /* Profiling timer expired.  */
+#define        SIGUSR1         30      /* User-defined signal 1.  */
+#define        SIGUSR2         31      /* User-defined signal 2.  */
+
+#define        _NSIG           32
 
 /* Archaic names for compatibility. */
-#define        SIGIOT  SIGABRT /* IOT instruction, abort() on a PDP11 */
-#define        SIGCLD  SIGCHLD /* Old System V name */
+#define        SIGIOT          SIGABRT /* IOT instruction, abort() on a PDP11 */
+#define        SIGCLD          SIGCHLD /* Old System V name */
 
 #endif /* <signal.h> included.  */
index 06b4816c81fcb780aca6b97c98a057e382c9b804..b9495c52e20de3335c36be5bdde40a6c7bd8c2aa 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1996, 1997, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1992-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#ifndef _SYS_STAT_H
+#if !defined _SYS_STAT_H && !defined _FCNTL_H
 # error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
 #endif
 
+#ifndef _BITS_STAT_H
+#define _BITS_STAT_H   1
+
 /* This structure needs to be defined in accordance with the
    implementation of __stat, __fstat, and __lstat.  */
 
@@ -96,3 +99,5 @@ struct stat64
     __time_t st_ctime;         /* Time of last status change.  */
   };
 #endif
+
+#endif /* bits/stat.h */
index 7fe4210c8fb4e8bf6bec2b896e5e13db4d23e043..ce7084c9c140d2b5f6f7623ee42a7cae7d4a7c4e 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996, 1997, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -18,6 +18,7 @@
 #include <errno.h>
 #include <stddef.h>
 #include <dirent.h>
+#include <fcntl.h>
 
 
 DIR *
index 06c4220c03468f0a88b9d02f12d5f396dda73dab..fc221ace2544d5a6acc8089cd744f018b1d12796 100644 (file)
@@ -133,8 +133,10 @@ struct rtld_global _rtld_global =
     ._dl_nns = 1,
     ._dl_ns =
     {
+#ifdef _LIBC_REENTRANT
       [LM_ID_BASE] = { ._ns_unique_sym_table
                       = { .lock = _RTLD_LOCK_RECURSIVE_INITIALIZER } }
+#endif
     }
   };
 /* If we would use strong_alias here the compiler would see a
index df28e1c3a1be9f1c3de8f8c65adde51f028b949c..1a0de35217343fcdbceabe47ac2d189d01685b26 100644 (file)
@@ -154,8 +154,6 @@ charmap_conversion (const char *from_code, struct charmap_t *from_charmap,
   else
     do
       {
-       struct stat st;
-       char *addr;
        int fd;
 
        if (verbose)
@@ -176,6 +174,8 @@ charmap_conversion (const char *from_code, struct charmap_t *from_charmap,
          }
 
 #ifdef _POSIX_MAPPED_FILES
+       struct stat st;
+       char *addr;
        /* We have possibilities for reading the input file.  First try
           to mmap() it since this will provide the fastest solution.  */
        if (fstat (fd, &st) == 0
index 7971a8a71a811f6376baa0630bbf9f70fb1ead48..e4bff80fc7727ae5e8b0f12e17c0fead7f8831da 100644 (file)
@@ -44,7 +44,7 @@ extern ssize_t __pwrite64 (int __fd, const void *__buf, size_t __n,
                           __off64_t __offset);
 libc_hidden_proto (__pwrite64)
 extern ssize_t __libc_pwrite64 (int __fd, const void *__buf, size_t __n,
-                               __off64_t __offset);
+                               __off64_t __offset) attribute_hidden;
 extern ssize_t __libc_read (int __fd, void *__buf, size_t __n);
 libc_hidden_proto (__libc_read)
 extern ssize_t __libc_write (int __fd, const void *__buf, size_t __n);
index 3940dc31014ff25e143e3c193fc0eaea7fca87e9..c76ad16b99edeb50155191cc51454c84dab0e86a 100644 (file)
@@ -518,6 +518,8 @@ extern int bindresvport6 (int __sockfd, struct sockaddr_in6 *__sock_in)
 
 
 #ifdef __USE_GNU
+struct cmsghdr;                        /* Forward declaration.  */
+
 /* IPv6 packet information.  */
 struct in6_pktinfo
   {
index 4e34a368be49d50099a435e97664399c253f1936..a217fcce41b4fbac013039610ceb43b8f976a082 100644 (file)
@@ -1,5 +1,5 @@
 /* Load needed message catalogs.
-   Copyright (C) 1995-2005, 2007 Free Software Foundation, Inc.
+   Copyright (C) 1995-2012 Free Software 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,7 @@
 # include <config.h>
 #endif
 
+#include <assert.h>
 #include <ctype.h>
 #include <errno.h>
 #include <fcntl.h>
@@ -835,11 +836,13 @@ _nl_load_domain (domain_file, domainbinding)
       fd = -1;
       use_mmap = 1;
     }
+
+  assert (MAP_FAILED == (void *) -1);
 #endif
 
   /* If the data is not yet available (i.e. mmap'ed) we try to load
      it manually.  */
-  if (data == MAP_FAILED)
+  if (data == (struct mo_file_header *) -1)
     {
       size_t to_read;
       char *read_ptr;
index 41b44dece6a783e34720f7dfdcf1549d10854911..d171f363b0fa57e07265863ad5d87f8528c6baf7 100644 (file)
@@ -1,5 +1,5 @@
 /* Change the protections of file relative to open directory.  Stub version.
-   Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2006-2012 Free Software 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,6 +21,7 @@
 #include <stddef.h>
 #include <unistd.h>
 #include <sys/types.h>
+#include <sys/stat.h>
 
 int
 fchmodat (fd, file, mode, flag)
index ee3ba88174c4ca6ead0b1811c98bdfcc4c744807..7aff7d04c9ed1e95d9bc119a18ef9ba01076a86d 100644 (file)
--- a/io/ftw.c
+++ b/io/ftw.c
@@ -1,5 +1,5 @@
 /* File tree walker functions.
-   Copyright (C) 1996-2004, 2006-2008, 2010 Free Software Foundation, Inc.
+   Copyright (C) 1996-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -542,7 +542,11 @@ fail:
 
   while (dir.stream != NULL && (d = __readdir64 (dir.stream)) != NULL)
     {
-      result = process_entry (data, &dir, d->d_name, NAMLEN (d), d->d_type);
+      int d_type = DT_UNKNOWN;
+#ifdef _DIRENT_HAVE_D_TYPE
+      d_type = d->d_type;
+#endif
+      result = process_entry (data, &dir, d->d_name, NAMLEN (d), d_type);
       if (result != 0)
        break;
     }
index 44cd09a438e747b2dd9a70b4daf6653a3f944ecb..78bbf5a1a8f5db413db02bfd526ebcf8cd847cc1 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,1993,1995-1997,2002,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -31,12 +31,6 @@ __xmknod (int vers, const char *path, mode_t mode, dev_t *dev)
       return -1;
     }
 
-  if (path == NULL)
-    {
-      __set_errno (EINVAL);
-      return -1;
-    }
-
   __set_errno (ENOSYS);
   return -1;
 }
index b7dd8636264b7ae7232e0b69568c212d20e303d1..c8297ff1286ff3e8046e5f5b50c85f3edeecfcc6 100644 (file)
@@ -45,15 +45,15 @@ static int _IO_list_all_stamp;
 
 static _IO_FILE *run_fp;
 
+#ifdef _IO_MTSAFE_IO
 static void
 flush_cleanup (void *not_used)
 {
   if (run_fp != NULL)
     _IO_funlockfile (run_fp);
-#ifdef _IO_MTSAFE_IO
   _IO_lock_unlock (list_all_lock);
-#endif
 }
+#endif
 
 void
 _IO_un_link (fp)
index 5890c054f0f222591cdbb4107a85008c0592c797..ccaabdff95d7de2454f66c224a02bf6152d668ea 100644 (file)
@@ -27,6 +27,7 @@
 #include <libintl.h>
 #include <locale.h>
 #include <search.h>
+#include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
index 16eb8e2d822ffac21a12e90306be8aadb23f213a..2e2e3f284bac3cab0072bae5e563254400bb993a 100644 (file)
@@ -22,6 +22,7 @@
 #include <grp.h>
 #include <limits.h>
 #include <paths.h>
+#include <stdlib.h>
 #include <string.h>
 #include <sys/param.h>
 
index 37705b05a141e9a188eef800ed0ca0a27aa61b05..3c18ea8305e2977a091b84af0806dbea1d08e909 100644 (file)
@@ -1,5 +1,5 @@
 /* Netgroup file parser in nss_db modules.
-   Copyright (C) 1996, 1997, 1999, 2000, 2011 Free Software Foundation, Inc.
+   Copyright (C) 1996-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -25,6 +25,7 @@
 #include <string.h>
 #include <bits/libc-lock.h>
 #include <paths.h>
+#include <stdlib.h>
 
 #include "nsswitch.h"
 #include "nss_db.h"
index c8ce0656afc3131b94930e25cd5984d123cd6b26..a5a2164eb32b333339f1236669c57321e74404af 100644 (file)
@@ -1,5 +1,5 @@
 /* Initgroups handling in nss_files module.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2012 Free Software 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,6 +23,8 @@
 #include <stdio_ext.h>
 #include <string.h>
 #include <sys/param.h>
+#include <stdbool.h>
+#include <stdlib.h>
 
 enum nss_status
 _nss_files_initgroups_dyn (const char *user, gid_t group, long int *start,
index 464f478d2b7f5c90aae2a0e54ff0a9618a2ef2f1..a2628c747c91dd964372202586b6a291df513b72 100644 (file)
@@ -415,7 +415,9 @@ __nss_lookup_function (service_user *ni, const char *fct_name)
     {
       /* The search found an existing structure in the tree.  */
       result = ((known_function *) *found)->fct_ptr;
+#ifdef PTR_DEMANGLE
       PTR_DEMANGLE (result);
+#endif
     }
   else
     {
@@ -503,7 +505,9 @@ __nss_lookup_function (service_user *ni, const char *fct_name)
          /* Remember function pointer for later calls.  Even if null, we
             record it so a second try needn't search the library again.  */
          known->fct_ptr = result;
+#ifdef PTR_MANGLE
          PTR_MANGLE (known->fct_ptr);
+#endif
        }
     }
 
index d98c167a95e87513931fdd4c2e01926034e819ef..20f6d91a12bcac091f917ab77dafd17a06bea0d0 100644 (file)
@@ -41,7 +41,7 @@ arm*)
                fi
                CFLAGS="$CFLAGS -fno-unwind-tables"
                ;;
-       *)
+       linux*)
                echo "Old ABI no longer supported" 2>&1
                exit 1
                ;;
index 6d0a8976ac6f61ad3370ce9d2a0a85e096c72f3f..3ab9a6adcb7fd258f880a9841c4fa4d3081dde63 100644 (file)
@@ -1,5 +1,5 @@
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
+   Copyright (C) 2002-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
@@ -56,6 +56,9 @@
    #undefs RE_DUP_MAX and sets it to the right value.  */
 #include <limits.h>
 
+/* This header defines the MIN and MAX macros.  */
+#include <sys/param.h>
+
 #include <regex.h>
 #include "regex_internal.h"
 
index 5ace13720b6a54e5b9f1b63b9c26bc4d3cb08732..d5a282049b62b1e6abd90e438ea9313d4e808c0f 100644 (file)
@@ -1,5 +1,5 @@
 /* POSIX.2 wordexp implementation.
-   Copyright (C) 1997-2003,2005,2006,2008,2011 Free Software Foundation, Inc.
+   Copyright (C) 1997-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Tim Waugh <tim@cyberelk.demon.co.uk>.
 
@@ -27,6 +27,7 @@
 #include <paths.h>
 #include <pwd.h>
 #include <signal.h>
+#include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
index 7c7e2dd9a4f9f87edb6ae16e7efb194d67d236ee..7ad12596803cd5f394467ae7ff689e6d3a56d308 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2012 Free Software 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 @@
    new socket's descriptor, or -1 for errors.  The operation can be influenced
    by the FLAGS parameter.  */
 int
-accept4 (fd, addr, addr_len, flags)
+__libc_accept4 (fd, addr, addr_len, flags)
      int fd;
      __SOCKADDR_ARG addr;
      socklen_t *addr_len;
@@ -34,7 +34,8 @@ accept4 (fd, addr, addr_len, flags)
   __set_errno (ENOSYS);
   return -1;
 }
-libc_hidden_def (accept4)
+libc_hidden_def (__libc_accept4)
+weak_alias (__libc_accept4, accept4)
 
 
 stub_warning (accept4)
index f18b152852fad6e337493ca52a09c8b861de6ef2..17d99112fbfb9a983684bd16990a5ce280eecac5 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2004, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 2000.
 
@@ -16,6 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#include <stdbool.h>
 #include <wchar.h>
 #include <wctype.h>
 
index dcfd3a812a467bc08ffbe68c4494b4a1e6096cb4..697a408f8382e63a162479105221475d209d96f1 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -18,6 +18,7 @@
 #include <errno.h>
 #include <limits.h>
 #include <printf.h>
+#include <stdlib.h>
 #include <wchar.h>
 #include <bits/libc-lock.h>
 
index c6da9acb0b4b454eb4a767965ef27a325d8bbca0..6a4d48e7be7e83a405ea9a0983aefbd8f0a046fd 100644 (file)
@@ -58,6 +58,10 @@ tmpfile (void)
   return f;
 }
 
+#if !defined O_LARGEFILE || O_LARGEFILE == 0
+weak_alias (__new_tmpfile, tmpfile64)
+#endif
+
 #ifndef FLAGS /* Not for tmpfile64.  */
 # undef tmpfile
 # include <shlib-compat.h>
index ead3f50fbab529d8eb9c47b982404371266896af..e8ce8930c1e605583500fa815aeb496dbebea9d8 100644 (file)
@@ -1,3 +1,28 @@
-#define FLAGS  O_LARGEFILE
-#define tmpfile        tmpfile64
-#include <tmpfile.c>
+/* Open a stdio stream on an anonymous, large temporary file.  Generic version.
+   Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <fcntl.h>
+
+/* If there is no O_LARGEFILE, then the plain tmpfile definition
+   does the job and it gets tmpfile64 as an alias.  */
+
+#if defined O_LARGEFILE && O_LARGEFILE != 0
+# define FLAGS         O_LARGEFILE
+# define tmpfile       tmpfile64
+# include <tmpfile.c>
+#endif
index 23a8ac76944e681ac468904bcc7160f067635f60..43f25caa6fdf7648d878621ac67210d875ab1b2e 100644 (file)
@@ -20,6 +20,7 @@
 #include <limits.h>
 #include <ctype.h>
 #include <stdarg.h>
+#include <stdbool.h>
 #include <stdio.h>
 #include <stdint.h>
 #include <stdlib.h>
index 39c633904adee18fb04a85a0719a424efe6ab226..72048eab7f001d68358d894dda313cd83f1d91f7 100644 (file)
@@ -272,7 +272,7 @@ struct rtld_global
     /* Search table for unique objects.  */
     struct unique_sym_table
     {
-      __rtld_lock_recursive_t lock;
+      __rtld_lock_define_recursive (, lock)
       struct unique_sym
       {
        uint32_t hashval;
index 0e10a0ea941d7f0c015ddd87d12e30e542b1fb2a..f6e9f431d5605d61617b579311b54f1fa717ad49 100644 (file)
@@ -1,15 +1,74 @@
-/* This file should contain various parameter macros appropriate for the
-   machine and operating system.  There is no standard set of macros; this
-   file is just for compatibility with programs written for Unix that
-   expect it to define things.  On Unix systems that do not have their own
-   sysdep version of this file, it is generated at build time by examining
-   the installed headers on the system.  */
+/* Compatibility header for old-style Unix parameters and limits.  Stub version.
+   Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
 
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PARAM_H
+
+#define _SYS_PARAM_H    1
+#include <features.h>
+
+#define __need_NULL
+#include <stddef.h>
+
+#include <sys/types.h>
+#include <errno.h>
+#include <signal.h>
+#include <endian.h>
 #include <limits.h>
 
-#define MAXSYMLINKS  1
-#define MAXPATHLEN   256
+
+/* BSD names for some <limits.h> values.  We do not define the BSD names
+   for the values which are not statically limited, such as NOFILE.  */
+
+#define NBBY            CHAR_BIT
+#define NGROUPS         NGROUPS_MAX
+#define MAXSYMLINKS     SYMLOOP_MAX
+#define CANBSIZ         MAX_CANON /* XXX ? */
+
+/* ARG_MAX is unlimited, but we define NCARGS for BSD programs that want to
+   compare against some fixed limit.  */
+#define NCARGS          INT_MAX
+
+
+/* Magical constants.  */
+#define NOGROUP 65535           /* Marker for empty group set member.  */
+#define NODEV   ((dev_t) -1)    /* Non-existent device.  */
+
+
+/* Bit map related macros.  */
+#define setbit(a,i)     ((a)[(i)/NBBY] |= 1<<((i)%NBBY))
+#define clrbit(a,i)     ((a)[(i)/NBBY] &= ~(1<<((i)%NBBY)))
+#define isset(a,i)      ((a)[(i)/NBBY] & (1<<((i)%NBBY)))
+#define isclr(a,i)      (((a)[(i)/NBBY] & (1<<((i)%NBBY))) == 0)
+
+/* Macros for counting and rounding.  */
+#ifndef howmany
+# define howmany(x, y)  (((x)+((y)-1))/(y))
+#endif
+#define roundup(x, y)   ((((x)+((y)-1))/(y))*(y))
+#define powerof2(x)     ((((x)-1)&(x))==0)
 
 /* Macros for min/max.  */
 #define MIN(a,b) (((a)<(b))?(a):(b))
 #define MAX(a,b) (((a)>(b))?(a):(b))
+
+
+/* Unit of `st_blocks'.  */
+#define DEV_BSIZE       512
+
+
+#endif   /* sys/param.h */
index 4e65bb16cec1e85c1463497f3c382936b3665a6a..cd3123046b364a1fe400c24ea128cd414c59384d 100644 (file)
@@ -1003,6 +1003,7 @@ __kernel_standard_f(float x, float y, int type)
        return __kernel_standard(x, y, type);
 }
 
+#ifndef __NO_LONG_DOUBLE_MATH
 long double
 __kernel_standard_l (long double x, long double y, int type)
 {
@@ -1082,3 +1083,4 @@ __kernel_standard_l (long double x, long double y, int type)
       return __kernel_standard (dx, dy, type);
     }
 }
+#endif
index 1dc45e8ee2c3c5acf1e681a0681e53e67d776f40..911cbfab5db11a29d90ec366b9b0ba423f825341 100644 (file)
@@ -401,8 +401,10 @@ __getcwd (buf, size)
              goto lose;
            }
 
+#ifdef _DIRENT_HAVE_D_TYPE
          if (d->d_type != DT_DIR && d->d_type != DT_UNKNOWN)
            continue;
+#endif
          if (d->d_name[0] == '.'
              && (d->d_name[1] == '\0'
                  || (d->d_name[1] == '.' && d->d_name[2] == '\0')))
index d9ec10f38dca7c42264cc044c612a4a610501ccb..61c193bea3b90661f09eb169f649c89b8fdcdb98 100644 (file)
@@ -1,6 +1,6 @@
 /* Write block to given position in file without changing file pointer.
    POSIX version.
-   Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1997-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -56,7 +56,6 @@ __libc_pwrite64 (int fd, const void *buf, size_t nbyte, off64_t offset)
   return result;
 }
 #ifndef __libc_pwrite64
-libc_hidden_def (__libc_pwrite64)
 weak_alias (__libc_pwrite64, __pwrite64)
 libc_hidden_weak (__pwrite64)
 weak_alias (__libc_pwrite64, pwrite64)
index abbf956226c714f059b99d147acdd91db9cf310a..2d3ae941dd19f0348ed95c0b957c68c3c0e9815d 100644 (file)
@@ -1,5 +1,5 @@
 /* Guts of POSIX spawn interface.  Generic POSIX.1 version.
-   Copyright (C) 2000-2005, 2006, 2011, 2012 Free Software Foundation, Inc.
+   Copyright (C) 2000-2012 Free Software 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 <fcntl.h>
 #include <paths.h>
 #include <spawn.h>
+#include <stdbool.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/tmpfile.c b/sysdeps/unix/sysv/linux/x86_64/x32/tmpfile.c
deleted file mode 100644 (file)
index f24f361..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/wordsize-64/tmpfile.c>
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/tmpfile64.c b/sysdeps/unix/sysv/linux/x86_64/x32/tmpfile64.c
deleted file mode 100644 (file)
index 55feef2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/wordsize-64/tmpfile64.c>
diff --git a/sysdeps/wordsize-64/tmpfile.c b/sysdeps/wordsize-64/tmpfile.c
deleted file mode 100644 (file)
index 449a222..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../../stdio-common/tmpfile.c"
-
-weak_alias (__new_tmpfile, tmpfile64)
diff --git a/sysdeps/wordsize-64/tmpfile64.c b/sysdeps/wordsize-64/tmpfile64.c
deleted file mode 100644 (file)
index 5c124c2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/* Defined in tmpfile.c.  */