Is setjmp patch still need for MVME550 with 4.10.2

Kate Feng feng at
Wed Jan 18 17:19:54 UTC 2012

On 01/18/2012 12:08 PM, Till Straumann wrote:
> OK, got my memory up to speed.
> Here's some background:
> setjmp/longjmp save/restore the CPU context to/from memory.
> powerpc-RTEMS has had the option to use lazy floating-point and
> altivec context switching. This means that the ordinary setjmp/longjmp
> needed to be patched so that they only save FP and/or altivec registers
> for tasks which have the respective engines enabled (otherwise
> setjmp would crash, e.g., trying to save FP registers from a task
> context which is non-FP and has the FPU disabled).
> However, with increasing gcc optimization it has become very
> difficult to control exactly when gcc emits FP or altivec instructions
> (and it is not trivially possible -- due to subtle ABI changes -- to mix
> e.g., -msoft-float with -mhard-float compiled code).
> Therefore, IIRC, under rtems-4.10 the FPU (and altivec) engines
> are always enabled thus obsoleting the need for a setjmp/longjmp
> patch.
Yes, you are right but in RTEMS4.10.0 the altivec engine was not enabled on
mvme5500 BSP.  Thus, the patch at would be a better one
for RTEMS4.10.0 instead of the setjmp patch.

In conclusion, setjmp patch is not need for MVME550 with 4.10.2 because
patch 1786 is applied starting 4.10.1.


> - Till
> On 01/18/2012 10:34 AM, Phillip Sorensen wrote:
>> Hello,
>> I am in the process of upgrading from RTEMS 4.10.0 to RTEMS 4.10.2, and
>> I noticed that one of the patches for the update was for the MVME5500
>> BSP.  In the past I have had to patch newlib setjmp for this BSP.  Is
>> this newlib patch still needed for the lastest version or RTEMS?
>> Thanks,
>> Phil Sorensen
>> _______________________________________________
>> rtems-users mailing list
>> rtems-users at
> _______________________________________________
> rtems-users mailing list
> rtems-users at

More information about the users mailing list