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.14-484-g647776f


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  647776f663e8bb9ee365e0dbabd3702b8cb80bc3 (commit)
       via  d91a8b93aaa8a3d2d9b5fd64e111c5a4eb24d2b9 (commit)
       via  45b96dd684f1bc25d3ba113dbe6795b1c4db57f5 (commit)
      from  fadb59f8d322e5c7ec3c2dd2cbf5d44baf5eddd9 (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=647776f663e8bb9ee365e0dbabd3702b8cb80bc3

commit 647776f663e8bb9ee365e0dbabd3702b8cb80bc3
Author: Andreas Schwab <schwab@linux-m68k.org>
Date:   Tue Nov 1 18:05:31 2011 +0100

    Account for alloca size rounding in extend_alloca

diff --git a/ChangeLog b/ChangeLog
index c8bf9b7..a70847e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2011-11-01  Andreas Schwab  <schwab@linux-m68k.org>
 
+	* include/alloca.h (stackinfo_alloca_round): Define.
+	(extend_alloca): Use it.
+	[_STACK_GROWS_UP]: Correct check for adjacent allocation.
+	* elf/dl-deps.c (_dl_map_object_deps): Don't round alloca size
+	here.
+
 	* scripts/check-local-headers.sh: Ignore libaudit.h.
 
 	* nscd/Makefile (extra-objs): Make recursively expanded.
diff --git a/elf/dl-deps.c b/elf/dl-deps.c
index a1ba3d1..565a339 100644
--- a/elf/dl-deps.c
+++ b/elf/dl-deps.c
@@ -221,15 +221,11 @@ _dl_map_object_deps (struct link_map *map,
       if (l->l_searchlist.r_list == NULL && l->l_initfini == NULL
 	  && l != map && l->l_ldnum > 0)
 	{
-	  /* 16-align so extend_alloca has a chance to re-use the space.
-	     Note that extend_alloca is broken for recent versions of GCC
-	     on x86: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50938  */
-	  size_t new_size
-            = (l->l_ldnum * sizeof (struct link_map *) + 15) & ~15;
+	  size_t new_size = l->l_ldnum * sizeof (struct link_map *);
 
 	  if (new_size > needed_space_bytes)
 	    needed_space
-              = extend_alloca (needed_space, needed_space_bytes, new_size);
+	      = extend_alloca (needed_space, needed_space_bytes, new_size);
 
 	  needed = needed_space;
 	}
diff --git a/include/alloca.h b/include/alloca.h
index 8350413..f741d25 100644
--- a/include/alloca.h
+++ b/include/alloca.h
@@ -20,9 +20,13 @@ libc_hidden_proto (__libc_alloca_cutoff)
 
 #include <allocalim.h>
 
+#ifndef stackinfo_alloca_round
+# define stackinfo_alloca_round(l) (((l) + 15) & -16)
+#endif
+
 #if _STACK_GROWS_DOWN
 # define extend_alloca(buf, len, newlen) \
-  (__typeof (buf)) ({ size_t __newlen = (newlen);			      \
+  (__typeof (buf)) ({ size_t __newlen = stackinfo_alloca_round (newlen);      \
 		      char *__newbuf = __alloca (__newlen);		      \
 		      if (__newbuf + __newlen == (char *) buf)		      \
 			len += __newlen;				      \
@@ -31,10 +35,10 @@ libc_hidden_proto (__libc_alloca_cutoff)
 		      __newbuf; })
 #elif _STACK_GROWS_UP
 # define extend_alloca(buf, len, newlen) \
-  (__typeof (buf)) ({ size_t __newlen = (newlen);			      \
+  (__typeof (buf)) ({ size_t __newlen = stackinfo_alloca_round (newlen);      \
 		      char *__newbuf = __alloca (__newlen);		      \
 		      char *__buf = (buf);				      \
-		      if (__buf + __newlen == __newbuf)			      \
+		      if (__buf + len == __newbuf)			      \
 			{						      \
 			  len += __newlen;				      \
 			  __newbuf = __buf;				      \

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

commit d91a8b93aaa8a3d2d9b5fd64e111c5a4eb24d2b9
Author: Andreas Schwab <schwab@linux-m68k.org>
Date:   Tue Nov 1 10:49:13 2011 +0100

    Ignore libaudit.h when checking for system header use

diff --git a/ChangeLog b/ChangeLog
index 872d4a5..c8bf9b7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2011-11-01  Andreas Schwab  <schwab@linux-m68k.org>
 
+	* scripts/check-local-headers.sh: Ignore libaudit.h.
+
 	* nscd/Makefile (extra-objs): Make recursively expanded.
 
 2011-11-01  Ulrich Drepper  <drepper@gmail.com>
diff --git a/scripts/check-local-headers.sh b/scripts/check-local-headers.sh
index b73078d..62831dd 100755
--- a/scripts/check-local-headers.sh
+++ b/scripts/check-local-headers.sh
@@ -29,7 +29,7 @@ exec ${AWK} -v includedir="$includedir" '
 BEGIN {
   status = 0
   exclude = "^" includedir \
-    "/(asm[-/]|linux/|selinux/|gd|nss3/|sys/capability\\.h)"
+    "/(asm[-/]|linux/|selinux/|gd|nss3/|sys/capability\\.h|libaudit\\.h)"
 }
 /^[^ ]/ && $1 ~ /.*:/ { obj = $1 }
 {

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

commit 45b96dd684f1bc25d3ba113dbe6795b1c4db57f5
Author: Andreas Schwab <schwab@linux-m68k.org>
Date:   Tue Nov 1 10:40:53 2011 +0100

    Properly set extra-objs in nscd makefile

diff --git a/ChangeLog b/ChangeLog
index b8bfd16..872d4a5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2011-11-01  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* nscd/Makefile (extra-objs): Make recursively expanded.
+
 2011-11-01  Ulrich Drepper  <drepper@gmail.com>
 
 	* posix/tst-rfc3484.c: Add missing __free_in6ai dummy function.
diff --git a/nscd/Makefile b/nscd/Makefile
index be0afed..284b4fc 100644
--- a/nscd/Makefile
+++ b/nscd/Makefile
@@ -43,7 +43,7 @@ others += nscd
 others-pie += nscd
 install-sbin := nscd
 
-extra-objs := $(nscd-modules:=.o)
+extra-objs = $(nscd-modules:=.o)
 
 endif
 

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

Summary of changes:
 ChangeLog                      |   12 ++++++++++++
 elf/dl-deps.c                  |    8 ++------
 include/alloca.h               |   10 +++++++---
 nscd/Makefile                  |    2 +-
 scripts/check-local-headers.sh |    2 +-
 5 files changed, 23 insertions(+), 11 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]