On Tue, Jun 11, 2013 at 07:25:36PM -0400, Michael Meissner wrote:
> I committed the following patch as obvious, after making sure it builds and 
> has
> no regressions.  I was looking at driver-rs6000.c today, and I noticed that it
> was returning an address to an auto buffer for processing -mcpu=native.

Does it?  If I understand it right, the string itself isn't read into buf
(after all, what would translate the pointers in buf to point into other
parts of buf), /proc/self/auxv just contains the pairs of AT_* and the
corresponding values, for AT_PLATFORM that value is a char * pointing
somewhere into stack memory.

> 2013-06-11  Michael Meissner  <meiss...@linux.vnet.ibm.com>
> 
>       PR target/57589
>       * config/rs6000/driver-rs6000.c (elf_platform): Make buffer static
>       to allow returning address to AT_PLATFORM name.
> 
> Index: gcc/config/rs6000/driver-rs6000.c
> ===================================================================
> --- gcc/config/rs6000/driver-rs6000.c (revision 199965)
> +++ gcc/config/rs6000/driver-rs6000.c (working copy)
> @@ -167,7 +167,7 @@ elf_platform (void)
>  
>    if (fd != -1)
>      {
> -      char buf[1024];
> +      static char buf[1024];
>        ElfW(auxv_t) *av;
>        ssize_t n;

        Jakub

Reply via email to