Re: [PATCH] PR gcc/84923 - gcc.dg/attr-weakref-1.c failed on aarch64

2018-05-21 Thread vladimir . mezentsev


On 05/21/2018 01:30 PM, Jeff Law wrote:
> On 05/17/2018 02:42 AM, Richard Biener wrote:
>> On Thu, 17 May 2018, Kyrill Tkachov wrote:
>>
>>> Hi,
>>>
>>> Given this is a midend change it's a good idea to CC some of the maintainers
>>> of that area.
>>> I've copied richi and Honza.
>> The patch is ok for trunk (it's actually mine...) and for the branch
>> after a while.
> Installed.
>
> Vladimir -- do you have write access?  
  No. I don't.

> ISTM it would make sense for you
> to have access if you plan to continue submitting changes.

yes. I plan to continue submitting changes.

-Vladimir

>
> Jeff



Re: [PATCH] PR gcc/84923 - gcc.dg/attr-weakref-1.c failed on aarch64

2018-05-21 Thread Jeff Law
On 05/17/2018 02:42 AM, Richard Biener wrote:
> On Thu, 17 May 2018, Kyrill Tkachov wrote:
> 
>> Hi,
>>
>> Given this is a midend change it's a good idea to CC some of the maintainers
>> of that area.
>> I've copied richi and Honza.
> 
> The patch is ok for trunk (it's actually mine...) and for the branch
> after a while.
Installed.

Vladimir -- do you have write access?  ISTM it would make sense for you
to have access if you plan to continue submitting changes.

Jeff


Re: [PATCH] PR gcc/84923 - gcc.dg/attr-weakref-1.c failed on aarch64

2018-05-17 Thread Richard Biener
On Thu, 17 May 2018, Kyrill Tkachov wrote:

> Hi,
> 
> Given this is a midend change it's a good idea to CC some of the maintainers
> of that area.
> I've copied richi and Honza.

The patch is ok for trunk (it's actually mine...) and for the branch
after a while.

Thanks,
Richard.

> Thanks,
> Kyrill
> 
> On 17/05/18 05:35, vladimir.mezent...@oracle.com wrote:
> > Ping.
> > 
> > -Vladimir
> > 
> > 
> > On 05/10/2018 11:30 PM, vladimir.mezent...@oracle.com wrote:
> > > From: Vladimir Mezentsev 
> > >
> > > When weakref_targets is not empty a target cannot be removed from the weak
> > list.
> > > A small example is below when 'wv12' is removed from the weak list on
> > aarch64:
> > >   static vtype Wv12 __attribute__((weakref ("wv12")));
> > >   extern vtype wv12 __attribute__((weak));
> > >
> > > Bootstrapped on aarch64-unknown-linux-gnu including (c,c++ and go).
> > > Tested on aarch64-linux-gnu.
> > > No regression. The attr-weakref-1.c test passed.
> > >
> > > ChangeLog:
> > > 2018-05-10  Vladimir Mezentsev 
> > >
> > > PR gcc/84923
> > > * varasm.c (weak_finish): clean up weak_decls
> > > ---
> > >  gcc/varasm.c | 3 ++-
> > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/gcc/varasm.c b/gcc/varasm.c
> > > index 85296b4..8cf6e1e 100644
> > > --- a/gcc/varasm.c
> > > +++ b/gcc/varasm.c
> > > @@ -5652,7 +5652,8 @@ weak_finish (void)
> > >tree alias_decl = TREE_PURPOSE (t);
> > >tree target = ultimate_transparent_alias_target (&TREE_VALUE (t));
> > >
> > > -  if (! TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (alias_decl)))
> > > +  if (! TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (alias_decl))
> > > + || TREE_SYMBOL_REFERENCED (target))
> > >/* Remove alias_decl from the weak list, but leave entries for
> > >   the target alone.  */
> > >target = NULL_TREE;
> > 
> 
> 

-- 
Richard Biener 
SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 
21284 (AG Nuernberg)


Re: [PATCH] PR gcc/84923 - gcc.dg/attr-weakref-1.c failed on aarch64

2018-05-17 Thread Kyrill Tkachov

Hi,

Given this is a midend change it's a good idea to CC some of the maintainers of 
that area.
I've copied richi and Honza.

Thanks,
Kyrill

On 17/05/18 05:35, vladimir.mezent...@oracle.com wrote:

Ping.

-Vladimir


On 05/10/2018 11:30 PM, vladimir.mezent...@oracle.com wrote:
> From: Vladimir Mezentsev 
>
> When weakref_targets is not empty a target cannot be removed from the weak 
list.
> A small example is below when 'wv12' is removed from the weak list on aarch64:
>   static vtype Wv12 __attribute__((weakref ("wv12")));
>   extern vtype wv12 __attribute__((weak));
>
> Bootstrapped on aarch64-unknown-linux-gnu including (c,c++ and go).
> Tested on aarch64-linux-gnu.
> No regression. The attr-weakref-1.c test passed.
>
> ChangeLog:
> 2018-05-10  Vladimir Mezentsev 
>
> PR gcc/84923
> * varasm.c (weak_finish): clean up weak_decls
> ---
>  gcc/varasm.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/gcc/varasm.c b/gcc/varasm.c
> index 85296b4..8cf6e1e 100644
> --- a/gcc/varasm.c
> +++ b/gcc/varasm.c
> @@ -5652,7 +5652,8 @@ weak_finish (void)
>tree alias_decl = TREE_PURPOSE (t);
>tree target = ultimate_transparent_alias_target (&TREE_VALUE (t));
>
> -  if (! TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (alias_decl)))
> +  if (! TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (alias_decl))
> + || TREE_SYMBOL_REFERENCED (target))
>/* Remove alias_decl from the weak list, but leave entries for
>   the target alone.  */
>target = NULL_TREE;





Re: [PATCH] PR gcc/84923 - gcc.dg/attr-weakref-1.c failed on aarch64

2018-05-16 Thread vladimir . mezentsev
Ping.

-Vladimir


On 05/10/2018 11:30 PM, vladimir.mezent...@oracle.com wrote:
> From: Vladimir Mezentsev 
>
> When weakref_targets is not empty a target cannot be removed from the weak 
> list.
> A small example is below when 'wv12' is removed from the weak list on aarch64:
>   static vtype Wv12 __attribute__((weakref ("wv12")));
>   extern vtype wv12 __attribute__((weak));
>
> Bootstrapped on aarch64-unknown-linux-gnu including (c,c++ and go).
> Tested on aarch64-linux-gnu.
> No regression. The attr-weakref-1.c test passed.
>
> ChangeLog:
> 2018-05-10  Vladimir Mezentsev  
>
> PR gcc/84923
> * varasm.c (weak_finish): clean up weak_decls
> ---
>  gcc/varasm.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/gcc/varasm.c b/gcc/varasm.c
> index 85296b4..8cf6e1e 100644
> --- a/gcc/varasm.c
> +++ b/gcc/varasm.c
> @@ -5652,7 +5652,8 @@ weak_finish (void)
>tree alias_decl = TREE_PURPOSE (t);
>tree target = ultimate_transparent_alias_target (&TREE_VALUE (t));
>  
> -  if (! TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (alias_decl)))
> +  if (! TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (alias_decl))
> + || TREE_SYMBOL_REFERENCED (target))
>   /* Remove alias_decl from the weak list, but leave entries for
>  the target alone.  */
>   target = NULL_TREE;



Re: [PATCH] PR gcc/84923 - gcc.dg/attr-weakref-1.c failed on aarch64

2018-04-25 Thread Ramana Radhakrishnan
On Fri, Apr 13, 2018 at 7:08 AM,   wrote:
> From: Vladimir Mezentsev 
>
> When weakref_targets is not empty a target cannot be removed from weak_decls.
> A small example is below when 'wv12' is removed from the weak list on aarch64:
>   static vtype Wv12 __attribute__((weakref ("wv12")));
>   extern vtype wv12 __attribute__((weak));
>
> Bootstrapped on aarch64-unknown-linux-gnu including (c,c++ and go).
> Tested on aarch64-linux-gnu.
> No regression. The attr-weakref-1.c test passed.


It appears that this patch hasn't been reviewed at all. Just a ping
here and bringing honza on copy as discussed on IRC.

regards
Ramana


>
> ChangeLog:
> 2018-04-12  Vladimir Mezentsev  
>
> PR gcc/84923
> * varasm.c (weak_finish): clean up weak_decls
> ---
>  gcc/varasm.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/gcc/varasm.c b/gcc/varasm.c
> index d24bac4..2a70234 100644
> --- a/gcc/varasm.c
> +++ b/gcc/varasm.c
> @@ -5683,8 +5683,7 @@ weak_finish (void)
>nor multiple .weak directives for the latter.  */
> for (p = &weak_decls; (t2 = *p) ; )
>   {
> -   if (TREE_VALUE (t2) == alias_decl
> -   || target == DECL_ASSEMBLER_NAME (TREE_VALUE (t2)))
> +   if (TREE_VALUE (t2) == alias_decl)
>   *p = TREE_CHAIN (t2);
> else
>   p = &TREE_CHAIN (t2);
> --
> 1.8.3.1
>