[Pixman] pixman on iOS

Siarhei Siamashka siarhei.siamashka at gmail.com
Fri Feb 17 03:22:10 PST 2012


On Thu, Feb 16, 2012 at 10:19 PM, Søren Sandmann <sandmann at cs.au.dk> wrote:
> Jeremy Huddleston <jeremyhu at apple.com> writes:
>
>> Can you give me a bit more specifics?  Do you have a reduced test case
>> that you can show me of the problems you are having?  Have you opened
>> a bug report on llvm's bugzilla?  Have you filed a radar with Apple's
>> bug tracker?

Yes, one possible resolution is to get Clang/LLVM more compatible with
gcc/binutils. Or more specifically its integrated assembler. Right now
clang integrated assembler it is quite far from accepting any GAS
code, especially the ".altmacro" syntax used by pixman NEON assembly.

To give an example of some bug report, this one is needed for better
gcc/binutils compatibility:
    http://llvm.org/bugs/show_bug.cgi?id=11855

> As I understand it:
>
> The reduced test case is to just run the configure script on iOS. It
> will produce something like this:
>
>  Checker whether to use ARM NEON assembler ... ARM NEON intrinsics not detected
>
> Which is a problem because pixman has an extensive set of high-quality
> NEON fast paths that signifcantly improves performance when NEON is
> available.
>
> It's not easy to solve this problem because the issue is that the
> toolchain used for iOS simply can't cope with the assembler directives
> used in pixman-arm-neon-asm.S. Hence people have resorted to compiling
> it on Linux and then using a disassembler to get preprocessed assembly
> back that the iOS toolchain *can* cope with.

It should be not necessary to compile on linux. Having no OS X, I have
never tried it, but chances should be good for successful compilation
of crossbinutils on OS X targeting arm linux. Which could a part of a
fully automated pixman iOS build script like I tried to suggest here:
    http://lists.freedesktop.org/archives/pixman/2011-August/001362.html

-- 
Best regards,
Siarhei Siamashka


More information about the Pixman mailing list