Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Fix lots of bitrot for stub configurations.
  • Loading branch information
Roland McGrath committed Jul 30, 2012
1 parent fc56c5b commit bea9b19
Show file tree
Hide file tree
Showing 39 changed files with 294 additions and 82 deletions.
83 changes: 83 additions & 0 deletions 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.
Expand Down
1 change: 1 addition & 0 deletions argp/argp-help.c
Expand Up @@ -40,6 +40,7 @@ char *alloca ();
# endif
#endif

#include <stdbool.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
Expand Down
6 changes: 3 additions & 3 deletions bits/libc-lock.h
Expand Up @@ -129,12 +129,12 @@
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 */
69 changes: 41 additions & 28 deletions bits/signum.h
@@ -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
Expand Down Expand Up @@ -27,37 +28,49 @@
# 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. */
9 changes: 7 additions & 2 deletions bits/stat.h
@@ -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
Expand All @@ -15,10 +15,13 @@
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. */

Expand Down Expand Up @@ -96,3 +99,5 @@ struct stat64
__time_t st_ctime; /* Time of last status change. */
};
#endif

#endif /* bits/stat.h */
3 changes: 2 additions & 1 deletion dirent/opendir.c
@@ -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
Expand All @@ -18,6 +18,7 @@
#include <errno.h>
#include <stddef.h>
#include <dirent.h>
#include <fcntl.h>


DIR *
Expand Down
2 changes: 2 additions & 0 deletions elf/rtld.c
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions iconv/iconv_charmap.c
Expand Up @@ -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)
Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion include/unistd.h
Expand Up @@ -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);
Expand Down
2 changes: 2 additions & 0 deletions inet/netinet/in.h
Expand Up @@ -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
{
Expand Down
7 changes: 5 additions & 2 deletions intl/loadmsgcat.c
@@ -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
Expand Down Expand Up @@ -27,6 +27,7 @@
# include <config.h>
#endif

#include <assert.h>
#include <ctype.h>
#include <errno.h>
#include <fcntl.h>
Expand Down Expand Up @@ -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;
Expand Down
3 changes: 2 additions & 1 deletion io/fchmodat.c
@@ -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
Expand All @@ -21,6 +21,7 @@
#include <stddef.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>

int
fchmodat (fd, file, mode, flag)
Expand Down
8 changes: 6 additions & 2 deletions 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.
Expand Down Expand Up @@ -542,7 +542,11 @@ ftw_dir (struct ftw_data *data, struct STAT *st, struct dir_data *old_dir)

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;
}
Expand Down
8 changes: 1 addition & 7 deletions io/xmknod.c
@@ -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
Expand Down Expand Up @@ -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;
}
Expand Down
4 changes: 2 additions & 2 deletions libio/genops.c
Expand Up @@ -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)
Expand Down
1 change: 1 addition & 0 deletions nss/makedb.c
Expand Up @@ -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>
Expand Down

0 comments on commit bea9b19

Please sign in to comment.