On 3/13/23 19:21, Richard Henderson wrote:
On 3/13/23 04:44, Luis Machado wrote:
Luis: I think that rather than doing (2) with a QEMU namespace,
we should define a gdb namespace for this. That makes it clear
that this is still a gdb-upstream-sanctioned way of exposing
the pauth registers.
That should be fine as well, and would work to side-step the gdb 12 bug so it
doesn't crash.
We could name the feature "org.gnu.gdb.aarch64.pauth_v2" or somesuch, and
slowly stop using the original
"org.gnu.gdb.aarch64.pauth" feature. I can document the requirements for a
compliant pauth_v2.
What if we leave the original two registers, pauth_[cd]mask, in
org.gnu.gdb.aarch64.pauth and move the new *_high registers into a different
feature? That would maximize the set of gdb version for which the original
user-only support is functional.
From what I recall from the gdb bug, I don't think that will help. gdb will
detect pauth support, will add the ra_sign_state pseudo-register internally
with the incorrect numbering and will also see the additional system registers
from QEMU, resulting in a crash.
r~
IMPORTANT NOTICE: The contents of this email and any attachments are
confidential and may also be privileged. If you are not the intended recipient,
please notify the sender immediately and do not disclose the contents to any
other person, use it for any purpose, or store or copy the information in any
medium. Thank you.