[Bug 44349] New: winedgb: stepping is broken on 32-bit

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Jan 12 15:33:46 CST 2018


https://bugs.winehq.org/show_bug.cgi?id=44349

            Bug ID: 44349
           Summary: winedgb: stepping is broken on 32-bit
           Product: Wine
           Version: 3.0-rc6
          Hardware: x86
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: winedbg
          Assignee: wine-bugs at winehq.org
          Reporter: daniel.santos at pobox.com
      Distribution: Gentoo

This is actually 3.0-rc6~6 (110eecf7d48688b573f4215f84ff8ad464f40da8) but it
doesn't look like any of those patches touched this.  using stepi on the call
instruction below does not perform the call and instead increments the
instruction pointer by one.

Using gdb 8.0.1 and built with gcc 5.4.0


$ WINEARCH=win64 WINEDEBUG=fixme-all WINEPREFIX=/tmp/daniel/wine/test-debug
/home/daniel/proj/emu/wine/work1/build/debug/32/wine winedbg --gdb
./user32_test.exe.so win
002e:002f: create process
'Z:\home\daniel\proj\emu\wine\work1\build\debug\32\dlls\user32\tests\user32_test.exe'/0x110d68
@0x7ec438e0 (0<0>)
002e:002f: create thread I @0x7ec438e0
GNU gdb (Gentoo 8.0.1 vanilla) 8.0.1
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
002e:002f: loads DLL C:\windows\system32\KERNEL32.dll @0x7b410000 (0<0>)
002e:002f: loads DLL C:\windows\system32\ntdll.dll @0x7bc10000 (0<0>)
002e:002f: loads DLL C:\windows\system32\advapi32.dll @0x7e750000 (0<0>)
002e:002f: loads DLL C:\windows\system32\gdi32.dll @0x7e7d0000 (0<0>)
002e:002f: loads DLL C:\windows\system32\version.dll @0x7eff0000 (0<0>)
002e:002f: loads DLL C:\windows\system32\user32.dll @0x7e920000 (0<0>)
002e:002f: loads DLL C:\windows\system32\imm32.dll @0x7e6f0000 (0<0>)
0000002e:0000002f: exception code=0x80000003
No support for verbose packet MustReplyEmpty
No support for verbose packet File:setfs:0
No support for verbose packet File:open:6a7573742070726f62696e67,0,1c0
warning: remote target does not support file transfer, attempting to access
files from local filesystem.
warning: Could not load shared library symbols for linux-gate.so.1.
Do you need "set solib-search-path" or "set sysroot"?
0x7b469f66 in DbgBreakPoint () at
/home/daniel/proj/emu/wine/work1/include/winternl.h:2157
2157    static inline void WINAPI DbgBreakPoint(void) { __asm__
__volatile__("int3"); }
trace: 98 => 80
Wine-gdb> break /home/daniel/proj/emu/wine/work1/dlls/user32/tests/win.c:10653
Breakpoint 1 at 0x7ec3b336: file
/home/daniel/proj/emu/wine/work1/dlls/user32/tests/win.c, line 10653.
Wine-gdb> cont
Continuing.
0038:err:win:DefWindowProcW called for other process window 0x4006c

Breakpoint 1, func_win () at
/home/daniel/proj/emu/wine/work1/dlls/user32/tests/win.c:10653
10653       test_enum_thread_windows();
Wine-gdb> display /2i $eip
1: x/2i $eip
=> 0x7ec3b336 <func_win+1396>:  call   0x7ebfc90b <test_enum_thread_windows>
   0x7ec3b33b <func_win+1401>:  call   0x7ec02b25 <test_mdi>
Wine-gdb> stepi
0x7ec3b337      10653       test_enum_thread_windows();
1: x/2i $eip
=> 0x7ec3b337 <func_win+1397>:  rclb   0xe5e8fffc
   0x7ec3b33d <func_win+1403>:  ja     0x7ec3b33b <func_win+1401>


And is you might expect, if I stepi again:

Wine-gdb> stepi

Program received signal SIGSEGV, Segmentation fault.
0x7ec3b337 in func_win () at
/home/daniel/proj/emu/wine/work1/dlls/user32/tests/win.c:10653
10653       test_enum_thread_windows();
1: x/2i $eip
=> 0x7ec3b337 <func_win+1397>:  rclb   0xe5e8fffc
   0x7ec3b33d <func_win+1403>:  ja     0x7ec3b33b <func_win+1401>

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list