On Mon, Jul 25, 2011 at 5:02 AM, cu <cairou...@yahoo.com> wrote: > It's been a while - but I am finally at a point where this is going to > become project of the day. > > Are there any recent changes to be aware of, in particular: > - A known good version of binutils objdump? > - Anything new wrt. erroneous decoding of instructions or any other > caveats that make using most recent pixman impossible?
This is something to be investigated by those who want to get pixman ARM NEON optimizations working on iOS. I can answer some questions about the code and provide some minor assistance, but the iOS porting task needs to be driven by somebody else. Sorry. > My plan is to go through the pre-processing, get a working .S assembly > file and, provided it actually works for iOS, return it to the "public" > (i.e it could be checked into the source with appropriate disclaimers, > as you have suggested) Adding such automatically generated file to pixman repository is not maintainable because any changes to the ARM NEON assembly files would make it immediately outdated. Assuming that pixman ARM assembly sources keep using gnu assembler and no updates to iOS toolchain are coming to fix gnu assembler compatibility issue, there are two solutions possible: a) use some gas compatible macro preprocessor which supports all the features needed by pixman, https://github.com/yuvi/gas-preprocessor may be possibly improved to become one (it got libjpeg-turbo support recently, but this is not enough for pixman) b) use the original preprocessor from gnu assembler itself and extract its results via some hacks The second option is technically easier for pixman, but it is also more messy. For it to work, we need: 1. A reasonably bug free version of binutils which can do a successful "as -> objdump -> simple script -> as" roundtrip. All the binutils bugs should be reported to binutils bug tracker: http://www.gnu.org/s/binutils/ 2. Some script for pixman which can automatically download a suitable version of binutils, compile it and do all the steps needed to get the resulting iOS assembler compatible source, eliminating any possible human error in this process. The "as -> objdump" step is not quite nice, so it might be a good idea to try investigating whether it is possible to get the intermediate output of the preprocessor from gnu assembler instead of the object file. If such feature exists, then we should use it. If not, then a feature request (preferably with a patch) is better to be submitted to binutils maintainers. -- Best regards, Siarhei Siamashka _______________________________________________ Pixman mailing list Pixman@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pixman