Subject: bug#41470: Libtool "func_convert_core_msys_to_w32" Hang

From: 阿布 <[email-masked]>
Date: Sat, 23 May 2020 13:20:53 +1000

Hi,

I might have found a (tiny) bug when using libtool (packaged along with
another project, libffi) under Cygwin on Windows 10 (64-bit) and mingw64 to
compile the project: when the command

    ./libtool -v --tag=CC   --mode=link x86_64-w64-mingw32-gcc  -O3
-fomit-frame-pointer -fstrict-aliasing -ffast-math -W
all -fexceptions   -o libffi_convenience.la  src/prep_cif.lo src/types.lo
src/raw_api.lo src/java_raw_api.lo src/closur
es.lo   src/x86/ffiw64.lo src/x86/win64.lo

was executed by 'make', the process hangs. After it was re-executed in
debug mode, I found out that the command which caused it to hang was
    sed -e 's/[ ]*$//' -e 's|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
which is in line 964 of build-aux/ltmain.in: instead of having cmd.exe to
exit after the command was executed (the '/c' argument), it remains open
and waiting for the user's input due to the unrecognized argument '//c'.
The problem was fixed after I changed line 963 to
    func_convert_core_msys_to_w32_result=`( cmd */c* echo "$1" )
2>/dev/null |
Perhaps you would want to consider fixing the problem?

Regards,
Hongtian Yu