[oe] [PATCH 1/2] mozjs: set -fno-schedule-insns2 on both CFLAGS and CXXFLAGS

Ricardo Salveti ricardo at foundries.io
Thu Aug 16 02:17:31 UTC 2018


On Tue, Aug 14, 2018 at 3:50 PM, Andy <andreas.kling at gmail.com> wrote:
> Hi,
>
> Am Do., 2. Aug. 2018 um 10:34 Uhr schrieb Khem Raj <raj.khem at gmail.com>:
>>
>> Hi Ricardo
>>
>>
>> On Tue, Jul 31, 2018 at 8:06 PM Ricardo Salveti <ricardo at foundries.io> wrote:
>> >
>> > Mozjs fails to start on several architectures due broken build
>> > optimizations when building with GCC >= 6.
>> >
>> > Set -fno-schedule-insns2 as workaround (flag also used by Firefox and
>> > Debian).
>> >
>> > Signed-off-by: Ricardo Salveti <ricardo at foundries.io>
>> > ---
>> >  meta-oe/recipes-extended/mozjs/mozjs_52.8.1.bb | 5 +++++
>> >  1 file changed, 5 insertions(+)
>> >
>> > diff --git a/meta-oe/recipes-extended/mozjs/mozjs_52.8.1.bb b/meta-oe/recipes-extended/mozjs/mozjs_52.8.1.bb
>> > index da80b63..adc27ac 100644
>> > --- a/meta-oe/recipes-extended/mozjs/mozjs_52.8.1.bb
>> > +++ b/meta-oe/recipes-extended/mozjs/mozjs_52.8.1.bb
>> > @@ -30,6 +30,11 @@ CONFLICT_DISTRO_FEATURES_mipsarchn32 = "ld-is-gold"
>> >
>> >  DEPENDS += "nspr zlib"
>> >
>> > +# Avoid broken JIT on several architectures (from Firefox and Debian)
>> > +# https://bugzilla.mozilla.org/show_bug.cgi?id=1245783
>> > +CFLAGS += "-fno-schedule-insns2"
>> > +CXXFLAGS += "-fno-schedule-insns2"
>> > +
>>
>> Could you test with -fno-tree-vrp -fno-strict-aliasing
>> -fno-delete-null-pointer-checks instead of -fno-schedule-insns2
>>
>
> at least polkit is able to start again using
>
> CFLAGS += "-fno-tree-vrp -fno-strict-aliasing -fno-delete-null-pointer-checks"
> CXXFLAGS += "-fno-tree-vrp -fno-strict-aliasing -fno-delete-null-pointer-checks"
>
> before I got:
> Assertion failure: !joinable()
> in cortexa7t2hf-neon-poky-linux-gnueabi/mozjs/52.8.1-r0/mozjs-52.8.1/js/src/threading/Thread.h:122

Finally able to test this locally across multiple builds, and these
flags seems to be working fine as well.

Looking around and it seems fedora is also using the flags you
suggested, should we use them instead of '-fno-schedule-insns2'? If
so, I can prepare another patch with the new changes.

Thanks,
-- 
Ricardo Salveti



More information about the Openembedded-devel mailing list