[Pixman] Pixman build for arm

Siarhei Siamashka siarhei.siamashka at gmail.com
Tue Jun 22 05:37:43 PDT 2010

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:

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)
> 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