about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2018-06-27 18:39:05 +0200
committerFlorian Weimer <fweimer@redhat.com>2018-06-27 19:20:37 +0200
commitc49e18222e4c40f21586dabced8a49732d946917 (patch)
treedc6ead5c7a3aba4b9defaacdda2aa25f5676f4da
parenta833e627c3ef6a5d62ae3838e6838b24b8ffd1c6 (diff)
downloadglibc-c49e18222e4c40f21586dabced8a49732d946917.tar.gz
glibc-c49e18222e4c40f21586dabced8a49732d946917.tar.xz
glibc-c49e18222e4c40f21586dabced8a49732d946917.zip
Remove macros extend_alloca, extend_alloca_account [BZ #18023]
The unused macro definition in posix/glob.c comes from gnulib and will
have to be removed there.
-rw-r--r--ChangeLog7
-rw-r--r--include/alloca.h40
-rw-r--r--manual/stdio.texi1
3 files changed, 7 insertions, 41 deletions
diff --git a/ChangeLog b/ChangeLog
index b2a3f61586..056d3c4a43 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2018-06-27  Florian Weimer  <fweimer@redhat.com>
+
+	[BZ #18023]
+        * include/alloca.h (stackinfo_alloca_round, extend_alloca)
+        (extend_alloca_account): Remove.
+	* manual/stdio.texi (Variable Arguments Output): Update comment.
+
 2018-06-27  Joseph Myers  <joseph@codesourcery.com>
 
 	* nptl/sockperf.c: Remove file.
diff --git a/include/alloca.h b/include/alloca.h
index fd90664f0a..c0b8395443 100644
--- a/include/alloca.h
+++ b/include/alloca.h
@@ -23,57 +23,17 @@ 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 = stackinfo_alloca_round (newlen);      \
-		      char *__newbuf = __alloca (__newlen);		      \
-		      if (__newbuf + __newlen == (char *) (buf))	      \
-			len += __newlen;				      \
-		      else						      \
-			len = __newlen;					      \
-		      __newbuf; })
-#elif _STACK_GROWS_UP
-# define extend_alloca(buf, len, newlen) \
-  (__typeof (buf)) ({ size_t __newlen = stackinfo_alloca_round (newlen);      \
-		      char *__newbuf = __alloca (__newlen);		      \
-		      char *__buf = (char *) (buf);			      \
-		      if (__buf + len == __newbuf)			      \
-			{						      \
-			  len += __newlen;				      \
-			  __newbuf = __buf;				      \
-			}						      \
-		      else						      \
-			len = __newlen;					      \
-		      __newbuf; })
-#else
-# define extend_alloca(buf, len, newlen) \
-  __alloca (((len) = (newlen)))
-#endif
-
 #if defined stackinfo_get_sp && defined stackinfo_sub_sp
 # define alloca_account(size, avar) \
   ({ void *old__ = stackinfo_get_sp ();					      \
      void *m__ = __alloca (size);					      \
      avar += stackinfo_sub_sp (old__);					      \
      m__; })
-# define extend_alloca_account(buf, len, newlen, avar) \
-  ({ void *old__ = stackinfo_get_sp ();					      \
-     void *m__ = extend_alloca (buf, len, newlen);			      \
-     avar += stackinfo_sub_sp (old__);					      \
-     m__; })
 #else
 # define alloca_account(size, avar) \
   ({ size_t s__ = (size);						      \
      avar += s__;							      \
      __alloca (s__); })
-# define extend_alloca_account(buf, len, newlen, avar) \
-  ({ size_t s__ = (newlen);						      \
-     avar += s__;							      \
-     extend_alloca (buf, len, s__); })
 #endif
 
 # endif /* !_ISOMAC */
diff --git a/manual/stdio.texi b/manual/stdio.texi
index 38be236991..379f003b3f 100644
--- a/manual/stdio.texi
+++ b/manual/stdio.texi
@@ -2622,7 +2622,6 @@ pointer @var{ap}.
 @c __libc_use_alloca
 @c process_arg
 @c process_string_arg
-@c extend_alloca
 @c __parse_one_spec(wc|mb)
 @c *__printf_arginfo_table unguarded
 @c __printf_va_arg_table-> unguarded