[Mono-dev] [PATCH 2/8] mini: Fix unguarded uses of siginfo_t

Zoltan Varga vargaz at gmail.com
Fri Apr 2 12:37:50 EDT 2010


>
>
> Might it be a better idea to just undef MONO_ARCH_SOFT_DEBUG_SUPPORTED in
> mini-x86.h instead to keep `mono -V` from pretending it works?
>
>
Thats ok too.

            Zoltan


> Andreas
>
> On Thu, Apr 1, 2010 at 2:27 AM, Andreas Färber <andreas.faerber at web.de>wrote:
>
>> Haiku does not support SA_SIGINFO-style signal handlers including the
>> siginfo_t type.
>>
>> This commit is licensed under the MIT X11 license.
>> ---
>>  mono/mini/ChangeLog  |    8 ++++++++
>>  mono/mini/mini-x86.c |    8 ++++++++
>>  2 files changed, 16 insertions(+), 0 deletions(-)
>>
>> diff --git a/mono/mini/ChangeLog b/mono/mini/ChangeLog
>> index 4c844b0..9045381 100755
>> --- a/mono/mini/ChangeLog
>> +++ b/mono/mini/ChangeLog
>> @@ -1,3 +1,11 @@
>> +2010-03-30  Andreas Faerber  <andreas.faerber at web.de>
>> +
>> +       * mini-x86.c (mono_arch_is_single_step_event,
>> +       mono_arch_is_breakpoint_event): New define HAVE_SIG_INFO,
>> +       restrict it to MONO_ARCH_USE_SIGACTION to fix build on Haiku.
>> +
>> +       Code is contributed under MIT/X11 license.
>> +
>>  2010-03-30 Rodrigo Kumpera  <rkumpera at novell.com>
>>
>>        * mini-exceptions.c: Introduce mono_walk_stack_full, which
>> diff --git a/mono/mini/mini-x86.c b/mono/mini/mini-x86.c
>> index 1911501..94b72b4 100644
>> --- a/mono/mini/mini-x86.c
>> +++ b/mono/mini/mini-x86.c
>> @@ -5919,6 +5919,10 @@ mono_arch_stop_single_stepping (void)
>>        mono_mprotect (ss_trigger_page, mono_pagesize (), MONO_MMAP_READ);
>>  }
>>
>> +#if defined(MONO_ARCH_USE_SIGACTION)
>> +#define HAVE_SIG_INFO
>> +#endif
>> +
>>  /*
>>  * mono_arch_is_single_step_event:
>>  *
>> @@ -5935,11 +5939,13 @@ mono_arch_is_single_step_event (void *info, void
>> *sigctx)
>>        else
>>                return FALSE;
>>  #else
>> +#ifdef HAVE_SIG_INFO
>>        siginfo_t* sinfo = (siginfo_t*) info;
>>        /* Sometimes the address is off by 4 */
>>        if (sinfo->si_signo == DBG_SIGNAL && (sinfo->si_addr >=
>> ss_trigger_page && (guint8*)sinfo->si_addr <= (guint8*)ss_trigger_page +
>> 128))
>>                return TRUE;
>>        else
>> +#endif
>>                return FALSE;
>>  #endif
>>  }
>> @@ -5954,11 +5960,13 @@ mono_arch_is_breakpoint_event (void *info, void
>> *sigctx)
>>        else
>>                return FALSE;
>>  #else
>> +#ifdef HAVE_SIG_INFO
>>        siginfo_t* sinfo = (siginfo_t*)info;
>>        /* Sometimes the address is off by 4 */
>>        if (sinfo->si_signo == DBG_SIGNAL && (sinfo->si_addr >=
>> bp_trigger_page && (guint8*)sinfo->si_addr <= (guint8*)bp_trigger_page +
>> 128))
>>                return TRUE;
>>        else
>> +#endif
>>                return FALSE;
>>  #endif
>>  }
>> --
>> 1.7.0.3
>>
>> _______________________________________________
>> Mono-devel-list mailing list
>> Mono-devel-list at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>
>
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20100402/d1d2cec4/attachment.html 


More information about the Mono-devel-list mailing list