diff options
| author | Thomas Martitz <kugel@rockbox.org> | 2010-08-24 12:38:42 +0000 |
|---|---|---|
| committer | Thomas Martitz <kugel@rockbox.org> | 2010-08-24 12:38:42 +0000 |
| commit | 46454ac2a8a7d693ac135f0d4a9461bbcf24eea9 (patch) | |
| tree | 86488784b36537f382ccd448c6684d60f1540527 /apps/codecs/lib/setjmp_cf.S | |
| parent | 20de4c55a2ddfa802a01cc353884d73a934bf7ba (diff) | |
| download | rockbox-46454ac2a8a7d693ac135f0d4a9461bbcf24eea9.zip rockbox-46454ac2a8a7d693ac135f0d4a9461bbcf24eea9.tar.gz rockbox-46454ac2a8a7d693ac135f0d4a9461bbcf24eea9.tar.bz2 rockbox-46454ac2a8a7d693ac135f0d4a9461bbcf24eea9.tar.xz | |
Move setjmp to lib and add setjmp for sh (imported from newlib) and compile it as separate library.
It's used by both, plugins and codecs, and sh/hwcodec doesn't compile codecs
so it doesn't fit into sources.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27869 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/lib/setjmp_cf.S')
| -rw-r--r-- | apps/codecs/lib/setjmp_cf.S | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/apps/codecs/lib/setjmp_cf.S b/apps/codecs/lib/setjmp_cf.S deleted file mode 100644 index 86eda80..0000000 --- a/apps/codecs/lib/setjmp_cf.S +++ /dev/null @@ -1,79 +0,0 @@ -/* ANSI concatenation macros. */ - -#define CONCAT1(a, b) CONCAT2(a, b) -#define CONCAT2(a, b) a ## b - -/* Use the right prefix for global labels. */ - -#define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x) - -/* Use the right prefix for registers. */ - -#define REG(x) CONCAT1 (__REGISTER_PREFIX__, x) - -#define d0 REG (d0) -#define d1 REG (d1) -#define d2 REG (d2) -#define d3 REG (d3) -#define d4 REG (d4) -#define d5 REG (d5) -#define d6 REG (d6) -#define d7 REG (d7) -#define a0 REG (a0) -#define a1 REG (a1) -#define a2 REG (a2) -#define a3 REG (a3) -#define a4 REG (a4) -#define a5 REG (a5) -#define a6 REG (a6) -#define fp REG (fp) -#define sp REG (sp) - - -.global SYM (setjmp) -.global SYM (longjmp) - -SYM (setjmp): - moveal sp@(4),a0 - movel sp@(0),a0@(12) - movel sp,a0@(8) - moveml d2-d7/a2-a6,a0@(20) - clrl d0 - rts - -SYM (longjmp): - moveal sp@(4),a0 - movel sp@(8),d0 - bne 1f - movel &1,d0 -1: - moveml a0@(20),d2-d7/a2-a6 - moveal a0@(8),sp - movel a0@(12),sp@ - rts - -#ifdef M68881 -.global SYM (setjmp_68881) -.global SYM (longjmp_68881) - -SYM (setjmp_68881): - moveal sp@(4),a0 - movel sp@(0),a0@(12) - movel sp,a0@(8) - moveml d2-d7/a2-a6,a0@(20) - fmovemx fp2-fp7,a0@(64) - clrl d0 - rts - -SYM (longjmp_68881): - moveal sp@(4),a0 - fmovemx a0@(64),fp2-fp7 - movel sp@(8),d0 - bne 1f - movel &1,d0 -1: - moveml a0@(20),d2-d7/a2-a6 - moveal a0@(8),sp - movel a0@(12),sp@ - rts -#endif |