This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFC-v2] Fix .text section offset for windows DLL (was Calling __stdcall functions in the inferior)
- From: Pedro Alves <palves at redhat dot com>
- To: Pierre Muller <pierre dot muller at ics-cnrs dot unistra dot fr>
- Cc: "'Joel Brobecker'" <brobecker at adacore dot com>, gdb-patches at sourceware dot org
- Date: Wed, 07 Nov 2012 19:44:23 +0000
- Subject: Re: [RFC-v2] Fix .text section offset for windows DLL (was Calling __stdcall functions in the inferior)
- References: <83a9vs89r9.fsf@gnu.org> <201210120953.q9C9rqfu020865@glazunov.sibelius.xs4all.nl> <834nm07z0s.fsf@gnu.org> <5077FEB9.4030304@redhat.com> <83y5jb7rfe.fsf@gnu.org> <006001cdaada$00c81f00$02585d00$@muller@ics-cnrs.unistra.fr> <20121024194517.GK3555@adacore.com> <011901cdb2ab$48076b90$d81642b0$@muller@ics-cnrs.unistra.fr> <20121105171121.GA2972@adacore.com> <50991f5f.8382440a.1100.ffff82abSMTPIN_ADDED@mx.google.com>
On 11/06/2012 02:31 PM, Pierre Muller wrote:
> --- coff-pe-read.h 4 Jan 2012 08:17:00 -0000 1.11
> +++ coff-pe-read.h 6 Nov 2012 13:37:01 -0000
> @@ -21,11 +21,17 @@
>
> #if !defined (COFF_PE_READ_H)
> #define COFF_PE_READ_H
> +#include "defs.h"
The need for this in a header hints at a problem elsewhere.
defs.h should always be the first included header.
> Index: coff-pe-read.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/coff-pe-read.c,v
> retrieving revision 1.17
> diff -u -p -r1.17 coff-pe-read.c
> --- coff-pe-read.c 4 Jan 2012 08:17:00 -0000 1.17
> +++ coff-pe-read.c 6 Nov 2012 13:37:01 -0000
> @@ -23,16 +23,26 @@
>
> #include "coff-pe-read.h"
>
> +#include <ctype.h>
> #include "defs.h"
There's the problem.
I did
$ grep "\"defs\.h" *.c -B 3 | grep include | grep -v "\"defs"
and
$ grep "\"defs\.h" *.h
and hopefully caught all cases.
Applying in a bit.
2012-11-07 Pedro Alves <palves@redhat.com>
* arm-tdep.c: Make defs.h be the first include.
* coff-pe-read.c: Ditto.
* gnu-nat.c: Ditto.
* go32-nat.c: Ditto.
* i386-nat.c: Ditto.
* ppcnbsd-nat.c: Ditto.
* ada-varobj.h: Don't include defs.h.
* i386-darwin-tdep.h: Ditto.
* i386-nat.h: Ditto.
---
gdb/ada-varobj.h | 1 -
gdb/arm-tdep.c | 3 ++-
gdb/coff-pe-read.c | 3 ++-
gdb/gnu-nat.c | 3 ++-
gdb/go32-nat.c | 3 ++-
gdb/i386-darwin-tdep.h | 1 -
gdb/i386-nat.c | 2 +-
gdb/i386-nat.h | 2 --
gdb/ppcnbsd-nat.c | 3 ++-
9 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/gdb/ada-varobj.h b/gdb/ada-varobj.h
index 2ef1a70..21f4cec 100644
--- a/gdb/ada-varobj.h
+++ b/gdb/ada-varobj.h
@@ -20,7 +20,6 @@
#ifndef ADA_VAROBJ_H
#define ADA_VAROBJ_H
-#include "defs.h"
#include "varobj.h"
struct value;
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index 05a030a..fbc2479 100644
--- a/gdb/arm-tdep.c
+++ b/gdb/arm-tdep.c
@@ -18,9 +18,10 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
+#include "defs.h"
+
#include <ctype.h> /* XXX for isupper (). */
-#include "defs.h"
#include "frame.h"
#include "inferior.h"
#include "gdbcmd.h"
diff --git a/gdb/coff-pe-read.c b/gdb/coff-pe-read.c
index 66c7c82..fd55170 100644
--- a/gdb/coff-pe-read.c
+++ b/gdb/coff-pe-read.c
@@ -21,9 +21,10 @@
Contributed by Raoul M. Gough (RaoulGough@yahoo.co.uk). */
+#include "defs.h"
+
#include "coff-pe-read.h"
-#include "defs.h"
#include "bfd.h"
#include "gdbtypes.h"
diff --git a/gdb/gnu-nat.c b/gdb/gnu-nat.c
index 2ca01e1..b34935e 100644
--- a/gdb/gnu-nat.c
+++ b/gdb/gnu-nat.c
@@ -22,6 +22,8 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#include "defs.h"
+
#include <ctype.h>
#include <errno.h>
#include <limits.h>
@@ -52,7 +54,6 @@
#include <portinfo.h>
-#include "defs.h"
#include "inferior.h"
#include "symtab.h"
#include "value.h"
diff --git a/gdb/go32-nat.c b/gdb/go32-nat.c
index d848017..ef1da91 100644
--- a/gdb/go32-nat.c
+++ b/gdb/go32-nat.c
@@ -82,9 +82,10 @@
GDB does not use those as of this writing, and will never need
to. */
+#include "defs.h"
+
#include <fcntl.h>
-#include "defs.h"
#include "i386-nat.h"
#include "inferior.h"
#include "gdbthread.h"
diff --git a/gdb/i386-darwin-tdep.h b/gdb/i386-darwin-tdep.h
index 8be9946..4732b2d 100644
--- a/gdb/i386-darwin-tdep.h
+++ b/gdb/i386-darwin-tdep.h
@@ -19,7 +19,6 @@
#ifndef __I386_DARWIN_TDEP_H__
#define __I386_DARWIN_TDEP_H__
-#include "defs.h"
#include "frame.h"
/* Mapping between the general-purpose registers in Darwin x86 thread_state
diff --git a/gdb/i386-nat.c b/gdb/i386-nat.c
index e7d9b4d..559bc29 100644
--- a/gdb/i386-nat.c
+++ b/gdb/i386-nat.c
@@ -18,8 +18,8 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#include "i386-nat.h"
#include "defs.h"
+#include "i386-nat.h"
#include "breakpoint.h"
#include "command.h"
#include "gdbcmd.h"
diff --git a/gdb/i386-nat.h b/gdb/i386-nat.h
index c06993c..be563ef 100644
--- a/gdb/i386-nat.h
+++ b/gdb/i386-nat.h
@@ -20,8 +20,6 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#include "defs.h"
-
#ifndef I386_NAT_H
#define I386_NAT_H 1
diff --git a/gdb/ppcnbsd-nat.c b/gdb/ppcnbsd-nat.c
index 8f73283..2b7837d 100644
--- a/gdb/ppcnbsd-nat.c
+++ b/gdb/ppcnbsd-nat.c
@@ -19,13 +19,14 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
+#include "defs.h"
+
#include <sys/types.h>
#include <sys/ptrace.h>
#include <machine/reg.h>
#include <machine/frame.h>
#include <machine/pcb.h>
-#include "defs.h"
#include "gdbcore.h"
#include "inferior.h"
#include "regcache.h"