[Webkit-unassigned] [Bug 113638] webkitgtk 2.0.0 fails to build on OpenBSD (and maybe others) powerpc/mips64el/sparc64

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Oct 6 05:40:50 PDT 2013


https://bugs.webkit.org/show_bug.cgi?id=113638





--- Comment #9 from Landry Breuil <landry at openbsd.org>  2013-10-06 05:39:41 PST ---
(In reply to comment #8)
> (In reply to comment #0)
> > If i force-disable assembler/yarr jit with JSC_CPPFLAGS="-DENABLE_YARR_JIT=0 -DENABLE_ASSEMBLER=0" in the build env, it fails with :
> 
> This is no longer possible in 2.1.x after the change from bug #119445. CPPFLAGS should be fine though.
> 
> The arches that don't support this stuff should define ENABLE_JIT, ENABLE_YARR_JIT and ENABLE_ASSEMBLER to 0 in Source/WTF/wtf/Platform.h
> 
> The problem seems to be that YARR_JIT and ASSEMBLER are enabled if one of JIT or LLINT_C_LOOP are enabled:
> 
> /* Yet Another Regex Runtime - turned on by default for JIT enabled ports. */
> #if !defined(ENABLE_YARR_JIT) && (ENABLE(JIT) || ENABLE(LLINT_C_LOOP)) && !(OS(QNX) && PLATFORM(QT))
> #define ENABLE_YARR_JIT 1
> 
> But LLINT_C_LOOP is enabled if JIT is disabled, so the above check is always true:
> 
> /* If the jit is not available, enable the LLInt C Loop: */
> #if !ENABLE(JIT)
> #undef ENABLE_LLINT        /* Undef so that we can redefine it. */
> #undef ENABLE_LLINT_C_LOOP /* Undef so that we can redefine it. */
> #undef ENABLE_DFG_JIT      /* Undef so that we can redefine it. */
> #define ENABLE_LLINT 1
> #define ENABLE_LLINT_C_LOOP 1
> #define ENABLE_DFG_JIT 0
> #endif

Fwiw, here's what i've ended up to fix the build :

 /* Yet Another Regex Runtime - turned on by default for JIT enabled ports. */
-#if !defined(ENABLE_YARR_JIT) && (ENABLE(JIT) || ENABLE(LLINT_C_LOOP)) && !(OS(QNX) && PLATFORM(QT))
+#if !defined(ENABLE_YARR_JIT) && (ENABLE(JIT)) && !(OS(QNX) && PLATFORM(QT))
 #define ENABLE_YARR_JIT 1

 /* Setting this flag compares JIT results with interpreter results. */
@@ -863,7 +874,7 @@

 /* If either the JIT or the RegExp JIT is enabled, then the Assembler must be
    enabled as well: */
-#if ENABLE(JIT) || ENABLE(YARR_JIT)
+#if ENABLE(JIT)
 #if defined(ENABLE_ASSEMBLER) && !ENABLE_ASSEMBLER
 #error "Cannot enable the JIT or RegExp JIT without enabling the Assembler"
 #else

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list