Re: Readline on Windows (WAS: Re: [PATCH v2 0/2] MI: Add new command -complete]
Jan Vrany <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <[email protected]> |
On Mon, 2019-03-11 at 16:43 +0200, Eli Zaretskii wrote: > > From: Jan Vrany <[email protected]> > > Cc: [email protected], [email protected], [email protected] > > Date: Mon, 11 Mar 2019 08:45:55 +0000 > > > > Ah, sorry, I should have been more clear. I meant that it does not work > > for me EVEN when on standard console so I doubted it would work better over > > pipes much better. > > > > All the problems I described do happen when using standard console and never > > worked no matter which GDB I used (compiled by myself or by some third party). > > That's strange. Do you have some curses library installed, and if so, > does it get linked into GDB? No, this is the output of ldd: ntdll.dll => /c/WINDOWS/SYSTEM32/ntdll.dll (0x7fffba1c0000) KERNEL32.DLL => /c/WINDOWS/System32/KERNEL32.DLL (0x7fffb9520000) KERNELBASE.dll => /c/WINDOWS/System32/KERNELBASE.dll (0x7fffb6630000) msvcrt.dll => /c/WINDOWS/System32/msvcrt.dll (0x7fffb9770000) USER32.dll => /c/WINDOWS/System32/USER32.dll (0x7fffb95e0000) win32u.dll => /c/WINDOWS/System32/win32u.dll (0x7fffb7520000) GDI32.dll => /c/WINDOWS/System32/GDI32.dll (0x7fffb7d70000) gdi32full.dll => /c/WINDOWS/System32/gdi32full.dll (0x7fffb7280000) msvcp_win.dll => /c/WINDOWS/System32/msvcp_win.dll (0x7fffb6590000) ucrtbase.dll => /c/WINDOWS/System32/ucrtbase.dll (0x7fffb7420000) WS2_32.dll => /c/WINDOWS/System32/WS2_32.dll (0x7fffb9a50000) RPCRT4.dll => /c/WINDOWS/System32/RPCRT4.dll (0x7fffb77e0000) libgmp-10.dll => /mingw64/bin/libgmp-10.dll (0x6acc0000) libiconv-2.dll => /mingw64/bin/libiconv-2.dll (0x66000000) libintl-8.dll => /mingw64/bin/libintl-8.dll (0x61cc0000) ADVAPI32.dll => /c/WINDOWS/System32/ADVAPI32.dll (0x7fffb7e70000) sechost.dll => /c/WINDOWS/System32/sechost.dll (0x7fffb9460000) libexpat-1.dll => /mingw64/bin/libexpat-1.dll (0x68f40000) liblzma-5.dll => /mingw64/bin/liblzma-5.dll (0x63cc0000) libpython3.7m.dll => /mingw64/bin/libpython3.7m.dll (0x62300000) libwinpthread-1.dll => /mingw64/bin/libwinpthread-1.dll (0x64940000) VERSION.dll => /c/WINDOWS/SYSTEM32/VERSION.dll (0x7fffa9ac0000) > > > > Do you perhaps have a ~/.inputrc file, or some other local > > > customization, which might affect how Readline works? > > > > Not that I know of. There's no ".inputrc" nor "inputrc" on my Windows filesystem. > > I believe GDB compiled by myself uses the readline that comes with GDB. > > The .inputrc file doesn't come with Readline, it is a user init file > that you yourself can create to customize how input through readline > works. I know. I just double checked that there is none accidentally created. > > I compile GDB myself as well, also with its bundled readline, I use > GDB in the Windows console all the time, and I have no problems like > the ones you describe. Very strange. Strange indeed - but it is also good because this means that it "can". So I dug deeper and found --with-system-readline option (funny enough configure --help does not mention it) and voila, with this config it works well. This is ldd from "good" GDB: ntdll.dll => /c/WINDOWS/SYSTEM32/ntdll.dll (0x7fffba1c0000) KERNEL32.DLL => /c/WINDOWS/System32/KERNEL32.DLL (0x7fffb9520000) KERNELBASE.dll => /c/WINDOWS/System32/KERNELBASE.dll (0x7fffb6630000) msvcrt.dll => /c/WINDOWS/System32/msvcrt.dll (0x7fffb9770000) USER32.dll => /c/WINDOWS/System32/USER32.dll (0x7fffb95e0000) win32u.dll => /c/WINDOWS/System32/win32u.dll (0x7fffb7520000) GDI32.dll => /c/WINDOWS/System32/GDI32.dll (0x7fffb7d70000) gdi32full.dll => /c/WINDOWS/System32/gdi32full.dll (0x7fffb7280000) msvcp_win.dll => /c/WINDOWS/System32/msvcp_win.dll (0x7fffb6590000) ucrtbase.dll => /c/WINDOWS/System32/ucrtbase.dll (0x7fffb7420000) WS2_32.dll => /c/WINDOWS/System32/WS2_32.dll (0x7fffb9a50000) RPCRT4.dll => /c/WINDOWS/System32/RPCRT4.dll (0x7fffb77e0000) libgmp-10.dll => /mingw64/bin/libgmp-10.dll (0x6acc0000) libexpat-1.dll => /mingw64/bin/libexpat-1.dll (0x68f40000) libiconv-2.dll => /mingw64/bin/libiconv-2.dll (0x66000000) libintl-8.dll => /mingw64/bin/libintl-8.dll (0x61cc0000) ADVAPI32.dll => /c/WINDOWS/System32/ADVAPI32.dll (0x7fffb7e70000) sechost.dll => /c/WINDOWS/System32/sechost.dll (0x7fffb9460000) liblzma-5.dll => /mingw64/bin/liblzma-5.dll (0x63cc0000) libreadline7.dll => /mingw64/bin/libreadline7.dll (0x6e780000) libwinpthread-1.dll => /mingw64/bin/libwinpthread-1.dll (0x64940000) libpython3.7m.dll => /mingw64/bin/libpython3.7m.dll (0x62300000) VERSION.dll => /c/WINDOWS/SYSTEM32/VERSION.dll (0x7fffa9ac0000) libtermcap-0.dll => /mingw64/bin/libtermcap-0.dll (0x6ac40000) One problem less. Not that it explains why bundled readline does not work for me and does for you, but at least I can produce more usable gdb on Windows. Thanks a lot! Jan