* 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.
This commit is contained in:
Daniel Jacobowitz
2006-01-15 19:50:05 +00:00
parent 4b17b3897b
commit 777ea8f14f
4 changed files with 40 additions and 25 deletions

View File

@ -1,3 +1,15 @@
2006-01-15 Daniel Jacobowitz <dan@codesourcery.com>
* 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 <kettenis@gnu.org>
* alphafbsd-tdep.c: Include "solib-svr4.h".

View File

@ -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:

View File

@ -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 */ )

View File

@ -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)