public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
To: libc-alpha@sourceware.org
Subject: Re: [PATCH] Remove macros extend_alloca, extend_alloca_account [BZ #18023]
Date: Wed, 27 Jun 2018 17:08:00 -0000	[thread overview]
Message-ID: <1b990b36-6dcd-e345-5a43-4aa0dc3ba11a@linaro.org> (raw)
In-Reply-To: <20180627164213.7A3E943994575@oldenburg.str.redhat.com>



On 27/06/2018 13:42, Florian Weimer wrote:
> The unused macro definition in posix/glob.c comes from gnulib and will
> have to be removed there.

Since you are working on BZ#18023, maybe check the glob refactor to remove alloc
on glob I have posted sometime ago?

> 
> 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.

LGTM, thanks.

> 
> 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
> 

  reply	other threads:[~2018-06-27 17:08 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-27 16:42 Florian Weimer
2018-06-27 17:08 ` Adhemerval Zanella [this message]
2018-06-27 18:29   ` Florian Weimer
2018-06-28 17:49     ` Adhemerval Zanella

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1b990b36-6dcd-e345-5a43-4aa0dc3ba11a@linaro.org \
    --to=adhemerval.zanella@linaro.org \
    --cc=libc-alpha@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).