summaryrefslogtreecommitdiff
path: root/gcc/config/arm/linux-elf.h
diff options
context:
space:
mode:
authorrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-14 17:11:57 +0000
committerrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-14 17:11:57 +0000
commitfa470f09f159ea7c7dfa8aa9f071799df7b23f7d (patch)
tree5a5cf91052b1e5ff3956a086b21a786d293ce969 /gcc/config/arm/linux-elf.h
parentd3ceeebcad8c52bcec0ff997fc6a9788c27d7deb (diff)
downloadgcc-fa470f09f159ea7c7dfa8aa9f071799df7b23f7d.tar.gz
PR target/3724
* arm/linux-elf.h (PROFILE_HOOK): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67950 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/arm/linux-elf.h')
-rw-r--r--gcc/config/arm/linux-elf.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
index 5da2b242070..1a86e458927 100644
--- a/gcc/config/arm/linux-elf.h
+++ b/gcc/config/arm/linux-elf.h
@@ -120,5 +120,10 @@
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}"