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.