This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[ob] fix mingw compilation
- From: Vladimir Prus <vladimir at codesourcery dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Tue, 30 Jan 2007 13:37:14 +0300
- Subject: [ob] fix mingw compilation
At the moment, mainline does not build for mingw, because:
1. Compiler flags include -Wdeclaration-after-statement and
-Werror
2. ser-mingw32.c has some declarations in the middle of
functions.
This patch fixes it, committed as obvious.
- Volodya
Index: ChangeLog
===================================================================
RCS file: /cvs/src/src/gdb/ChangeLog,v
retrieving revision 1.8147
diff -u -p -r1.8147 ChangeLog
--- ChangeLog 29 Jan 2007 17:31:05 -0000 1.8147
+++ ChangeLog 30 Jan 2007 09:12:07 -0000
@@ -1,3 +1,9 @@
+2006-01-30 Vladimir Prus <vladimir@codesourcery.com>
+
+ * ser-mingw.c (pipe_windows_open)
+ (pipe_windows_read, pipe_windows_write): Declare
+ variables at the top of the function.
+
2007-01-29 Daniel Jacobowitz <dan@codesourcery.com>
* doublest.c (floatformat_from_length): Use the right element from
Index: ser-mingw.c
===================================================================
RCS file: /cvs/src/src/gdb/ser-mingw.c,v
retrieving revision 1.5
diff -u -p -r1.5 ser-mingw.c
--- ser-mingw.c 9 Jan 2007 17:58:58 -0000 1.5
+++ ser-mingw.c 30 Jan 2007 09:12:08 -0000
@@ -696,12 +696,15 @@ cleanup_pipe_state (void *untyped)
static int
pipe_windows_open (struct serial *scb, const char *name)
{
+ struct pipe_state *ps;
+
char **argv = buildargv (name);
struct cleanup *back_to = make_cleanup_freeargv (argv);
if (! argv[0] || argv[0][0] == '\0')
error ("missing child command");
- struct pipe_state *ps = make_pipe_state ();
+
+ ps = make_pipe_state ();
make_cleanup (cleanup_pipe_state, ps);
ps->pex = pex_init (PEX_USE_PIPES, "target remote pipe", NULL);
@@ -765,18 +768,20 @@ pipe_windows_close (struct serial *scb)
static int
pipe_windows_read (struct serial *scb, size_t count)
{
- HANDLE pipeline_out = (HANDLE) _get_osfhandle (scb->fd);
+ HANDLE pipeline_out;
+ DWORD available;
+ DWORD bytes_read;
+
+ pipeline_out = (HANDLE) _get_osfhandle (scb->fd);
if (pipeline_out == INVALID_HANDLE_VALUE)
return -1;
- DWORD available;
if (! PeekNamedPipe (pipeline_out, NULL, 0, NULL, &available, NULL))
return -1;
if (count > available)
count = available;
- DWORD bytes_read;
if (! ReadFile (pipeline_out, scb->buf, count, &bytes_read, NULL))
return -1;
@@ -788,15 +793,17 @@ static int
pipe_windows_write (struct serial *scb, const void *buf, size_t count)
{
struct pipe_state *ps = scb->state;
+ HANDLE pipeline_in;
+ DWORD written;
+
int pipeline_in_fd = fileno (ps->input);
if (pipeline_in_fd < 0)
return -1;
- HANDLE pipeline_in = (HANDLE) _get_osfhandle (pipeline_in_fd);
+ pipeline_in = (HANDLE) _get_osfhandle (pipeline_in_fd);
if (pipeline_in == INVALID_HANDLE_VALUE)
return -1;
- DWORD written;
if (! WriteFile (pipeline_in, buf, count, &written, NULL))
return -1;