aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Edelsohn <edelsohn@gnu.org>2002-08-15 14:51:00 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>2002-08-15 10:51:00 -0400
commitb4d330e1630264a6ced3d637344ee1a708527799 (patch)
treeb5fb36b0c847d9057121d4fb88274fcc2867bbe2
parente8fe46d4d64b4e482d7688ee59c39770ab95a5bd (diff)
downloadgcc-b4d330e1630264a6ced3d637344ee1a708527799.zip
gcc-b4d330e1630264a6ced3d637344ee1a708527799.tar.gz
gcc-b4d330e1630264a6ced3d637344ee1a708527799.tar.bz2
rs6000.c (output_mi_thunk): Return to function section on TARGET_ELF.
* rs6000.c (output_mi_thunk): Return to function section on TARGET_ELF. * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405. From-SVN: r56348
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/rs6000/rs6000-c.c5
-rw-r--r--gcc/config/rs6000/rs6000.c5
3 files changed, 16 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 71ae78d..ca3ebb2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2002-08-15 David Edelsohn <edelsohn@gnu.org>
+
+ * rs6000.c (output_mi_thunk): Return to function section on
+ TARGET_ELF.
+
+ * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
+
2002-08-15 Ulrich Weigand <uweigand@de.ibm.com>
* config/s390/s390.c (legitimize_address): Optimize loading
diff --git a/gcc/config/rs6000/rs6000-c.c b/gcc/config/rs6000/rs6000-c.c
index 14132ca..6093996 100644
--- a/gcc/config/rs6000/rs6000-c.c
+++ b/gcc/config/rs6000/rs6000-c.c
@@ -97,6 +97,9 @@ rs6000_cpu_cpp_builtins (pfile)
builtin_define ("__SPE__");
if (TARGET_SOFT_FLOAT)
builtin_define ("_SOFT_FLOAT");
+ /* Used by lwarx/stwcx. errata work-around. */
+ if (rs6000_cpu == PROCESSOR_PPC405)
+ builtin_define ("__PPC405__");
if (BYTES_BIG_ENDIAN)
{
builtin_define ("__BIG_ENDIAN__");
@@ -127,5 +130,7 @@ rs6000_cpu_cpp_builtins (pfile)
case ABI_DARWIN:
builtin_define ("_CALL_DARWIN");
break;
+ default:
+ break;
}
}
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 81df7c3..5b69dd5 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -11335,7 +11335,10 @@ output_mi_thunk (file, thunk_fndecl, delta, function)
}
assemble_name (file, fname);
putc ('\n', file);
- text_section ();
+ if (TARGET_ELF)
+ function_section (current_function_decl);
+ else
+ text_section();
if (TARGET_MINIMAL_TOC)
asm_fprintf (file, (TARGET_32BIT)
? "\t{l|lwz} %s,%s(%s)\n" : "\tld %s,%s(%s)\n", r12,