GNU C Library master sources branch, master, updated. glibc-2.12-257-g68dc949

drepper@sourceware.org drepper@sourceware.org
Thu Jan 13 21:22:00 GMT 2011


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  68dc949774cb651d53541df4abdc60327f7e096b (commit)
       via  8cf8ce1702c354a8266e3cfa6ab54c2467d1873f (commit)
       via  a85b5cb4d4a5fc56e2b38638d270bf2daa67eb6c (commit)
      from  cfa28e560ef69372b9e15e9a2d924a0fbcfc7bca (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=68dc949774cb651d53541df4abdc60327f7e096b

commit 68dc949774cb651d53541df4abdc60327f7e096b
Author: Andreas Schwab <schwab@linux-m68k.org>
Date:   Thu Jan 13 16:21:55 2011 -0500

    Fix check-execstack test

diff --git a/ChangeLog b/ChangeLog
index 0c22abd..9ca8b79 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2010-12-28  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* elf/Makefile (check-execstack): Revert last change.  Depend on
+	check-execstack.h.
+	(check-execstack.h): New target.
+	(generated): Add check-execstack.h.
+	* elf/check-execstack.c: Include "check-execstack.h".
+	(main): Revert last change.
+	(handle_file): Return zero if GNU_STACK is absent and
+	DEFAULT_STACK_PERMS doesn't include PF_X.
+
 2011-01-13  Ulrich Drepper  <drepper@gmail.com>
 
 	* sysdeps/posix/spawni.c (__spawni): Don't fail if close file action
diff --git a/elf/Makefile b/elf/Makefile
index bba6493..da9af8b 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -898,15 +898,17 @@ check-textrel-CFLAGS = -O -Wall -D_XOPEN_SOURCE=600 -D_BSD_SOURCE
 $(objpfx)check-textrel: check-textrel.c
 	$(native-compile)
 
-check-execstack-CFLAGS = -O -Wall -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -std=gnu99
-# Perform the same operation as $(native-compile) but add the sysdeps
-# directories as header search locations.
-$(objpfx)check-execstack: check-execstack.c
+check-execstack-CFLAGS = -O -Wall -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -std=gnu99 \
+			 $(objpfx:%/=-I%)
+$(objpfx)check-execstack: check-execstack.c $(objpfx)check-execstack.h
+	$(native-compile)
+$(objpfx)check-execstack.h: $(first-word $(wildcard $(sysdirs:%=%/stackinfo.h)))
 	$(make-target-directory)
-	$(patsubst %/,cd % &&,$(objpfx)) \
-	$(BUILD_CC) $($(basename $(<F))-CFLAGS) $(ALL_BUILD_CFLAGS) \
-	$(addprefix -I$(shell pwd)/,$(sysdirs)) -I$(shell pwd) \
-	$(firstword $(filter /%,$< $(shell pwd)/$<)) -o $(@F)
+	{ echo '#include <stackinfo.h>'; echo '@@@DEFAULT_STACK_PERMS@@@'; } | \
+	$(CC) $(CFLAGS) $(CPPFLAGS) -E -x c-header - | \
+	sed -n -e 's/^@@@\(.*\)@@@/#define DEFAULT_STACK_PERMS \1/p' > $@T
+	mv -f $@T $@
+generated += check-execstack.h
 
 check-localplt-CFLAGS = -O -Wall -D_GNU_SOURCE -std=gnu99
 $(objpfx)check-localplt: check-localplt.c
diff --git a/elf/check-execstack.c b/elf/check-execstack.c
index 6435375..96e4812 100644
--- a/elf/check-execstack.c
+++ b/elf/check-execstack.c
@@ -26,7 +26,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
-#include <stackinfo.h>
+#include "check-execstack.h"
 
 
 #ifdef BITS
@@ -92,8 +92,13 @@ AB(handle_file) (const char *fname, int fd)
 	return 0;
       }
 
-  printf ("%s: no PT_GNU_STACK entry\n", fname);
-  return 1;
+  if (DEFAULT_STACK_PERMS & PF_X)
+    {
+      printf ("%s: no PT_GNU_STACK entry\n", fname);
+      return 1;
+    }
+
+  return 0;
 }
 
 # undef BITS
@@ -151,13 +156,8 @@ main (int argc, char *argv[])
   int cnt;
   int result = 0;
 
-  /* We can return successfully, i.e., not fail, if PF_X isn't present.  If it
-   * is present then check for the GNU_STACK header.  */
-  if (DEFAULT_STACK_PERMS & PF_X)
-    {
-      for (cnt = 1; cnt < argc; ++cnt)
-	result |= handle_file (argv[cnt]);
-     }
+  for (cnt = 1; cnt < argc; ++cnt)
+    result |= handle_file (argv[cnt]);
   return result;
 }
 #endif

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=8cf8ce1702c354a8266e3cfa6ab54c2467d1873f

commit 8cf8ce1702c354a8266e3cfa6ab54c2467d1873f
Author: Ulrich Drepper <drepper@gmail.com>
Date:   Thu Jan 13 16:21:04 2011 -0500

    Clean up PLT use for getrlimit64.

diff --git a/ChangeLog b/ChangeLog
index ea9b1cc..0c22abd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,9 @@
 
 	* sysdeps/posix/spawni.c (__spawni): Don't fail if close file action
 	in child fails because the descriptor is already closed.
+	* include/sys/resource.h: Add libc_hidden_proto for getrlimit64.
+	* sysdeps/unix/sysv/linux/getrlimit64.c: Add libc_hidden_def.
+	* sysdeps/unix/sysv/linux/i386/getrlimit64.c: Likewise.
 
 	[BZ #12397]
 	* sysdeps/unix/sysv/linux/mkdirat.c (mkdirat): Fix handling of missing
diff --git a/include/sys/resource.h b/include/sys/resource.h
index 9fd59dd..b4ea1ae 100644
--- a/include/sys/resource.h
+++ b/include/sys/resource.h
@@ -3,6 +3,7 @@
 
 libc_hidden_proto (getpriority)
 libc_hidden_proto (setpriority)
+libc_hidden_proto (getrlimit64)
 
 /* Now define the internal interfaces.  */
 extern int __getrlimit (enum __rlimit_resource __resource,
diff --git a/sysdeps/unix/sysv/linux/getrlimit64.c b/sysdeps/unix/sysv/linux/getrlimit64.c
index 19e9911..419e324 100644
--- a/sysdeps/unix/sysv/linux/getrlimit64.c
+++ b/sysdeps/unix/sysv/linux/getrlimit64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010 Free Software Foundation, Inc.
+/* Copyright (C) 2010, 2011 Free Software 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,3 +52,4 @@ getrlimit64 (enum __rlimit_resource resource, struct rlimit64 *rlimits)
   return 0;
 #endif
 }
+libc_hidden_def (getrlimit64)
diff --git a/sysdeps/unix/sysv/linux/i386/getrlimit64.c b/sysdeps/unix/sysv/linux/i386/getrlimit64.c
index 00be3d6..91dadab 100644
--- a/sysdeps/unix/sysv/linux/i386/getrlimit64.c
+++ b/sysdeps/unix/sysv/linux/i386/getrlimit64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000, 2005, 2010 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 2005, 2010, 2011 Free Software 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,3 +23,4 @@
 #undef getrlimit64
 #include <shlib-compat.h>
 versioned_symbol (libc, __new_getrlimit64, getrlimit64, GLIBC_2_2);
+strong_alias (__new_getrlimit64, __GI_getrlimit64)

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a85b5cb4d4a5fc56e2b38638d270bf2daa67eb6c

commit a85b5cb4d4a5fc56e2b38638d270bf2daa67eb6c
Author: Ulrich Drepper <drepper@gmail.com>
Date:   Thu Jan 13 14:01:56 2011 -0500

    Fix PLT use due to __libc_alloca_cutoff.

diff --git a/ChangeLog b/ChangeLog
index f477fed..ea9b1cc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,6 +10,7 @@
 	[BZ #10484]
 	* nss/nss_files/files-hosts.c (HOST_DB_LOOKUP): Handle overflows of
 	temporary buffer used to handle multi lookups locally.
+	* include/alloca.h: Add libc_hidden_proto for __libc_alloca_cutoff.
 
 2011-01-12  Ulrich Drepper  <drepper@gmail.com>
 
diff --git a/include/alloca.h b/include/alloca.h
index 9a4b5c7..b99c3d1 100644
--- a/include/alloca.h
+++ b/include/alloca.h
@@ -14,6 +14,7 @@ extern void *__alloca (size_t __size);
 
 extern int __libc_use_alloca (size_t size) __attribute__ ((const));
 extern int __libc_alloca_cutoff (size_t size) __attribute__ ((const));
+libc_hidden_proto (__libc_alloca_cutoff)
 
 #define __MAX_ALLOCA_CUTOFF	65536
 
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 97400e5..22b8208 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -2,6 +2,7 @@
 
 	[BZ #10484]
 	* Versions [libc] (GLIBC_PRIVATE): Export __libc_alloca_cutoff.
+	* alloca_cutoff.c: Add libc_hidden_def.
 
 2010-10-13  H.J. Lu  <hongjiu.lu@intel.com>
 
diff --git a/nptl/alloca_cutoff.c b/nptl/alloca_cutoff.c
index ba26ceb..bbd930a 100644
--- a/nptl/alloca_cutoff.c
+++ b/nptl/alloca_cutoff.c
@@ -1,5 +1,5 @@
 /* Determine whether block of given size can be allocated on the stack or not.
-   Copyright (C) 2002 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2011 Free Software 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,3 +34,4 @@ __libc_alloca_cutoff (size_t size)
 			  assume the maximum available stack space.  */
 		       ?: __MAX_ALLOCA_CUTOFF * 4));
 }
+libc_hidden_def (__libc_alloca_cutoff)

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

Summary of changes:
 ChangeLog                                  |   15 +++++++++++++++
 elf/Makefile                               |   18 ++++++++++--------
 elf/check-execstack.c                      |   20 ++++++++++----------
 include/alloca.h                           |    1 +
 include/sys/resource.h                     |    1 +
 nptl/ChangeLog                             |    1 +
 nptl/alloca_cutoff.c                       |    3 ++-
 sysdeps/unix/sysv/linux/getrlimit64.c      |    3 ++-
 sysdeps/unix/sysv/linux/i386/getrlimit64.c |    3 ++-
 9 files changed, 44 insertions(+), 21 deletions(-)


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



More information about the Glibc-cvs mailing list