diff options
author | Radomir Malaczek <radomirm@google.com> | 2018-01-18 14:00:31 -0800 |
---|---|---|
committer | Radomir Malaczek <radomirm@google.com> | 2018-01-19 22:44:29 +0000 |
commit | e006a4d19df960cf6f51d7ace58a6c97719e793e (patch) | |
tree | 33b7f133cde1e232631c8287b848a7d8d3254652 | |
parent | 73783a37df859fb23a3c35ba2554897882a16df1 (diff) | |
download | jdk-e006a4d19df960cf6f51d7ace58a6c97719e793e.tar.gz |
Update freetype to not use SSE4 instruction set
libfreetype.dylib.6 that we ship with our JVM was compiled with SSE4
instuction set enabled. The resulting assembly code will not work on
CPUs that don't support SSE4, which are still used by our customers.
This resulted in regression in Android Studio 3.0 and such users can no
longer use the product.
Fix:
The original code used following SSE4 instruction (in TT_RunIns):
blendvpd %xmm2, %xmm3
To fix it, I rebuilt freetype with following envirnment setting:
export MACOSX_DEPLOYMENT_TARGET=10.8
10.8 is the same version IntelliJ uses to compile OpenJDK for IDEA.
The setting will produce the code compatibile with all systems that can
run MacOS 10.8 (Mountain Lion).
To verify that the code does not use SSE4 anymore I ran:
$ echo di -n TT_RunIns | lldb ./libfreetype.dylib.6 | \
grep -q blendvpd && echo SSE4 instruction detected!
I used freetype 2.5.5, which is the same version we used to date.
Past release we should update to latest stable release (2.9).
Change-Id: I7cec7f389fe953ebb57144c872ad772be21c935d
Fixes: 70830152
Test: Verified manually.
(cherry picked from commit d03967abbca69b05396c0b5ea5f3910526b2a5b7)
-rwxr-xr-x | mac/Contents/Home/jre/lib/libfreetype.dylib.6 | bin | 723600 -> 764552 bytes |
1 files changed, 0 insertions, 0 deletions
diff --git a/mac/Contents/Home/jre/lib/libfreetype.dylib.6 b/mac/Contents/Home/jre/lib/libfreetype.dylib.6 Binary files differindex 615aef50..9c36ead5 100755 --- a/mac/Contents/Home/jre/lib/libfreetype.dylib.6 +++ b/mac/Contents/Home/jre/lib/libfreetype.dylib.6 |