WebKit uses SSE XMM and breaks on XO-1
Peter Robinson
pbrobinson at gmail.com
Mon Aug 25 07:22:20 EDT 2014
Hi James,
On Sat, Aug 23, 2014 at 7:05 AM, James Cameron <quozl at laptop.org> wrote:
> With recent changes to Google Search JavaScript, searching terminates
> Browse with a SIGSEGV, in WTF::dtoa.
>
> http://bugs.sugarlabs.org/ticket/4785
>
> This is only seen on an XO-1, in 13.2.1, 13.2.0, all the way back to
> 12.1.0. It is not seen on more recent XO laptops.
>
> On Fedora 20, with Sugar 0.102, and Browse-156, on kernel 3.10, does
> similar, but the failure is SIGILL. Using gdb we find the failing
> instructions are references to XMM registers:
>
> 0xabeda509: mov 0x4(%eax),%ebx
> 0xabeda50c: cmp -0x8(%ebx),%ecx
> 0xabeda50f: jae 0xabedbcde
> => 0xabeda515: movsd (%ebx,%ecx,8),%xmm0 <=
> 0xabeda51a: ucomisd %xmm0,%xmm0
> 0xabeda51e: jp 0xabedbcde
> 0xabeda524: movd %xmm0,%eax
>
> The XO-1 with AMD Geode processor does not have these registers, so
> the SIGILL is valid.
>
> So it would seem one way to fix this may be to rebuild WebKit without
> this instruction stream.
>
> But first, I want to make sure I can rebuild WebKit. I've tried on a
> Fedora 20 system to do this:
>
> yumdownloader --source webkitgtk3
> rpmrebuild --rebuild webkitgtk3-1.10.2-3.fc18.src.rpm
>
> But it fails with this:
>
> libtool: link: gcc -o /root/rpmbuild/BUILD/webkitgtk-1.10.2/tmp-introspectHnbXap/.libs/WebKit-3.0 -O2 -g1 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -DLIBSOUP_I_HAVE_READ_BUG_594377_AND_KNOW_SOUP_PASSWORD_MANAGER_MIGHT_GO_AWAY -O2 -Wl,-z -Wl,relro /root/rpmbuild/BUILD/webkitgtk-1.10.2/tmp-introspectHnbXap/WebKit-3.0.o -Wl,--export-dynamic -pthread -Wl,--export-dynamic -L. /root/rpmbuild/BUILD/webkitgtk-1.10.2/.libs/libwebkitgtk-3.0.so /root/rpmbuild/BUILD/webkitgtk-1.10.2/.libs/libjavascriptcoregtk-3.0.so -lgmodule-2.0 -lrt -lgtk-3 -lgdk-3 -latk-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo -lsoup-2.4 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -pthread
> /lib/libGL.so.1: undefined reference to `_glapi_tls_Dispatch'
> /lib/libEGL.so.1: undefined reference to `wl_display_dispatch_queue_pending'
> collect2: error: ld returned 1 exit status
> linking of temporary binary failed: Command '['./doltlibtool', '--mode=link', '--tag=CC', 'gcc', '-o', '/root/rpmbuild/BUILD/webkitgtk-1.10.2/tmp-introspectHnbXap/WebKit-3.0', '-export-dynamic', '-O2', '-g1', '-pipe', '-Wall', '-Wp,-D_FORTIFY_SOURCE=2', '-fexceptions', '-fstack-protector', '--param=ssp-buffer-size=4', '-m32', '-march=i686', '-mtune=atom', '-fasynchronous-unwind-tables', '-DLIBSOUP_I_HAVE_READ_BUG_594377_AND_KNOW_SOUP_PASSWORD_MANAGER_MIGHT_GO_AWAY', '-O2', '-Wl,-z,relro', '/root/rpmbuild/BUILD/webkitgtk-1.10.2/tmp-introspectHnbXap/WebKit-3.0.o', '-L.', '-lwebkitgtk-3.0', '-ljavascriptcoregtk-3.0', '-Wl,--export-dynamic', '-pthread', '-lgmodule-2.0', '-lrt', '-lgtk-3', '-lgdk-3', '-latk-1.0', '-lpangocairo-1.0', '-lgdk_pixbuf-2.0', '-lcairo-gobject', '-lpango-1.0', '-lcairo', '-lsoup-2.4', '-lgio-2.0', '-lgobject-2.0', '-lglib-2.0']' returned non-zero exit status 1
> make[1]: *** [WebKit-3.0.gir] Error 1
> make[1]: Leaving directory `/root/rpmbuild/BUILD/webkitgtk-1.10.2'
> make: *** [all] Error 2
> error: Bad exit status from /var/tmp/rpm-tmp.vGFtGZ (%build)
I wonder if that's due to a newer mesa, I can have a look, or
review/push any package updates needed to Fedora to fix this. Let me
know how I can help fix this.
Peter
More information about the Devel
mailing list