Inlining of the function seems to be responsible for the unwind function not adjusting the GOT pointer before calling the cleanup function.