[Pixman] Pixman build for arm

Jason Rukman JasonR at bsquare.com
Tue Jun 22 08:39:15 PDT 2010


Thank you for the pointer...

I think I'm ok on this front though as I'm not trying to replace the windows CE VFP.  I'm just looking to use the arm-neon assembler for the implementation layer. 

Jason.

-----Original Message-----
From: Siarhei Siamashka [mailto:siarhei.siamashka at gmail.com] 
Sent: Tuesday, June 22, 2010 5:38 AM
To: pixman at lists.freedesktop.org
Cc: Jason Rukman
Subject: Re: [Pixman] Pixman build for arm

On Monday 21 June 2010 21:37:44 Jason Rukman wrote:
> I'm trying to build pixman for the ARM coretex-a8 neon fpu for windows CE
>  without much luck so far.

I don't have a first hand information, but there are some concerns whether 
windows CE OS supports NEON:
http://lists.cairographics.org/archives/cairo/2009-October/018435.html

Even linux had a few NEON/VFP bugs in the OS kernel which impacted pixman. 
Additionally, getting properly working NEON requires some workarounds to be 
applied in a bootloader for certain revisions of Cortex-A8. This stuff is kind
of a minefield. We may hope that windows CE did everything right. But if it is 
not the case, you can encounter crashes or CPU deadlocks. I'm not trying to 
scare you off, just be aware of that.

> I've found a version of the gcc tools for building for windows CE ARM:
> 
> $ ./as --version
> GNU assembler (GNU Binutils) 2.19.51.20090204
> 
> But when I try and compile the neon specific code it looks like it's not
>  able to handle the assembler code (see below).
>
> Can someone point me at a toolchain that I can use for compiling this
>  assembler so I can take advantage of the NEON specific code?

The version of GNU assembler seems to be ok.
 
> Here's my output when trying to compile pixman-arm-neon-asm.S:
> 
> $ ./as -mfpu=neon
>  /cygdrive/c/src/webkitce/Libraries/cairo-1.8.8/pixman/pixman/
>  pixman-arm-neon-asm.S >> bld.out

You should not run 'as' directly on *.S files. They also require C 
preprocessor, and should be compiled with 'gcc', which will invoke 'as' itself 
automatically after passing it through preprocessor.

>  /cygdrive/c/src/webkitce/Libraries/cairo-1.8.8/pixman/pixman/pixman-arm-ne
> on-asm .S:46: Error: unknown pseudo-op: `.eabi_attribute'

One more thing, these are ELF specific EABI attributes which are not needed 
for you and cause build failure. They are not guarded by preprocessor 
intentionally, because this code was only tested on linux with ARM EABI 
calling conventions. If ABI in windows CE is compatible with ARM EABI, then 
everything is fine. But somebody needs to verify it first and add ifdefs in 
the code.

-- 
Best regards,
Siarhei Siamashka


More information about the Pixman mailing list