Red Hat Bugzilla – Bug 1293190
v8 on i686 should be built with the x87 arch, possibly with ia32 builds in lib/sse2
Last modified: 2015-12-21 19:13:49 EST
Description of problem:
Looking at the specfile, it looks like the current v8 packages use the upstream default architecture on i686. But that default requires SSE2, contrary to Fedora policies.
Version-Release number of selected component (if applicable):
and many more
Steps to Reproduce:
1. Look at the build.log file.
There is only a build with -DV8_TARGET_ARCH_IA32 (that requires SSE2).
There should be a build with -DV8_TARGET_ARCH_X87, and probably also a separate build with -DV8_TARGET_ARCH_IA32 (SSE2). If the builds are binary-compatible, the latter should simply go into /usr/lib/sse2. If they are not, we need to find some other solution.
I am currently looking into what it takes to fix QtWebEngine to work on all x86 CPUs Fedora is expected to support. The system v8 package seems to be the first roadblocker. (I know that Chromium/QtWebEngine itself needs fixing through patches. But at least V8 has upstream support that simply needs to be enabled.)
In addition, V8 is also used by other software (e.g. Node.js) that does not itself require SSE2 if V8 is not compiled to require it.
FYI, this is what I have for QtWebEngine (and Chromium) itself: https://bugzilla.redhat.com/show_bug.cgi?id=1244196#c22
As of now, QtWebEngine doesn't actually use the system V8, but these do:
It also turns out the packaged V8 is an ancient version from 2013 that predates the ia32/x87 arch split, so it detects SSE2 availability at runtime. (No wonder Chromium and QtWebEngine cannot use such a stone-age V8!) Compiling V8 twice will need to be done when upgrading to a more modern version of V8.