Commit Graph

9 Commits

Author SHA1 Message Date
Kevin Kofler
e24db1777f no-sse2.patch: Switch back to gold, blink_platform.gyp fixes
* Revert the change to force the BFD ld, that was not the issue.
* Make some fixes to my blink_sse2 target in blink_platform.gyp:
  - add missing dependencies to get the needed feature_defines,
  - add missing target defines,
  - add -mfpmath=sse in addition to -msse2 because this is
    floating-point math and we should definitely not do x87 in
    the SSE2-optimized versions of the functions.
2016-01-17 22:45:49 +01:00
Kevin Kofler
4c9d7b0aba no-sse2.patch: try linking with ld.bfd instead of gold
I am getting undefined references to symbols that should be defined by
an archive linked with -Wl,--whole-archive from gold, which really
should not happen.

Also the unnecessary hard_dependency in blink_platform.gyp.
2016-01-17 19:45:04 +01:00
Kevin Kofler
faeb141b37 no-sse2.patch: Fix/simplify disable_sse2 logic in breakpad/src/build/common.gypi
That file is not really used in QtWebEngine anyway, but simply
defaulting disable_sse2 to 1 is the right thing. The variable is ignored
on everything other than ia32 (i686) anyway, even on x64 (x86_64). And
setting conditional defaults might not work as expected in gyp.
2016-01-17 06:32:37 +01:00
Kevin Kofler
1e170961f9 no-sse2.patch: Fix typos in the patched header files 2016-01-17 05:10:15 +01:00
Kevin Kofler
799b5e1118 no-sse2.patch: Fix typos
* Fix typo in blink_platform.gyp.
* Restore the v8 parts that accidentally went missing.
2016-01-17 04:46:25 +01:00
Kevin Kofler
ab696c2550 no-sse2.patch: fix audio/VectorMath and audio/SincResampler FTBFS
* Fix src/3rdparty/chromium/third_party/WebKit/Source/platform/audio/
  SincResampler.cpp and VectorMath.cpp to not require SSE2 on x86
  (including runtime detection).
* Also add runtime detection for DirectConvolver.cpp.
2016-01-17 04:30:41 +01:00
Kevin Kofler
42f26ca168 no-sse2.patch: remove -ffloat-store, fix DirectConvolver FTBFS
* Remove the -ffloat-store workaround: The media player issue that
  caused problems with x87 floating point (and ultimately made upstream
  require SSE2) should already be fixed / worked around by:
  https://crrev.com/d2c745b13c93ecff5108bed57d8e052126715492
  So I will only readd -ffloat-store if people request it, and even
  then, only to specific parts of code and not everything.
* Fix src/3rdparty/chromium/third_party/WebKit/Source/platform/audio/
  DirectConvolver.cpp to not require SSE2 on x86. (No runtime detection,
  sorry.)
* Update the changelog date in the specfile.
2016-01-17 02:34:08 +01:00
Kevin Kofler
3bd7f659f7 no-sse2.patch: Fix an FTBFS in the gyp changes 2016-01-17 00:54:23 +01:00
Kevin Kofler
6d0400baa5 Do not require SSE2 on i686
See https://bugzilla.redhat.com/show_bug.cgi?id=1244196#c22 for the
history of the patch. Compared to the last revision there (v5):
* I fixed WebGLImageConversion.cpp to not assume SSE2 on x86.
  Unfortunately, it would be really hard to make runtime detection work
  there, because it uses intrinsics in inline templates, and GCC only
  supports intrinsics when building the whole code for the vector
  instruction set. So I had to turn off that SSE2 code entirely when
  __SSE2__ is not defined at compile time.
* I fixed webrtc to check for SSE2 at runtime (using the runtime
  checking code that webrtc already has and uses in several places)
  before attempting to use OpenMAX on x86. OpenMAX requires SSE2.
  So we just fall back to the Ooura implementation of FFTs when needed.
TODO: build V8 shared and twice (once for x87, once for SSE2)
2016-01-17 00:17:04 +01:00