Skip to content

Commit

Permalink
Updated to fedora-glibc-20080328T1347
Browse files Browse the repository at this point in the history
  • Loading branch information
Jakub Jelinek committed Mar 28, 2008
1 parent f23e5ee commit 09b731a
Show file tree
Hide file tree
Showing 21 changed files with 130 additions and 28 deletions.
28 changes: 28 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,31 @@
2008-03-27 Jakub Jelinek <jakub@redhat.com>

* sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Add open
and creat system calls.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove open system
call.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Remove open and creat
system calls.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.

2008-03-27 Ulrich Drepper <drepper@redhat.com>

* sysdeps/unix/sysv/linux/bits/local_lim.h: Undefined ARG_MAX if
<linux/limits.h> has defined it.
* sysdeps/unix/sysv/linux/sys/param.h: Define NCARGS to the legacy
ARG_MAX value and prevent ARG_MAX from being defined by the kernel
headers.
* sysdeps/unix/sysv/linux/sysconf.c: Define legacy_ARG_MAX and use
it instead of ARG_MAX.

2008-03-25 Jakub Jelinek <jakub@redhat.com>

* posix/gai.conf: Fix comment for scope nullbits.
* sysdeps/posix/getaddrinfo.c (gaiconf_init): If /bits is not present,
default to 128 bits for v4 mapped addresses.

2008-03-07 Martin Schwidefsky <schwidefsky@de.ibm.com>

* sysdeps/s390/fpu/fegetenv.c (fegetenv): Remove PTRACE_PEEKUSER
Expand Down
4 changes: 2 additions & 2 deletions fedora/branch.mk
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ glibc-branch := fedora
glibc-base := HEAD
DIST_BRANCH := devel
COLLECTION := dist-f8
fedora-sync-date := 2008-03-26 10:41 UTC
fedora-sync-tag := fedora-glibc-20080326T1041
fedora-sync-date := 2008-03-28 13:47 UTC
fedora-sync-tag := fedora-glibc-20080328T1347
11 changes: 10 additions & 1 deletion fedora/glibc.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
Summary: The GNU libc libraries
Name: glibc
Version: @glibcversion@
Release: 12
Release: 13
# GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries.
# Things that are linked directly into dynamically linked programs
# and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional
Expand Down Expand Up @@ -976,6 +976,15 @@ rm -f *.filelist*
%endif

%changelog
* Fri Mar 28 2008 Jakub Jelinek <jakub@redhat.com> 2.7.90-13
- update to trunk
- don't define ARG_MAX in <limits.h>, as it is no longer
constant - use sysconf (_SC_ARG_MAX) to get the current
argument size limit
- fix build on sparc64
- only service sshd condrestart if /etc/rc.d/init.d/sshd exists
(#428859)

* Wed Mar 26 2008 Jakub Jelinek <jakub@redhat.com> 2.7.90-12
- update to trunk
- new CLONE_* flags in <sched.h> (#438542)
Expand Down
1 change: 1 addition & 0 deletions fedora/glibc_post_upgrade.c
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,7 @@ main (void)
/* Check if we can safely condrestart sshd. */
if (access ("/sbin/service", X_OK) == 0
&& access ("/usr/sbin/sshd", X_OK) == 0
&& access ("/etc/rc.d/init.d/sshd", X_OK) == 0
&& access ("/bin/bash", X_OK) == 0)
{
if (check_elf ("/usr/sbin/sshd"))
Expand Down
9 changes: 9 additions & 0 deletions nptl/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
2008-03-27 Ulrich Drepper <drepper@redhat.com>

* sysdeps/unix/sysv/linux/bits/local_lim.h: Undefined ARG_MAX if
<linux/limits.h> has defined it.
* sysdeps/unix/sysv/linux/alpha/bits/local_lim.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/local_lim.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/local_lim.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/local_lim.h: Likewise.

2008-03-18 Jakub Jelinek <jakub@redhat.com>

* sysdeps/unix/sysv/linux/ia64/dl-sysdep.h: Use __ASSEMBLER__ instead
Expand Down
10 changes: 9 additions & 1 deletion nptl/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* Minimum guaranteed maximum values for system limits. Linux/Alpha version.
Copyright (C) 1993-1998,2000,2002,2003,2004 Free Software Foundation, Inc.
Copyright (C) 1993-1998,2000,2002-2004,2008 Free Software 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,6 +31,9 @@
#ifndef OPEN_MAX
# define __undef_OPEN_MAX
#endif
#ifndef ARG_MAX
# define __undef_ARG_MAX
#endif

/* The kernel sources contain a file with all the needed information. */
#include <linux/limits.h>
Expand All @@ -50,6 +53,11 @@
# undef OPEN_MAX
# undef __undef_OPEN_MAX
#endif
/* Have to remove ARG_MAX? */
#ifdef __undef_ARG_MAX
# undef ARG_MAX
# undef __undef_ARG_MAX
#endif

/* The number of data keys per process. */
#define _POSIX_THREAD_KEYS_MAX 128
Expand Down
10 changes: 9 additions & 1 deletion nptl/sysdeps/unix/sysv/linux/bits/local_lim.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* Minimum guaranteed maximum values for system limits. Linux version.
Copyright (C) 1993-1998,2000,2002,2003,2004 Free Software Foundation, Inc.
Copyright (C) 1993-1998,2000,2002-2004,2008 Free Software 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,6 +31,9 @@
#ifndef OPEN_MAX
# define __undef_OPEN_MAX
#endif
#ifndef ARG_MAX
# define __undef_ARG_MAX
#endif

/* The kernel sources contain a file with all the needed information. */
#include <linux/limits.h>
Expand All @@ -50,6 +53,11 @@
# undef OPEN_MAX
# undef __undef_OPEN_MAX
#endif
/* Have to remove ARG_MAX? */
#ifdef __undef_ARG_MAX
# undef ARG_MAX
# undef __undef_ARG_MAX
#endif

/* The number of data keys per process. */
#define _POSIX_THREAD_KEYS_MAX 128
Expand Down
10 changes: 9 additions & 1 deletion nptl/sysdeps/unix/sysv/linux/ia64/bits/local_lim.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* Minimum guaranteed maximum values for system limits. Linux/IA-64 version.
Copyright (C) 1993-1998,2000,2002,2003,2004 Free Software Foundation, Inc.
Copyright (C) 1993-1998,2000,2002-2004,2008 Free Software 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,6 +31,9 @@
#ifndef OPEN_MAX
# define __undef_OPEN_MAX
#endif
#ifndef ARG_MAX
# define __undef_ARG_MAX
#endif

/* The kernel sources contain a file with all the needed information. */
#include <linux/limits.h>
Expand All @@ -50,6 +53,11 @@
# undef OPEN_MAX
# undef __undef_OPEN_MAX
#endif
/* Have to remove ARG_MAX? */
#ifdef __undef_ARG_MAX
# undef ARG_MAX
# undef __undef_ARG_MAX
#endif

/* The number of data keys per process. */
#define _POSIX_THREAD_KEYS_MAX 128
Expand Down
11 changes: 10 additions & 1 deletion nptl/sysdeps/unix/sysv/linux/powerpc/bits/local_lim.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/* Minimum guaranteed maximum values for system limits. Linux/PPC version.
Copyright (C) 1993-1998,2000,2002-2004,2006 Free Software Foundation, Inc.
Copyright (C) 1993-1998,2000,2002-2004,2006,2008
Free Software 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,6 +32,9 @@
#ifndef OPEN_MAX
# define __undef_OPEN_MAX
#endif
#ifndef ARG_MAX
# define __undef_ARG_MAX
#endif

/* The kernel sources contain a file with all the needed information. */
#include <linux/limits.h>
Expand All @@ -50,6 +54,11 @@
# undef OPEN_MAX
# undef __undef_OPEN_MAX
#endif
/* Have to remove ARG_MAX? */
#ifdef __undef_ARG_MAX
# undef ARG_MAX
# undef __undef_ARG_MAX
#endif

/* The number of data keys per process. */
#define _POSIX_THREAD_KEYS_MAX 128
Expand Down
10 changes: 9 additions & 1 deletion nptl/sysdeps/unix/sysv/linux/sparc/bits/local_lim.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* Minimum guaranteed maximum values for system limits. Linux/SPARC version.
Copyright (C) 1993-1998,2000,2002,2003,2004 Free Software Foundation, Inc.
Copyright (C) 1993-1998,2000,2002-2004,2008 Free Software 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,6 +31,9 @@
#ifndef OPEN_MAX
# define __undef_OPEN_MAX
#endif
#ifndef ARG_MAX
# define __undef_ARG_MAX
#endif

/* The kernel sources contain a file with all the needed information. */
#include <linux/limits.h>
Expand All @@ -50,6 +53,11 @@
# undef OPEN_MAX
# undef __undef_OPEN_MAX
#endif
/* Have to remove ARG_MAX? */
#ifdef __undef_ARG_MAX
# undef ARG_MAX
# undef __undef_ARG_MAX
#endif

/* The number of data keys per process. */
#define _POSIX_THREAD_KEYS_MAX 128
Expand Down
2 changes: 1 addition & 1 deletion posix/gai.conf
Original file line number Diff line number Diff line change
Expand Up @@ -65,4 +65,4 @@
#scopev4 ::ffff:10.0.0.0/104 5
#scopev4 ::ffff:172.16.0.0/108 5
#scopev4 ::ffff:192.168.0.0/112 5
#scopev4 ::ffff:0.0.0.0 14
#scopev4 ::ffff:0.0.0.0/96 14
1 change: 1 addition & 0 deletions sysdeps/posix/getaddrinfo.c
Original file line number Diff line number Diff line change
Expand Up @@ -1775,6 +1775,7 @@ gaiconf_init (void)
*cp++ = '\0';
if (inet_pton (AF_INET6, val1, &prefix))
{
bits = 128;
if (IN6_IS_ADDR_V4MAPPED (&prefix)
&& (cp == NULL
|| (bits = strtoul (cp, &endp, 10)) != ULONG_MAX
Expand Down
2 changes: 0 additions & 2 deletions sysdeps/unix/sysv/linux/alpha/syscalls.list
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@ sigstack - sigstack 2 sigstack
vfork - vfork 0 __vfork vfork

getpriority - getpriority i:ii __getpriority getpriority
open - open Ci:siv __libc_open __open open !__libc_open64 __open64 open64
open64 open -

# proper socket implementations:
accept - accept Ci:iBN __libc_accept __accept accept
Expand Down
10 changes: 9 additions & 1 deletion sysdeps/unix/sysv/linux/bits/local_lim.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* Minimum guaranteed maximum values for system limits. Linux version.
Copyright (C) 1993-1998, 2000, 2003, 2004 Free Software Foundation, Inc.
Copyright (C) 1993-1998,2000,2003,2004,2008 Free Software 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,6 +31,9 @@
#ifndef OPEN_MAX
# define __undef_OPEN_MAX
#endif
#ifndef ARG_MAX
# define __undef_ARG_MAX
#endif

/* The kernel sources contain a file with all the needed information. */
#include <linux/limits.h>
Expand All @@ -50,6 +53,11 @@
# undef OPEN_MAX
# undef __undef_OPEN_MAX
#endif
/* Have to remove ARG_MAX? */
#ifdef __undef_ARG_MAX
# undef ARG_MAX
# undef __undef_ARG_MAX
#endif

/* Maximum amount by which a process can descrease its asynchronous I/O
priority level. */
Expand Down
3 changes: 0 additions & 3 deletions sysdeps/unix/sysv/linux/ia64/syscalls.list
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@ umount2 - umount 2 __umount2 umount2

getpriority - getpriority i:ii __getpriority getpriority

creat - creat Ci:si __libc_creat creat creat64
open - open Ci:siv __libc_open __open open __open64 open64

# semaphore and shm system calls
msgctl - msgctl i:iip __msgctl msgctl
msgget - msgget i:ii __msgget msgget
Expand Down
2 changes: 0 additions & 2 deletions sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# File name Caller Syscall name # args Strong name Weak names

creat - creat Ci:si __libc_creat creat creat64
getrlimit - ugetrlimit i:ip __getrlimit getrlimit getrlimit64
open - open Ci:siv __libc_open __open open __open64 open64
3 changes: 0 additions & 3 deletions sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@

vfork - vfork 0 __vfork vfork

creat - creat Ci:si __libc_creat creat creat64
open - open Ci:siv __libc_open __open open __open64 open64

# semaphore and shm system calls
msgctl - msgctl i:iip __msgctl msgctl
msgget - msgget i:ii __msgget msgget
Expand Down
18 changes: 14 additions & 4 deletions sysdeps/unix/sysv/linux/sys/param.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Copyright (C) 1995,1996,1997,2000,2001,2003 Free Software Foundation, Inc.
/* Copyright (C) 1995-1997,2000,2001,2003,2008 Free Software 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 @@ -19,10 +19,20 @@
#ifndef _SYS_PARAM_H
#define _SYS_PARAM_H 1

#ifndef ARG_MAX
# define __undef_ARG_MAX
#endif

#include <limits.h>
#include <linux/limits.h>
#include <linux/param.h>

/* The kernel headers defines ARG_MAX. The value is wrong, though. */
#ifndef __undef_ARG_MAX
# undef ARG_MAX
# undef __undef_ARG_MAX
#endif

/* BSD names for some <limits.h> values. */

#define NBBY CHAR_BIT
Expand All @@ -31,12 +41,12 @@
#endif
#define MAXSYMLINKS 20
#define CANBSIZ MAX_CANON
#define NCARGS ARG_MAX
#define MAXPATHLEN PATH_MAX
/* The following is not really correct but it is a value we used for a
/* The following are not really correct but it is a value we used for a
long time and which seems to be usable. People should not use NOFILE
anyway. */
and NCARGS anyway. */
#define NOFILE 256
#define NCARGS 131072


#include <sys/types.h>
Expand Down
9 changes: 7 additions & 2 deletions sysdeps/unix/sysv/linux/sysconf.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@
#include <not-cancel.h>
#include <ldsodefs.h>

/* Legacy value of ARG_MAX. The macro is now not defined since the
actual value varies based on the stack size. */
#define legacy_ARG_MAX 131072


static long int posix_sysconf (int name);


Expand Down Expand Up @@ -83,10 +88,10 @@ __sysconf (int name)
/* Use getrlimit to get the stack limit. */
struct rlimit rlimit;
if (__getrlimit (RLIMIT_STACK, &rlimit) == 0)
return MAX (ARG_MAX, rlimit.rlim_cur / 4);
return MAX (legacy_ARG_MAX, rlimit.rlim_cur / 4);
}

return ARG_MAX;
return legacy_ARG_MAX;

case _SC_NGROUPS_MAX:
/* Try to read the information from the /proc/sys/kernel/ngroups_max
Expand Down
2 changes: 2 additions & 0 deletions sysdeps/unix/sysv/linux/wordsize-64/syscalls.list
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,5 @@ setrlimit - setrlimit i:ip __setrlimit setrlimit setrlimit64
readahead - readahead i:iii __readahead readahead
sendfile - sendfile i:iipi sendfile sendfile64
sync_file_range - sync_file_range i:iiii sync_file_range
creat - creat Ci:si __libc_creat creat creat64
open - open Ci:siv __libc_open __open open __open64 open64
2 changes: 0 additions & 2 deletions sysdeps/unix/sysv/linux/x86_64/syscalls.list
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
# File name Caller Syscall name # args Strong name Weak names

arch_prctl EXTRA arch_prctl i:ii __arch_prctl arch_prctl
creat - creat Ci:si __libc_creat creat creat64
modify_ldt EXTRA modify_ldt i:ipi __modify_ldt modify_ldt
msgctl - msgctl i:iip __msgctl msgctl
msgget - msgget i:ii __msgget msgget
msgrcv - msgrcv Ci:ibnii __msgrcv msgrcv
msgsnd - msgsnd Ci:ibni __msgsnd msgsnd
open - open Ci:siv __libc_open __open open __open64 open64
shmat - shmat i:ipi __shmat shmat
shmctl - shmctl i:iip __shmctl shmctl
shmdt - shmdt i:s __shmdt shmdt
Expand Down

0 comments on commit 09b731a

Please sign in to comment.