Follow-up Comment #35, bug #64806 (group make): Hi, is it possible that the sync mutex output issue happens in _w32os.c_ in method _osync_get_mutex_, when you do:
sprintf (mutex, "0x%Ix", (unsigned long long)(DWORD_PTR)osync_handle); Because: "%I" is Microsoft specific. See https://learn.microsoft.com/en-us/cpp/c-runtime-library/format-specification-syntax-printf-and-wprintf-functions?view=msvc-170 There they say: > Microsoft-specific: The I (uppercase i), I32, I64, and w argument size > modifier prefixes are Microsoft extensions and are not ISO C-compatible. So the issue could be that in none-MSVC-compiler settings (looking at mingw), the %I is interpreted as something else and thus results in a string that is simply wrong - like the garbage string shown below. I come to that conclusion, because I am running on mingw (via MSYS) and I get a similar issue. And when I run with _--debug=v_, I get Reading makefile 'Makefile'... Using jobserver controller gmake_semaphore_34160 Using output-sync mutex Updating makefiles.... So in the place where it should print the mutex hex number I get nothing. Not the same as the "�*V8�" below, but close enough. Related: my bug report at msys2/MINGW-packages: https://github.com/msys2/MINGW-packages/issues/29218 _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?64806> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/
signature.asc
Description: PGP signature
