This is the mail archive of the gdb-patches@sourceware.org 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] Xstormy16 -- gdb_byte vs. void.


Hi Corinna,

A few little tweaks for your favorite target.
OK?

Michael

2006-03-27  Michael Snyder  <msnyder@redhat.com>

	* xstormy16-tdep.c (xstormy16_return_value, xstormy16_push_dummy_call,
	xstormy16_pointer_to_address, xstormy16_address_to_pointer, 
	xstormy16_frame_prev_register): Change void* to gdb_byte*.
	(xstormy16_push_dummy_call): Add block-local char* val, 
	to avoid type conflict with outer scope variable.

Index: xstormy16-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/xstormy16-tdep.c,v
retrieving revision 1.89
diff -p -r1.89 xstormy16-tdep.c
*** xstormy16-tdep.c	17 Dec 2005 22:34:03 -0000	1.89
--- xstormy16-tdep.c	28 Mar 2006 00:35:37 -0000
*************** xstormy16_store_return_value (struct typ
*** 202,208 ****
  static enum return_value_convention
  xstormy16_return_value (struct gdbarch *gdbarch, struct type *type,
  			struct regcache *regcache,
! 			void *readbuf, const void *writebuf)
  {
    if (xstormy16_use_struct_convention (type))
      return RETURN_VALUE_STRUCT_CONVENTION;
--- 202,208 ----
  static enum return_value_convention
  xstormy16_return_value (struct gdbarch *gdbarch, struct type *type,
  			struct regcache *regcache,
! 			gdb_byte *readbuf, const gdb_byte *writebuf)
  {
    if (xstormy16_use_struct_convention (type))
      return RETURN_VALUE_STRUCT_CONVENTION;
*************** xstormy16_push_dummy_call (struct gdbarc
*** 239,245 ****
    int argreg = E_1ST_ARG_REGNUM;
    int i, j;
    int typelen, slacklen;
!   char *val;
    char buf[xstormy16_pc_size];
  
    /* If struct_return is true, then the struct return address will
--- 239,245 ----
    int argreg = E_1ST_ARG_REGNUM;
    int i, j;
    int typelen, slacklen;
!   const gdb_byte *val;
    char buf[xstormy16_pc_size];
  
    /* If struct_return is true, then the struct return address will
*************** xstormy16_push_dummy_call (struct gdbarc
*** 278,283 ****
--- 278,285 ----
       wordaligned.  */
    for (j = nargs - 1; j >= i; j--)
      {
+       char *val;
+ 
        typelen = TYPE_LENGTH (value_enclosing_type (args[j]));
        slacklen = typelen & 1;
        val = alloca (typelen + slacklen);
*************** xstormy16_skip_trampoline_code (CORE_ADD
*** 588,594 ****
     and vice versa.  */
  
  static CORE_ADDR
! xstormy16_pointer_to_address (struct type *type, const void *buf)
  {
    enum type_code target = TYPE_CODE (TYPE_TARGET_TYPE (type));
    CORE_ADDR addr = extract_unsigned_integer (buf, TYPE_LENGTH (type));
--- 590,596 ----
     and vice versa.  */
  
  static CORE_ADDR
! xstormy16_pointer_to_address (struct type *type, const gdb_byte *buf)
  {
    enum type_code target = TYPE_CODE (TYPE_TARGET_TYPE (type));
    CORE_ADDR addr = extract_unsigned_integer (buf, TYPE_LENGTH (type));
*************** xstormy16_pointer_to_address (struct typ
*** 604,610 ****
  }
  
  static void
! xstormy16_address_to_pointer (struct type *type, void *buf, CORE_ADDR addr)
  {
    enum type_code target = TYPE_CODE (TYPE_TARGET_TYPE (type));
  
--- 606,612 ----
  }
  
  static void
! xstormy16_address_to_pointer (struct type *type, gdb_byte *buf, CORE_ADDR addr)
  {
    enum type_code target = TYPE_CODE (TYPE_TARGET_TYPE (type));
  
*************** xstormy16_frame_cache (struct frame_info
*** 671,680 ****
  }
  
  static void
! xstormy16_frame_prev_register (struct frame_info *next_frame, void **this_cache,
  			       int regnum, int *optimizedp,
  			       enum lval_type *lvalp, CORE_ADDR *addrp,
! 			       int *realnump, void *valuep)
  {
    struct xstormy16_frame_cache *cache = xstormy16_frame_cache (next_frame,
                                                                 this_cache);
--- 673,683 ----
  }
  
  static void
! xstormy16_frame_prev_register (struct frame_info *next_frame, 
! 			       void **this_cache,
  			       int regnum, int *optimizedp,
  			       enum lval_type *lvalp, CORE_ADDR *addrp,
! 			       int *realnump, gdb_byte *valuep)
  {
    struct xstormy16_frame_cache *cache = xstormy16_frame_cache (next_frame,
                                                                 this_cache);

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