Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 298391 - x11-libs/pixman-0.17.2 wrong neon yes on armv4tl
Summary: x11-libs/pixman-0.17.2 wrong neon yes on armv4tl
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: ARM Linux
: High normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-12-26 01:10 UTC by Maksim 'max_posedon' Melnikau
Modified: 2010-01-12 20:47 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
patch fixed neon and simd checks (fix-neon-simd-checks.patch,1.26 KB, patch)
2009-12-26 03:18 UTC, Maksim 'max_posedon' Melnikau
Details | Diff
ebuild patch (pixman-0.17.2.ebuild.patch,527 bytes, patch)
2009-12-26 03:21 UTC, Maksim 'max_posedon' Melnikau
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Maksim 'max_posedon' Melnikau 2009-12-26 01:10:48 UTC
checking whether to use MMX intrinsics... disabled
checking whether to use SSE2 intrinsics... disabled
checking whether to use VMX/Altivec intrinsics... disabled
checking whether to use ARM SIMD assembler... yes
checking whether to use ARM NEON assembler... yes
checking whether to use GNU-style inline assembler... yes

....

mv -f .deps/pixman-matrix.Tpo .deps/pixman-matrix.Plo
 armv4tl-softfloat-linux-gnueabi-gcc -DHAVE_CONFIG_H -I. -I.. -Os -march=armv4t -mtune=arm920t -pipe -MT pixman-arm-neon-asm.lo -MD -MP -MF .deps/pixman-arm-neon-asm.Tpo -c pixman-arm-neon-asm.S  -fPIC -DPIC -o .libs/pixman-arm-neon-asm.o
armv4tl-softfloat-linux-gnueabi-ar cru .libs/libpixman-arm-simd.a .libs/libpixman_arm_simd_la-pixman-arm-simd.o
pixman-arm-neon-asm.h: Assembler messages:
pixman-arm-neon-asm.h:565: Error: selected processor does not support `pld [PF_SRC,PF_X,lsl#src_bpp_shift]'
pixman-arm-neon-asm.h:565: Error: selected processor does not support `pld [PF_DST,PF_X,lsl#dst_bpp_shift]'


Reproducible: Always
Comment 1 Maksim 'max_posedon' Melnikau 2009-12-26 01:12:02 UTC
configure:21747: result: yes
configure:21767: checking whether to use ARM NEON assembler
configure:21788: armv4tl-softfloat-linux-gnueabi-gcc -c -x assembler-with-cpp  conftest.c >&5
configure:21795: $? = 0
Comment 2 Siarhei Siamashka 2009-12-26 01:16:01 UTC
Thanks. It really a valid bug and pixman fails to build when compiling code for armv4 arch. It can be fixed using the following patch from upstream git:
http://cgit.freedesktop.org/pixman/commit/?id=a47b5167c4c1b55b2f51e29ab0782c2659bec312
Comment 3 Siarhei Siamashka 2009-12-26 01:18:15 UTC
(In reply to comment #1)
> configure:21747: result: yes
> configure:21767: checking whether to use ARM NEON assembler
> configure:21788: armv4tl-softfloat-linux-gnueabi-gcc -c -x assembler-with-cpp 
> conftest.c >&5
> configure:21795: $? = 0

This is a check which verifies whether your *toolchain* is able to compile NEON code. The real decision whether to run it on real CPU is made at runtime.
Comment 4 Maksim 'max_posedon' Melnikau 2009-12-26 03:18:21 UTC
Created attachment 214181 [details, diff]
patch fixed neon and simd checks

This is how it should looks like, but I haven't tested on arm's with neon support, but it should be fine.

config.log:

configure:11403: checking whether to use ARM SIMD assembler
configure:11413: armv4tl-softfloat-linux-gnueabi-gcc -c -Os -march=armv4t -mtune=arm920t -pipe -Wall -fno-strict-aliasing -fvisibility=hidden  conftest.c >&5
{standard input}: Assembler messages:
{standard input}:24: Error: selected processor does not support `uqadd8 r1,r1,r2'


configure:11438: result: no
configure:11456: checking whether to use ARM NEON assembler
configure:11470: armv4tl-softfloat-linux-gnueabi-gcc -c -Os -march=armv4t -mtune=arm920t -pipe -Wall -fno-strict-aliasing -fvisibility=hidden  conftest.c >&5
{standard input}: Assembler messages:
{standard input}:24: Error: selected processor does not support `pld r0'
{standard input}:27: Error: bad instruction `vmovn.u16 d0,q0'

configure.log:

checking whether to use ARM SIMD assembler... no
checking whether to use ARM NEON assembler... no



Some more info:
1. plz respect user's cflags, users know what they want
2. assembler-with-cpp looks like useless for testing, all should be done in C asm
Comment 5 Maksim 'max_posedon' Melnikau 2009-12-26 03:21:13 UTC
Created attachment 214182 [details, diff]
ebuild patch
Comment 6 Maksim 'max_posedon' Melnikau 2009-12-26 03:28:18 UTC
(In reply to comment #2)
> Thanks. It really a valid bug and pixman fails to build when compiling code for
> armv4 arch. It can be fixed using the following patch from upstream git:
> http://cgit.freedesktop.org/pixman/commit/?id=a47b5167c4c1b55b2f51e29ab0782c2659bec312
> 

with my configure.ac patch, that commit is unneed!, (also I think that this commit was wrong way to trying to fix armv4 compilation issue)
Comment 7 Raúl Porcel (RETIRED) gentoo-dev 2010-01-11 17:24:28 UTC
"Fixed" with the stabilization of binutils-2.19.1.
Comment 8 Maksim 'max_posedon' Melnikau 2010-01-11 17:43:03 UTC
(In reply to comment #7)
> "Fixed" with the stabilization of binutils-2.19.1.
> 
not that bug fixed with binutils-2.19.1, this one is about another issue
Comment 9 Maksim 'max_posedon' Melnikau 2010-01-11 22:31:57 UTC
I just did tests with bintuils-2.19.1-r1 - armv5tel works for me,
but when I compile nativly on armv5tel for armv4tl on armv4tl chroot with armv4tl-softfloat-linux-gnueabi, I still have this issue.
Comment 10 Siarhei Siamashka 2010-01-12 08:00:59 UTC
Yes, binutils update only fixes bug 297801
See http://bugs.gentoo.org/show_bug.cgi?id=297794#c12
Comment 11 Raúl Porcel (RETIRED) gentoo-dev 2010-01-12 20:47:04 UTC
I've applied the patch from upstream, and i've tested it on armv4tl.

Closing