diff options
| author | Rafaël Carré <rafael.carre@gmail.com> | 2010-06-11 04:41:36 +0000 |
|---|---|---|
| committer | Rafaël Carré <rafael.carre@gmail.com> | 2010-06-11 04:41:36 +0000 |
| commit | 45c7498f59ad2889f2120a865a51043004eddd5d (patch) | |
| tree | 1a62b0e8549a7f2750679de8d7dd3f82039c5719 /apps/plugins/pacbox | |
| parent | fe7ca44471b309a0adea563cce947de9efb62ab5 (diff) | |
| download | rockbox-45c7498f59ad2889f2120a865a51043004eddd5d.zip rockbox-45c7498f59ad2889f2120a865a51043004eddd5d.tar.gz rockbox-45c7498f59ad2889f2120a865a51043004eddd5d.tar.bz2 rockbox-45c7498f59ad2889f2120a865a51043004eddd5d.tar.xz | |
FS#11335 by me: make ARM assembly functions thumb-friendly
We can't pop into pc on ARMv4t when using thumb: the T bit won't be
modified if we are returning to a thumb function
Code running on ARMv4t should use the new ldrpc / ldmpc macros instead
of ldr pc, [sp], #4 and ldm(cond) sp!, {regs, pc}
No modification on pure ARM builds and ARMv5+
Note: USE_THUMB is currently never defined, no targets can currently be
built with -mthumb, see FS#6734
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26756 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/pacbox')
| -rw-r--r-- | apps/plugins/pacbox/pacbox_arm.S | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/apps/plugins/pacbox/pacbox_arm.S b/apps/plugins/pacbox/pacbox_arm.S index 32cf2d4..87696ce 100644 --- a/apps/plugins/pacbox/pacbox_arm.S +++ b/apps/plugins/pacbox/pacbox_arm.S @@ -19,6 +19,7 @@ * ****************************************************************************/ +#include "config.h" #include "pacbox.h" .section .icode,"ax",%progbits @@ -120,7 +121,7 @@ loop_x: /* end of y loop */ add r1, r1, #224*3 @ vbuf += 224*3 subs lr, lr, #4 @ y-=4 - ldmeqia sp!, {r4-r11, pc} + ldmpc cond=eq, regs=r4-r11 b loop_y #endif #endif |