From 46454ac2a8a7d693ac135f0d4a9461bbcf24eea9 Mon Sep 17 00:00:00 2001 From: Thomas Martitz Date: Tue, 24 Aug 2010 12:38:42 +0000 Subject: 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 --- lib/libsetjmp/sh/asm.h | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 lib/libsetjmp/sh/asm.h (limited to 'lib/libsetjmp/sh/asm.h') diff --git a/lib/libsetjmp/sh/asm.h b/lib/libsetjmp/sh/asm.h new file mode 100644 index 0000000000..db30b149b5 --- /dev/null +++ b/lib/libsetjmp/sh/asm.h @@ -0,0 +1,42 @@ +#ifdef __STDC__ +# define _C_LABEL(x) _ ## x +#else +# define _C_LABEL(x) _/**/x +#endif +#define _ASM_LABEL(x) x + +#if __SH5__ +# if __SH5__ == 32 && __SHMEDIA__ +# define TEXT .section .text..SHmedia32, "ax" +# else +# define TEXT .text +# endif + +# define _ENTRY(name) \ + TEXT; .balign 8; .globl name; name: +#else +#define _ENTRY(name) \ + .text; .align 2; .globl name; name: +#endif /* __SH5__ */ + +#define ENTRY(name) \ + _ENTRY(_C_LABEL(name)) + +#if (defined (__sh2__) || defined (__SH2E__) || defined (__sh3__) || defined (__SH3E__) \ + || defined (__SH4_SINGLE__) || defined (__SH4__)) \ + || defined (__SH4_SINGLE_ONLY__) || defined (__SH5__) || defined (__SH2A__) +#define DELAYED_BRANCHES +#define SL(branch, dest, in_slot, in_slot_arg2) \ + branch##.s dest; in_slot, in_slot_arg2 +#else +#define SL(branch, dest, in_slot, in_slot_arg2) \ + in_slot, in_slot_arg2; branch dest +#endif + +#ifdef __LITTLE_ENDIAN__ +#define SHHI shlld +#define SHLO shlrd +#else +#define SHHI shlrd +#define SHLO shlld +#endif -- cgit v1.2.3