From 949ea3566a571078a20e15758454f383dad8f0f6 Mon Sep 17 00:00:00 2001 From: David Edelsohn Date: Tue, 1 Jun 1999 16:12:21 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 10 ++++++++++ gcc/config/rs6000/aix41.h | 6 ++++++ gcc/config/rs6000/aix43.h | 5 +++++ gcc/config/rs6000/rs6000.c | 10 +++++----- gcc/config/rs6000/rs6000.h | 4 ++-- 5 files changed, 28 insertions(+), 7 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 87d8fe7e579..8844e4ea562 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +Tue Jun 1 19:06:22 1999 David Edelsohn + + * 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 * alpha.md (reload_*_help): New patterns and splitters. diff --git a/gcc/config/rs6000/aix41.h b/gcc/config/rs6000/aix41.h index 4be90bd3f4b..f8d4bdbd461 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 7814f6b9c64..6029f259a2f 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 26f16f155dc..1ec1dffd4d4 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 4fecba1c4bf..a10b4972a90 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. */ -- 2.30.2