On 24 February 2015 at 23:53, Edward Nevill edward.nevill@linaro.org wrote:
However, there is a problem with this because gcc may store integer value in floating point registers around a function call.
So, I have no way of knowing whether it is actually necessary to save/restore floating point context.
Even worse applications using Boost.Context may be completely borken if they assume it is safe to call jump_context with save_fp == 0.
Any suggestions?
It sounds to me like: (1) any application which doesn't call with save_fp true is broken (2) the API is badly designed and the save_fp argument should be deprecated/removed (3) implementations should ignore save_fp and always save all the registers which the calling convention requires to be saved (4) this is reinventing the getcontext/setcontext wheel, badly...
-- PMM