Re: [musl] Re: [PATCH v2] powerpc/64/signal: balance return predictor stack in signal trampoline
From: Rich Felker <dalias@libc.org>
Date: 2021-01-22 18:33:18
From: Rich Felker <dalias@libc.org>
Date: 2021-01-22 18:33:18
On Fri, Jan 22, 2021 at 03:19:22PM -0300, Raoni Fassina Firmino wrote:
On Fri, Jan 22, 2021 at 09:44:05AM -0500, Rich Felker wrote:quoted
Maybe I'm missing something but I don't see how this would break musl; we just inspect the PC in the mcontext, which I don't see any changes to and which should still point to the next instruction of the interrupted context. I don't have a test environment though so I'll have to wait for feedback from ppc users to be sure. Are there any further details on how it's breaking glibc?For glibc, backtrace() compares the return-address from each stack frame to the value of `__kernel_sigtramp_rt64` to identify the frame with the mcontext information, but now the return-address is not the start of the routine, but the middle of it, so it fails to catch this special frame.
Is there a reason it's backtracing rather than just looking at the interrupted context (pointed to by the third argument to the signal handler)? Rich