]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/3724 ([ARM]Illegal instruction when profiling optimized code on arm...
authorRichard Earnshaw <rearnsha@arm.com>
Sat, 14 Jun 2003 17:11:57 +0000 (17:11 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Sat, 14 Jun 2003 17:11:57 +0000 (17:11 +0000)
PR target/3724
* arm/linux-elf.h (PROFILE_HOOK): Define.

From-SVN: r67950

gcc/ChangeLog
gcc/config/arm/linux-elf.h

index 4713756af4cd9790c5c3df4f3011ec2afa0cb742..480e734e86f1b9d843403d95d48d8f6384910a01 100644 (file)
@@ -1,3 +1,8 @@
+2003-06-14  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/3724
+       * arm/linux-elf.h (PROFILE_HOOK): Define.
+
 2003-06-14  Richard Earnshaw  <rearnsha@arm.com>
 
        PR target/11183
index 5da2b242070702bb457b2d97c5ab7678ca1dfb6e..1a86e458927f17aa1796d3b07c191b5083850d38 100644 (file)
   fprintf (STREAM, "\tbl\tmcount%s\n", NEED_PLT_RELOC ? "(PLT)" : ""); \
 }
 
+/* The linux profiler clobbers the link register.  Make sure the
+   prologue knows to save it.  */
+#define PROFILE_HOOK(X)                                                \
+  emit_insn (gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (SImode, LR_REGNUM)))
+
 #undef  CC1_SPEC
 #define CC1_SPEC "%{profile:-p}"