From 777ea8f14f3be7147da90d067f72f925ea4f282f Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Sun, 15 Jan 2006 19:50:05 +0000 Subject: [PATCH] * printcmd.c (output_command): Always initialize fmt.size. (printf_command): Use gdb_byte. * symfile.c (separate_debug_file_exists): Use gdb_byte. (load_section_callback, read_target_long_array): Likewise. (simple_read_overlay_table, simple_read_overlay_region_table) (simple_overlay_update_1): Correct calls to read_target_long_array. * valprint.c (partial_memory_read): Change MYADDR to a gdb_byte *. Also change local pointers. (val_print_string): Use gdb_byte. --- gdb/ChangeLog | 12 ++++++++++++ gdb/printcmd.c | 12 +++++++----- gdb/symfile.c | 17 +++++++++-------- gdb/valprint.c | 24 ++++++++++++------------ 4 files changed, 40 insertions(+), 25 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index c1e929593c4..79f1df7b85a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,15 @@ +2006-01-15 Daniel Jacobowitz + + * printcmd.c (output_command): Always initialize fmt.size. + (printf_command): Use gdb_byte. + * symfile.c (separate_debug_file_exists): Use gdb_byte. + (load_section_callback, read_target_long_array): Likewise. + (simple_read_overlay_table, simple_read_overlay_region_table) + (simple_overlay_update_1): Correct calls to read_target_long_array. + * valprint.c (partial_memory_read): Change MYADDR to a gdb_byte *. + Also change local pointers. + (val_print_string): Use gdb_byte. + 2006-01-15 Mark Kettenis * alphafbsd-tdep.c: Include "solib-svr4.h". diff --git a/gdb/printcmd.c b/gdb/printcmd.c index c57ac28352d..b6f3a7d7d88 100644 --- a/gdb/printcmd.c +++ b/gdb/printcmd.c @@ -1,7 +1,7 @@ /* Print values for GNU debugger GDB. Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, - 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 + 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GDB. @@ -967,6 +967,8 @@ output_command (char *exp, int from_tty) struct value *val; struct format_data fmt; + fmt.size = 0; + if (exp && *exp == '/') { exp++; @@ -1938,7 +1940,7 @@ printf_command (char *arg, int from_tty) { case string_arg: { - char *str; + gdb_byte *str; CORE_ADDR tem; int j; tem = value_as_address (val_args[i]); @@ -1946,7 +1948,7 @@ printf_command (char *arg, int from_tty) /* This is a %s argument. Find the length of the string. */ for (j = 0;; j++) { - char c; + gdb_byte c; QUIT; read_memory (tem + j, &c, 1); if (c == 0) @@ -1954,12 +1956,12 @@ printf_command (char *arg, int from_tty) } /* Copy the string contents into a string inside GDB. */ - str = (char *) alloca (j + 1); + str = (gdb_byte *) alloca (j + 1); if (j != 0) read_memory (tem, str, j); str[j] = 0; - printf_filtered (current_substring, str); + printf_filtered (current_substring, (char *) str); } break; case double_arg: diff --git a/gdb/symfile.c b/gdb/symfile.c index 2286d3fde61..63dd4b3ee00 100644 --- a/gdb/symfile.c +++ b/gdb/symfile.c @@ -1,7 +1,8 @@ /* Generic symbol file reading for the GNU debugger, GDB. Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, - 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. + 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Free Software Foundation, Inc. Contributed by Cygnus Support, using pieces from other GDB modules. @@ -1141,7 +1142,7 @@ separate_debug_file_exists (const char *name, unsigned long crc) { unsigned long file_crc = 0; int fd; - char buffer[8*1024]; + gdb_byte buffer[8*1024]; int count; fd = open (name, O_RDONLY | O_BINARY); @@ -1523,7 +1524,7 @@ load_section_callback (bfd *abfd, asection *asec, void *data) bfd_size_type size = bfd_get_section_size (asec); if (size > 0) { - char *buffer; + gdb_byte *buffer; struct cleanup *old_chain; CORE_ADDR lma = bfd_section_lma (abfd, asec) + args->load_offset; bfd_size_type block_size; @@ -1568,7 +1569,7 @@ load_section_callback (bfd *abfd, asection *asec, void *data) method to the target vector and then use that. remote.c could implement that method using the ``qCRC'' packet. */ - char *check = xmalloc (len); + gdb_byte *check = xmalloc (len); struct cleanup *verify_cleanups = make_cleanup (xfree, check); @@ -3475,7 +3476,7 @@ static void read_target_long_array (CORE_ADDR memaddr, unsigned int *myaddr, int len) { /* FIXME (alloca): Not safe if array is very large. */ - char *buf = alloca (len * TARGET_LONG_BYTES); + gdb_byte *buf = alloca (len * TARGET_LONG_BYTES); int i; read_memory (memaddr, buf, len * TARGET_LONG_BYTES); @@ -3515,7 +3516,7 @@ simple_read_overlay_table (void) = (void *) xmalloc (cache_novlys * sizeof (*cache_ovly_table)); cache_ovly_table_base = SYMBOL_VALUE_ADDRESS (ovly_table_msym); read_target_long_array (cache_ovly_table_base, - (int *) cache_ovly_table, + (unsigned int *) cache_ovly_table, cache_novlys * 4); return 1; /* SUCCESS */ @@ -3543,7 +3544,7 @@ simple_read_overlay_region_table (void) { cache_ovly_region_table_base = SYMBOL_VALUE_ADDRESS (msym); read_target_long_array (cache_ovly_region_table_base, - (int *) cache_ovly_region_table, + (unsigned int *) cache_ovly_region_table, cache_novly_regions * 3); } else @@ -3577,7 +3578,7 @@ simple_overlay_update_1 (struct obj_section *osect) /* && cache_ovly_table[i][SIZE] == size */ ) { read_target_long_array (cache_ovly_table_base + i * TARGET_LONG_BYTES, - (int *) cache_ovly_table[i], 4); + (unsigned int *) cache_ovly_table[i], 4); if (cache_ovly_table[i][VMA] == bfd_section_vma (obfd, bsect) && cache_ovly_table[i][LMA] == bfd_section_lma (obfd, bsect) /* && cache_ovly_table[i][SIZE] == size */ ) diff --git a/gdb/valprint.c b/gdb/valprint.c index 34970dcb6b6..0e1359a151c 100644 --- a/gdb/valprint.c +++ b/gdb/valprint.c @@ -1,8 +1,8 @@ /* Print values for GDB, the GNU debugger. Copyright (C) 1986, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, - 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2005 Free Software - Foundation, Inc. + 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Free Software Foundation, Inc. This file is part of GDB. @@ -39,7 +39,7 @@ /* Prototypes for local functions */ -static int partial_memory_read (CORE_ADDR memaddr, char *myaddr, +static int partial_memory_read (CORE_ADDR memaddr, gdb_byte *myaddr, int len, int *errnoptr); static void show_print (char *, int); @@ -1038,7 +1038,7 @@ val_print_array_elements (struct type *type, const gdb_byte *valaddr, function be eliminated. */ static int -partial_memory_read (CORE_ADDR memaddr, char *myaddr, int len, int *errnoptr) +partial_memory_read (CORE_ADDR memaddr, gdb_byte *myaddr, int len, int *errnoptr) { int nread; /* Number of bytes actually read. */ int errcode; /* Error from last read. */ @@ -1086,9 +1086,9 @@ val_print_string (CORE_ADDR addr, int len, int width, struct ui_file *stream) unsigned int fetchlimit; /* Maximum number of chars to print. */ unsigned int nfetch; /* Chars to fetch / chars fetched. */ unsigned int chunksize; /* Size of each fetch, in chars. */ - char *buffer = NULL; /* Dynamically growable fetch buffer. */ - char *bufptr; /* Pointer to next available byte in buffer. */ - char *limit; /* First location past end of fetch buffer. */ + gdb_byte *buffer = NULL; /* Dynamically growable fetch buffer. */ + gdb_byte *bufptr; /* Pointer to next available byte in buffer. */ + gdb_byte *limit; /* First location past end of fetch buffer. */ struct cleanup *old_chain = NULL; /* Top of the old cleanup chain. */ int found_nul; /* Non-zero if we found the nul char */ @@ -1121,7 +1121,7 @@ val_print_string (CORE_ADDR addr, int len, int width, struct ui_file *stream) if (len > 0) { - buffer = (char *) xmalloc (len * width); + buffer = (gdb_byte *) xmalloc (len * width); bufptr = buffer; old_chain = make_cleanup (xfree, buffer); @@ -1139,11 +1139,11 @@ val_print_string (CORE_ADDR addr, int len, int width, struct ui_file *stream) nfetch = min (chunksize, fetchlimit - bufsize); if (buffer == NULL) - buffer = (char *) xmalloc (nfetch * width); + buffer = (gdb_byte *) xmalloc (nfetch * width); else { discard_cleanups (old_chain); - buffer = (char *) xrealloc (buffer, (nfetch + bufsize) * width); + buffer = (gdb_byte *) xrealloc (buffer, (nfetch + bufsize) * width); } old_chain = make_cleanup (xfree, buffer); @@ -1196,13 +1196,13 @@ val_print_string (CORE_ADDR addr, int len, int width, struct ui_file *stream) if (len == -1 && !found_nul) { - char *peekbuf; + gdb_byte *peekbuf; /* We didn't find a null terminator we were looking for. Attempt to peek at the next character. If not successful, or it is not a null byte, then force ellipsis to be printed. */ - peekbuf = (char *) alloca (width); + peekbuf = (gdb_byte *) alloca (width); if (target_read_memory (addr, peekbuf, width) == 0 && extract_unsigned_integer (peekbuf, width) != 0) -- 2.30.2