Is setjmp patch still need for MVME550 with 4.10.2
feng at bnl.gov
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
Yes, you are right but in RTEMS4.10.0 the altivec engine was not enabled on
mvme5500 BSP. Thus, the patch at
https://www.rtems.org/bugzilla/show_bug.cgi?id=1786 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:
>> 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?
>> Phil Sorensen
>> rtems-users mailing list
>> rtems-users at rtems.org
> rtems-users mailing list
> rtems-users at rtems.org
More information about the users