aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Edelsohn <edelsohn@gnu.org>1999-06-01 16:12:21 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>1999-06-01 12:12:21 -0400
commit949ea3566a571078a20e15758454f383dad8f0f6 (patch)
treeb7caa230880e8e0ff0dfdeb2fed10031938099d3 /gcc
parent80ee53c1d391bd21b097fdc70e0b8ac8aad639ef (diff)
downloadgcc-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/ChangeLog10
-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
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. */