blob: 77ebf37efacb03a2f9acd66f702f6c9b6be83ef6 [file] [log] [blame]
From 30e2ef302a329850ba55c7c458c98cbf396186ec Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 31 Dec 2015 21:47:34 +0000
Subject: [PATCH] Fix build with non-glibc libraries on linux
qualify isnan() calls with std namespace
malloc_trim is glibc specific API so guard it with __GLIBC__
let ctype be used on non-glibc ( musl ) C library
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Accepted
Source/JavaScriptCore/runtime/Options.cpp | 2 +-
Source/WTF/wtf/DisallowCType.h | 2 +-
Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp | 2 ++
3 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/Source/JavaScriptCore/runtime/Options.cpp b/Source/JavaScriptCore/runtime/Options.cpp
index fe830b4..c49aade 100644
--- a/Source/JavaScriptCore/runtime/Options.cpp
+++ b/Source/JavaScriptCore/runtime/Options.cpp
@@ -610,7 +610,7 @@ bool Option::operator==(const Option& other) const
case Options::Type::unsignedType:
return m_entry.unsignedVal == other.m_entry.unsignedVal;
case Options::Type::doubleType:
- return (m_entry.doubleVal == other.m_entry.doubleVal) || (isnan(m_entry.doubleVal) && isnan(other.m_entry.doubleVal));
+ return (m_entry.doubleVal == other.m_entry.doubleVal) || (std::isnan(m_entry.doubleVal) && std::isnan(other.m_entry.doubleVal));
case Options::Type::int32Type:
return m_entry.int32Val == other.m_entry.int32Val;
case Options::Type::optionRangeType:
diff --git a/Source/WTF/wtf/DisallowCType.h b/Source/WTF/wtf/DisallowCType.h
index d85e767..dc6bcab 100644
--- a/Source/WTF/wtf/DisallowCType.h
+++ b/Source/WTF/wtf/DisallowCType.h
@@ -40,7 +40,7 @@
// are used from wx headers. On GTK+ for Mac many GTK+ files include <libintl.h>
// or <glib/gi18n-lib.h>, which in turn include <xlocale/_ctype.h> which uses
// isacii().
-#if !(OS(DARWIN) && PLATFORM(GTK)) && !PLATFORM(EFL) && !defined(_LIBCPP_VERSION)
+#if !(OS(DARWIN) && PLATFORM(GTK)) && !PLATFORM(EFL) && !defined(_LIBCPP_VERSION) && defined(__GLIBC__)
#include <ctype.h>
diff --git a/Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp b/Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp
index ea61909..1495642 100644
--- a/Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp
+++ b/Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp
@@ -202,7 +202,9 @@ void MemoryPressureHandler::respondToMemoryPressure(Critical critical, Synchrono
void MemoryPressureHandler::platformReleaseMemory(Critical)
{
ReliefLogger log("Run malloc_trim");
+#ifdef __GLIBC__
malloc_trim(0);
+#endif
}
void MemoryPressureHandler::ReliefLogger::platformLog()
--
2.6.4