From: Tom Tromey Date: Fri, 30 Jun 2023 01:38:10 +0000 (-0600) Subject: Fix regressions caused by agent expression C++-ification X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=72723f78cc511d0ea209805bcde2d3b4ba11616c;p=binutils-gdb.git Fix regressions caused by agent expression C++-ification 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. --- 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; } }