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 <luis.machado@arm.com>
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));