Mail Archives: djgpp/2015/05/24/05:24:56
> Date: Sun, 24 May 2015 11:17:27 +0300
> From: "Andris Pavenis (andris DOT pavenis AT iki DOT fi)" <djgpp AT delorie DOT com>
>
> > So what and how goes wrong in the DJGPP build of GDB? Can someone
> > with enough free time step through the go32 initialization, and see
> > what's wrong there?
>
> Perhaps at least some hint could give GDB commit which caused that DJGPP port stopped to work (with
> symptoms described earlier)
>
> https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=9b409511d07fe375284701af34909fb539029caf
Thanks!
Actually, it seems bd265cd0bde9e045ab5946532449430b66fe91ad, which is
a followup to the one you mentioned, is the bad commit. It seems a
simple case of misunderstanding the API conventions of our read_child
and write_child.
Can you try the patch below? If it fixes the problem, I will push it.
diff --git a/gdb/go32-nat.c b/gdb/go32-nat.c
index f3966cd..852473b 100644
--- a/gdb/go32-nat.c
+++ b/gdb/go32-nat.c
@@ -587,6 +587,13 @@
else
res = read_child (memaddr, readbuf, len);
+ /* read_child and write_child return zero on success, non-zero on
+ failure; adjust the result value to that. */
+ if (res == 0)
+ res = len;
+ else
+ res = -1;
+
if (res <= 0)
return TARGET_XFER_E_IO;
- Raw text -