-
Will Deacon authored
Daniel reports that the .cfi_startproc is misplaced for the sigreturn trampoline, which causes LLVM's unwinder to misbehave: | I run into this with LLVM’s unwinder. | This combination was always broken. This prompted Dave to question our use of CFI directives more generally, and I ended up going down a rabbit hole trying to figure out how this very poorly documented stuff gets used. Move the CFI directives so that the "mysterious NOP" is included in the .cfi_{start,end}proc block and add a bunch of comments so that I can save myself another headache in future. Cc: Tamas Zsoldos <tamas.zsoldos@arm.com> Reported-by:
Dave Martin <dave.martin@arm.com> Reported-by:
Daniel Kiss <daniel.kiss@arm.com> Tested-by:
Daniel Kiss <daniel.kiss@arm.com> Signed-off-by:
Will Deacon <will@kernel.org>
a4eb355a