summaryrefslogtreecommitdiff
path: root/gcc/config/rs6000/rs6000.c
diff options
context:
space:
mode:
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>2015-11-25 12:52:50 +0000
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>2015-11-25 12:52:50 +0000
commiteb69de9b4e283f51a9210b576eaebabcae7fdad1 (patch)
tree75ded178eed751bc9ccdf865d204d4145546f99d /gcc/config/rs6000/rs6000.c
parent9c822ac867dd8f31e20861f97b0211efd3f511a5 (diff)
downloadgcc-eb69de9b4e283f51a9210b576eaebabcae7fdad1.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230867 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/rs6000/rs6000.c')
-rw-r--r--gcc/config/rs6000/rs6000.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 457e944225f..31e9301b758 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -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);
}