summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafaël Carré <rafael.carre@gmail.com>2010-01-24 15:04:21 +0000
committerRafaël Carré <rafael.carre@gmail.com>2010-01-24 15:04:21 +0000
commitb2323be33b5a89cc244d4488b21263a359aced96 (patch)
tree112b2df776d9e4ca404237c176f56433a4136471
parentfd13e09c4f79f9a26c76c160b007513cacc8b818 (diff)
downloadrockbox-b2323be33b5a89cc244d4488b21263a359aced96.tar.gz
rockbox-b2323be33b5a89cc244d4488b21263a359aced96.zip
ARM: lr addresses the next instruction after the failing one in undefined instruction vector
Substract 4 before passing the argument to UIE so the correct address is displayed git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24321 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/arm/crt0-pp.S2
-rw-r--r--firmware/target/arm/crt0.S2
-rw-r--r--firmware/target/arm/imx31/crt0.S2
-rw-r--r--firmware/target/arm/pnx0101/crt0-pnx0101.S2
-rw-r--r--firmware/target/arm/s3c2440/crt0.S2
-rw-r--r--firmware/target/arm/s5l8700/crt0.S2
-rw-r--r--firmware/target/arm/tcc77x/crt0.S2
-rw-r--r--firmware/target/arm/tcc780x/crt0.S2
-rw-r--r--firmware/target/arm/tms320dm320/crt0.S2
9 files changed, 9 insertions, 9 deletions
diff --git a/firmware/target/arm/crt0-pp.S b/firmware/target/arm/crt0-pp.S
index bd1fc035c9..9c996960cc 100644
--- a/firmware/target/arm/crt0-pp.S
+++ b/firmware/target/arm/crt0-pp.S
@@ -348,7 +348,7 @@ vectors:
348 in UIE. 348 in UIE.
349 */ 349 */
350undef_instr_handler: 350undef_instr_handler:
351 mov r0, lr 351 sub r0, lr, #4
352 mov r1, #0 352 mov r1, #0
353 b UIE 353 b UIE
354 354
diff --git a/firmware/target/arm/crt0.S b/firmware/target/arm/crt0.S
index 4bd01e4952..79cfdb3e1b 100644
--- a/firmware/target/arm/crt0.S
+++ b/firmware/target/arm/crt0.S
@@ -124,7 +124,7 @@ newstart:
124 * we're in. Second parameter is exception number, used for a string lookup 124 * we're in. Second parameter is exception number, used for a string lookup
125 * in UIE. */ 125 * in UIE. */
126undef_instr_handler: 126undef_instr_handler:
127 mov r0, lr 127 sub r0, lr, #4
128 mov r1, #0 128 mov r1, #0
129 b UIE 129 b UIE
130 130
diff --git a/firmware/target/arm/imx31/crt0.S b/firmware/target/arm/imx31/crt0.S
index 4afec85568..0841cb9276 100644
--- a/firmware/target/arm/imx31/crt0.S
+++ b/firmware/target/arm/imx31/crt0.S
@@ -341,7 +341,7 @@ remap_end:
341 * we're in. Second parameter is exception number, used for a string lookup 341 * we're in. Second parameter is exception number, used for a string lookup
342 * in UIE. */ 342 * in UIE. */
343undef_instr_handler: 343undef_instr_handler:
344 mov r0, lr 344 sub r0, lr, #4
345 mov r1, #0 345 mov r1, #0
346 b UIE 346 b UIE
347 347
diff --git a/firmware/target/arm/pnx0101/crt0-pnx0101.S b/firmware/target/arm/pnx0101/crt0-pnx0101.S
index d785d09a3b..c8c4232a3a 100644
--- a/firmware/target/arm/pnx0101/crt0-pnx0101.S
+++ b/firmware/target/arm/pnx0101/crt0-pnx0101.S
@@ -174,7 +174,7 @@ vectors:
174 in UIE. 174 in UIE.
175 */ 175 */
176undef_instr_handler: 176undef_instr_handler:
177 mov r0, lr 177 sub r0, lr, #4
178 mov r1, #0 178 mov r1, #0
179 b UIE 179 b UIE
180 180
diff --git a/firmware/target/arm/s3c2440/crt0.S b/firmware/target/arm/s3c2440/crt0.S
index 2188bc07da..086cc4a8bd 100644
--- a/firmware/target/arm/s3c2440/crt0.S
+++ b/firmware/target/arm/s3c2440/crt0.S
@@ -569,7 +569,7 @@ stackmunge:
569 in UIE. 569 in UIE.
570 */ 570 */
571undef_instr_handler: 571undef_instr_handler:
572 mov r0, lr 572 sub r0, lr, #4
573 mov r1, #0 573 mov r1, #0
574 b UIE 574 b UIE
575 575
diff --git a/firmware/target/arm/s5l8700/crt0.S b/firmware/target/arm/s5l8700/crt0.S
index 67bcc5a796..bb6d910e22 100644
--- a/firmware/target/arm/s5l8700/crt0.S
+++ b/firmware/target/arm/s5l8700/crt0.S
@@ -508,7 +508,7 @@ start_loc:
508 * we're in. Second parameter is exception number, used for a string lookup 508 * we're in. Second parameter is exception number, used for a string lookup
509 * in UIE. */ 509 * in UIE. */
510undef_instr_handler: 510undef_instr_handler:
511 mov r0, lr 511 sub r0, lr, #4
512 mov r1, #0 512 mov r1, #0
513 b UIE 513 b UIE
514 514
diff --git a/firmware/target/arm/tcc77x/crt0.S b/firmware/target/arm/tcc77x/crt0.S
index 2c5af3f21b..16b80920f4 100644
--- a/firmware/target/arm/tcc77x/crt0.S
+++ b/firmware/target/arm/tcc77x/crt0.S
@@ -218,7 +218,7 @@ vectors_end:
218 in UIE. 218 in UIE.
219 */ 219 */
220undef_instr_handler: 220undef_instr_handler:
221 mov r0, lr 221 sub r0, lr, #4
222 mov r1, #0 222 mov r1, #0
223 b UIE 223 b UIE
224 224
diff --git a/firmware/target/arm/tcc780x/crt0.S b/firmware/target/arm/tcc780x/crt0.S
index f02a204d7e..b1608915f1 100644
--- a/firmware/target/arm/tcc780x/crt0.S
+++ b/firmware/target/arm/tcc780x/crt0.S
@@ -285,7 +285,7 @@ vectors_end:
285 in UIE. 285 in UIE.
286 */ 286 */
287undef_instr_handler: 287undef_instr_handler:
288 mov r0, lr 288 sub r0, lr, #4
289 mov r1, #0 289 mov r1, #0
290 b UIE 290 b UIE
291 291
diff --git a/firmware/target/arm/tms320dm320/crt0.S b/firmware/target/arm/tms320dm320/crt0.S
index fe4a3fb970..e774152336 100644
--- a/firmware/target/arm/tms320dm320/crt0.S
+++ b/firmware/target/arm/tms320dm320/crt0.S
@@ -137,7 +137,7 @@ start_loc:
137 in UIE. 137 in UIE.
138 */ 138 */
139undef_instr_handler: 139undef_instr_handler:
140 mov r0, lr 140 sub r0, lr, #4
141 mov r1, #0 141 mov r1, #0
142 b UIE 142 b UIE
143 143