diff options
| author | Rafaël Carré <rafael.carre@gmail.com> | 2010-01-24 15:04:21 +0000 |
|---|---|---|
| committer | Rafaël Carré <rafael.carre@gmail.com> | 2010-01-24 15:04:21 +0000 |
| commit | b2323be33b5a89cc244d4488b21263a359aced96 (patch) | |
| tree | 112b2df776d9e4ca404237c176f56433a4136471 | |
| parent | fd13e09c4f79f9a26c76c160b007513cacc8b818 (diff) | |
| download | rockbox-b2323be33b5a89cc244d4488b21263a359aced96.zip rockbox-b2323be33b5a89cc244d4488b21263a359aced96.tar.gz rockbox-b2323be33b5a89cc244d4488b21263a359aced96.tar.bz2 rockbox-b2323be33b5a89cc244d4488b21263a359aced96.tar.xz | |
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.S | 2 | ||||
| -rw-r--r-- | firmware/target/arm/crt0.S | 2 | ||||
| -rw-r--r-- | firmware/target/arm/imx31/crt0.S | 2 | ||||
| -rw-r--r-- | firmware/target/arm/pnx0101/crt0-pnx0101.S | 2 | ||||
| -rw-r--r-- | firmware/target/arm/s3c2440/crt0.S | 2 | ||||
| -rw-r--r-- | firmware/target/arm/s5l8700/crt0.S | 2 | ||||
| -rw-r--r-- | firmware/target/arm/tcc77x/crt0.S | 2 | ||||
| -rw-r--r-- | firmware/target/arm/tcc780x/crt0.S | 2 | ||||
| -rw-r--r-- | firmware/target/arm/tms320dm320/crt0.S | 2 |
9 files changed, 9 insertions, 9 deletions
diff --git a/firmware/target/arm/crt0-pp.S b/firmware/target/arm/crt0-pp.S index bd1fc03..9c99696 100644 --- a/firmware/target/arm/crt0-pp.S +++ b/firmware/target/arm/crt0-pp.S @@ -348,7 +348,7 @@ vectors: in UIE. */ undef_instr_handler: - mov r0, lr + sub r0, lr, #4 mov r1, #0 b UIE diff --git a/firmware/target/arm/crt0.S b/firmware/target/arm/crt0.S index 4bd01e4..79cfdb3 100644 --- a/firmware/target/arm/crt0.S +++ b/firmware/target/arm/crt0.S @@ -124,7 +124,7 @@ newstart: * we're in. Second parameter is exception number, used for a string lookup * in UIE. */ undef_instr_handler: - mov r0, lr + sub r0, lr, #4 mov r1, #0 b UIE diff --git a/firmware/target/arm/imx31/crt0.S b/firmware/target/arm/imx31/crt0.S index 4afec85..0841cb9 100644 --- a/firmware/target/arm/imx31/crt0.S +++ b/firmware/target/arm/imx31/crt0.S @@ -341,7 +341,7 @@ remap_end: * we're in. Second parameter is exception number, used for a string lookup * in UIE. */ undef_instr_handler: - mov r0, lr + sub r0, lr, #4 mov r1, #0 b UIE diff --git a/firmware/target/arm/pnx0101/crt0-pnx0101.S b/firmware/target/arm/pnx0101/crt0-pnx0101.S index d785d09..c8c4232 100644 --- a/firmware/target/arm/pnx0101/crt0-pnx0101.S +++ b/firmware/target/arm/pnx0101/crt0-pnx0101.S @@ -174,7 +174,7 @@ vectors: in UIE. */ undef_instr_handler: - mov r0, lr + sub r0, lr, #4 mov r1, #0 b UIE diff --git a/firmware/target/arm/s3c2440/crt0.S b/firmware/target/arm/s3c2440/crt0.S index 2188bc0..086cc4a 100644 --- a/firmware/target/arm/s3c2440/crt0.S +++ b/firmware/target/arm/s3c2440/crt0.S @@ -569,7 +569,7 @@ stackmunge: in UIE. */ undef_instr_handler: - mov r0, lr + sub r0, lr, #4 mov r1, #0 b UIE diff --git a/firmware/target/arm/s5l8700/crt0.S b/firmware/target/arm/s5l8700/crt0.S index 67bcc5a..bb6d910 100644 --- a/firmware/target/arm/s5l8700/crt0.S +++ b/firmware/target/arm/s5l8700/crt0.S @@ -508,7 +508,7 @@ start_loc: * we're in. Second parameter is exception number, used for a string lookup * in UIE. */ undef_instr_handler: - mov r0, lr + sub r0, lr, #4 mov r1, #0 b UIE diff --git a/firmware/target/arm/tcc77x/crt0.S b/firmware/target/arm/tcc77x/crt0.S index 2c5af3f..16b8092 100644 --- a/firmware/target/arm/tcc77x/crt0.S +++ b/firmware/target/arm/tcc77x/crt0.S @@ -218,7 +218,7 @@ vectors_end: in UIE. */ undef_instr_handler: - mov r0, lr + sub r0, lr, #4 mov r1, #0 b UIE diff --git a/firmware/target/arm/tcc780x/crt0.S b/firmware/target/arm/tcc780x/crt0.S index f02a204..b160891 100644 --- a/firmware/target/arm/tcc780x/crt0.S +++ b/firmware/target/arm/tcc780x/crt0.S @@ -285,7 +285,7 @@ vectors_end: in UIE. */ undef_instr_handler: - mov r0, lr + sub r0, lr, #4 mov r1, #0 b UIE diff --git a/firmware/target/arm/tms320dm320/crt0.S b/firmware/target/arm/tms320dm320/crt0.S index fe4a3fb..e774152 100644 --- a/firmware/target/arm/tms320dm320/crt0.S +++ b/firmware/target/arm/tms320dm320/crt0.S @@ -137,7 +137,7 @@ start_loc: in UIE. */ undef_instr_handler: - mov r0, lr + sub r0, lr, #4 mov r1, #0 b UIE |