gfx/cairo/win32-ffs-gcc.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.

     1 diff --git a/gfx/cairo/cairo/src/cairo-compiler-private.h b/gfx/cairo/cairo/src/cairo-compiler-private.h
     2 index ffac9ce..9a05831 100644
     3 --- a/gfx/cairo/cairo/src/cairo-compiler-private.h
     4 +++ b/gfx/cairo/cairo/src/cairo-compiler-private.h
     5 @@ -229,16 +229,20 @@ ffs (int x)
     7      if (_BitScanForward(&i, x) != 0)
     8  	return i + 1;
    10      return 0;
    11  }
    12  #endif
    14 +#elif defined(__WIN32__) && defined(__GNUC__)
    15 +
    16 +#define ffs(x) __builtin_ffs(x)
    17 +
    18  #endif
    20  #if defined(_MSC_VER) && defined(_M_IX86)
    21  /* When compiling with /Gy and /OPT:ICF identical functions will be folded in together.
    22     The CAIRO_ENSURE_UNIQUE macro ensures that a function is always unique and
    23     will never be folded into another one. Something like this might eventually
    24     be needed for GCC but it seems fine for now. */
    25  #define CAIRO_ENSURE_UNIQUE                       \

mercurial