[3/3] Introduce common/common-defs.h
Commit Message
This commit creates a new header, common/common-defs.h, to hold
definitions common to all code under gdb/. Both gdb/defs.h and
gdb/gdbserver/server.h are modified to include common-defs.h as
their first non-comment line; all code under gdb/ includes either
defs.h or server.h as appropriate, so common-defs.h will be the
first actual code the compiler sees.
For this initial commit common-defs.h includes only the two
config.h files. Future commits will move more code currently
duplicated across defs.h and server.h such that shared code in
gdb/{common,target,nat} can be modified to include common-defs.h
rather than defs.h or server.h.
gdb/
2014-07-25 Gary Benson <gbenson@redhat.com>
* common/common-defs.h: New file.
* Makefile.in (HFILES_NO_SRCDIR): Add common/common-defs.h.
* defs.h: Include common-defs.h.
Do not include config.h or build-gnulib/config.h.
gdb/gdbserver/
2014-07-25 Gary Benson <gbenson@redhat.com>
* server.h: Include common-defs.h.
Do not include config.h or build-gnulib-gdbserver/config.h.
---
gdb/ChangeLog | 7 +++++++
gdb/Makefile.in | 2 +-
gdb/common/common-defs.h | 30 ++++++++++++++++++++++++++++++
gdb/defs.h | 3 +--
gdb/gdbserver/ChangeLog | 5 +++++
gdb/gdbserver/server.h | 3 +--
6 files changed, 45 insertions(+), 5 deletions(-)
create mode 100644 gdb/common/common-defs.h
Comments
Looks good to me.
Thanks,
Pedro Alves
On 07/25/2014 02:34 PM, Gary Benson wrote:
> This commit creates a new header, common/common-defs.h, to hold
> definitions common to all code under gdb/. Both gdb/defs.h and
> gdb/gdbserver/server.h are modified to include common-defs.h as
> their first non-comment line; all code under gdb/ includes either
> defs.h or server.h as appropriate, so common-defs.h will be the
> first actual code the compiler sees.
>
> For this initial commit common-defs.h includes only the two
> config.h files. Future commits will move more code currently
> duplicated across defs.h and server.h such that shared code in
> gdb/{common,target,nat} can be modified to include common-defs.h
> rather than defs.h or server.h.
>
> gdb/
> 2014-07-25 Gary Benson <gbenson@redhat.com>
>
> * common/common-defs.h: New file.
> * Makefile.in (HFILES_NO_SRCDIR): Add common/common-defs.h.
> * defs.h: Include common-defs.h.
> Do not include config.h or build-gnulib/config.h.
>
> gdb/gdbserver/
> 2014-07-25 Gary Benson <gbenson@redhat.com>
>
> * server.h: Include common-defs.h.
> Do not include config.h or build-gnulib-gdbserver/config.h.
> ---
> gdb/ChangeLog | 7 +++++++
> gdb/Makefile.in | 2 +-
> gdb/common/common-defs.h | 30 ++++++++++++++++++++++++++++++
> gdb/defs.h | 3 +--
> gdb/gdbserver/ChangeLog | 5 +++++
> gdb/gdbserver/server.h | 3 +--
> 6 files changed, 45 insertions(+), 5 deletions(-)
> create mode 100644 gdb/common/common-defs.h
>
> diff --git a/gdb/Makefile.in b/gdb/Makefile.in
> index ce15501..8361030 100644
> --- a/gdb/Makefile.in
> +++ b/gdb/Makefile.in
> @@ -935,7 +935,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 \
> 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 \
> -i386-linux-nat.h
> +i386-linux-nat.h common/common-defs.h
>
> # Header files that already have srcdir in them, or which are in objdir.
>
> diff --git a/gdb/common/common-defs.h b/gdb/common/common-defs.h
> new file mode 100644
> index 0000000..9e397d9
> --- /dev/null
> +++ b/gdb/common/common-defs.h
> @@ -0,0 +1,30 @@
> +/* Common definitions.
> +
> + 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_DEFS_H
> +#define COMMON_DEFS_H
> +
> +#include "config.h"
> +#ifdef GDBSERVER
> +#include "build-gnulib-gdbserver/config.h"
> +#else
> +#include "build-gnulib/config.h"
> +#endif
> +
> +#endif /* COMMON_DEFS_H */
> diff --git a/gdb/defs.h b/gdb/defs.h
> index 511279a..422c4e8 100644
> --- a/gdb/defs.h
> +++ b/gdb/defs.h
> @@ -25,8 +25,7 @@
> # error gdbserver should not include gdb/defs.h
> #endif
>
> -#include "config.h" /* Generated by configure. */
> -#include "build-gnulib/config.h"
> +#include "common-defs.h"
>
> #include <sys/types.h>
> #include <stdio.h>
> diff --git a/gdb/gdbserver/server.h b/gdb/gdbserver/server.h
> index 2d55513..ef66a32 100644
> --- a/gdb/gdbserver/server.h
> +++ b/gdb/gdbserver/server.h
> @@ -19,8 +19,7 @@
> #ifndef SERVER_H
> #define SERVER_H
>
> -#include "config.h"
> -#include "build-gnulib-gdbserver/config.h"
> +#include "common-defs.h"
>
> #ifdef __MINGW32CE__
> #include "wincecompat.h"
>
@@ -935,7 +935,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 \
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 \
-i386-linux-nat.h
+i386-linux-nat.h common/common-defs.h
# Header files that already have srcdir in them, or which are in objdir.
new file mode 100644
@@ -0,0 +1,30 @@
+/* Common definitions.
+
+ 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_DEFS_H
+#define COMMON_DEFS_H
+
+#include "config.h"
+#ifdef GDBSERVER
+#include "build-gnulib-gdbserver/config.h"
+#else
+#include "build-gnulib/config.h"
+#endif
+
+#endif /* COMMON_DEFS_H */
@@ -25,8 +25,7 @@
# error gdbserver should not include gdb/defs.h
#endif
-#include "config.h" /* Generated by configure. */
-#include "build-gnulib/config.h"
+#include "common-defs.h"
#include <sys/types.h>
#include <stdio.h>
@@ -19,8 +19,7 @@
#ifndef SERVER_H
#define SERVER_H
-#include "config.h"
-#include "build-gnulib-gdbserver/config.h"
+#include "common-defs.h"
#ifdef __MINGW32CE__
#include "wincecompat.h"