Mail Archives: djgpp/2015/05/24/08:47:35
Am 24.05.2015 11:24, schrieb Eli Zaretskii (eliz AT gnu DOT org):
>> 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;
>
I have tried the patch with gdb 7.9.1 and djgpp support seems to work again.
Neitherless sometimes backtrace and finish behave strange. Please give me
some time more to check. Especially with djgpp 2.05.
Regards,
Juan M. Guerrero
- Raw text -