aboutsummaryrefslogtreecommitdiff
path: root/sys/arm/include
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arm/include')
-rw-r--r--sys/arm/include/asm.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/arm/include/asm.h b/sys/arm/include/asm.h
index 905dd8e071cb..0c25d7bdc1ab 100644
--- a/sys/arm/include/asm.h
+++ b/sys/arm/include/asm.h
@@ -87,7 +87,13 @@
*/
#define GLOBAL(x) .global x
-#define _LEENTRY(x) .type x,_ASM_TYPE_FUNCTION; x:
+#ifdef __thumb__
+#define _FUNC_MODE .code 16; .thumb_func
+#else
+#define _FUNC_MODE .code 32
+#endif
+
+#define _LEENTRY(x) .type x,_ASM_TYPE_FUNCTION; _FUNC_MODE; x:
#define _LEEND(x) /* nothing */
#define _EENTRY(x) GLOBAL(x); _LEENTRY(x)
#define _EEND(x) _LEEND(x)