RFR: 8342607: Enhance register printing on x86_64 platforms
Richard Reingruber
rrich at openjdk.org
Thu Oct 24 09:55:10 UTC 2024
On Thu, 24 Oct 2024 09:45:20 GMT, Richard Reingruber <rrich at openjdk.org> wrote:
> The context is copied in the signal handler and used [here](https://github.com/openjdk/jdk/blob/f0b130e54f33d3190640ce33c991e35f27e9f812/src/hotspot/share/utilities/debug.cpp#L208) after the signal handler has returned. The copied `fpregs` pointer referes still to original which is/was located in the signal handler caller frame. You need to set it to the `__fpregs_mem` in the copy.
Correction: the kernel has aligned `fpregs` so it doesn't point precisely to `__fpregs_mem` (that's why Martins version isn't working). The copied `fpregs` must point to the same offset in the `ucontext_t` copy as the original `fpregs` pointer in the original `ucontext_t`.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/21615#issuecomment-2434816007
More information about the hotspot-runtime-dev
mailing list