diff options
author | David Edelsohn <dje.gcc@gmail.com> | 2015-11-25 12:52:50 +0000 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 2015-11-25 07:52:50 -0500 |
commit | 7f085cafa420d8a90b8d1585d54c1c87c589e12e (patch) | |
tree | 75ded178eed751bc9ccdf865d204d4145546f99d /gcc | |
parent | b81b8bcadbaf0c703cc88b81f1ed3a6cae583e20 (diff) | |
download | gcc-7f085cafa420d8a90b8d1585d54c1c87c589e12e.zip gcc-7f085cafa420d8a90b8d1585d54c1c87c589e12e.tar.gz gcc-7f085cafa420d8a90b8d1585d54c1c87c589e12e.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 24 |
2 files changed, 20 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 82d23c0..932b80c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 ... diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 457e944..31e9301 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); } |