lkml.org 
[lkml]   [2004]   [Dec]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: ptrace single-stepping change breaks Wine


    On Wed, 29 Dec 2004, Jesse Allen wrote:
    >
    > >
    > > So does removing the conditional TF clear make everything work again?
    > >
    >
    > Yes, as long as TIF_SINGLESTEP is not set in set_singlestep().

    That may be a clue, if only because that makes absolutely _zero_ sense.

    Setting TIF_SINGLESTEP shouldn't actually matter in this case, since we
    set the TRAP_FLAG in eflags by hand anyway (and that's what TIF_SINGESTEP
    will just re-do when returning to user space).

    What TIF_SINGLESTEP _does_ do, however, is change how some other issues
    are reported to user space. In particular, it causes system call tracing
    (see arch/i386/kernel/ptrace.c: do_syscall_trace), and maybe it is _that_
    that messes up Wine.

    So instead of removing the setting of TIF_SINGLESTEP in set_singlestep(),
    can you test whether removing the _testing_ of it in do_syscall_trace()
    makes things happier for you? Hmm?

    (Also, looking at the code, I get the feeling that set_singlestep() should
    _only_ set TIF_SINGLESTEP, and not set the TRAP_FLAG by hand at all, since
    TIF_SINGESTEP should take care of that detail regardless).

    Linus
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2009-11-18 23:46    [W:0.019 / U:95.624 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site