Hello,

On Sun, Jan 23, 2011 at 03:43:29AM +0100, Przemysław Pawełczyk wrote:
> Package: gdb
> Version: 7.0.1-2+b1
> Severity: normal
> Tags: patch
 
> Now I can say that it's broken, but finding out that gdb is the culprit,
> whether it was fixed already in newer versions and when exactly took me
> all day. Squeeze is frozen, so I was determined to find a solution,
> believing it will be applied.

Thanks for the finding and work!

Do you think we can close this bug for unstable/wheezy? As I understand is it
already fixed in 7.2.

OTOH, I wasn't thinking on updating already released squeeze, or do you think it
is very important fix which should go into a point release? I was also not
planning to use backports, but if it helps we could prepare a backports upload
for later release.
 
> * The problem exists in gdb versions up to 7.1 or more precisely:
> 
> commit ed72348da877003a79bfa638c04afed888ce045e
> Author: Vladimir Prus <[email protected]>
> Date:   Sat Nov 28 17:00:53 2009 +0000
> 
>         * target.c (target_terminal_inferior): Use target_can_async_p, not
>         target_is_async_p.
> 
> which fixes it.
> 
> http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/target.c.diff?r1=1.233&r2=1.234&cvsroot=src
> 
> * What happens if mentioned patch is not applied?
> 
> Asynchronous commands are not invoked if the target is running. It's
> especially important in the case of interrupting the execution of the
> target using "-exec-interrupt", which should always work.
> 
> But it's not in gdb 7.0.1.
> 
> * How I can see it myself?
> 
> Almost real-world example:
> 
>   $ qemu -hda /path/to/linux-0.2.img -s  # [1]
>               # wait at least until kernel is loaded
>   $ gdb       # we'll mimic some Qt Creator actions here
>               # normally we would provide target image,
>               # but it's not important to show the problem
>     set target-async on
>     target remote :1234
>               # vm is interrupted now, try writing something in its win
>     -exec-continue
>               # vm is running now, your input shows
>     -exec-interrupt
>               # nothing happens, writing in vm still works, but it
>               # SHOULD NOT // apply patch to fix it
> 
> You can even recompile qemu with uncommented DEBUG_GDB define in
> gdbstub.c to see that appropriate packet is not sent with
> -exec-interrupt.
> 
> [1] http://wiki.qemu.org/download/linux-0.2.img.bz2
> 
> -- System Information:
> Debian Release: 6.0
>   APT prefers testing
>   APT policy: (500, 'testing')
> Architecture: amd64 (x86_64)
> 
> Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
> Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/bash
> 
> Versions of packages gdb depends on:
> ii  gdbserver               7.0.1-2+b1       The GNU Debugger (remote server)
> ii  libc6                   2.11.2-7         Embedded GNU C Library: Shared 
> lib
> ii  libexpat1               2.0.1-7          XML parsing C library - runtime 
> li
> ii  libncurses5             5.7+20100313-5   shared libraries for terminal 
> hand
> ii  libpython2.6            2.6.6-8+b1       Shared Python runtime library 
> (ver
> ii  libreadline6            6.1-3            GNU readline and history 
> libraries
> ii  zlib1g                  1:1.2.3.4.dfsg-3 compression library - runtime
> 
> gdb recommends no packages.
> 
> Versions of packages gdb suggests:
> pn  gdb-doc                       <none>     (no description available)
> 
> -- debconf-show failed
> 
> 
> 

-- 
 Héctor Orón

"Our Sun unleashes tremendous flares expelling hot gas into the Solar System, 
which one day will disconnect us."

-- Day DVB-T stop working nicely
Video flare: http://antwrp.gsfc.nasa.gov/apod/ap100510.html

Attachment: signature.asc
Description: Digital signature

Reply via email to