rs6000.c (rs6000_declare_alias): Rename and globalize both the symbol and the "dot" symbol for function descriptors.

* config/rs6000/rs6000.c (rs6000_declare_alias): Rename and globalize
both the symbol and the "dot" symbol for function descriptors.  Fix
inversion for rename of symbols with dollar sign.

From-SVN: r230867
This commit is contained in:
David Edelsohn 2015-11-25 12:52:50 +00:00 committed by David Edelsohn
parent b81b8bcadb
commit 7f085cafa4
2 changed files with 20 additions and 10 deletions

View File

@ -1,3 +1,9 @@
2015-11-25 David Edelsohn <dje.gcc@gmail.com>
* config/rs6000/rs6000.c (rs6000_declare_alias): Rename and globalize
both the symbol and the "dot" symbol for function descriptors. Fix
inversion for rename of symbols with dollar sign.
2015-11-25 Tom de Vries <tom@codesourcery.com>
* cfgloop.c (find_single_latch): New function, factored out of ...

View File

@ -31888,13 +31888,15 @@ rs6000_declare_alias (struct symtab_node *n, void *d)
if (dollar_inside) {
if (data->function_descriptor)
fprintf(data->file, "\t.rename .%s,\".%s\"\n", buffer, name);
else
fprintf(data->file, "\t.rename %s,\"%s\"\n", buffer, name);
fprintf(data->file, "\t.rename %s,\"%s\"\n", buffer, name);
}
if (data->function_descriptor)
fputs ("\t.globl .", data->file);
else
fputs ("\t.globl ", data->file);
{
fputs ("\t.globl .", data->file);
RS6000_OUTPUT_BASENAME (data->file, buffer);
putc ('\n', data->file);
}
fputs ("\t.globl ", data->file);
RS6000_OUTPUT_BASENAME (data->file, buffer);
putc ('\n', data->file);
}
@ -31908,14 +31910,16 @@ rs6000_declare_alias (struct symtab_node *n, void *d)
if (dollar_inside)
{
if (data->function_descriptor)
fprintf(data->file, "\t.rename %s,\"%s\"\n", buffer, name);
else
fprintf(data->file, "\t.rename .%s,\".%s\"\n", buffer, name);
fprintf(data->file, "\t.rename %s,\"%s\"\n", buffer, name);
}
if (data->function_descriptor)
fputs ("\t.lglobl .", data->file);
else
fputs ("\t.lglobl ", data->file);
{
fputs ("\t.lglobl .", data->file);
RS6000_OUTPUT_BASENAME (data->file, buffer);
putc ('\n', data->file);
}
fputs ("\t.lglobl ", data->file);
RS6000_OUTPUT_BASENAME (data->file, buffer);
putc ('\n', data->file);
}