Subject: Re: bug#69795: 29.1; cmdproxy.exe exits automatically after executing MSYS2 commands

From: [email-masked]
Date: Tue, 19 Mar 2024 07:54:51 +0900

Eli Zaretskii <[email-masked]> writes:

>> c:\msys64\usr\bin\ matters. And iconv.exe under it makes the difference.
>> In the log below, the process continues after the first call of gdb.exe,
>> while iconv.exe does not exist.
>> And the process finishes after the second call of gdb.exe,
>> while iconv.exe exists.
>
> So what is special with iconv.exe?  What does "iconv --version" say?

Here is the log, and the process finished automatically.

c:\tmp>c:\msys64\usr\bin\iconv.exe --version
c:\msys64\usr\bin\iconv.exe --version
iconv (GNU libiconv 1.17)
Copyright (C) 2000-2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://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.
Written by Bruno Haible.

c:\tmp>
Process shell finished

> Also, what DLLs does it load?  You can find out like this:
>
>   objdump -x c:\msys64\usr\bin\iconv.exe | grep -F "DLL Name:"

I have no objdump. I hope output of ldd.exe helps.

c:\tmp>c:\msys64\usr\bin\ldd.exe c:\msys64\usr\bin\iconv.exe
c:\msys64\usr\bin\ldd.exe c:\msys64\usr\bin\iconv.exe
	ntdll.dll => /c/WINDOWS/SYSTEM32/ntdll.dll (0x7ffd19ad0000)
	KERNEL32.DLL => /c/WINDOWS/System32/KERNEL32.DLL (0x7ffd17c60000)
	KERNELBASE.dll => /c/WINDOWS/System32/KERNELBASE.dll (0x7ffd172f0000)
	msys-iconv-2.dll => /usr/bin/msys-iconv-2.dll (0x5603f0000)
	msys-intl-8.dll => /usr/bin/msys-intl-8.dll (0x430b30000)
	msys-2.0.dll => /usr/bin/msys-2.0.dll (0x180040000)

c:\tmp>
Process shell finished

/usr/bin/ is same as c:\msys64\usr\bin\.

c:\tmp>c:\msys64\usr\bin\mount.exe
c:\msys64\usr\bin\mount.exe
C:/msys64 on / type ntfs (binary,noacl,auto)
C:/msys64/usr/bin on /bin type ntfs (binary,noacl,auto)
C: on /c type ntfs (binary,noacl,posix=0,user,noumount,auto)
c:\tmp>
Process shell finished