Re: [patch 4/6] Prepare linux_find_memory_regions_full & co. for move

Jan Kratochvil
2013-03-28T20:28:27Z

On Wed, 27 Mar 2013 21:17:08 +0100, Aleksandar Ristovski wrote:
> --- a/gdb/target.c
> +++ b/gdb/target.c
[...]
> @@ -3540,15 +3580,16 @@ target_fileio_read_alloc (const char *filename, gdb_byte **buf_p)
> are returned as allocated but empty strings. A warning is issued
> if the result contains any embedded NUL bytes. */
>
> -char *
> -target_fileio_read_stralloc (const char *filename)
> +typedef LONGEST (read_stralloc_func_ftype) (const char *filename,
> + gdb_byte **buf_p, int padding);
> +
> +static char *
> +read_stralloc (const char *filename, read_stralloc_func_ftype *func)
> {
> - gdb_byte *buffer;
> - char *bufstr;
> + char *buffer;

Why you make this change? That is unrelated to this patchset, it is a recent
modification by Pedro.

fad14e531 (Pedro Alves 2013-03-11 12:22:16 +0000 3546) gdb_byte *buffer;
fad14e531 (Pedro Alves 2013-03-11 12:22:16 +0000 3547) char *bufstr;

> LONGEST i, transferred;
>
> - transferred = target_fileio_read_alloc_1 (filename, &buffer, 1);

> - bufstr = (char *) buffer;

Likewise. I already replied to this change in:
http://sourceware.org/ml/gdb-patches/2013-03/msg00965.html
Message-ID: <20130326165242.GA12291@host2.jankratochvil.net>

> + transferred = func (filename, (gdb_byte **) &buffer, 1);

Likewise - the (gdb_byte **) cast.

>
> if (transferred < 0)
> return NULL;
> @@ -3556,11 +3597,11 @@ target_fileio_read_stralloc (const char *filename)
> if (transferred == 0)
> return xstrdup ("");
>
> - bufstr[transferred] = 0;
> + buffer[transferred] = 0;
>
> /* Check for embedded NUL bytes; but allow trailing NULs. */
> - for (i = strlen (bufstr); i < transferred; i++)
> - if (bufstr[i] != 0)
> + for (i = strlen (buffer); i < transferred; i++)
> + if (buffer[i] != 0)
> {
> warning (_("target file %s "
> "contained unexpected null characters"),
> @@ -3568,9 +3609,14 @@ target_fileio_read_stralloc (const char *filename)
> break;
> }
>
> - return bufstr;
> + return buffer;
> }
>
> +char *
> +target_fileio_read_stralloc (const char *filename)
> +{
> + return read_stralloc (filename, target_fileio_read_alloc_1);
> +}
>
> static int
> default_region_ok_for_hw_watchpoint (CORE_ADDR addr, int len)
> --
> 1.7.10.4
>

Otherwise OK for this part but it needs a new post, thanks for catching the
xrealloc.

Thanks,
Jan