gfx/cairo/pixman-android-cpu-detect.patch

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

michael@0 1 diff --git a/gfx/cairo/libpixman/src/pixman-cpu.c b/gfx/cairo/libpixman/src/pixman-cpu.c
michael@0 2 --- a/gfx/cairo/libpixman/src/pixman-cpu.c
michael@0 3 +++ b/gfx/cairo/libpixman/src/pixman-cpu.c
michael@0 4 @@ -257,19 +257,22 @@ pixman_arm_read_auxv()
michael@0 5 arm_tests_initialized = TRUE;
michael@0 6 return;
michael@0 7 }
michael@0 8
michael@0 9 fread(buf, sizeof(char), 1024, f);
michael@0 10 fclose(f);
michael@0 11 pos = strstr(buf, ver_token);
michael@0 12 if (pos) {
michael@0 13 - int ver = *(pos + strlen(ver_token)) - '0';
michael@0 14 - arm_has_v7 = ver >= 7;
michael@0 15 - arm_has_v6 = ver >= 6;
michael@0 16 + char vchar = *(pos + strlen(ver_token));
michael@0 17 + if (vchar >= '0' && vchar <= '9') {
michael@0 18 + int ver = vchar - '0';
michael@0 19 + arm_has_v7 = ver >= 7;
michael@0 20 + arm_has_v6 = ver >= 6;
michael@0 21 + }
michael@0 22 }
michael@0 23 arm_has_neon = strstr(buf, "neon") != NULL;
michael@0 24 arm_has_vfp = strstr(buf, "vfp") != NULL;
michael@0 25 arm_has_iwmmxt = strstr(buf, "iwmmxt") != NULL;
michael@0 26 arm_tests_initialized = TRUE;
michael@0 27 }
michael@0 28
michael@0 29 #else

mercurial