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

Paul Carroll pcarroll@codesourcery.com
Tue Nov 14 22:30:00 GMT 2017


On 11/14/2017 4:38 PM, Simon Marchi wrote:
> 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.
>
Please feel free to push the patch for me.
Hard to say how regularly I will be patching things.
The copyright assignment, as Yao noted, is covered by Mentor Graphics 
(and Siemens).



More information about the Gdb-patches mailing list