gcc complains that these overloaded uses of pow and max are ambiguous.
Casts were used to for the selection of a specific version of the
overloaded function, but it is unclear whether they are correct or it is a
compiler bug.

file upstream bug to determine correct fix

--- webkitgtk-2.48.1/Source/JavaScriptCore/dfg/DFGOperations.cpp.orig
+++ webkitgtk-2.48.1/Source/JavaScriptCore/dfg/DFGOperations.cpp
@@ -3964,7 +3964,7 @@
 
 JSC_DEFINE_NOEXCEPT_JIT_OPERATION(operationFModOnInts, double, (int32_t a, int32_t b))
 {
-    return fmod(a, b);
+    return fmod(float(a), float(b));
 }
 
 #if USE(JSVALUE32_64)
--- webkitgtk-2.48.1/Source/WebCore/rendering/shapes/BoxLayoutShape.cpp.orig
+++ webkitgtk-2.48.1/Source/WebCore/rendering/shapes/BoxLayoutShape.cpp
@@ -44,7 +44,7 @@
 
     LayoutUnit ratio = radius / margin;
     if (ratio < 1)
-        return LayoutUnit(radius + (margin * (1 + pow(ratio - 1, 3.0))));
+        return LayoutUnit(radius + (margin * (1 + pow(static_cast<double>(ratio) - 1, 3.0))));
 
     return radius + margin;
 }
--- webkitgtk-2.48.1/Source/WebCore/rendering/shapes/RasterLayoutShape.cpp.orig
+++ webkitgtk-2.48.1/Source/WebCore/rendering/shapes/RasterLayoutShape.cpp
@@ -145,7 +145,7 @@
         return *m_intervals;
 
     int shapeMarginInt = clampToPositiveInteger(ceil(shapeMargin()));
-    int maxShapeMarginInt = std::max(m_marginRectSize.width(), m_marginRectSize.height()) * sqrt(2);
+    int maxShapeMarginInt = std::max(m_marginRectSize.width(), m_marginRectSize.height()) * sqrt(static_cast<float>(2));
     if (!m_marginIntervals)
         m_marginIntervals = m_intervals->computeShapeMarginIntervals(std::min(shapeMarginInt, maxShapeMarginInt));
 
--- webkitgtk-2.48.1/Source/JavaScriptCore/dfg/DFGStaticExecutionCountEstimationPhase.cpp.orig
+++ webkitgtk-2.48.1/Source/JavaScriptCore/dfg/DFGStaticExecutionCountEstimationPhase.cpp
@@ -52,7 +52,7 @@
             if (!block)
                 continue;
 
-            block->executionCount = pow(10, m_graph.m_cpsNaturalLoops->loopDepth(block));
+            block->executionCount = powf(10, m_graph.m_cpsNaturalLoops->loopDepth(block));
         }
         
         // Estimate branch weights based on execution counts. This isn't quite correct. It'll