diff options
Diffstat (limited to 'gfx/cairo/pixman-android-cpu-detect.patch')
-rw-r--r-- | gfx/cairo/pixman-android-cpu-detect.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gfx/cairo/pixman-android-cpu-detect.patch b/gfx/cairo/pixman-android-cpu-detect.patch new file mode 100644 index 0000000000..130af51308 --- /dev/null +++ b/gfx/cairo/pixman-android-cpu-detect.patch @@ -0,0 +1,29 @@ +diff --git a/gfx/cairo/libpixman/src/pixman-cpu.c b/gfx/cairo/libpixman/src/pixman-cpu.c +--- a/gfx/cairo/libpixman/src/pixman-cpu.c ++++ b/gfx/cairo/libpixman/src/pixman-cpu.c +@@ -257,19 +257,22 @@ pixman_arm_read_auxv() + arm_tests_initialized = TRUE; + return; + } + + fread(buf, sizeof(char), 1024, f); + fclose(f); + pos = strstr(buf, ver_token); + if (pos) { +- int ver = *(pos + strlen(ver_token)) - '0'; +- arm_has_v7 = ver >= 7; +- arm_has_v6 = ver >= 6; ++ char vchar = *(pos + strlen(ver_token)); ++ if (vchar >= '0' && vchar <= '9') { ++ int ver = vchar - '0'; ++ arm_has_v7 = ver >= 7; ++ arm_has_v6 = ver >= 6; ++ } + } + arm_has_neon = strstr(buf, "neon") != NULL; + arm_has_vfp = strstr(buf, "vfp") != NULL; + arm_has_iwmmxt = strstr(buf, "iwmmxt") != NULL; + arm_tests_initialized = TRUE; + } + + #else |