[threads] Remove mono_threads_create_thread (#4411)
[mono.git] / mono / utils / mono-signal-handler.h
index 9e0b072a1a5e7b6659f2c9f8f83a3e0618a6db6d..a90affdd91e77599a111d92b393c5d0d530b928c 100644 (file)
 #ifdef KRAIT_IT_BUG_WORKAROUND
 #define MONO_SIGNAL_HANDLER_FUNC(access, name, arglist)                \
        static void __krait_ ## name arglist;   \
-       __attribute__ ((naked)) access void                             \
+       __attribute__ ((__naked__)) access void                         \
        name arglist                                                    \
        {                                                               \
                asm volatile (                                          \
                              "mov r0, r0\n\t"                          \
                              "mov r0, r0\n\t"                          \
                              "mov r0, r0\n\t"                          \
-                             "mov r0, r0\n\t");                        \
-               asm volatile (                                          \
-                             "bx %0"                                   \
-                             : : "r" (__krait_ ## name));              \
+                             "mov r0, r0\n\t"                          \
+                                 "b __krait_" # name                   \
+                                 "\n\t");                                              \
        }       \
-       static void __krait_ ## name arglist
+       static __attribute__ ((__used__)) void __krait_ ## name arglist
 #endif
 
-
 /* Don't use this */
 #ifndef MONO_SIGNAL_HANDLER_FUNC
 #define MONO_SIGNAL_HANDLER_FUNC(access, name, arglist) access void name arglist