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