[Bug 46079] Support 32-bit ARM hard-float cross-toolchains with GNU binutils assembler that doesn 't implicitly assume '.fpu {vfp,neon}' (Yocto/Poky SDK)
wine-bugs at winehq.org
wine-bugs at winehq.org
Sun Jul 7 10:01:16 CDT 2019
https://bugs.winehq.org/show_bug.cgi?id=46079
--- Comment #2 from Anastasius Focht <focht at gmx.net> ---
Hello folks,
revisiting, still present.
--- snip ---
...
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 wcs.o /home/focht/projects/wine/mainline-src/dlls/crtdll/../msvcrt/wcs.c -I.
\
-I/home/focht/projects/wine/mainline-src/dlls/crtdll \
-I/home/focht/projects/wine/mainline-src/dlls/crtdll/../msvcrt
-I../../include \
-I/home/focht/projects/wine/mainline-src/include -D__WINESRC__ -D_MT
-D_MSVCR_VER=0 -D_CRTDLL \
-D_REENTRANT -fPIC -Wall -pipe -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
/home/focht/projects/wine/mainline-build-x86_64/tools/winegcc/winegcc -o
crtdll.dll.so \
-B/home/focht/projects/wine/mainline-build-x86_64/tools/winebuild
--sysroot=../.. -b \
arm-pokymllib32-linux-gnueabi -marm -mfloat-abi=hard -fPIC
-fasynchronous-unwind-tables -shared \
/home/focht/projects/wine/mainline-src/dlls/crtdll/crtdll.spec console.o
cpp.o ctype.o data.o \
dir.o environ.o errno.o except.o except_arm.o except_arm64.o except_i386.o
except_x86_64.o exit.o \
file.o heap.o locale.o lock.o main.o math.o mbcs.o misc.o process.o scanf.o
string.o thread.o \
time.o undname.o wcs.o -ladvapi32 -luser32 ../../libs/port/libwine_port.a
-Wb,-dadvapi32 \
-Wb,-duser32 -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
crtdll.wx3SpG.s: Assembler messages:
crtdll.wx3SpG.s:3253: Error: selected processor does not support `vpush
{s0-s15}' in ARM mode
crtdll.wx3SpG.s:3398: Error: selected processor does not support `vpush
{s0-s15}' in ARM mode
--- snip ---
More verbose
--- snip ---
$ cd /home/focht/projects/wine/mainline-build-arm/dlls/crtdll
/home/focht/projects/wine/mainline-build-x86_64/tools/winegcc/winegcc -v -o
crtdll.dll.so
-B/home/focht/projects/wine/mainline-build-x86_64/tools/winebuild
--sysroot=../.. -b arm-pokymllib32-linux-gnueabi -marm -mfloat-abi=hard -fPIC
-fasynchronous-unwind-tables -shared
/home/focht/projects/wine/mainline-src/dlls/crtdll/crtdll.spec console.o cpp.o
ctype.o data.o dir.o environ.o errno.o except.o except_arm.o except_arm64.o
except_i386.o except_x86_64.o exit.o file.o heap.o locale.o lock.o main.o
math.o mbcs.o misc.o process.o scanf.o string.o thread.o time.o undname.o
wcs.o -ladvapi32 -luser32 ../../libs/port/libwine_port.a -Wb,-dadvapi32
-Wb,-duser32 -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
/home/focht/projects/wine/mainline-build-x86_64/tools/winebuild/winebuild -v
--target arm-pokymllib32-linux-gnueabi -munix -fasynchronous-unwind-tables
--cc-cmd=arm-pokymllib32-linux-gnueabi-gcc
--ld-cmd=arm-pokymllib32-linux-gnueabi-ld -D_REENTRANT -fPIC --dll -o
crtdll.dll-3bZX0K.spec.o -E
/home/focht/projects/wine/mainline-src/dlls/crtdll/crtdll.spec -L../../dlls
-L../../libs/wine -marm -mfloat-abi=hard -dadvapi32 -duser32 -- console.o cpp.o
ctype.o data.o dir.o environ.o errno.o except.o except_arm.o except_arm64.o
except_i386.o except_x86_64.o exit.o file.o heap.o locale.o lock.o main.o
math.o mbcs.o misc.o process.o scanf.o string.o thread.o time.o undname.o wcs.o
../../dlls/advapi32/libadvapi32.def ../../dlls/user32/libuser32.def
../../libs/port/libwine_port.a ../../dlls/winecrt0/libwinecrt0.a
../../dlls/kernel32/libkernel32.def ../../dlls/ntdll/libntdll.def
arm-pokymllib32-linux-gnueabi-gcc -xassembler -c -o crtdll.Ku8jzm.o
crtdll.MKNemL.s
arm-pokymllib32-linux-gnueabi-ld --no-wchar-size-warning -r -o crtdll.I4vdYV.o
crtdll.Ku8jzm.o console.o cpp.o ctype.o data.o dir.o environ.o errno.o except.o
except_arm.o except_arm64.o except_i386.o except_x86_64.o exit.o file.o heap.o
locale.o lock.o main.o math.o mbcs.o misc.o process.o scanf.o string.o thread.o
time.o undname.o wcs.o ../../libs/port/libwine_port.a
../../dlls/winecrt0/libwinecrt0.a
/home/focht/projects/poky/sdk-install/sysroots/x86_64-pokysdk-linux/usr/bin/arm-pokymllib32-linux-gnueabi/arm-pokymllib32-linux-gnueabi-nm
-u crtdll.I4vdYV.o
arm-pokymllib32-linux-gnueabi-gcc -xassembler -c -o crtdll.dll-3bZX0K.spec.o
crtdll.kBlbDz.s
crtdll.kBlbDz.s: Assembler messages:
crtdll.kBlbDz.s:3253: Error: selected processor does not support `vpush
{s0-s15}' in ARM mode
crtdll.kBlbDz.s:3398: Error: selected processor does not support `vpush
{s0-s15}' in ARM mode
...
--- snip ---
NOTE: Workaround for bug 46053 applied prior to pass explicit target sysroot.
Passing 'mfpu=xxx' via CFLAGS won't work here, it doesn't get propagated into
TARGETFLAGS as already mentioned in comment #1
Autogenerated Makefile:
--- snip ---
...
CC = 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
CFLAGS = -g -O2 -mfpu=neon -marm -mfloat-abi=hard
...
EXTRACFLAGS = -Wall -pipe -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
...
LD = arm-pokymllib32-linux-gnueabi-ld
--sysroot=/home/focht/projects/poky/sdk-install/sysroots/aarch64-poky-linux
...
LDFLAGS = -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
...
TARGETFLAGS = -b arm-pokymllib32-linux-gnueabi -marm -mfloat-abi=hard
--- snip ---
With fixes applied:
--- snip ---
...
/home/focht/projects/wine/mainline-build-x86_64/tools/winegcc/winegcc -o
crtdll.dll.so \
-B/home/focht/projects/wine/mainline-build-x86_64/tools/winebuild
--sysroot=../.. -b \
arm-pokymllib32-linux-gnueabi -marm -mfloat-abi=hard -mfpu=neon -fPIC
-fasynchronous-unwind-tables \
-shared /home/focht/projects/wine/mainline-src/dlls/crtdll/crtdll.spec
console.o cpp.o ctype.o \
data.o dir.o environ.o errno.o except.o except_arm.o except_arm64.o
except_i386.o except_x86_64.o \
exit.o file.o heap.o locale.o lock.o main.o math.o mbcs.o misc.o process.o
scanf.o string.o \
thread.o time.o undname.o wcs.o -ladvapi32 -luser32
../../libs/port/libwine_port.a -Wb,-dadvapi32 \
-Wb,-duser32 -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
/home/focht/projects/wine/mainline-build-x86_64/tools/winegcc/winegcc -o
crtdll.dll.fake \
-B/home/focht/projects/wine/mainline-build-x86_64/tools/winebuild
--sysroot=../.. -b \
arm-pokymllib32-linux-gnueabi -marm -mfloat-abi=hard -mfpu=neon -fPIC
-fasynchronous-unwind-tables \
-shared /home/focht/projects/wine/mainline-src/dlls/crtdll/crtdll.spec
console.o cpp.o ctype.o \
data.o dir.o environ.o errno.o except.o except_arm.o except_arm64.o
except_i386.o except_x86_64.o \
exit.o file.o heap.o locale.o lock.o main.o math.o mbcs.o misc.o process.o
scanf.o string.o \
thread.o time.o undname.o wcs.o -ladvapi32 -luser32
../../libs/port/libwine_port.a -Wb,-dadvapi32 \
-Wb,-duser32 -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
make[1]: Leaving directory
'/home/focht/projects/wine/mainline-build-arm/dlls/crtdll'
...
--- snip ---
$ wine --version
wine-4.12.1
Regards
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list