diff mbox series

target/ppc: Fix GDB SPR regnum indexing

Message ID 20240311175437.2177587-1-npiggin@gmail.com
State Not Applicable
Headers show
Series target/ppc: Fix GDB SPR regnum indexing | expand

Commit Message

Nicholas Piggin March 11, 2024, 5:54 p.m. UTC
Fix an off by one bug.

Cc: Akihiko Odaki <akihiko.odaki@daynix.com>
Cc: Alex Bennée <alex.bennee@linaro.org>
Fixes: 1b53948ff8f70 ("target/ppc: Use GDBFeature for dynamic XML")
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
 target/ppc/gdbstub.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

Comments

Akihiko Odaki March 12, 2024, 3:36 a.m. UTC | #1
On 2024/03/12 2:54, Nicholas Piggin wrote:
> Fix an off by one bug.
> 
> Cc: Akihiko Odaki <akihiko.odaki@daynix.com>
> Cc: Alex Bennée <alex.bennee@linaro.org>
> Fixes: 1b53948ff8f70 ("target/ppc: Use GDBFeature for dynamic XML")
> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>

> ---
>   target/ppc/gdbstub.c | 7 +++----
>   1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/target/ppc/gdbstub.c b/target/ppc/gdbstub.c
> index 122ea9d0c0..80a2e7990b 100644
> --- a/target/ppc/gdbstub.c
> +++ b/target/ppc/gdbstub.c
> @@ -324,6 +324,9 @@ static void gdb_gen_spr_feature(CPUState *cs)
>               continue;
>           }
>   
> +        gdb_feature_builder_append_reg(&builder, g_ascii_strdown(spr->name, -1),
> +                                       TARGET_LONG_BITS, num_regs,
> +                                       "int", "spr");
>           /*
>            * GDB identifies registers based on the order they are
>            * presented in the XML. These ids will not match QEMU's
> @@ -334,10 +337,6 @@ static void gdb_gen_spr_feature(CPUState *cs)
>            */
>           spr->gdb_id = num_regs;
>           num_regs++;
> -
> -        gdb_feature_builder_append_reg(&builder, g_ascii_strdown(spr->name, -1),
> -                                       TARGET_LONG_BITS, num_regs,
> -                                       "int", "spr");
>       }
>   
>       gdb_feature_builder_end(&builder);
diff mbox series

Patch

diff --git a/target/ppc/gdbstub.c b/target/ppc/gdbstub.c
index 122ea9d0c0..80a2e7990b 100644
--- a/target/ppc/gdbstub.c
+++ b/target/ppc/gdbstub.c
@@ -324,6 +324,9 @@  static void gdb_gen_spr_feature(CPUState *cs)
             continue;
         }
 
+        gdb_feature_builder_append_reg(&builder, g_ascii_strdown(spr->name, -1),
+                                       TARGET_LONG_BITS, num_regs,
+                                       "int", "spr");
         /*
          * GDB identifies registers based on the order they are
          * presented in the XML. These ids will not match QEMU's
@@ -334,10 +337,6 @@  static void gdb_gen_spr_feature(CPUState *cs)
          */
         spr->gdb_id = num_regs;
         num_regs++;
-
-        gdb_feature_builder_append_reg(&builder, g_ascii_strdown(spr->name, -1),
-                                       TARGET_LONG_BITS, num_regs,
-                                       "int", "spr");
     }
 
     gdb_feature_builder_end(&builder);