Bug#780430: qtwebkit-opensource-src: port to m68k
Source: qtwebkit-opensource-src
Version: 5.9.1+dfsg-5
Followup-For: Bug #780430
User: debian-68k@lists.debian.org
Usertags: m68k
Hi!
Attaching an updated patch for 5.9.1+dfsg-5, please apply.
I will try to upstream everything next week.
Thanks,
Adrian
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer - glaubitz@debian.org
`. `' Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
Description: Add support for m68k
This patch adds the necessary cmake and platform definitions
for m68k as well as a missing patch from double-conversion
upstream for m68k support. Furthermore, several COMPILE_ASSERT()
statements are relaxed such that they also allow smaller struct
sizes which often occur on m68k to the native alignment there
being 16-bit despite being a 32-bit platform.
.
Author: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Last-Update: 2017-11-04
--- qtwebkit-opensource-src-5.212.0~alpha2.orig/CMakeLists.txt
+++ qtwebkit-opensource-src-5.212.0~alpha2/CMakeLists.txt
@@ -69,6 +69,8 @@ elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR
set(WTF_CPU_X86_64 1)
elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "(i[3-6]86|x86)")
set(WTF_CPU_X86 1)
+elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "m68k")
+ set(WTF_CPU_M68K 1)
elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "ppc")
set(WTF_CPU_PPC 1)
elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64")
--- qtwebkit-opensource-src-5.212.0~alpha2.orig/Source/JavaScriptCore/CMakeLists.txt
+++ qtwebkit-opensource-src-5.212.0~alpha2/Source/JavaScriptCore/CMakeLists.txt
@@ -1280,6 +1280,7 @@ endif ()
if (WTF_CPU_ARM)
elseif (WTF_CPU_ARM64)
elseif (WTF_CPU_HPPA)
+elseif (WTF_CPU_M68K)
elseif (WTF_CPU_PPC)
elseif (WTF_CPU_PPC64)
elseif (WTF_CPU_PPC64LE)
--- qtwebkit-opensource-src-5.212.0~alpha2.orig/Source/WTF/wtf/Platform.h
+++ qtwebkit-opensource-src-5.212.0~alpha2/Source/WTF/wtf/Platform.h
@@ -80,6 +80,12 @@
#endif
#endif
+/* CPU(M68K) - Motorola M68k */
+#if defined(__m68k__)
+#define WTF_CPU_M68K 1
+#define WTF_CPU_BIG_ENDIAN 1
+#endif
+
/* CPU(MIPS) - MIPS 32-bit and 64-bit */
#if (defined(mips) || defined(__mips__) || defined(MIPS) || defined(_MIPS_) || defined(__mips64))
#if defined(_ABI64) && (_MIPS_SIM == _ABI64)
--- qtwebkit-opensource-src-5.212.0~alpha2.orig/Source/WTF/wtf/dtoa/utils.h
+++ qtwebkit-opensource-src-5.212.0~alpha2/Source/WTF/wtf/dtoa/utils.h
@@ -58,6 +58,8 @@ defined(_MIPS_ARCH_MIPS32R2)
#else
#undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS
#endif // _WIN32
+#elif defined(__m68k__)
+#undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS
#else
#error Target architecture was not detected as supported by Double-Conversion.
#endif
--- qtwebkit-opensource-src-5.212.0~alpha2.orig/Source/WebCore/css/CSSProperty.cpp
+++ qtwebkit-opensource-src-5.212.0~alpha2/Source/WebCore/css/CSSProperty.cpp
@@ -35,7 +35,7 @@ struct SameSizeAsCSSProperty {
void* value;
};
-COMPILE_ASSERT(sizeof(CSSProperty) == sizeof(SameSizeAsCSSProperty), CSSProperty_should_stay_small);
+COMPILE_ASSERT(sizeof(CSSProperty) <= sizeof(SameSizeAsCSSProperty), CSSProperty_should_stay_small);
CSSPropertyID StylePropertyMetadata::shorthandID() const
{
--- qtwebkit-opensource-src-5.212.0~alpha2.orig/Source/WebCore/css/RuleSet.h
+++ qtwebkit-opensource-src-5.212.0~alpha2/Source/WebCore/css/RuleSet.h
@@ -143,7 +143,7 @@ struct SameSizeAsRuleData {
unsigned d[4];
};
-COMPILE_ASSERT(sizeof(RuleData) == sizeof(SameSizeAsRuleData), RuleData_should_stay_small);
+COMPILE_ASSERT(sizeof(RuleData) <= sizeof(SameSizeAsRuleData), RuleData_should_stay_small);
class RuleSet {
WTF_MAKE_NONCOPYABLE(RuleSet); WTF_MAKE_FAST_ALLOCATED;
--- qtwebkit-opensource-src-5.212.0~alpha2.orig/Source/WebCore/dom/ElementRareData.cpp
+++ qtwebkit-opensource-src-5.212.0~alpha2/Source/WebCore/dom/ElementRareData.cpp
@@ -42,6 +42,6 @@ struct SameSizeAsElementRareData : NodeR
void* pointers[7];
};
-static_assert(sizeof(ElementRareData) == sizeof(SameSizeAsElementRareData), "ElementRareData should stay small");
+static_assert(sizeof(ElementRareData) <= sizeof(SameSizeAsElementRareData), "ElementRareData should stay small");
} // namespace WebCore
--- qtwebkit-opensource-src-5.212.0~alpha2.orig/Source/WebCore/dom/NodeRareData.cpp
+++ qtwebkit-opensource-src-5.212.0~alpha2/Source/WebCore/dom/NodeRareData.cpp
@@ -38,6 +38,6 @@ struct SameSizeAsNodeRareData {
void* m_pointer[3];
};
-COMPILE_ASSERT(sizeof(NodeRareData) == sizeof(SameSizeAsNodeRareData), NodeRareDataShouldStaySmall);
+COMPILE_ASSERT(sizeof(NodeRareData) <= sizeof(SameSizeAsNodeRareData), NodeRareDataShouldStaySmall);
} // namespace WebCore
--- qtwebkit-opensource-src-5.212.0~alpha2.orig/Source/WebCore/dom/ShadowRoot.cpp
+++ qtwebkit-opensource-src-5.212.0~alpha2/Source/WebCore/dom/ShadowRoot.cpp
@@ -49,7 +49,7 @@ struct SameSizeAsShadowRoot : public Doc
#endif
};
-COMPILE_ASSERT(sizeof(ShadowRoot) == sizeof(SameSizeAsShadowRoot), shadowroot_should_stay_small);
+COMPILE_ASSERT(sizeof(ShadowRoot) <= sizeof(SameSizeAsShadowRoot), shadowroot_should_stay_small);
ShadowRoot::ShadowRoot(Document& document, Type type)
: DocumentFragment(document, CreateShadowRoot)
--- qtwebkit-opensource-src-5.212.0~alpha2.orig/Source/WebCore/rendering/RenderTableCell.cpp
+++ qtwebkit-opensource-src-5.212.0~alpha2/Source/WebCore/rendering/RenderTableCell.cpp
@@ -52,7 +52,7 @@ struct SameSizeAsRenderTableCell : publi
};
COMPILE_ASSERT(sizeof(RenderTableCell) == sizeof(SameSizeAsRenderTableCell), RenderTableCell_should_stay_small);
-COMPILE_ASSERT(sizeof(CollapsedBorderValue) == 12, CollapsedBorderValue_should_stay_small);
+COMPILE_ASSERT(sizeof(CollapsedBorderValue) <= 12, CollapsedBorderValue_should_stay_small);
RenderTableCell::RenderTableCell(Element& element, Ref<RenderStyle>&& style)
: RenderBlockFlow(element, WTFMove(style))
--- qtwebkit-opensource-src-5.212.0~alpha2.orig/Source/WebCore/rendering/style/RenderStyle.cpp
+++ qtwebkit-opensource-src-5.212.0~alpha2/Source/WebCore/rendering/style/RenderStyle.cpp
@@ -66,7 +66,7 @@ struct SameSizeAsBorderValue {
int m_restBits;
};
-COMPILE_ASSERT(sizeof(BorderValue) == sizeof(SameSizeAsBorderValue), BorderValue_should_not_grow);
+COMPILE_ASSERT(sizeof(BorderValue) <= sizeof(SameSizeAsBorderValue), BorderValue_should_not_grow);
struct SameSizeAsRenderStyle : public RefCounted<SameSizeAsRenderStyle> {
void* dataRefs[7];
@@ -81,7 +81,7 @@ struct SameSizeAsRenderStyle : public Re
} noninherited_flags;
};
-COMPILE_ASSERT(sizeof(RenderStyle) == sizeof(SameSizeAsRenderStyle), RenderStyle_should_stay_small);
+COMPILE_ASSERT(sizeof(RenderStyle) <= sizeof(SameSizeAsRenderStyle), RenderStyle_should_stay_small);
inline RenderStyle& defaultStyle()
{
--- qtwebkit-opensource-src-5.212.0~alpha2.orig/Source/WebCore/rendering/style/StyleBoxData.cpp
+++ qtwebkit-opensource-src-5.212.0~alpha2/Source/WebCore/rendering/style/StyleBoxData.cpp
@@ -33,7 +33,7 @@ struct SameSizeAsStyleBoxData : public R
uint32_t bitfields;
};
-COMPILE_ASSERT(sizeof(StyleBoxData) == sizeof(SameSizeAsStyleBoxData), StyleBoxData_should_not_grow);
+COMPILE_ASSERT(sizeof(StyleBoxData) <= sizeof(SameSizeAsStyleBoxData), StyleBoxData_should_not_grow);
StyleBoxData::StyleBoxData()
: m_minWidth(RenderStyle::initialMinSize())
Reply to: