Introduce common-types.h
This introduces common-types.h. This file defines various standard types used by gdb and gdbserver. Currently these types are conditionally defined based on GDBSERVER. The long term goal is to remove all such tests; however, this is difficult as currently gdb uses definitions from BFD. In the meantime this is still a step in the right direction. gdb/ChangeLog: * common/common-types.h: New file. * Makefile.in (HFILES_NO_SRCDIR): Add common/common-types.h. * common/common-defs.h: Include common-types.h. * defs.h (gdb_byte, CORE_ADDR, CORE_ADDR_MAX, LONGEST) (ULONGEST): Remove. gdb/gdbserver/ChangeLog: * server.h: Add static assertion. (gdb_byte, CORE_ADDR, LONGEST, ULONGEST): Remove.
This commit is contained in:
parent
ef87c8bbe7
commit
9239eeabe3
7 changed files with 80 additions and 41 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
2014-08-19 Tom Tromey <tromey@redhat.com>
|
||||||
|
Gary Benson <gbenson@redhat.com>
|
||||||
|
|
||||||
|
* common/common-types.h: New file.
|
||||||
|
* Makefile.in (HFILES_NO_SRCDIR): Add common/common-types.h.
|
||||||
|
* common/common-defs.h: Include common-types.h.
|
||||||
|
* defs.h (gdb_byte, CORE_ADDR, CORE_ADDR_MAX, LONGEST)
|
||||||
|
(ULONGEST): Remove.
|
||||||
|
|
||||||
2014-08-19 Tom Tromey <tromey@redhat.com>
|
2014-08-19 Tom Tromey <tromey@redhat.com>
|
||||||
Gary Benson <gbenson@redhat.com>
|
Gary Benson <gbenson@redhat.com>
|
||||||
|
|
||||||
|
|
|
@ -936,7 +936,7 @@ gdb_bfd.h sparc-ravenscar-thread.h ppc-ravenscar-thread.h nat/linux-btrace.h \
|
||||||
ctf.h nat/i386-cpuid.h nat/i386-gcc-cpuid.h target/resume.h \
|
ctf.h nat/i386-cpuid.h nat/i386-gcc-cpuid.h target/resume.h \
|
||||||
target/wait.h target/waitstatus.h nat/linux-nat.h nat/linux-waitpid.h \
|
target/wait.h target/waitstatus.h nat/linux-nat.h nat/linux-waitpid.h \
|
||||||
common/print-utils.h common/rsp-low.h nat/i386-dregs.h x86-linux-nat.h \
|
common/print-utils.h common/rsp-low.h nat/i386-dregs.h x86-linux-nat.h \
|
||||||
i386-linux-nat.h common/common-defs.h common/errors.h
|
i386-linux-nat.h common/common-defs.h common/errors.h common/common-types.h
|
||||||
|
|
||||||
# Header files that already have srcdir in them, or which are in objdir.
|
# Header files that already have srcdir in them, or which are in objdir.
|
||||||
|
|
||||||
|
|
|
@ -42,5 +42,6 @@
|
||||||
#include "common-utils.h"
|
#include "common-utils.h"
|
||||||
#include "gdb_assert.h"
|
#include "gdb_assert.h"
|
||||||
#include "errors.h"
|
#include "errors.h"
|
||||||
|
#include "common-types.h"
|
||||||
|
|
||||||
#endif /* COMMON_DEFS_H */
|
#endif /* COMMON_DEFS_H */
|
||||||
|
|
61
gdb/common/common-types.h
Normal file
61
gdb/common/common-types.h
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
/* Declarations for common types.
|
||||||
|
|
||||||
|
Copyright (C) 1986-2014 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_TYPES_H
|
||||||
|
#define COMMON_TYPES_H
|
||||||
|
|
||||||
|
#ifdef GDBSERVER
|
||||||
|
|
||||||
|
/* * A byte from the program being debugged. */
|
||||||
|
typedef unsigned char gdb_byte;
|
||||||
|
|
||||||
|
typedef unsigned long long CORE_ADDR;
|
||||||
|
|
||||||
|
typedef long long LONGEST;
|
||||||
|
typedef unsigned long long ULONGEST;
|
||||||
|
|
||||||
|
#else /* GDBSERVER */
|
||||||
|
|
||||||
|
#include "bfd.h"
|
||||||
|
|
||||||
|
/* * A byte from the program being debugged. */
|
||||||
|
typedef bfd_byte gdb_byte;
|
||||||
|
|
||||||
|
/* * An address in the program being debugged. Host byte order. */
|
||||||
|
typedef bfd_vma CORE_ADDR;
|
||||||
|
|
||||||
|
/* This is to make sure that LONGEST is at least as big as CORE_ADDR. */
|
||||||
|
|
||||||
|
#ifdef BFD64
|
||||||
|
|
||||||
|
typedef BFD_HOST_64_BIT LONGEST;
|
||||||
|
typedef BFD_HOST_U_64_BIT ULONGEST;
|
||||||
|
|
||||||
|
#else /* No BFD64 */
|
||||||
|
|
||||||
|
typedef long long LONGEST;
|
||||||
|
typedef unsigned long long ULONGEST;
|
||||||
|
|
||||||
|
#endif /* No BFD64 */
|
||||||
|
#endif /* GDBSERVER */
|
||||||
|
|
||||||
|
/* * The largest CORE_ADDR value. */
|
||||||
|
#define CORE_ADDR_MAX (~ (CORE_ADDR) 0)
|
||||||
|
|
||||||
|
#endif /* COMMON_TYPES_H */
|
29
gdb/defs.h
29
gdb/defs.h
|
@ -76,35 +76,6 @@
|
||||||
|
|
||||||
#include "hashtab.h"
|
#include "hashtab.h"
|
||||||
|
|
||||||
/* Rather than duplicate all the logic in BFD for figuring out what
|
|
||||||
types to use (which can be pretty complicated), symply define them
|
|
||||||
in terms of the corresponding type from BFD. */
|
|
||||||
|
|
||||||
#include "bfd.h"
|
|
||||||
|
|
||||||
/* * A byte from the program being debugged. */
|
|
||||||
typedef bfd_byte gdb_byte;
|
|
||||||
|
|
||||||
/* * An address in the program being debugged. Host byte order. */
|
|
||||||
typedef bfd_vma CORE_ADDR;
|
|
||||||
|
|
||||||
/* * The largest CORE_ADDR value. */
|
|
||||||
#define CORE_ADDR_MAX (~ (CORE_ADDR) 0)
|
|
||||||
|
|
||||||
/* This is to make sure that LONGEST is at least as big as CORE_ADDR. */
|
|
||||||
|
|
||||||
#ifdef BFD64
|
|
||||||
|
|
||||||
#define LONGEST BFD_HOST_64_BIT
|
|
||||||
#define ULONGEST BFD_HOST_U_64_BIT
|
|
||||||
|
|
||||||
#else /* No BFD64 */
|
|
||||||
|
|
||||||
#define LONGEST long long
|
|
||||||
#define ULONGEST unsigned long long
|
|
||||||
|
|
||||||
#endif /* No BFD64 */
|
|
||||||
|
|
||||||
#ifndef min
|
#ifndef min
|
||||||
#define min(a, b) ((a) < (b) ? (a) : (b))
|
#define min(a, b) ((a) < (b) ? (a) : (b))
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
2014-08-19 Tom Tromey <tromey@redhat.com>
|
||||||
|
Gary Benson <gbenson@redhat.com>
|
||||||
|
|
||||||
|
* server.h: Add static assertion.
|
||||||
|
(gdb_byte, CORE_ADDR, LONGEST, ULONGEST): Remove.
|
||||||
|
|
||||||
2014-08-19 Tom Tromey <tromey@redhat.com>
|
2014-08-19 Tom Tromey <tromey@redhat.com>
|
||||||
Gary Benson <gbenson@redhat.com>
|
Gary Benson <gbenson@redhat.com>
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,8 @@
|
||||||
|
|
||||||
#include "common-defs.h"
|
#include "common-defs.h"
|
||||||
|
|
||||||
|
gdb_static_assert (sizeof (CORE_ADDR) >= sizeof (void *));
|
||||||
|
|
||||||
#ifdef __MINGW32CE__
|
#ifdef __MINGW32CE__
|
||||||
#include "wincecompat.h"
|
#include "wincecompat.h"
|
||||||
#endif
|
#endif
|
||||||
|
@ -63,19 +65,8 @@ int vsnprintf(char *str, size_t size, const char *format, va_list ap);
|
||||||
# define PROG "gdbserver"
|
# define PROG "gdbserver"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* A type used for binary buffers. */
|
|
||||||
typedef unsigned char gdb_byte;
|
|
||||||
|
|
||||||
#include "buffer.h"
|
#include "buffer.h"
|
||||||
#include "xml-utils.h"
|
#include "xml-utils.h"
|
||||||
|
|
||||||
/* FIXME: This should probably be autoconf'd for. It's an integer type at
|
|
||||||
least the size of a (void *). */
|
|
||||||
typedef unsigned long long CORE_ADDR;
|
|
||||||
|
|
||||||
typedef long long LONGEST;
|
|
||||||
typedef unsigned long long ULONGEST;
|
|
||||||
|
|
||||||
#include "regcache.h"
|
#include "regcache.h"
|
||||||
#include "gdb_signals.h"
|
#include "gdb_signals.h"
|
||||||
#include "target.h"
|
#include "target.h"
|
||||||
|
|
Loading…
Reference in a new issue