Bug#783293: browsers using webkit crash with 'illegal instruction' on i586

Alberto Garcia berto at igalia.com
Mon May 18 14:18:59 UTC 2015


On Mon, May 18, 2015 at 12:33:13PM +0100, Mark Hindley wrote:

> This patch at least fixes the environment variable so that 
> JavaScriptCoreUseJIT=0 is honoured as a work-araound.

If this is not working properly then it should be fixed upstream.
You're using 2.4.x, right?

I anyway wonder, what's the problem with the current code? Doesn't the
part inside #if USE(CF) || OS(UNIX) handle this already?

> --- /tmp/VM.cpp	2015-05-18 12:04:42.183140915 +0100
> +++ /tmp/VM-edited.cpp	2015-05-18 12:16:41.478098153 +0100
> @@ -135,6 +135,11 @@
>      }
>  
>  #if USE(CF)
> +#if OS(UNIX)
> +    char* canUseJITString = getenv("JavaScriptCoreUseJIT");
> +    if (canUseJITString)
> +      return !canUseJITString || atoi(canUseJITString);
> +#endif // OS(UNIX)
>  #if COMPILER(GCC) && !COMPILER(CLANG)
>      // FIXME: remove this once the EWS have been upgraded to LLVM.
>      // Work around a bug of GCC with strict-aliasing.
> @@ -146,11 +151,6 @@
>      RetainPtr<CFTypeRef> canUseJIT = adoptCF(CFPreferencesCopyAppValue(canUseJITKey, kCFPreferencesCurrentApplication));
>      if (canUseJIT)
>          return kCFBooleanTrue == canUseJIT.get();
> -#endif
> -
> -#if USE(CF) || OS(UNIX)
> -    char* canUseJITString = getenv("JavaScriptCoreUseJIT");
> -    return !canUseJITString || atoi(canUseJITString);
>  #else
>      return true;
>  #endif

Berto



More information about the Pkg-webkit-maintainers mailing list