summaryrefslogtreecommitdiff
path: root/gcc/config/rs6000
diff options
context:
space:
mode:
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>1999-06-01 16:12:21 +0000
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>1999-06-01 16:12:21 +0000
commit1270d073c473e9fd3bf53ddeb137cfae67c886b0 (patch)
treeb7caa230880e8e0ff0dfdeb2fed10031938099d3 /gcc/config/rs6000
parent7a533a7cf6522f6797ecdc058686bf29678aa6b1 (diff)
downloadgcc-1270d073c473e9fd3bf53ddeb137cfae67c886b0.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27287 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/rs6000')
-rw-r--r--gcc/config/rs6000/aix41.h6
-rw-r--r--gcc/config/rs6000/aix43.h5
-rw-r--r--gcc/config/rs6000/rs6000.c10
-rw-r--r--gcc/config/rs6000/rs6000.h4
4 files changed, 18 insertions, 7 deletions
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. */