[Pixman] pixman on iOS

Siarhei Siamashka siarhei.siamashka at gmail.com
Sun Feb 19 06:48:16 PST 2012


On Sun, Feb 19, 2012 at 12:02 PM, Andrea Canciani <ranma42 at gmail.com> wrote:
> On Sun, Feb 19, 2012 at 10:21 AM, Siarhei Siamashka
> <siarhei.siamashka at gmail.com> wrote:
>> On Sun, Feb 19, 2012 at 6:37 AM, cu <cairouser at yahoo.com> wrote:
>>> Siarhei Siamashka wrote:
>>>> 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
>>>
>>> I know we've discussed this previously, but just in case - until such
>>> time as iOS gets an appropriate assembler, perhaps it might be possible
>>> to include the "pre-compiled" (i.e. compiled-decompiled into basic
>>> assembly without macros) version of NEON code with pixman distribution?
>>> This could be made a part of release process, especially if appropriate
>>> binutils are available on the release system somwhere.
>>
>> Yes, just this "release process" should not require any extra manual
>> labour and be fully scriptable. If there is manual labour involved,
>> then:
>> a) somebody has to do this for each release
>> b) there is a much higher chance to screw up something
>>
>> BTW, could somebody try to run the following steps on OS X and check
>> if "pixman-arm-neon-asm.txt" disassembly listing can be successfully
>> generated?
>
> Yes, it works (except for wget not being available, which can easily
> be solved by using curl).
> Here is the script I ran and the assembly file it generates:
> http://people.freedesktop.org/~ranma42/ios-neon-asm/
>
> I'm running XCode 4.2.1, which ships with:
> $ clang --version
> Apple clang version 3.0 (tags/Apple/clang-211.12) (based on LLVM 3.0svn)
> Target: x86_64-apple-darwin11.3.0
> Thread model: posix
>
> I just noticed that there is also a newer XCode version (4.3).
> I'll upgrade and check if anything breaks.

Thanks for testing. It proves that there is indeed no real need to
have linux computer for running the GNU assembler assemble-disassemble
tricks. And if OS X / iOS linker could support ELF object file format,
everything would be even better.

I any case, iOS people may consider my old quickly hacked objdump2s.rb
script [1] as public domain and use it in any way they wish. Just be
warned that it is a primitive proof of concept and it can't even
handle literal pools (as used in "pixman-arm-simd-asm.S"). Moreover,
doing objdump to assembly source conversion is probably better to be
implemented in perl. Because perl is unversally available everywhere,
and pixman already uses perl.

1. http://lists.freedesktop.org/archives/pixman/2011-March/001111.html

-- 
Best regards,
Siarhei Siamashka


More information about the Pixman mailing list