https://bugs.winehq.org/show_bug.cgi?id=53756
Bug ID: 53756 Summary: configure fails in 32-bit gcc checking pthread_create using -Wl,--disable-stdcall-fixup Product: Wine Version: 7.17 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: critical Priority: P2 Component: build-env Assignee: wine-bugs@winehq.org Reporter: zakarjor@yahoo.com Distribution: ---
in 32-bit wine build, ./configure fails with the following message:
checking for pthread_create in -lpthread... no configure: error: pthread 32-bit develment files not found. Wine cannot support threads without libpthread. Use the --without-pthread option if you really want this.
Checking config.log, the problem seems to be related to a second test of -Wl,--disable-stdcall-fixup for cross-compiler, which sets CFLAGS with that argument, and pthread test uses gcc that doesn't have that flag.
in case $host_cpu in *i[3456]86*), it checks -Wl,--disable-std-call-fixup and since gcc doesn't have it, CFLAGS is not changed, but further down, when it tests the same flag for cross-compiler, since 32-bit mingw gcc has that flag, CCFLAGS now appends that flag.
Eventually when pthread_create is tested using gcc with CFLAGS containing the unknown flag for gcc, it fails to compile, and wrongly says it couldn't find pthread_create.
This works for case x86_64 since no such flag test exists.
This looks like a regression by changes in https://gitlab.winehq.org/wine/wine/-/commit/8b7baa1128d974b6b9e4fc49853242e...