From 8942e52e2511cedc3fc1ce574e526ce4e6b7a6ef Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 20 Sep 2023 07:38:54 -0600 Subject: Fix calls with small integers on ARM On big-endian ARM, an inferior call with a small integer will pass the wrong value. This patch fixes the problem. Because the code here works using scalar values, and not just bytes, left-shifting is unnecessary. Approved-By: Luis Machado --- gdb/arm-tdep.c | 3 --- 1 file changed, 3 deletions(-) (limited to 'gdb/arm-tdep.c') diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c index a0ad1fb..97d7c51 100644 --- a/gdb/arm-tdep.c +++ b/gdb/arm-tdep.c @@ -4824,9 +4824,6 @@ arm_push_dummy_call (struct gdbarch *gdbarch, struct value *function, { /* The argument is being passed in a general purpose register. */ - if (byte_order == BFD_ENDIAN_BIG) - regval <<= (ARM_INT_REGISTER_SIZE - partial_len) * 8; - arm_debug_printf ("arg %d in %s = 0x%s", argnum, gdbarch_register_name (gdbarch, argreg), phex (regval, ARM_INT_REGISTER_SIZE)); -- cgit v1.1