4ad/go.arm64

liblink: missing WRAPPER and spadj handling code

minux opened this issue · 2 comments

Without the WRAPPER code (see http://tip.golang.org/src/liblink/obj9.c#L389),
panic/recover won't be fully working.

Without spadj tracking, traceback won't be fully working (in the same function
in obj9.c)

spadj is mostly done.

Still TODO: handle pre/post-add instructions involving SP, see discussion on rev e90278a.
Note: we don't need to bother an instruction that modifies SP if we can be certain that
traceback won't observe that changed SP (e.g. if the SP is changed in assembly function
and between the two SP change/restore instruction pair, only non-stack-split functions
are called and they won't panic.)

4ad commented

Reopening since there's a little more left.