https://bugs.winehq.org/show_bug.cgi?id=48846
Bug ID: 48846 Summary: msvcr90/tests/msvcr90.c: error: variadic functions must use the base AAPCS variant Product: Wine Version: 5.5 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: msvcrt Assignee: wine-bugs@winehq.org Reporter: austinenglish@gmail.com Distribution: ---
I got my RPI back up and running; tried building wine-5.5, and there's (surprisingly, only one) build failure:
ccache gcc -c -o msvcr90.o msvcr90.c -I. -I../../../include -I../../../include/msvcrt -D__WINESRC__ \ -D_REENTRANT -fPIC -fno-builtin -fshort-wchar -Wall -pipe -fcf-protection=none \ -fno-stack-protector -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body \ -Wignored-qualifiers -Wno-packed-not-aligned -Wshift-overflow=2 -Wstrict-prototypes -Wtype-limits \ -Wunused-but-set-parameter -Wvla -Wwrite-strings -Wpointer-arith -Wlogical-op -gdwarf-2 \ -gstrict-dwarf -g -O2 -marm -mfloat-abi=hard msvcr90.c: In function ‘test_swscanf’: msvcr90.c:1941:9: error: variadic functions must use the base AAPCS variant ret = p_swscanf(L" \t\n\n", L"%s", buffer); ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ msvcr90.c:1941:9: error: variadic functions must use the base AAPCS variant make[1]: *** [Makefile:180: msvcr90.o] Error 1 make[1]: Leaving directory '/home/pi/wine-git/dlls/msvcr90/tests' make: *** [Makefile:8806: dlls/msvcr90/tests] Error 2
after removing that test, the rest of wine compiles fine.
https://bugs.winehq.org/show_bug.cgi?id=48846
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Hardware|x86 |arm Keywords| |regression Regression SHA1| |0a89a699135802b083d142130d3 | |b0ef618485478
--- Comment #1 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming. Although I regularly cross-compile Wine for ARMv7 and AArch64 on my x86_64 host I didn't notice the breakage due to having building of tests disabled by default :|
The build regression was introduced here: https://source.winehq.org/git/wine.git/commitdiff/0a89a699135802b083d142130d... ("msvcrt: Fix fscanf return when EOF is immediately after an end of line.")
You need to use WINAPIV calling convention for variadic functions. This was missed here when the test got added.
Poky SDK cross-toolchain for ARMv7 hard-float target:
--- snip --- ... make[1]: Entering directory '/home/focht/projects/wine/mainline-build-arm/dlls/msvcr90/tests' arm-pokymllib32-linux-gnueabi-gcc -march=armv7-a -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard --sysroot=/home/focht/projects/poky/sdk-install/sysroots/aarch64-poky-linux -c -o msvcr90.o /home/focht/projects/wine/mainline-src/dlls/msvcr90/tests/msvcr90.c -I. \ -I/home/focht/projects/wine/mainline-src/dlls/msvcr90/tests -I../../../include \ -I/home/focht/projects/wine/mainline-src/include \ -I/home/focht/projects/wine/mainline-src/include/msvcrt -D__WINESRC__ -D_REENTRANT -fPIC \ -fno-builtin -fshort-wchar -Wall -pipe -fcf-protection=none -fno-stack-protector \ -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers \ -Wno-packed-not-aligned -Wshift-overflow=2 -Wstrict-prototypes -Wtype-limits \ -Wunused-but-set-parameter -Wvla -Wwrite-strings -Wpointer-arith -Wlogical-op -gdwarf-2 \ -gstrict-dwarf -g -O2 -marm -mfloat-abi=hard -mfpu=neon /home/focht/projects/wine/mainline-src/dlls/msvcr90/tests/msvcr90.c: In function ‘test_swscanf’: /home/focht/projects/wine/mainline-src/dlls/msvcr90/tests/msvcr90.c:1941:9: error: variadic functions must use the base AAPCS variant ret = p_swscanf(L" \t\n\n", L"%s", buffer); ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/focht/projects/wine/mainline-src/dlls/msvcr90/tests/msvcr90.c:1941:9: error: variadic functions must use the base AAPCS variant make[1]: *** [Makefile:180: msvcr90.o] Error 1 make[1]: Leaving directory '/home/focht/projects/wine/mainline-build-arm/dlls/msvcr90/tests' make: *** [Makefile:9191: dlls/msvcr90/tests] Error 2 --- snip ---
AArch64 (AAPCS64) is fine:
--- snip --- ... aarch64-poky-linux-clang -mlittle-endian --sysroot=/home/focht/projects/poky/sdk-install/sysroots/aarch64-poky-linux -c -o msvcr90.o /home/focht/projects/wine/mainline-src/dlls/msvcr90/tests/msvcr90.c -I. \ -I/home/focht/projects/wine/mainline-src/dlls/msvcr90/tests -I../../../include \ -I/home/focht/projects/wine/mainline-src/include \ -I/home/focht/projects/wine/mainline-src/include/msvcrt -D__WINESRC__ -D_REENTRANT -fPIC \ -fno-builtin -fshort-wchar -Wall -pipe -fcf-protection=none -fno-stack-protector \ -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers \ -Wno-pragma-pack -Wstrict-prototypes -Wtype-limits -Wvla -Wwrite-strings -Wpointer-arith -gdwarf-2 \ -gstrict-dwarf -g -O2 -ffixed-x18 aarch64-poky-linux-clang -mlittle-endian --sysroot=/home/focht/projects/poky/sdk-install/sysroots/aarch64-poky-linux -c -o testlist.o testlist.c -I. -I/home/focht/projects/wine/mainline-src/dlls/msvcr90/tests \ -I../../../include -I/home/focht/projects/wine/mainline-src/include \ -I/home/focht/projects/wine/mainline-src/include/msvcrt -D__WINESRC__ -D_REENTRANT -fPIC \ -fno-builtin -fshort-wchar -Wall -pipe -fcf-protection=none -fno-stack-protector \ -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers \ -Wno-pragma-pack -Wstrict-prototypes -Wtype-limits -Wvla -Wwrite-strings -Wpointer-arith -gdwarf-2 \ -gstrict-dwarf -g -O2 -ffixed-x18 /home/focht/projects/wine/mainline-build-x86_64/tools/wrc/wrc -u -o msvcr90.res -b aarch64-poky-linux \ --nostdinc -I. -I/home/focht/projects/wine/mainline-src/dlls/msvcr90/tests -I../../../include \ -I/home/focht/projects/wine/mainline-src/include \ -I/home/focht/projects/wine/mainline-src/include/msvcrt -D__WINESRC__ \ /home/focht/projects/wine/mainline-src/dlls/msvcr90/tests/msvcr90.rc /home/focht/projects/wine/mainline-build-x86_64/tools/winegcc/winegcc -o msvcr90_test-stripped.exe.so --wine-objdir ../../.. \ --winebuild /home/focht/projects/wine/mainline-build-x86_64/tools/winebuild/winebuild -b \ aarch64-poky-linux -fPIC -fasynchronous-unwind-tables -s -Wb,-F,msvcr90_test.exe -mno-cygwin \ msvcr90.o testlist.o msvcr90.res -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed echo "msvcr90_test.exe TESTRES "msvcr90_test-stripped.exe.so"" | /home/focht/projects/wine/mainline-build-x86_64/tools/wrc/wrc -u -o ../../../programs/winetest/msvcr90_test.res /home/focht/projects/wine/mainline-build-x86_64/tools/winegcc/winegcc -o msvcr90_test.exe.so --wine-objdir ../../.. \ --winebuild /home/focht/projects/wine/mainline-build-x86_64/tools/winebuild/winebuild -b \ aarch64-poky-linux -fPIC -fasynchronous-unwind-tables -mno-cygwin msvcr90.o testlist.o msvcr90.res \ -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed make[1]: Leaving directory '/home/focht/projects/wine/mainline-build-aarch64/dlls/msvcr90/tests' --- snip ---
Regards
https://bugs.winehq.org/show_bug.cgi?id=48846
Piotr Caban piotr.caban@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |piotr.caban@gmail.com
--- Comment #2 from Piotr Caban piotr.caban@gmail.com --- It should be fixed by 05ca9185284757c55926feccde1e3a4bca4d3afe. Please retest.
https://bugs.winehq.org/show_bug.cgi?id=48846
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |05ca9185284757c55926feccde1 | |e3a4bca4d3afe Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #3 from Austin English austinenglish@gmail.com --- Yep, as of wine-5.5-54-g9bcb1f5195 armv7l compiles with 8.3.0-6+rpi1
Fixed by 05ca9185284757c55926feccde1e3a4bca4d3afe, thanks Piotr.
https://bugs.winehq.org/show_bug.cgi?id=48846
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #4 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 5.6.
https://bugs.winehq.org/show_bug.cgi?id=48846
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |5.0.x
https://bugs.winehq.org/show_bug.cgi?id=48846
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|5.0.x |---
--- Comment #5 from Michael Stefaniuc mstefani@winehq.org --- Removing the 5.0.x milestone from bug fixes included in 5.0.1.