diff options
author | Rafaël Carré <rafael.carre@gmail.com> | 2010-06-12 17:15:44 +0000 |
---|---|---|
committer | Rafaël Carré <rafael.carre@gmail.com> | 2010-06-12 17:15:44 +0000 |
commit | 12e85b609f0c12fcff26200e54854a52d9ca1f99 (patch) | |
tree | 0e311c60184f2b02329001563fff728a2aad5f43 /firmware/target/arm | |
parent | 96d164f26d91abff273aa610eedb1d91317d207f (diff) | |
download | rockbox-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/target/arm')
-rw-r--r-- | firmware/target/arm/system-arm.c | 7 |
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) | |||
99 | void __attribute__((naked)) __div0(void) | 99 | void __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 | } |