[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ft-devel] ft_setjmp in Codewarrior
From: |
mpsuzuki |
Subject: |
Re: [ft-devel] ft_setjmp in Codewarrior |
Date: |
Sun, 9 Nov 2008 01:36:07 +0900 |
On Sat, 08 Nov 2008 17:13:14 +0100 (CET)
Werner LEMBERG <address@hidden> wrote:
>
>> a) Compile ftobjs.c (or ftbase.c) with "-relax_pointers".
>> b) Insert "#pragma mpwc_relax" with appropriate conditionals (to
>> avoid this pragma to other compilers).
>> c) Use "volatile void*" instead of "volatile jmp_buf*".
>>
>> I guess, a) is not good workaround for CodeWarrior users. Because,
>> CodeWarrior project does not support per-file compile options, so
>> the developers using CW project file would compile most sources with
>> "-relax_pointers", it makes difficult to find other unexpected
>> pointer casting.
>>
>> b) is appropriate-level workaround (the modification is restricted
>> to the problematic part only), but it's questionable to insert
>> legacy-platform-specific workaround in generic source file ftobjs.c.
>>
>> c) is compiler-independent and generic workaround, but its impact
>> (against the optimizer) can be slightly large. At present, I've
>> checked the assembly outputs by a few C compilers, and I didn't find
>> no difference between "volatile jmp_buf*" versus "volatile void*".
>
>For me, solution (b) seems easiest. What about moving the jmp_buf
>stuff to a separate file so that it can be easily overridden in
>builds/mac? Note, however, that my opinion is just a `feeling', not
>based on any facts.
Thank you for comment. Yet I'm not sure if jmp_buf stuffs should
be separated /or volatile stuffs should be separated, I agree
with your idea: the separation of problematic part to individual
file and workaround should be stored in builds/mac, because this
issue is only found in legacy SDK for legacy platform, at present.
Anyway, I will propose a patch to separate jmp_buf.
Regards,
mpsuzuki
Re: [ft-devel] ft_setjmp in Codewarrior, Garrick Meeker, 2008/11/13