This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFA] arm_store_return_value, big-endian (take 2)


This fixes up offsets in arm_store_return_value for big-endian targets,
just as my first patch did for arm_extract_return_value.

This supercedes the patch by the same name, which seems to have
been bollixed by an incomprehensible but reproducable bug in
gnu patch.

 
-------------------------------------------------------------------------------
2002-11-06  Michael Snyder  <msnyder@redhat.com>

        * arm-tdep.c (arm_store_return_value): Handle offset of
        small types on big-endian machines.

Index: arm-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/arm-tdep.c,v
retrieving revision 1.74
diff -p -r1.74 arm-tdep.c
*** arm-tdep.c  1 Nov 2002 21:21:49 -0000       1.74
--- arm-tdep.c  7 Nov 2002 00:22:13 -0000
*************** arm_store_return_value (struct type *typ
*** 2417,2422 ****
--- 2417,2425 ----
          break;
        }
      }
+   else if (TYPE_LENGTH (type) < REGISTER_RAW_SIZE (A1_REGNUM))
+     write_register_bytes (REGISTER_RAW_SIZE (A1_REGNUM) - TYPE_LENGTH (type),
+                         valbuf, TYPE_LENGTH (type));
    else
      write_register_bytes (ARM_A1_REGNUM, valbuf, TYPE_LENGTH (type));
  }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]