This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch, master, updated. glibc-2.16-ports-merge-123-g85fe199


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  85fe199795c91510ad495c04aea535705ad9abb5 (commit)
      from  4f75b7a09a57e0d33ee0741c18114ce8ac5d6c3f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=85fe199795c91510ad495c04aea535705ad9abb5

commit 85fe199795c91510ad495c04aea535705ad9abb5
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Fri Aug 3 19:54:08 2012 +0000

    Remove some pre-2.6.0 Linux kernel conditionals.

diff --git a/ChangeLog b/ChangeLog
index 47f1338..72d6156 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2012-08-03  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_AT_SECURE):
+	Remove.
+	(__ASSUME_CORRECT_SI_PID): Likewise.
+	(__ASSUME_BRK_PAGE_ROUNDED): Likewise.
+	(__ASSUME_TMPFS_NAME): Likewise.
+	* sysdeps/unix/sysv/linux/dl-sysdep.c (frob_brk)
+	[!__ASSUME_BRK_PAGE_ROUNDED]: Remove conditional code.
+	* sysdeps/unix/sysv/linux/ldsodefs.h [__ASSUME_AT_SECURE]
+	(HAVE_AUX_SECURE): Make definition unconditional.
+	* sysdeps/unix/sysv/linux/shm_open.c (where_is_shmfs)
+	[!__ASSUME_TMPFS_NAME]: Remove conditional code.
+
 2012-08-03  Roland McGrath  <roland@hack.frob.com>
 
 	* sysdeps/mach/hurd/sys/param.h (MAXSYMLINKS): Macro removed.
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 6969fd2..bf9bf92 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,9 @@
+2012-08-03  Joseph Myers  <joseph@codesourcery.com>
+
+	* nptl-init.c (sigcancel_handler) [__ASSUME_CORRECT_SI_PID]: Make
+	code unconditional.
+	(sighandler_setxid) [__ASSUME_CORRECT_SI_PID]: Likewise.
+
 2012-07-28  Siddhesh Poyarekar  <siddhesh@redhat.com>
 
 	* tst-pthread-getattr.c (MAX_STACK_SIZE): New macro.
diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c
index 5216ce1..6a18dbe 100644
--- a/nptl/nptl-init.c
+++ b/nptl/nptl-init.c
@@ -172,24 +172,18 @@ __nptl_set_robust (struct pthread *self)
 static void
 sigcancel_handler (int sig, siginfo_t *si, void *ctx)
 {
-#ifdef __ASSUME_CORRECT_SI_PID
   /* Determine the process ID.  It might be negative if the thread is
      in the middle of a fork() call.  */
   pid_t pid = THREAD_GETMEM (THREAD_SELF, pid);
   if (__builtin_expect (pid < 0, 0))
     pid = -pid;
-#endif
 
   /* Safety check.  It would be possible to call this function for
      other signals and send a signal from another process.  This is not
      correct and might even be a security problem.  Try to catch as
      many incorrect invocations as possible.  */
   if (sig != SIGCANCEL
-#ifdef __ASSUME_CORRECT_SI_PID
-      /* Kernels before 2.5.75 stored the thread ID and not the process
-	 ID in si_pid so we skip this test.  */
       || si->si_pid != pid
-#endif
       || si->si_code != SI_TKILL)
     return;
 
@@ -235,24 +229,18 @@ struct xid_command *__xidcmd attribute_hidden;
 static void
 sighandler_setxid (int sig, siginfo_t *si, void *ctx)
 {
-#ifdef __ASSUME_CORRECT_SI_PID
   /* Determine the process ID.  It might be negative if the thread is
      in the middle of a fork() call.  */
   pid_t pid = THREAD_GETMEM (THREAD_SELF, pid);
   if (__builtin_expect (pid < 0, 0))
     pid = -pid;
-#endif
 
   /* Safety check.  It would be possible to call this function for
      other signals and send a signal from another process.  This is not
      correct and might even be a security problem.  Try to catch as
      many incorrect invocations as possible.  */
   if (sig != SIGSETXID
-#ifdef __ASSUME_CORRECT_SI_PID
-      /* Kernels before 2.5.75 stored the thread ID and not the process
-	 ID in si_pid so we skip this test.  */
       || si->si_pid != pid
-#endif
       || si->si_code != SI_TKILL)
     return;
 
diff --git a/sysdeps/unix/sysv/linux/dl-sysdep.c b/sysdeps/unix/sysv/linux/dl-sysdep.c
index 42c63d2..da3686a 100644
--- a/sysdeps/unix/sysv/linux/dl-sysdep.c
+++ b/sysdeps/unix/sysv/linux/dl-sysdep.c
@@ -1,5 +1,5 @@
 /* Dynamic linker system dependencies for Linux.
-   Copyright (C) 1995,1997,2001,2004,2005,2006, 2008 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
@@ -33,27 +33,6 @@ static inline void
 frob_brk (void)
 {
   __brk (0);			/* Initialize the break.  */
-
-#if ! __ASSUME_BRK_PAGE_ROUNDED
-  /* If the dynamic linker was executed as a program, then the break may
-     start immediately after our data segment.  However, dl-minimal.c has
-     already stolen the remainder of the page for internal allocations.
-     If we don't adjust the break location recorded by the kernel, the
-     normal program startup will inquire, find the value at our &_end,
-     and start allocating its own data there, clobbering dynamic linker
-     data structures allocated there during startup.
-
-     Later Linux kernels have changed this behavior so that the initial
-     break value is rounded up to the page boundary before we start.  */
-
-  extern char *__curbrk attribute_hidden;
-  extern char _end[] attribute_hidden;
-  char *const endpage = (void *) 0 + (((__curbrk - (char *) 0)
-				       + GLRO(dl_pagesize) - 1)
-				      & -GLRO(dl_pagesize));
-  if (__builtin_expect (__curbrk >= _end && __curbrk < endpage, 0))
-    __brk (endpage);
-#endif
 }
 
 # include <elf/dl-sysdep.c>
diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h
index b949f16..e5b65cc 100644
--- a/sysdeps/unix/sysv/linux/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/kernel-features.h
@@ -115,15 +115,6 @@
 /* The statfs64 syscalls are available in 2.5.74 (but not for alpha).  */
 #define __ASSUME_STATFS64	1
 
-/* Starting with at least 2.5.74 the kernel passes the setuid-like exec
-   flag unconditionally up to the child.  */
-#define __ASSUME_AT_SECURE	1
-
-/* Starting with the 2.5.75 kernel the kernel fills in the correct value
-   in the si_pid field passed as part of the siginfo_t struct to signal
-   handlers.  */
-#define __ASSUME_CORRECT_SI_PID	1
-
 /* The tgkill syscall was instroduced for i386 in 2.5.75.  On x86-64,
    sparc, SH, ppc, and ppc64 it was introduced in 2.6.0-test3. */
 #if defined __i386__ \
@@ -189,10 +180,6 @@
 # define __ASSUME_GETDENTS32_D_TYPE	1
 #endif
 
-/* Starting with version 2.5.3, the initial location returned by `brk'
-   after exec is always rounded up to the next page.  */
-#define __ASSUME_BRK_PAGE_ROUNDED	1
-
 /* Starting with version 2.6.9, the waitid system call is available.
    Except for powerpc{,64} and s390{,x}, where it is available in 2.6.12.  */
 #if (__LINUX_KERNEL_VERSION >= 0x020609 \
@@ -208,11 +195,6 @@
 # define __ASSUME_STAT64_SYSCALL	1
 #endif
 
-/* Early kernel used "shm" as the filesystem name for the filesystem used
-   for shm_open etc.  Later it is "tmpfs".  2.4.20 is a safe bet for the
-   cutover.  */
-#define __ASSUME_TMPFS_NAME	1
-
 /* pselect/ppoll were introduced just after 2.6.16-rc1.  Due to the way
    the kernel versions are advertised we can only rely on 2.6.17 to have
    the code.  On x86_64 and SH this appeared first in 2.6.19-rc1,
diff --git a/sysdeps/unix/sysv/linux/ldsodefs.h b/sysdeps/unix/sysv/linux/ldsodefs.h
index 50f3e2b..cf7ace7 100644
--- a/sysdeps/unix/sysv/linux/ldsodefs.h
+++ b/sysdeps/unix/sysv/linux/ldsodefs.h
@@ -41,9 +41,7 @@ extern void _dl_non_dynamic_init (void) internal_function;
 
 /* We can assume that the kernel always provides the AT_SECURE value
    in the auxiliary vector from 2.5.74 or so on.  */
-#if __ASSUME_AT_SECURE
-# define HAVE_AUX_SECURE
-#endif
+#define HAVE_AUX_SECURE
 
 /* Starting with one of the 2.4.0 pre-releases the Linux kernel passes
    up the page size information.  */
diff --git a/sysdeps/unix/sysv/linux/shm_open.c b/sysdeps/unix/sysv/linux/shm_open.c
index 763b087..82332a3 100644
--- a/sysdeps/unix/sysv/linux/shm_open.c
+++ b/sysdeps/unix/sysv/linux/shm_open.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000-2004,2006,2007 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
@@ -86,11 +86,7 @@ where_is_shmfs (void)
   while ((mp = __getmntent_r (fp, &resmem, buf, sizeof buf)) != NULL)
     /* The original name is "shm" but this got changed in early Linux
        2.4.x to "tmpfs".  */
-    if (strcmp (mp->mnt_type, "tmpfs") == 0
-#ifndef __ASSUME_TMPFS_NAME
-	|| strcmp (mp->mnt_type, "shm") == 0
-#endif
-	)
+    if (strcmp (mp->mnt_type, "tmpfs") == 0)
       {
 	/* Found it.  There might be more than one place where the
            filesystem is mounted but one is enough for us.  */

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                 |   14 ++++++++++++++
 nptl/ChangeLog                            |    6 ++++++
 nptl/nptl-init.c                          |   12 ------------
 sysdeps/unix/sysv/linux/dl-sysdep.c       |   23 +----------------------
 sysdeps/unix/sysv/linux/kernel-features.h |   18 ------------------
 sysdeps/unix/sysv/linux/ldsodefs.h        |    4 +---
 sysdeps/unix/sysv/linux/shm_open.c        |    8 ++------
 7 files changed, 24 insertions(+), 61 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]