* [PATCH] PR gcc/84923 - gcc.dg/attr-weakref-1.c failed on aarch64
@ 2018-05-11 6:42 vladimir.mezentsev
2018-05-17 5:10 ` vladimir.mezentsev
0 siblings, 1 reply; 8+ messages in thread
From: vladimir.mezentsev @ 2018-05-11 6:42 UTC (permalink / raw)
To: gcc-patches; +Cc: vladimir.mezentsev
From: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
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 <vladimir.mezentsev@oracle.com>
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;
--
1.8.3.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] PR gcc/84923 - gcc.dg/attr-weakref-1.c failed on aarch64
2018-05-11 6:42 [PATCH] PR gcc/84923 - gcc.dg/attr-weakref-1.c failed on aarch64 vladimir.mezentsev
@ 2018-05-17 5:10 ` vladimir.mezentsev
2018-05-17 8:21 ` Kyrill Tkachov
0 siblings, 1 reply; 8+ messages in thread
From: vladimir.mezentsev @ 2018-05-17 5:10 UTC (permalink / raw)
To: GCC Patches; +Cc: vladimir.mezentsev
Ping.
-Vladimir
On 05/10/2018 11:30 PM, vladimir.mezentsev@oracle.com wrote:
> From: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
>
> 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 <vladimir.mezentsev@oracle.com>
>
> 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;
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] PR gcc/84923 - gcc.dg/attr-weakref-1.c failed on aarch64
2018-05-17 5:10 ` vladimir.mezentsev
@ 2018-05-17 8:21 ` Kyrill Tkachov
2018-05-17 8:46 ` Richard Biener
0 siblings, 1 reply; 8+ messages in thread
From: Kyrill Tkachov @ 2018-05-17 8:21 UTC (permalink / raw)
To: vladimir.mezentsev, GCC Patches; +Cc: Richard Biener, Jan Hubicka
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.mezentsev@oracle.com wrote:
> Ping.
>
> -Vladimir
>
>
> On 05/10/2018 11:30 PM, vladimir.mezentsev@oracle.com wrote:
> > From: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
> >
> > 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 <vladimir.mezentsev@oracle.com>
> >
> > 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;
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] PR gcc/84923 - gcc.dg/attr-weakref-1.c failed on aarch64
2018-05-17 8:21 ` Kyrill Tkachov
@ 2018-05-17 8:46 ` Richard Biener
2018-05-21 20:34 ` Jeff Law
0 siblings, 1 reply; 8+ messages in thread
From: Richard Biener @ 2018-05-17 8:46 UTC (permalink / raw)
To: Kyrill Tkachov; +Cc: vladimir.mezentsev, GCC Patches, Jan Hubicka
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.mezentsev@oracle.com wrote:
> > Ping.
> >
> > -Vladimir
> >
> >
> > On 05/10/2018 11:30 PM, vladimir.mezentsev@oracle.com wrote:
> > > From: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
> > >
> > > 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 <vladimir.mezentsev@oracle.com>
> > >
> > > 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 <rguenther@suse.de>
SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] PR gcc/84923 - gcc.dg/attr-weakref-1.c failed on aarch64
2018-05-17 8:46 ` Richard Biener
@ 2018-05-21 20:34 ` Jeff Law
2018-05-21 22:37 ` vladimir.mezentsev
0 siblings, 1 reply; 8+ messages in thread
From: Jeff Law @ 2018-05-21 20:34 UTC (permalink / raw)
To: Richard Biener, Kyrill Tkachov
Cc: vladimir.mezentsev, GCC Patches, Jan Hubicka
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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] PR gcc/84923 - gcc.dg/attr-weakref-1.c failed on aarch64
2018-05-21 20:34 ` Jeff Law
@ 2018-05-21 22:37 ` vladimir.mezentsev
0 siblings, 0 replies; 8+ messages in thread
From: vladimir.mezentsev @ 2018-05-21 22:37 UTC (permalink / raw)
To: Jeff Law, Richard Biener, Kyrill Tkachov; +Cc: GCC Patches, Jan Hubicka
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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] PR gcc/84923 - gcc.dg/attr-weakref-1.c failed on aarch64
2018-04-13 6:09 vladimir.mezentsev
@ 2018-04-25 10:06 ` Ramana Radhakrishnan
0 siblings, 0 replies; 8+ messages in thread
From: Ramana Radhakrishnan @ 2018-04-25 10:06 UTC (permalink / raw)
To: vladimir.mezentsev; +Cc: gcc-patches, Jan Hubicka
On Fri, Apr 13, 2018 at 7:08 AM, <vladimir.mezentsev@oracle.com> wrote:
> From: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
>
> 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 <vladimir.mezentsev@oracle.com>
>
> 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
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] PR gcc/84923 - gcc.dg/attr-weakref-1.c failed on aarch64
@ 2018-04-13 6:09 vladimir.mezentsev
2018-04-25 10:06 ` Ramana Radhakrishnan
0 siblings, 1 reply; 8+ messages in thread
From: vladimir.mezentsev @ 2018-04-13 6:09 UTC (permalink / raw)
To: gcc-patches
From: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
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.
ChangeLog:
2018-04-12 Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
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
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2018-05-21 22:12 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-11 6:42 [PATCH] PR gcc/84923 - gcc.dg/attr-weakref-1.c failed on aarch64 vladimir.mezentsev
2018-05-17 5:10 ` vladimir.mezentsev
2018-05-17 8:21 ` Kyrill Tkachov
2018-05-17 8:46 ` Richard Biener
2018-05-21 20:34 ` Jeff Law
2018-05-21 22:37 ` vladimir.mezentsev
-- strict thread matches above, loose matches on Subject: below --
2018-04-13 6:09 vladimir.mezentsev
2018-04-25 10:06 ` Ramana Radhakrishnan
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).