X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Futils%2Fmono-signal-handler.h;h=4842cb8f72bb41bf5274c6fdac634bfd9832afa9;hb=45d6da52ce69cbd24f5930e1cad88d425e706186;hp=9e0b072a1a5e7b6659f2c9f8f83a3e0618a6db6d;hpb=58e8a9f85176c9607e605b888ef45db01a0f6997;p=mono.git diff --git a/mono/utils/mono-signal-handler.h b/mono/utils/mono-signal-handler.h index 9e0b072a1a5..4842cb8f72b 100644 --- a/mono/utils/mono-signal-handler.h +++ b/mono/utils/mono-signal-handler.h @@ -1,5 +1,6 @@ -/* - * mono-signal-handler.h: Handle signal handler differences across platforms +/** + * \file + * Handle signal handler differences across platforms * * Copyright (C) 2013 Xamarin Inc * Licensed under the MIT license. See LICENSE file in the project root for full license information. @@ -41,22 +42,20 @@ #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