[pushed] Fix regressions caused by agent expression C++-ification

Message ID 20230630141418.285710-1-tom@tromey.com
State New
Headers
Series [pushed] Fix regressions caused by agent expression C++-ification |

Commit Message

Tom Tromey June 30, 2023, 2:14 p.m. UTC
  Simon pointed out that my agent expression C++-ification patches
caused a regression with the native-gdbserver target board.  The bug
is that append_const is supposed to write in big-endian order, but I
switched this by mistake.
---
 gdb/ax-general.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
  

Patch

diff --git a/gdb/ax-general.c b/gdb/ax-general.c
index 26a27a0bcad..24101c63749 100644
--- a/gdb/ax-general.c
+++ b/gdb/ax-general.c
@@ -41,11 +41,11 @@  static void generic_ext (struct agent_expr *x, enum agent_op op, int n);
 static void
 append_const (struct agent_expr *x, LONGEST val, int n)
 {
-  int i;
-
-  for (i = n - 1; i >= 0; i--)
+  size_t len = x->buf.size ();
+  x->buf.resize (len + n);
+  for (int i = n - 1; i >= 0; i--)
     {
-      x->buf.push_back (val & 0xff);
+      x->buf[len + i] = val & 0xff;
       val >>= 8;
     }
 }