[PATCH for-8.0] target/arm: Don't advertise aarch64-pauth.xml to gdb

Peter Maydell posted 1 patch 1 year, 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230317165057.1522743-1-peter.maydell@linaro.org
Maintainers: Peter Maydell <peter.maydell@linaro.org>
target/arm/gdbstub.c | 7 +++++++
1 file changed, 7 insertions(+)
[PATCH for-8.0] target/arm: Don't advertise aarch64-pauth.xml to gdb
Posted by Peter Maydell 1 year, 1 month ago
Unfortunately a bug in older versions of gdb means that they will
crash if QEMU sends them the aarch64-pauth.xml.  This bug is fixed in
gdb commit 1ba3a3222039eb25, and there are plans to backport that to
affected gdb release branches, but since the bug affects gdb 9
through 12 it is very widely deployed (for instance by distros).

It is not currently clear what the best way to deal with this is; it
has been proposed to define a new XML feature name that old gdb will
ignore but newer gdb can handle.  Since QEMU's 8.0 release is
imminent and at least one of our CI runners is now falling over this,
disable the pauth XML for the moment.  We can follow up with a more
considered fix either in time for 8.0 or else for the 8.1 release.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 target/arm/gdbstub.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/target/arm/gdbstub.c b/target/arm/gdbstub.c
index 78105b8078b..3bd86cee979 100644
--- a/target/arm/gdbstub.c
+++ b/target/arm/gdbstub.c
@@ -520,11 +520,18 @@ void arm_cpu_register_gdb_regs_for_features(ARMCPU *cpu)
                                      aarch64_gdb_set_fpu_reg,
                                      34, "aarch64-fpu.xml", 0);
         }
+#if 0
+        /*
+         * GDB versions 9 through 12 have a bug which means they will
+         * crash if they see this XML from QEMU; disable it for the 8.0
+         * release, pending a better solution.
+         */
         if (isar_feature_aa64_pauth(&cpu->isar)) {
             gdb_register_coprocessor(cs, aarch64_gdb_get_pauth_reg,
                                      aarch64_gdb_set_pauth_reg,
                                      4, "aarch64-pauth.xml", 0);
         }
+#endif
 #endif
     } else {
         if (arm_feature(env, ARM_FEATURE_NEON)) {
-- 
2.34.1
Re: [PATCH for-8.0] target/arm: Don't advertise aarch64-pauth.xml to gdb
Posted by Alex Bennée 1 year, 1 month ago
Peter Maydell <peter.maydell@linaro.org> writes:

> Unfortunately a bug in older versions of gdb means that they will
> crash if QEMU sends them the aarch64-pauth.xml.  This bug is fixed in
> gdb commit 1ba3a3222039eb25, and there are plans to backport that to
> affected gdb release branches, but since the bug affects gdb 9
> through 12 it is very widely deployed (for instance by distros).
>
> It is not currently clear what the best way to deal with this is; it
> has been proposed to define a new XML feature name that old gdb will
> ignore but newer gdb can handle.  Since QEMU's 8.0 release is
> imminent and at least one of our CI runners is now falling over this,
> disable the pauth XML for the moment.  We can follow up with a more
> considered fix either in time for 8.0 or else for the 8.1 release.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Queued to pr/170323-for-8.0-1, thanks.

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro
Re: [PATCH for-8.0] target/arm: Don't advertise aarch64-pauth.xml to gdb
Posted by Peter Maydell 1 year, 1 month ago
On Fri, 17 Mar 2023 at 17:23, Alex Bennée <alex.bennee@linaro.org> wrote:
>
>
> Peter Maydell <peter.maydell@linaro.org> writes:
>
> > Unfortunately a bug in older versions of gdb means that they will
> > crash if QEMU sends them the aarch64-pauth.xml.  This bug is fixed in
> > gdb commit 1ba3a3222039eb25, and there are plans to backport that to
> > affected gdb release branches, but since the bug affects gdb 9
> > through 12 it is very widely deployed (for instance by distros).
> >
> > It is not currently clear what the best way to deal with this is; it
> > has been proposed to define a new XML feature name that old gdb will
> > ignore but newer gdb can handle.  Since QEMU's 8.0 release is
> > imminent and at least one of our CI runners is now falling over this,
> > disable the pauth XML for the moment.  We can follow up with a more
> > considered fix either in time for 8.0 or else for the 8.1 release.
> >
> > Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
>
> Queued to pr/170323-for-8.0-1, thanks.

I'll take this via target-arm.next, so please unqueue this one.

-- PMM