summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorRafaël Carré <rafael.carre@gmail.com>2010-06-12 17:15:44 +0000
committerRafaël Carré <rafael.carre@gmail.com>2010-06-12 17:15:44 +0000
commit12e85b609f0c12fcff26200e54854a52d9ca1f99 (patch)
tree0e311c60184f2b02329001563fff728a2aad5f43 /firmware
parent96d164f26d91abff273aa610eedb1d91317d207f (diff)
downloadrockbox-12e85b609f0c12fcff26200e54854a52d9ca1f99.tar.gz
rockbox-12e85b609f0c12fcff26200e54854a52d9ca1f99.zip
__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
Diffstat (limited to 'firmware')
-rw-r--r--firmware/target/arm/system-arm.c7
1 files changed, 4 insertions, 3 deletions
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)
99void __attribute__((naked)) __div0(void) 99void __attribute__((naked)) __div0(void)
100{ 100{
101 asm volatile ( 101 asm volatile (
102 "ldr r0, [sp] \r\n" 102 "ldr r0, [sp] \r\n"
103 "mov r1, #3 \r\n" 103 "sub r0, r0, #4 \r\n"
104 "b UIE \r\n" 104 "mov r1, #3 \r\n"
105 "b UIE \r\n"
105 ); 106 );
106} 107}