diff options
author | Drew Richardson <drew.richardson@arm.com> | 2015-08-06 18:50:27 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2015-08-07 19:57:02 +0100 |
commit | e83dd3770021910293edea6fb2dc2fa306b1bf34 (patch) | |
tree | 2a459de6b7f55e869612ae62ac92875948006c6d /arch/arm/kernel | |
parent | 998ef5d81c74c752d74c7925bc370909b84adb9d (diff) | |
download | linux-e83dd3770021910293edea6fb2dc2fa306b1bf34.tar.gz linux-e83dd3770021910293edea6fb2dc2fa306b1bf34.tar.bz2 linux-e83dd3770021910293edea6fb2dc2fa306b1bf34.zip |
ARM: 8409/1: Mark ret_fast_syscall as a function
ret_fast_syscall runs when user space makes a syscall. However it
needs to be marked as such so the ELF information is correct. Before
it was:
101: 8000f300 0 NOTYPE LOCAL DEFAULT 2 ret_fast_syscall
But with this change it correctly shows as:
101: 8000f300 96 FUNC LOCAL DEFAULT 2 ret_fast_syscall
I see this function when using perf to unwind call stacks from kernel
space to user space. Without this change I would need to add some
special case logic when using the vmlinux ELF information.
Signed-off-by: Drew Richardson <drew.richardson@arm.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r-- | arch/arm/kernel/entry-common.S | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S index 92828a1dec80..b48dd4f37f80 100644 --- a/arch/arm/kernel/entry-common.S +++ b/arch/arm/kernel/entry-common.S @@ -61,6 +61,7 @@ work_pending: movlt scno, #(__NR_restart_syscall - __NR_SYSCALL_BASE) ldmia sp, {r0 - r6} @ have to reload r0 - r6 b local_restart @ ... and off we go +ENDPROC(ret_fast_syscall) /* * "slow" syscall return path. "why" tells us if this was a real syscall. |