提交 01885bc5 编写于 作者: L Laura Abbott 提交者: Russell King

ARM: 7125/1: Add unwinding annotations for 64bit division functions

The 64bit division functions never had unwinding annotations
added. This prevents a backtrace from being printed within
the function and if a division by 0 occurs. Add the annotations.
Signed-off-by: NLaura Abbott <lauraa@codeaurora.org>
Acked-by: NNicolas Pitre <nicolas.pitre@linaro.org>
Acked-by: NCatalin Marinas <catalin.marinas@arm.com>
Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
上级 4bdad983
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
*/ */
#include <linux/linkage.h> #include <linux/linkage.h>
#include <asm/unwind.h>
#ifdef __ARMEB__ #ifdef __ARMEB__
#define xh r0 #define xh r0
...@@ -44,6 +45,7 @@ ...@@ -44,6 +45,7 @@
*/ */
ENTRY(__do_div64) ENTRY(__do_div64)
UNWIND(.fnstart)
@ Test for easy paths first. @ Test for easy paths first.
subs ip, r4, #1 subs ip, r4, #1
...@@ -189,7 +191,12 @@ ENTRY(__do_div64) ...@@ -189,7 +191,12 @@ ENTRY(__do_div64)
moveq yh, xh moveq yh, xh
moveq xh, #0 moveq xh, #0
moveq pc, lr moveq pc, lr
UNWIND(.fnend)
UNWIND(.fnstart)
UNWIND(.pad #4)
UNWIND(.save {lr})
Ldiv0_64:
@ Division by 0: @ Division by 0:
str lr, [sp, #-8]! str lr, [sp, #-8]!
bl __div0 bl __div0
...@@ -200,4 +207,5 @@ ENTRY(__do_div64) ...@@ -200,4 +207,5 @@ ENTRY(__do_div64)
mov xh, #0 mov xh, #0
ldr pc, [sp], #8 ldr pc, [sp], #8
UNWIND(.fnend)
ENDPROC(__do_div64) ENDPROC(__do_div64)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册