Donna Whisnant dewhisna@dewtronics.com writes:
Adds ARM ABI support to DispCallFunc() to allow IDispatch invoke calls to succeed on ARM platforms. This change specifically targets only 32-bit little-endian (ARMEL) platform CPUs. It's believed to likely be compatible with big-endian (ARMEB) platforms, but testing for that platform should be completed before enabling.
Tested on Raspbian Stretch 2017-09-07 RPi image using a Qemu systemd container to compile and run it on an x86-64 Host.. When running on Raspberry Pi hardware, a 3G/1G split kernel needs to be used for Wine to function.
It breaks the Android build:
arm-linux-androideabi-gcc -c -o typelib.o ../../../wine/dlls/oleaut32/typelib.c -I. -I../../../wine/dlls/oleaut32 \ -I../../include -I../../../wine/include -D__WINESRC__ -D_OLEAUT32_ -D_REENTRANT -fPIC -Wall -pipe \ -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers \ -Wstrict-prototypes -Wtype-limits -Wunused-but-set-parameter -Wvla -Wwrite-strings -Wpointer-arith \ -Wlogical-op -gdwarf-2 -gstrict-dwarf -g -O2 -fno-diagnostics-show-caret -D__ANDROID_API__=26 -marm {standard input}: Assembler messages: {standard input}:32: Error: selected processor does not support ARM mode `vldm r3!,{s0-s15}' Makefile:516: recipe for target 'typelib.o' failed make: *** [typelib.o] Error 1