(In reply to Mike Hommey [:glandium] from comment #86)
> (In reply to Landry Breuil from comment #85)
> > (In reply to David Mandelin from comment #82)
> > > Landry, following up on a hint from billm, I got your patch to work on 
> > > Linux
> > > with this addition:
> > > 
> > > diff -r e7bbcbb6c24a js/src/jscntxt.h
> > > --- a/js/src/jscntxt.h    Tue Mar 13 17:42:33 2012 -0700
> > > +++ b/js/src/jscntxt.h    Tue Mar 13 18:32:46 2012 -0700
> > > @@ -64,6 +64,7 @@
> > >  #include "js/HashTable.h"
> > >  #include "js/Vector.h"
> > >  #include "vm/Stack.h"
> > > +#include "assembler/jit/ExecutableAllocator.h"
> > >  
> > >  #ifdef _MSC_VER
> > >  #pragma warning(push)
> > > 
> > > 
> > > I'm not quite sure what's going on, but it kind of seems like
> > > ENABLE_ASSEMBLER=1 is not being set for all the files in the build, and so
> > > different object files get different definitions of JSRuntime, which 
> > > causes
> > > the trc field to get overwritten with junk, and then you crash. Your patch
> > > does modify how ENABLE_ASSEMBLER is set, so it seems vaguely plausible 
> > > that
> > > could be the problem.
> > 
> > Aha. Very interesting... a shroedingbug.
> >  
> > > The strange thing is that it seems like js.cpp is the file that doesn't 
> > > get
> > > ENABLE_ASSEMBLER=1, but I do see it being set on the command line to build
> > > js.o. And it also doesn't make much sense that the patch above would solve
> > > the problem.
> > 
> > If i look at old build logs on amd64, i don't see ENABLE_ASSEMBLER=1 in the
> > js.o build
> > line, maybe because it's set in js/src/Makefile.in and not in
> > js/src/shell/Makefile.in ?
> > 
> > I'll recheck with a clean tip and only that patch. 
> > I've also pushed the corresponding patchset to
> > https://tbpl.mozilla.org/?tree=Try&rev=88122a478851
> > 
> > For me that change make sense, since that brings ExecutableAllocator
> > definition
> > to jscntxt.h where as of now, it's used without knowing how it's defined.
> 
> Except iirc, including that header leads to a failure to build on various
> architectures. So you'd fix what the patch here broke, but you break what
> the patch was supposed to fix.

Well, not sure, since the patch removes #if ENABLE_YARR_JIT around the
inclusion of assembler/jit/ExecutableAllocator.h and it doesnt seem to
break that much things. But i agree it should be included _only_ if
ENABLE_ASSEMBLER is set. It makes more sense, and the rest of the patch
makes the presence of this header unneeded if ENABLE_ASSEMBLER is not
set.

> 
> The right solution is probably to define ENABLE_ASSEMBLER elsewhere than
> js/src/Makefile.in.

Righto.. but ENABLE_YARR_JIT is not known when you're creating js-
config.h, since it's in Makefile.in. and ENABLE_YARR_JIT is needed to
know if we need to define ENABLE_ASSEMBLER. So ENABLE_YARR_JIT
definition would have to go to configure too ?

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/908508

Title:
  Firefox/Thunderbird 10 FTBFS on powerpc in js/src/yarr/pcre

To manage notifications about this bug go to:
https://bugs.launchpad.net/firefox/+bug/908508/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to