On Tue, Jun 18, 2019 at 10:07 AM Wilco Dijkstra <[email protected]> wrote:
> > The testcase from the patch passes with the trunk xtensa-linux-gcc
> > with windowed ABI. But with the changes in this patch a lot of tests
> > that use longjmp are failing on xtensa-linux.
>
> Interesting. I looked at the _xtensa_nonlocal_goto implementation in
> libgcc/config/xtensa/lib2funcs.S, and it should work fine given it already
> checks for the frame pointer to be within the bounds of a frame.
It would work if a frame pointer was initialized in the function test, but
it wasn't:
test:
entry sp, 64
l32r a2, .LC1
memw
l32i.n a2, a2, 0
memw
s32i.n a2, sp, 20
s32i.n a7, sp, 0 <----
l32r a2, .LC2
s32i.n a2, sp, 4
original version stored the sp there.
--
Thanks.
-- Max