summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRadomir Malaczek <radomirm@google.com>2018-01-18 14:00:31 -0800
committerRadomir Malaczek <radomirm@google.com>2018-01-19 22:44:29 +0000
commite006a4d19df960cf6f51d7ace58a6c97719e793e (patch)
tree33b7f133cde1e232631c8287b848a7d8d3254652
parent73783a37df859fb23a3c35ba2554897882a16df1 (diff)
downloadjdk-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-xmac/Contents/Home/jre/lib/libfreetype.dylib.6bin723600 -> 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
index 615aef50..9c36ead5 100755
--- a/mac/Contents/Home/jre/lib/libfreetype.dylib.6
+++ b/mac/Contents/Home/jre/lib/libfreetype.dylib.6
Binary files differ