Source: webkitgtk
Version: 2.0.4-2
Severity: normal
Tags: patch

The webkitgtk package doesn't build on hppa because it hasn't been ported.
There is not JIT or assembler support.  For example, the following error
occurs:

g++-4.7 -DHAVE_CONFIG_H -I. -I..  -Wall -W -Wcast-align -Wchar-subscripts 
-Wreturn-type -Wformat -Wformat-security -Wno-format-y2k -Wundef 
-Wmissing-format-attr
ibute -Wpointer-arith -Wwrite-strings -Wno-unused-parameter -Wno-parentheses -fn
o-exceptions -DBUILDING_CAIRO__ -DBUILDING_GTK__   -DENABLE_JIT=0 -I../Source -I
../Source/JavaScriptCore -I../Source/JavaScriptCore/API -I../Source/JavaScriptCo
re/assembler -I../Source/JavaScriptCore/bytecode -I../Source/JavaScriptCore/byte
compiler -I../Source/JavaScriptCore/dfg -I../Source/JavaScriptCore/disassembler 
-I../Source/JavaScriptCore/heap -I../Source/JavaScriptCore/debugger -I../Source/
JavaScriptCore/ForwardingHeaders -I../Source/JavaScriptCore/interpreter -I../Sou
rce/JavaScriptCore/jit -I../Source/JavaScriptCore/jit -I../Source/JavaScriptCore
/llint -I../Source/JavaScriptCore/parser -I../Source/JavaScriptCore/profiler -I.
./Source/JavaScriptCore/runtime -I../Source/JavaScriptCore/tools -I../Source/Jav
aScriptCore/yarr -I./DerivedSources/JavaScriptCore -I../Source/WTF 
-D_FORTIFY_SOURCE=2  -g -O2 -Wformat -Werror=format-security -Wall 
-Wl,--as-needed -Wno-c++11
-compat -O2 -MT 
Source/JavaScriptCore/llint/Programs_LLIntOffsetsExtractor-LLIntOffsetsExtractor.o
 -MD -MP -MF Source/JavaScriptCore/llint/.deps/Programs_LLIntO
ffsetsExtractor-LLIntOffsetsExtractor.Tpo -c -o 
Source/JavaScriptCore/llint/Programs_LLIntOffsetsExtractor-LLIntOffsetsExtractor.o
 `test -f 'Source/JavaScriptCo
re/llint/LLIntOffsetsExtractor.cpp' || echo 
'../'`Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp
In file included from ../Source/JavaScriptCore/bytecode/ValueRecovery.h:31:0,
                 from ../Source/JavaScriptCore/bytecode/CodeOrigin.h:31,
                 from ../Source/JavaScriptCore/bytecode/CodeBlock.h:39,
                 from 
../Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp:29:
../Source/JavaScriptCore/assembler/MacroAssembler.h:62:2: error: #error "The 
MacroAssembler is not supported on this platform."
In file included from ../Source/JavaScriptCore/heap/CopiedAllocator.h:29:0,
                 from ../Source/JavaScriptCore/heap/CopiedSpace.h:29,
                 from ../Source/JavaScriptCore/heap/CopyVisitor.h:29,
                 from ../Source/JavaScriptCore/heap/Heap.h:26,
                 from ../Source/JavaScriptCore/runtime/WriteBarrier.h:31,
                 from ../Source/JavaScriptCore/runtime/PropertyStorage.h:29,
                 from ../Source/JavaScriptCore/runtime/IndexingHeader.h:29,
                 from ../Source/JavaScriptCore/runtime/ArrayConventions.h:24,
                 from ../Source/JavaScriptCore/runtime/JSArray.h:24,
                 from ../Source/JavaScriptCore/bytecode/ArrayProfile.h:29,
[...]

The attached patches provide a minimal port allowing the Debian webkitgtk
source package to build.

-- System Information:
Debian Release: 7.0
  APT prefers unreleased
  APT policy: (500, 'unreleased'), (500, 'unstable')
Architecture: hppa (parisc64)

Kernel: Linux 3.11.0-rc6+ (SMP w/4 CPU cores)
Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
--- ./Source/WTF/wtf/dtoa/utils.h.save	2013-08-28 21:31:19.172162840 -0400
+++ ./Source/WTF/wtf/dtoa/utils.h	2013-08-28 21:32:30.642518129 -0400
@@ -49,7 +49,7 @@
 defined(__ARMEL__) || \
 defined(_MIPS_ARCH_MIPS32R2)
 #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
-#elif CPU(MIPS) || CPU(PPC) || CPU(PPC64) || OS(WINCE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(SPARC) || CPU(ALPHA)
+#elif CPU(MIPS) || CPU(PPC) || CPU(PPC64) || OS(WINCE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(SPARC) || CPU(ALPHA) || defined(__hppa__)
 #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
 #elif defined(_M_IX86) || defined(__i386__)
 #if defined(_WIN32)
--- ./Source/WTF/wtf/Platform.h.save	2013-08-20 20:48:15.000000000 -0400
+++ ./Source/WTF/wtf/Platform.h	2013-08-24 22:06:38.931786315 -0400
@@ -65,6 +65,15 @@
 #define WTF_CPU_ALPHA 1
 #endif
 
+/* CPU(HPPA) - HP PARISC */
+#if defined(__hppa__)
+#define WTF_CPU_HPPA 1
+#define WTF_CPU_BIG_ENDIAN 1
+#define ENABLE_JIT 0
+#define ENABLE_YARR_JIT 0
+#define ENABLE_ASSEMBLER 0
+#endif
+
 /* CPU(IA64) - Itanium / IA-64 */
 #if defined(__ia64__)
 #define WTF_CPU_IA64 1
--- ./debian/rules.save	2013-08-28 21:33:59.292959069 -0400
+++ ./debian/rules	2013-08-28 21:34:08.823006487 -0400
@@ -55,12 +55,12 @@
 endif
 
 # disable jit on some architectures (bug #651636)
-ifneq (,$(findstring $(DEB_BUILD_ARCH),armel mipsel))
+ifneq (,$(findstring $(DEB_BUILD_ARCH),armel hppa mipsel))
 	COMMON_CONFIGURE_ARGUMENTS += --disable-jit
 endif
 
 # See https://bugs.webkit.org/show_bug.cgi?id=113638
-ifneq (,$(findstring $(DEB_BUILD_ARCH),ia64 powerpc sparc s390 s390x))
+ifneq (,$(findstring $(DEB_BUILD_ARCH),hppa ia64 powerpc sparc s390 s390x))
 JSC_CPPFLAGS = -DENABLE_JIT=0 -DENABLE_YARR_JIT=0 -DENABLE_ASSEMBLER=0
 endif
 

Reply via email to