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]

Obvious: use gdb_byte in SYMBOL_VALUE_BYTES


gdb/ChangeLog:
2006-01-17  Jim Blandy  <jimb@redhat.com>

	* symtab.h (struct general_symbol_info): Use gdb_byte for
	value.bytes.
	* stabsread.c (define_symbol): Use gdb_byte for the buffer holding
	a floating-point constant's value.
	* dwarf2read.c (dwarf2_const_value): Remove casts of value buffer
	to char *.
	* findvar.c (read_var_value): Eliminate needless temporary.

Index: gdb/symtab.h
===================================================================
RCS file: /cvs/src/src/gdb/symtab.h,v
retrieving revision 1.95
diff -c -p -r1.95 symtab.h
*** gdb/symtab.h	17 Dec 2005 22:34:03 -0000	1.95
--- gdb/symtab.h	17 Jan 2006 22:29:21 -0000
*************** struct general_symbol_info
*** 110,116 ****

      struct block *block;

!     char *bytes;

      CORE_ADDR address;

--- 110,116 ----

      struct block *block;

!     gdb_byte *bytes;

      CORE_ADDR address;

Index: gdb/stabsread.c
===================================================================
RCS file: /cvs/src/src/gdb/stabsread.c,v
retrieving revision 1.83
diff -c -p -r1.83 stabsread.c
*** gdb/stabsread.c	15 Jan 2006 20:26:02 -0000	1.83
--- gdb/stabsread.c	17 Jan 2006 22:29:22 -0000
*************** define_symbol (CORE_ADDR valu, char *str
*** 722,728 ****
  	case 'r':
  	  {
  	    double d = atof (p);
! 	    char *dbl_valu;

  	    /* FIXME-if-picky-about-floating-accuracy: Should be using
  	       target arithmetic to get the value.  real.c in GCC
--- 722,728 ----
  	case 'r':
  	  {
  	    double d = atof (p);
! 	    gdb_byte *dbl_valu;

  	    /* FIXME-if-picky-about-floating-accuracy: Should be using
  	       target arithmetic to get the value.  real.c in GCC
*************** define_symbol (CORE_ADDR valu, char *str
*** 737,743 ****

  	    SYMBOL_TYPE (sym) = lookup_fundamental_type (objfile,
  							 FT_DBL_PREC_FLOAT);
! 	    dbl_valu = (char *)
  	      obstack_alloc (&objfile->objfile_obstack,
  			     TYPE_LENGTH (SYMBOL_TYPE (sym)));
  	    store_typed_floating (dbl_valu, SYMBOL_TYPE (sym), d);
--- 737,743 ----

  	    SYMBOL_TYPE (sym) = lookup_fundamental_type (objfile,
  							 FT_DBL_PREC_FLOAT);
! 	    dbl_valu =
  	      obstack_alloc (&objfile->objfile_obstack,
  			     TYPE_LENGTH (SYMBOL_TYPE (sym)));
  	    store_typed_floating (dbl_valu, SYMBOL_TYPE (sym), d);
Index: gdb/dwarf2read.c
===================================================================
RCS file: /cvs/src/src/gdb/dwarf2read.c,v
retrieving revision 1.190
diff -c -p -r1.190 dwarf2read.c
*** gdb/dwarf2read.c	17 Jan 2006 22:01:42 -0000	1.190
--- gdb/dwarf2read.c	17 Jan 2006 22:29:23 -0000
*************** dwarf2_const_value (struct attribute *at
*** 7053,7059 ****
  						      cu_header->addr_size,
  						      TYPE_LENGTH (SYMBOL_TYPE
  								   (sym)));
!       SYMBOL_VALUE_BYTES (sym) = (char *)
  	obstack_alloc (&objfile->objfile_obstack, cu_header->addr_size);
        /* NOTE: cagney/2003-05-09: In-lined store_address call with
           it's body - store_unsigned_integer.  */
--- 7053,7059 ----
  						      cu_header->addr_size,
  						      TYPE_LENGTH (SYMBOL_TYPE
  								   (sym)));
!       SYMBOL_VALUE_BYTES (sym) =
  	obstack_alloc (&objfile->objfile_obstack, cu_header->addr_size);
        /* NOTE: cagney/2003-05-09: In-lined store_address call with
           it's body - store_unsigned_integer.  */
*************** dwarf2_const_value (struct attribute *at
*** 7071,7077 ****
  						      blk->size,
  						      TYPE_LENGTH (SYMBOL_TYPE
  								   (sym)));
!       SYMBOL_VALUE_BYTES (sym) = (char *)
  	obstack_alloc (&objfile->objfile_obstack, blk->size);
        memcpy (SYMBOL_VALUE_BYTES (sym), blk->data, blk->size);
        SYMBOL_CLASS (sym) = LOC_CONST_BYTES;
--- 7071,7077 ----
  						      blk->size,
  						      TYPE_LENGTH (SYMBOL_TYPE
  								   (sym)));
!       SYMBOL_VALUE_BYTES (sym) =
  	obstack_alloc (&objfile->objfile_obstack, blk->size);
        memcpy (SYMBOL_VALUE_BYTES (sym), blk->data, blk->size);
        SYMBOL_CLASS (sym) = LOC_CONST_BYTES;
Index: gdb/findvar.c
===================================================================
RCS file: /cvs/src/src/gdb/findvar.c,v
retrieving revision 1.94
diff -c -p -r1.94 findvar.c
*** gdb/findvar.c	17 Dec 2005 22:33:59 -0000	1.94
--- gdb/findvar.c	17 Jan 2006 22:29:23 -0000
*************** read_var_value (struct symbol *var, stru
*** 433,441 ****

      case LOC_CONST_BYTES:
        {
! 	char *bytes_addr;
! 	bytes_addr = SYMBOL_VALUE_BYTES (var);
! 	memcpy (value_contents_raw (v), bytes_addr, len);
  	VALUE_LVAL (v) = not_lval;
  	return v;
        }
--- 433,439 ----

      case LOC_CONST_BYTES:
        {
! 	memcpy (value_contents_raw (v), SYMBOL_VALUE_BYTES (var), len);
  	VALUE_LVAL (v) = not_lval;
  	return v;
        }


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