aboutsummaryrefslogtreecommitdiff
path: root/gdbsupport/print-utils.h
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2019-07-09 08:06:39 -0600
committerTom Tromey <tom@tromey.com>2020-01-14 16:25:02 -0700
commit01027315f54048dbaf03ac37455c2528c72a6d9b (patch)
treec7cab8f936383a1adcb5da0a9493808b643d16ed /gdbsupport/print-utils.h
parentb2ceabe8f0c2056342834b2b3f52f3b015538df3 (diff)
downloadgdb-01027315f54048dbaf03ac37455c2528c72a6d9b.zip
gdb-01027315f54048dbaf03ac37455c2528c72a6d9b.tar.gz
gdb-01027315f54048dbaf03ac37455c2528c72a6d9b.tar.bz2
Move gdbsupport to the top level
This patch moves the gdbsupport directory to the top level. This is the next step in the ongoing project to move gdbserver to the top level. The bulk of this patch was created by "git mv gdb/gdbsupport gdbsupport". This patch then adds a build system to gdbsupport and wires it into the top level. Then it changes gdb to use the top-level build. gdbserver, on the other hand, is not yet changed. It still does its own build of gdbsupport. ChangeLog 2020-01-14 Tom Tromey <tom@tromey.com> * src-release.sh (GDB_SUPPORT_DIRS): Add gdbsupport. * MAINTAINERS: Add gdbsupport. * configure: Rebuild. * configure.ac (configdirs): Add gdbsupport. * gdbsupport: New directory, move from gdb/gdbsupport. * Makefile.def (host_modules, dependencies): Add gnulib. * Makefile.in: Rebuild. gdb/ChangeLog 2020-01-14 Tom Tromey <tom@tromey.com> * nat/x86-linux-dregs.c: Include configh.h. * nat/linux-ptrace.c: Include configh.h. * nat/linux-btrace.c: Include configh.h. * defs.h: Include config.h, bfd.h. * configure.ac: Don't source common.host. (CONFIG_OBS, CONFIG_SRCS): Remove gdbsupport files. * configure: Rebuild. * acinclude.m4: Update path. * Makefile.in (SUPPORT, LIBSUPPORT, INCSUPPORT): New variables. (CONFIG_SRC_SUBDIR): Remove gdbsupport. (INTERNAL_CFLAGS_BASE): Add INCSUPPORT. (CLIBS): Add LIBSUPPORT. (CDEPS): Likewise. (COMMON_SFILES): Remove gdbsupport files. (HFILES_NO_SRCDIR): Likewise. (stamp-version): Update path to create-version.sh. (ALLDEPFILES): Remove gdbsupport files. gdb/gdbserver/ChangeLog 2020-01-14 Tom Tromey <tom@tromey.com> * server.h: Include config.h. * gdbreplay.c: Include config.h. * configure: Rebuild. * configure.ac: Don't source common.host. * acinclude.m4: Update path. * Makefile.in (INCSUPPORT): New variable. (INCLUDE_CFLAGS): Add INCSUPPORT. (SFILES): Update paths. (version-generated.c): Update path to create-version.sh. (gdbsupport/%-ipa.o, gdbsupport/%.o): Update paths. gdbsupport/ChangeLog 2020-01-14 Tom Tromey <tom@tromey.com> * common-defs.h: Add GDBSERVER case. Update includes. * acinclude.m4, aclocal.m4, config.in, configure, configure.ac, Makefile.am, Makefile.in, README: New files. * Moved from ../gdb/gdbsupport/ Change-Id: I07632e7798635c1bab389bf885971e584fb4bb78
Diffstat (limited to 'gdbsupport/print-utils.h')
-rw-r--r--gdbsupport/print-utils.h85
1 files changed, 85 insertions, 0 deletions
diff --git a/gdbsupport/print-utils.h b/gdbsupport/print-utils.h
new file mode 100644
index 0000000..7541791
--- /dev/null
+++ b/gdbsupport/print-utils.h
@@ -0,0 +1,85 @@
+/* Cell-based print utility routines for GDB, the GNU debugger.
+
+ Copyright (C) 1986-2020 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef COMMON_PRINT_UTILS_H
+#define COMMON_PRINT_UTILS_H
+
+/* How many characters (including the terminating null byte) fit in a
+ cell. */
+#define PRINT_CELL_SIZE 50
+
+/* %u for ULONGEST. The result is stored in a circular static buffer,
+ NUMCELLS deep. */
+
+extern char *pulongest (ULONGEST u);
+
+/* %d for LONGEST. The result is stored in a circular static buffer,
+ NUMCELLS deep. */
+
+extern char *plongest (LONGEST l);
+
+/* Convert a ULONGEST into a HEX string, like %lx, with leading zeros.
+ The result is stored in a circular static buffer, NUMCELLS deep. */
+
+extern char *phex (ULONGEST l, int sizeof_l);
+
+/* Convert a ULONGEST into a HEX string, like %lx, without leading zeros.
+ The result is stored in a circular static buffer, NUMCELLS deep. */
+
+extern char *phex_nz (ULONGEST l, int sizeof_l);
+
+/* Converts a LONGEST to a C-format hexadecimal literal and stores it
+ in a static string. Returns a pointer to this string. */
+
+extern char *hex_string (LONGEST num);
+
+/* Converts a LONGEST number to a C-format hexadecimal literal and
+ stores it in a static string. Returns a pointer to this string
+ that is valid until the next call. The number is padded on the
+ left with 0s to at least WIDTH characters. */
+
+extern char *hex_string_custom (LONGEST num, int width);
+
+/* Convert VAL to a numeral in the given radix. For
+ * radix 10, IS_SIGNED may be true, indicating a signed quantity;
+ * otherwise VAL is interpreted as unsigned. If WIDTH is supplied,
+ * it is the minimum width (0-padded if needed). USE_C_FORMAT means
+ * to use C format in all cases. If it is false, then 'x'
+ * and 'o' formats do not include a prefix (0x or leading 0). */
+
+extern char *int_string (LONGEST val, int radix, int is_signed, int width,
+ int use_c_format);
+
+/* Convert a CORE_ADDR into a string. */
+
+extern const char *core_addr_to_string (const CORE_ADDR addr);
+
+extern const char *core_addr_to_string_nz (const CORE_ADDR addr);
+
+extern const char *host_address_to_string_1 (const void *addr);
+
+/* Wrapper that avoids adding a pointless cast to all callers. */
+#define host_address_to_string(ADDR) \
+ host_address_to_string_1 ((const void *) (ADDR))
+
+/* Return the next entry in the circular print buffer. */
+
+extern char *get_print_cell (void);
+
+#endif /* COMMON_PRINT_UTILS_H */