2011-07-22 Kwok Cheung Yeung <kcy@codesourcery.com>
gdb/ * defs.h: Add guard against inclusion in gdbserver. (struct ptid, ptid_t): Move to common/ptid.h. (xfree, xzalloc, xasprintf, xvasprintf, xstrprintf, xstrvprintf, xsnprintf, internal_error): Move to common/common-utils.h. (nomem): Delete. * gdb_assert.h: Move into common/ sub-directory. * gdb_locale.h: Ditto. * gdb_dirent.h: Ditto. * inferior.h (minus_one_ptid, null_ptid, ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal, ptid_is_pid): Move into common/ptid.h. * xml-support.c (xml_escape_text): Move into common/xml-utils.c. (gdb_xml_create_parser_and_cleanup_1, xml_fetch_context_from_file): Change nomem to malloc_failure. * xml-support.h (xml_escape_text): Move into common/xml-utils.h. * utils.c (nomem): Rename to malloc_failure. (xmalloc, xzalloc, xrealloc, xcalloc, xfree, xstrprintf, xasprintf, xvasprintf, xstrvprintf, xsnprintf): Move to common/common-utils.c. (gdb_buildargv): Change nomem to malloc_failure. * infrun.c (null_ptid, minus_one_ptid, ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal, ptid_is_pid): Move into common/ptid.c. (initialize_infrun): Delete initialization of null_ptid and minus_one_ptid. * linux-nat.c (linux_nat_xfer_osdata): Defer to linux_common_xfer_osdata. * Makefile.in (SFILES): Add common/common-utils.c, common/xml-utils.c, common/ptid.c and common/buffer.c. (HFILES_NO_SRCDIR): Add common/common-utils.h, common/xml-utils.h, common/ptid.h, common/buffer.h and common/linux-osdata.h. (COMMON_OBS): Add xml-utils.o, common-utils.o, buffer.o and ptid.o. (common-utils.o, xml-utils.o, ptid.o, buffer.o, linux-osdata.o): New rules. * common/gdb_assert.h: New. * common/gdb_dirent.h: New. * common/gdb_locale.h: New. * common/buffer.c: New. * common/buffer.h: New. * common/ptid.c: New. * common/ptid.h: New. * common/xml-utils.c: New. * common/xml-utils.h: New. * common/common-utils.c: New. * common/common-utils.h: New. * common/linux-osdata.c: New. * common/linux-osdata.h: New. * config/alpha/alpha-linux.mh (NATDEPFILES): Add linux-osdata.o. * config/arm/linux.mh (NATDEPFILES): Ditto. * config/i386/linux.mh (NATDEPFILES): Ditto. * config/i386/linux64.mh (NATDEPFILES): Ditto. * config/ia64/linux.mh (NATDEPFILES): Ditto. * config/m32r/linux.mh (NATDEPFILES): Ditto. * config/m68k/linux.mh (NATDEPFILES): Ditto. * config/mips/linux.mh (NATDEPFILES): Ditto. * config/pa/linux.mh (NATDEPFILES): Ditto. * config/powerpc/linux.mh (NATDEPFILES): Ditto. * config/powerpc/ppc64-linux.mh (NATDEPFILES): Ditto. * config/s390/s390.mh (NATDEPFILES): Ditto. * config/sparc/linux.mh (NATDEPFILES): Ditto. * config/sparc/linux64.mh (NATDEPFILES): Ditto. * config/xtensa/linux.mh (NATDEPFILES): Ditto. gdbserver/ * linux-low.c (compare_ints, unique, list_threads, show_process, linux_core_of_thread): Delete. (linux_target_ops): Change linux_core_of_thread to linux_common_core_of_thread. (linux_qxfer_osdata): Defer to linux_common_xfer_osdata. * utils.c (malloc_failure): Change type of argument. (xmalloc, xrealloc, xcalloc, xsnprintf): Delete. * Makefile.in (SFILES): Add common/common-utils.c, common/xml-utils.c, common/linux-osdata.c, common/ptid.c and common/buffer.c. (OBS): Add xml-utils.o, common-utils.o, ptid.o and buffer.o. (IPA_OBJS): Add common-utils-ipa.o. (ptid_h, linux_osdata_h): New macros. (server_h): Add common/common-utils.h, common/xml-utils.h, common/buffer.h, common/gdb_assert.h, common/gdb_locale.h and common/ptid.h. (common-utils-ipa.o, common-utils.o, xml-utils.o, linux-osdata.o, ptid.o, buffer.o): New rules. (linux-low.o): Add common/linux-osdata.h as a dependency. * configure.srv (srv_tgtobj): Add linux-osdata.o to Linux targets. * configure.ac: Add AC_HEADER_DIRENT check. * config.in: Regenerate. * configure: Regenerate. * remote-utils.c (xml_escape_text): Delete. (buffer_grow, buffer_free, buffer_init, buffer_finish, buffer_xml_printf): Move to common/buffer.c. * server.c (main): Remove call to initialize_inferiors. * server.h (struct ptid, ptid_t, minus_one_ptid, null_ptid, ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal, ptid_is_pid, initialize_inferiors, xml_escape_text, internal_error, gdb_assert, gdb_assert_fail): Delete. (struct buffer, buffer_grow, buffer_free, buffer_init, buffer_finish, buffer_xml_printf, buffer_grow_str, buffer_grow_str0): Move to common/buffer.h. * inferiors.c (null_ptid, minus_one_ptid, ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal, ptid_is_pid, initialize_inferiors): Delete.
This commit is contained in:
parent
edc8499054
commit
d26e3629bb
49 changed files with 1759 additions and 1321 deletions
|
@ -1714,168 +1714,4 @@ monitor_output (const char *msg)
|
|||
free (buf);
|
||||
}
|
||||
|
||||
/* Return a malloc allocated string with special characters from TEXT
|
||||
replaced by entity references. */
|
||||
|
||||
char *
|
||||
xml_escape_text (const char *text)
|
||||
{
|
||||
char *result;
|
||||
int i, special;
|
||||
|
||||
/* Compute the length of the result. */
|
||||
for (i = 0, special = 0; text[i] != '\0'; i++)
|
||||
switch (text[i])
|
||||
{
|
||||
case '\'':
|
||||
case '\"':
|
||||
special += 5;
|
||||
break;
|
||||
case '&':
|
||||
special += 4;
|
||||
break;
|
||||
case '<':
|
||||
case '>':
|
||||
special += 3;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
/* Expand the result. */
|
||||
result = xmalloc (i + special + 1);
|
||||
for (i = 0, special = 0; text[i] != '\0'; i++)
|
||||
switch (text[i])
|
||||
{
|
||||
case '\'':
|
||||
strcpy (result + i + special, "'");
|
||||
special += 5;
|
||||
break;
|
||||
case '\"':
|
||||
strcpy (result + i + special, """);
|
||||
special += 5;
|
||||
break;
|
||||
case '&':
|
||||
strcpy (result + i + special, "&");
|
||||
special += 4;
|
||||
break;
|
||||
case '<':
|
||||
strcpy (result + i + special, "<");
|
||||
special += 3;
|
||||
break;
|
||||
case '>':
|
||||
strcpy (result + i + special, ">");
|
||||
special += 3;
|
||||
break;
|
||||
default:
|
||||
result[i + special] = text[i];
|
||||
break;
|
||||
}
|
||||
result[i + special] = '\0';
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
void
|
||||
buffer_grow (struct buffer *buffer, const char *data, size_t size)
|
||||
{
|
||||
char *new_buffer;
|
||||
size_t new_buffer_size;
|
||||
|
||||
if (size == 0)
|
||||
return;
|
||||
|
||||
new_buffer_size = buffer->buffer_size;
|
||||
|
||||
if (new_buffer_size == 0)
|
||||
new_buffer_size = 1;
|
||||
|
||||
while (buffer->used_size + size > new_buffer_size)
|
||||
new_buffer_size *= 2;
|
||||
new_buffer = realloc (buffer->buffer, new_buffer_size);
|
||||
if (!new_buffer)
|
||||
abort ();
|
||||
memcpy (new_buffer + buffer->used_size, data, size);
|
||||
buffer->buffer = new_buffer;
|
||||
buffer->buffer_size = new_buffer_size;
|
||||
buffer->used_size += size;
|
||||
}
|
||||
|
||||
void
|
||||
buffer_free (struct buffer *buffer)
|
||||
{
|
||||
if (!buffer)
|
||||
return;
|
||||
|
||||
free (buffer->buffer);
|
||||
buffer->buffer = NULL;
|
||||
buffer->buffer_size = 0;
|
||||
buffer->used_size = 0;
|
||||
}
|
||||
|
||||
void
|
||||
buffer_init (struct buffer *buffer)
|
||||
{
|
||||
memset (buffer, 0, sizeof (*buffer));
|
||||
}
|
||||
|
||||
char*
|
||||
buffer_finish (struct buffer *buffer)
|
||||
{
|
||||
char *ret = buffer->buffer;
|
||||
buffer->buffer = NULL;
|
||||
buffer->buffer_size = 0;
|
||||
buffer->used_size = 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
void
|
||||
buffer_xml_printf (struct buffer *buffer, const char *format, ...)
|
||||
{
|
||||
va_list ap;
|
||||
const char *f;
|
||||
const char *prev;
|
||||
int percent = 0;
|
||||
|
||||
va_start (ap, format);
|
||||
|
||||
prev = format;
|
||||
for (f = format; *f; f++)
|
||||
{
|
||||
if (percent)
|
||||
{
|
||||
switch (*f)
|
||||
{
|
||||
case 's':
|
||||
{
|
||||
char *p;
|
||||
char *a = va_arg (ap, char *);
|
||||
buffer_grow (buffer, prev, f - prev - 1);
|
||||
p = xml_escape_text (a);
|
||||
buffer_grow_str (buffer, p);
|
||||
free (p);
|
||||
prev = f + 1;
|
||||
}
|
||||
break;
|
||||
case 'd':
|
||||
{
|
||||
int i = va_arg (ap, int);
|
||||
char b[sizeof ("4294967295")];
|
||||
|
||||
buffer_grow (buffer, prev, f - prev - 1);
|
||||
sprintf (b, "%d", i);
|
||||
buffer_grow_str (buffer, b);
|
||||
prev = f + 1;
|
||||
}
|
||||
}
|
||||
percent = 0;
|
||||
}
|
||||
else if (*f == '%')
|
||||
percent = 1;
|
||||
}
|
||||
|
||||
buffer_grow_str (buffer, prev);
|
||||
va_end (ap);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue