From 12e85b609f0c12fcff26200e54854a52d9ca1f99 Mon Sep 17 00:00:00 2001 From: Rafaël Carré Date: Sat, 12 Jun 2010 17:15:44 +0000 Subject: __div0: give the address of the instruction calling division to UIE git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26820 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/system-arm.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'firmware') diff --git a/firmware/target/arm/system-arm.c b/firmware/target/arm/system-arm.c index e83b7c585d..01d2ba6e67 100644 --- a/firmware/target/arm/system-arm.c +++ b/firmware/target/arm/system-arm.c @@ -99,8 +99,9 @@ void __attribute__((noreturn)) UIE(unsigned int pc, unsigned int num) void __attribute__((naked)) __div0(void) { asm volatile ( - "ldr r0, [sp] \r\n" - "mov r1, #3 \r\n" - "b UIE \r\n" + "ldr r0, [sp] \r\n" + "sub r0, r0, #4 \r\n" + "mov r1, #3 \r\n" + "b UIE \r\n" ); } -- cgit v1.2.3