summaryrefslogtreecommitdiff
path: root/arch/s390/include/asm/ftrace.h
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2016-05-02 15:38:29 +0300
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2016-05-04 17:29:45 +0300
commit5606330627ab680f5e6b7549d14ec3ffdae58c15 (patch)
tree5766fa5aa8375263757f24819219175ccf8cfaa5 /arch/s390/include/asm/ftrace.h
parente18eb2d1eb03fa06ccb7823a44d7ceea621e2bbb (diff)
downloadlinux-5606330627ab680f5e6b7549d14ec3ffdae58c15.tar.xz
s390/dumpstack: implement and use return_address()
Implement return_address() and use it instead of __builtin_return_address(n). __builtin_return_address(n) is not guaranteed to work for n > 0, therefore implement a private return_address() function which walks the stack frames and returns the proper return address. This way we get also rid of a compile warning which gcc 6.1 emits and look like all other architectures. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/ftrace.h')
-rw-r--r--arch/s390/include/asm/ftrace.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/s390/include/asm/ftrace.h b/arch/s390/include/asm/ftrace.h
index 836c56290499..64053d9ac3f2 100644
--- a/arch/s390/include/asm/ftrace.h
+++ b/arch/s390/include/asm/ftrace.h
@@ -12,7 +12,9 @@
#ifndef __ASSEMBLY__
-#define ftrace_return_address(n) __builtin_return_address(n)
+unsigned long return_address(int depth);
+
+#define ftrace_return_address(n) return_address(n)
void _mcount(void);
void ftrace_caller(void);