<html>
<head>
<base href="https://bugs.webkit.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - [GTK] pixman fails to compile on Raspberry Pi (GCC crash)"
href="https://bugs.webkit.org/show_bug.cgi?id=167411#c12">Comment # 12</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - [GTK] pixman fails to compile on Raspberry Pi (GCC crash)"
href="https://bugs.webkit.org/show_bug.cgi?id=167411">bug 167411</a>
from <span class="vcard"><a class="email" href="mailto:clopez@igalia.com" title="Carlos Alberto Lopez Perez <clopez@igalia.com>"> <span class="fn">Carlos Alberto Lopez Perez</span></a>
</span></b>
<pre>This is the issue explained:
* pixman has an optional fastpath for iwMMXt ("Intel Wireless MMX Technology"), which are an extension of the ARM instruction set found in some Intel's and Marvell's XScale microprocessors.
* On the configure step, pixman tests the compiler to see if has support for iwMMXt. On the raspberrypi with pixel this test passes, but on a standard Debian ARMv7 it doesn't. The explanation is that for iwMMXt support the compiler has to use ARM traditional instruction set. And Debian defaults to use Thumb2 instruction set, meanwhile Pixel/Raspbian defaults to ARM traditional. So in standard Debian this test doesn't passes and the support for iwMMXt is disabled in the configure step, avoiding that way the compiler bug on the compile step. On the RPI with Pixel the test passes and support for
iwMMXt is enabled, causing the failure on the build step.
Given that:
* Boards with this iwMMXt instructions are rare (I never saw one and its the first time I hear about this iwMMXt thing)
* We are already disabling MMX for another build issue with Clang (And MMX instructions are practically on every recent x86 chip). See <a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - [jhbuild] Fix pixman build with clang"
href="show_bug.cgi?id=151441">bug 151441</a>
* The performance implications of disabling iwMMXt don't look like a game changer: <a href="https://people.freedesktop.org/~mattst88/iwmmxt-benchmarks/cairo-perf-trace-summary">https://people.freedesktop.org/~mattst88/iwmmxt-benchmarks/cairo-perf-trace-summary</a>
* This will be a no-op on any standard Debian (and probably also on other distros like Ubuntu or Fedora) system. As Debian defaults to use Thumb2 on ARMv7.
* The goal of the JHBuild is not to build the libraries for production, but for allowing the developers to have consistent layout test results. So I think its ok to disable any optimization on this libraries when it helps the goal of allowing the build to succeed on any developer machine.
So, I think we should disable this like it has been done for the EFL port.
Patch coming</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>