diff options
author | David Edelsohn <edelsohn@gnu.org> | 1999-06-01 16:12:21 +0000 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 1999-06-01 12:12:21 -0400 |
commit | 949ea3566a571078a20e15758454f383dad8f0f6 (patch) | |
tree | b7caa230880e8e0ff0dfdeb2fed10031938099d3 /gcc | |
parent | 80ee53c1d391bd21b097fdc70e0b8ac8aad639ef (diff) | |
download | gcc-949ea3566a571078a20e15758454f383dad8f0f6.zip gcc-949ea3566a571078a20e15758454f383dad8f0f6.tar.gz gcc-949ea3566a571078a20e15758454f383dad8f0f6.tar.bz2 |
aix41.h (RS6000_CALL_GLUE): Define.
* rs6000/aix41.h (RS6000_CALL_GLUE): Define.
* rs6000/aix43.h (RS6000_CALL_GLUE): Likewise.
* rs6000/rs6000.c (rs6000_file_start): Use putc.
(rs6000_output_load_toc_table): Same.
(output_prolog, output_mi_thunk): Same.
* rs6000/rs6000.h (SELECT_SECTION): Formatting.
(ASM_GLOBALIZE_LABEL): Use putc.
From-SVN: r27287
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/config/rs6000/aix41.h | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/aix43.h | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 10 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.h | 4 |
5 files changed, 28 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 87d8fe7..8844e4e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +Tue Jun 1 19:06:22 1999 David Edelsohn <edelsohn@gnu.org> + + * rs6000/aix41.h (RS6000_CALL_GLUE): Define. + * rs6000/aix43.h (RS6000_CALL_GLUE): Likewise. + * rs6000/rs6000.c (rs6000_file_start): Use putc. + (rs6000_output_load_toc_table): Same. + (output_prolog, output_mi_thunk): Same. + * rs6000/rs6000.h (SELECT_SECTION): Formatting. + (ASM_GLOBALIZE_LABEL): Use putc. + Mon May 31 15:23:23 1999 Richard Henderson <rth@cygnus.com> * alpha.md (reload_*_help): New patterns and splitters. diff --git a/gcc/config/rs6000/aix41.h b/gcc/config/rs6000/aix41.h index 4be90bd..f8d4bdb 100644 --- a/gcc/config/rs6000/aix41.h +++ b/gcc/config/rs6000/aix41.h @@ -168,3 +168,9 @@ Boston, MA 02111-1307, USA. */ %{mthreads:%{pg:gcrt0_r%O%s}%{!pg:%{p:mcrt0_r%O%s}%{!p:crt0_r%O%s}}}\ %{!mthreads:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}}}}}" +/* AIX 4 uses PowerPC nop (ori 0,0,0) instruction as call glue for PowerPC + and "cror 31,31,31" for POWER architecture. */ + +#undef RS6000_CALL_GLUE +#define RS6000_CALL_GLUE "{cror 31,31,31|nop}" + diff --git a/gcc/config/rs6000/aix43.h b/gcc/config/rs6000/aix43.h index 7814f6b..6029f25 100644 --- a/gcc/config/rs6000/aix43.h +++ b/gcc/config/rs6000/aix43.h @@ -204,3 +204,8 @@ do { \ #undef PTRDIFF_TYPE #define PTRDIFF_TYPE "long int" +/* AIX 4 uses PowerPC nop (ori 0,0,0) instruction as call glue for PowerPC + and "cror 31,31,31" for POWER architecture. */ + +#undef RS6000_CALL_GLUE +#define RS6000_CALL_GLUE "{cror 31,31,31|nop}" diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 26f16f1..1ec1dff 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -414,7 +414,7 @@ rs6000_file_start (file, default_cpu) #endif if (*start == '\0') - fputs ("\n", file); + putc ('\n', file); } } @@ -3903,7 +3903,7 @@ rs6000_output_load_toc_table (file, reg) reg_names[0]); ASM_GENERATE_INTERNAL_LABEL (buf, "LCL", rs6000_pic_labelno); assemble_name (file, buf); - fputs ("-", file); + putc ('-', file); ASM_GENERATE_INTERNAL_LABEL (buf, "LCF", rs6000_pic_labelno); assemble_name (file, buf); fprintf (file, ")(%s)\n", reg_names[reg]); @@ -4156,7 +4156,7 @@ output_prolog (file, size) ASM_GENERATE_INTERNAL_LABEL (buf, "LCprobe", probe_labelno++); fputs ("\tbdnz ", file); assemble_name (file, buf); - fputs ("\n", file); + putc ('\n', file); } } @@ -4676,7 +4676,7 @@ output_mi_thunk (file, thunk_fndecl, delta, function) fprintf (file, "\tb %s", prefix); assemble_name (file, fname); if (DEFAULT_ABI == ABI_V4 && flag_pic) fputs ("@local", file); - fputs ("\n", file); + putc ('\n', file); } else @@ -4725,7 +4725,7 @@ output_mi_thunk (file, thunk_fndecl, delta, function) fprintf (file, "\tb %s", prefix); assemble_name (file, fname); if (flag_pic) fputs ("@plt", file); - fputs ("\n", file); + putc ('\n', file); break; /* Don't use r11, that contains the static chain, just use r0/r12. */ diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index 4fecba1..a10b497 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -2704,7 +2704,7 @@ extern int toc_initialized; #define SELECT_SECTION(EXP,RELOC) \ { \ if ((TREE_CODE (EXP) == STRING_CST \ - && !flag_writable_strings) \ + && ! flag_writable_strings) \ || (TREE_CODE_CLASS (TREE_CODE (EXP)) == 'd' \ && TREE_READONLY (EXP) && ! TREE_THIS_VOLATILE (EXP) \ && DECL_INITIAL (EXP) \ @@ -2967,7 +2967,7 @@ extern char rs6000_reg_names[][8]; /* register names (0 vs. %r0). */ #define ASM_GLOBALIZE_LABEL(FILE,NAME) \ do { fputs ("\t.globl ", FILE); \ - RS6000_OUTPUT_BASENAME (FILE, NAME); fputs ("\n", FILE);} while (0) + RS6000_OUTPUT_BASENAME (FILE, NAME); putc ('\n', FILE);} while (0) /* This is how to output a reference to a user-level label named NAME. `assemble_name' uses this. */ |