[PATCH] Assertion 'xfered>0' in target.c for remote connection

Simon Marchi simon.marchi@ericsson.com
Tue Nov 14 21:38:00 GMT 2017


On 2017-11-14 10:02 AM, Paul Carroll wrote:
>>> We have a customer who is using a Corelis gdb server to connect to gdb.
>>> Occasionally, the gdb server will send a 0-byte block of memory for a read.
>>> When this happens, gdb gives an assertion from target.c:
>>>
>>> internal-error: target_xfer_partial: Assertion `*xfered_len > 0' failed.
>>>
>>> This problem is almost identical to that fixed in https://sourceware.org/ml/gdb-patches/2014-02/msg00636.html
>>>
>>> In this case, remote.c needs to be modified to return TARGET_XFER_EOF instead of TARGET_XFER_OK or TARGET_XFER_UNAVAILABLE when 0 bytes are transferred.

The patch look good to me, given that all other implementations do this.
It is small enough that it doesn't require a copyright assignment I think.
I see you have contributed to binutils in the past.  Do you already have
push access to the binutils-gdb repo?  If not we can push it for you, or
we can get you an account if you plan on contributing regularly.

Thanks,

Simon



More information about the Gdb-patches mailing list