This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug gdb/22388] assertion "xfered_len>0" in target.c for remote connection


https://sourceware.org/bugzilla/show_bug.cgi?id=22388

--- Comment #2 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Simon Marchi <simark@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=92ffd475192030a46a6046177c732372b4dadad5

commit 92ffd475192030a46a6046177c732372b4dadad5
Author: Paul Carroll <pcarroll@codesourcery.com>
Date:   Tue Nov 14 17:37:37 2017 -0500

    Fix 'xfered>0' assertion in target.c for remote connection

    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.

    gdb/ChangeLog:

        PR gdb/22388
        * remote.c (remote_write_bytes_aux, remote_read_bytes_1,
        remote_read_bytes, remote_write_qxfer, remote_xfer_partial):
        Return TARGET_XFER_EOF if size of returned data is 0.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]