diff options
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/valops.c | 2 | ||||
-rw-r--r-- | gdb/value.c | 10 | ||||
-rw-r--r-- | gdb/value.h | 18 |
4 files changed, 23 insertions, 14 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ec901c1..bafa202 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2005-04-28 Andrew Cagney <cagney@gnu.org> + + * valops.c (check_field): Make buffer a bfd_byte. + * value.c (unpack_long, unpack_double, unpack_pointer) + (unpack_field_as_long, modify_field): Ditto. + * value.h: Update declarations. + 2005-04-28 Paul Brook <paul@codesourcery.com> * exceptions.c (print_flush): Handle NULL gdb_stdout_serial. diff --git a/gdb/valops.c b/gdb/valops.c index 835567f..d90d5f8 100644 --- a/gdb/valops.c +++ b/gdb/valops.c @@ -2317,7 +2317,7 @@ check_field_in (struct type *type, const char *name) target structure/union is defined, otherwise, return 0. */ int -check_field (struct value *arg1, const char *name) +check_field (struct value *arg1, const bfd_byte *name) { struct type *t; diff --git a/gdb/value.c b/gdb/value.c index 1ab5f79..08d7557 100644 --- a/gdb/value.c +++ b/gdb/value.c @@ -996,7 +996,7 @@ value_as_address (struct value *val) to an INT (or some size). After all, it is only an offset. */ LONGEST -unpack_long (struct type *type, const char *valaddr) +unpack_long (struct type *type, const bfd_byte *valaddr) { enum type_code code = TYPE_CODE (type); int len = TYPE_LENGTH (type); @@ -1045,7 +1045,7 @@ unpack_long (struct type *type, const char *valaddr) format, result is in host format. */ DOUBLEST -unpack_double (struct type *type, const char *valaddr, int *invp) +unpack_double (struct type *type, const bfd_byte *valaddr, int *invp) { enum type_code code; int len; @@ -1109,7 +1109,7 @@ unpack_double (struct type *type, const char *valaddr, int *invp) to an INT (or some size). After all, it is only an offset. */ CORE_ADDR -unpack_pointer (struct type *type, const char *valaddr) +unpack_pointer (struct type *type, const bfd_byte *valaddr) { /* Assume a CORE_ADDR can fit in a LONGEST (for now). Not sure whether we want this to be true eventually. */ @@ -1359,7 +1359,7 @@ value_fn_field (struct value **arg1p, struct fn_field *f, int j, struct type *ty If the field is signed, we also do sign extension. */ LONGEST -unpack_field_as_long (struct type *type, const char *valaddr, int fieldno) +unpack_field_as_long (struct type *type, const bfd_byte *valaddr, int fieldno) { ULONGEST val; ULONGEST valmask; @@ -1406,7 +1406,7 @@ unpack_field_as_long (struct type *type, const char *valaddr, int fieldno) 0 <= BITPOS, where lbits is the size of a LONGEST in bits. */ void -modify_field (char *addr, LONGEST fieldval, int bitpos, int bitsize) +modify_field (bfd_byte *addr, LONGEST fieldval, int bitpos, int bitsize) { ULONGEST oword; ULONGEST mask = (ULONGEST) -1 >> (8 * sizeof (ULONGEST) - bitsize); diff --git a/gdb/value.h b/gdb/value.h index 004c7d5..744c26c 100644 --- a/gdb/value.h +++ b/gdb/value.h @@ -262,11 +262,12 @@ extern LONGEST value_as_long (struct value *val); extern DOUBLEST value_as_double (struct value *val); extern CORE_ADDR value_as_address (struct value *val); -extern LONGEST unpack_long (struct type *type, const char *valaddr); -extern DOUBLEST unpack_double (struct type *type, const char *valaddr, +extern LONGEST unpack_long (struct type *type, const bfd_byte *valaddr); +extern DOUBLEST unpack_double (struct type *type, const bfd_byte *valaddr, int *invp); -extern CORE_ADDR unpack_pointer (struct type *type, const char *valaddr); -extern LONGEST unpack_field_as_long (struct type *type, const char *valaddr, +extern CORE_ADDR unpack_pointer (struct type *type, const bfd_byte *valaddr); +extern LONGEST unpack_field_as_long (struct type *type, + const bfd_byte *valaddr, int fieldno); extern struct value *value_from_longest (struct type *type, LONGEST num); @@ -451,14 +452,15 @@ extern void release_value (struct value *val); extern int record_latest_value (struct value *val); -extern void modify_field (char *addr, LONGEST fieldval, int bitpos, +extern void modify_field (bfd_byte *addr, LONGEST fieldval, int bitpos, int bitsize); extern void type_print (struct type *type, char *varstring, struct ui_file *stream, int show); -extern char *baseclass_addr (struct type *type, int index, char *valaddr, - struct value **valuep, int *errp); +extern bfd_byte *baseclass_addr (struct type *type, int index, + bfd_byte *valaddr, + struct value **valuep, int *errp); extern void print_longest (struct ui_file *stream, int format, int use_local, LONGEST val); @@ -493,7 +495,7 @@ extern void print_variable_value (struct symbol *var, struct frame_info *frame, struct ui_file *stream); -extern int check_field (struct value *, const char *); +extern int check_field (struct value *, const bfd_byte *); extern void typedef_print (struct type *type, struct symbol *news, struct ui_file *stream); |