Hello Jon,

On 01/18/12 03:19, jonsm...@gmail.com wrote:
I think I finally found the problem with getting Cairo to work on ARM.
What I thought was a problem with an index in the Truetype file
actually turned out to be a code generation flaw in the 4.5-linaro
compiler. The flaw was in libpixman which is a supporting library for
cairo. Compiling libpixman with -O0 made everything work. O1,O2,O3,Os
all failed. The flaw was causing random writes that corrupted memory.
I identified the subroutine with the code generation problem but I
didn't debug the assembly code.

While I was working on this bug OpenWRT was updated to the 2012-1
release of 4.6 gcc-linaro. That release fixed the compiler bug that
was causing openssl not to build. And guess what, libpixman now works
at all optimization levels on that compiler.

Thank you for your detailed analysis and letting us know about your progress and findings. If that may interest gcc developpers you might want to report the libxpixman bad code generation to their bugtracker in case they plan on releasing an updated gcc-4.5 release.


So I hope my problems are gone for now. I have a dozen test programs
and they are all running. I'm hoping the problem is truly fixed and
hasn't just moved around again.

Once I'm confident with stability I'll prepare patches moving cairo,
pixman, freetype, liberation up to more recent versions. Plus I'll
package the luaCairo wrapper. With those additions you'll be able to
draw pretty pictures on screens with lua scripts.


Allright, thanks!
--
Florian
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to