Re: signal delivery, was Re: reliable reproducer
Michael Schmitz <[email protected]>
| Newsgroups | gmane.linux.ports.m68k,gmane.linux.debian.ports.68k |
|---|---|
| Message-ID | <[email protected]> |
Hi Finn, Am 25.04.2023 um 14:32 schrieb Michael Schmitz: >>> Maybe we should try modifying get_sigframe() to increase the gap between >>> the signal and exception frames from 0-1 long words up to 64-65 long >>> words. >>> >> >> It turns out that doing so (patch below) does make the problem go away. >> Was the exception frame getting clobbered? > > Might happen, if the frame gap isn't actually equal to the exception > frame extra size anymore? Aligning the start of the signal frame to the > next lower quadword boundary increases the gap size. > > When setting up the sigframe, the extra is copied to the correct > location (right past struct sigframe, or into uc_filler). When moving > that exception frame into place, the assumption is that the gap is the > extra size, not more. > > I'll try dropping the quadword alignment constraint - the return > trampoline still ought to remain longword aligned. No luck - still stack corruption. Cheers, Michael