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>
This commit is contained in:
Tom Tromey
2023-09-20 07:38:54 -06:00
parent a4a51292bb
commit 8942e52e25

View File

@@ -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));