* [PATCH][OBVIOUS] rs6000: fix symtab_node::get == NULL issue
@ 2021-09-15 15:21 Martin Liška
2021-09-15 18:40 ` David Edelsohn
0 siblings, 1 reply; 3+ messages in thread
From: Martin Liška @ 2021-09-15 15:21 UTC (permalink / raw)
To: gcc-patches; +Cc: David Edelsohn
Hello.
The patch is approved by David and fixes the issue described in the PR.
Martin
PR target/102349
gcc/ChangeLog:
* config/rs6000/rs6000.c (rs6000_xcoff_encode_section_info):
Check that we have a symbol summary for a symbol.
---
gcc/config/rs6000/rs6000.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index b0ec8108007..d0830a95027 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -21728,6 +21728,7 @@ rs6000_xcoff_encode_section_info (tree decl, rtx rtl, int first)
if (decl
&& DECL_P (decl)
&& VAR_OR_FUNCTION_DECL_P (decl)
+ && symtab_node::get (decl) != NULL
&& symtab_node::get (decl)->alias == 0
&& symname[strlen (symname) - 1] != ']')
{
--
2.33.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH][OBVIOUS] rs6000: fix symtab_node::get == NULL issue
2021-09-15 15:21 [PATCH][OBVIOUS] rs6000: fix symtab_node::get == NULL issue Martin Liška
@ 2021-09-15 18:40 ` David Edelsohn
2021-09-15 19:14 ` Martin Liška
0 siblings, 1 reply; 3+ messages in thread
From: David Edelsohn @ 2021-09-15 18:40 UTC (permalink / raw)
To: Martin Liška; +Cc: GCC Patches
This needs an additional adjustment. The encoding decoration needs to
be applied if the decl isn't an alias. That means both a null summary
*OR* the decl is not explicitly an alias.
I'm proposing the following:
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index d0830a95027..ad81dfb316d 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -21728,8 +21728,8 @@ rs6000_xcoff_encode_section_info (tree decl, rtx rtl, in
t first)
if (decl
&& DECL_P (decl)
&& VAR_OR_FUNCTION_DECL_P (decl)
- && symtab_node::get (decl) != NULL
- && symtab_node::get (decl)->alias == 0
+ && (symtab_node::get (decl) == NULL
+ || symtab_node::get (decl)->alias == 0)
&& symname[strlen (symname) - 1] != ']')
{
const char *smclass = NULL;
On Wed, Sep 15, 2021 at 11:21 AM Martin Liška <mliska@suse.cz> wrote:
>
> Hello.
>
> The patch is approved by David and fixes the issue described in the PR.
>
> Martin
>
> PR target/102349
>
> gcc/ChangeLog:
>
> * config/rs6000/rs6000.c (rs6000_xcoff_encode_section_info):
> Check that we have a symbol summary for a symbol.
> ---
> gcc/config/rs6000/rs6000.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
> index b0ec8108007..d0830a95027 100644
> --- a/gcc/config/rs6000/rs6000.c
> +++ b/gcc/config/rs6000/rs6000.c
> @@ -21728,6 +21728,7 @@ rs6000_xcoff_encode_section_info (tree decl, rtx rtl, int first)
> if (decl
> && DECL_P (decl)
> && VAR_OR_FUNCTION_DECL_P (decl)
> + && symtab_node::get (decl) != NULL
> && symtab_node::get (decl)->alias == 0
> && symname[strlen (symname) - 1] != ']')
> {
> --
> 2.33.0
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH][OBVIOUS] rs6000: fix symtab_node::get == NULL issue
2021-09-15 18:40 ` David Edelsohn
@ 2021-09-15 19:14 ` Martin Liška
0 siblings, 0 replies; 3+ messages in thread
From: Martin Liška @ 2021-09-15 19:14 UTC (permalink / raw)
To: David Edelsohn; +Cc: GCC Patches
On 9/15/21 20:40, David Edelsohn wrote:
> This needs an additional adjustment. The encoding decoration needs to
> be applied if the decl isn't an alias. That means both a null summary
> *OR* the decl is not explicitly an alias.
Oh, sorry, I made a stupid thinko.
Please install the patch.
Martin
>
> I'm proposing the following:
>
> diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
> index d0830a95027..ad81dfb316d 100644
> --- a/gcc/config/rs6000/rs6000.c
> +++ b/gcc/config/rs6000/rs6000.c
> @@ -21728,8 +21728,8 @@ rs6000_xcoff_encode_section_info (tree decl, rtx rtl, in
> t first)
> if (decl
> && DECL_P (decl)
> && VAR_OR_FUNCTION_DECL_P (decl)
> - && symtab_node::get (decl) != NULL
> - && symtab_node::get (decl)->alias == 0
> + && (symtab_node::get (decl) == NULL
> + || symtab_node::get (decl)->alias == 0)
> && symname[strlen (symname) - 1] != ']')
> {
> const char *smclass = NULL;
>
>
> On Wed, Sep 15, 2021 at 11:21 AM Martin Liška <mliska@suse.cz> wrote:
>>
>> Hello.
>>
>> The patch is approved by David and fixes the issue described in the PR.
>>
>> Martin
>>
>> PR target/102349
>>
>> gcc/ChangeLog:
>>
>> * config/rs6000/rs6000.c (rs6000_xcoff_encode_section_info):
>> Check that we have a symbol summary for a symbol.
>> ---
>> gcc/config/rs6000/rs6000.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
>> index b0ec8108007..d0830a95027 100644
>> --- a/gcc/config/rs6000/rs6000.c
>> +++ b/gcc/config/rs6000/rs6000.c
>> @@ -21728,6 +21728,7 @@ rs6000_xcoff_encode_section_info (tree decl, rtx rtl, int first)
>> if (decl
>> && DECL_P (decl)
>> && VAR_OR_FUNCTION_DECL_P (decl)
>> + && symtab_node::get (decl) != NULL
>> && symtab_node::get (decl)->alias == 0
>> && symname[strlen (symname) - 1] != ']')
>> {
>> --
>> 2.33.0
>>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-09-15 19:14 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-15 15:21 [PATCH][OBVIOUS] rs6000: fix symtab_node::get == NULL issue Martin Liška
2021-09-15 18:40 ` David Edelsohn
2021-09-15 19:14 ` Martin Liška
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).