summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2014-11-24 14:30:32 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2014-11-28 09:47:15 +0100
commit7eed2e09abf0a0064a7e3f4a911b37d71202dfa4 (patch)
tree8c33fd1d185503919d2ed06e6372ae3f5aeec257 /arch
parentb3e06dc3f0256441e15ef9967ecf3500d3e4f022 (diff)
downloadlinux-7eed2e09abf0a0064a7e3f4a911b37d71202dfa4.tar.gz
linux-7eed2e09abf0a0064a7e3f4a911b37d71202dfa4.tar.bz2
linux-7eed2e09abf0a0064a7e3f4a911b37d71202dfa4.zip
s390/ftrace: provide working ftrace_return_address()
The common code ftrace_return_address(n), which is just a wrapper for __builtin_return_address(n), will only work for n > 0 if CONFIG_FRAME_POINTER is set to 'y'. Otherwise it will return 0. Since on s390 we will never have that config option set to 'y' ftrace_return_address() won't work at all for n > 0. Luckily we always compile the kernel with -mkernel-backchain which in turn means that __builtin_return_address(n) will always work. So let ftrace_return_address(n) map to __builtin_return_address(n). Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/s390/include/asm/ftrace.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/s390/include/asm/ftrace.h b/arch/s390/include/asm/ftrace.h
index 785041f1dc77..abb618f1ead2 100644
--- a/arch/s390/include/asm/ftrace.h
+++ b/arch/s390/include/asm/ftrace.h
@@ -8,6 +8,8 @@
#ifndef __ASSEMBLY__
+#define ftrace_return_address(n) __builtin_return_address(n)
+
void _mcount(void);
void ftrace_caller(void);