Bug 130507 - webkitgtk 2.3.92 fails to build on Debian/armhf: error: unable to find a register to spill in class 'LO_REGS'
Summary: webkitgtk 2.3.92 fails to build on Debian/armhf: error: unable to find a regi...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-20 06:15 PDT by Iain Lane
Modified: 2014-04-04 04:06 PDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Iain Lane 2014-03-20 06:15:29 PDT
On Debian armhf (Thumb 2: https://wiki.debian.org/ArmHardFloatPort), webkitgtk as of 2.3.92 fails to build like this:

../Source/JavaScriptCore/jit/JITArithmetic32_64.cpp: In member function 'void JSC::JIT::emit_op_add(JSC::Instruction*)':
../Source/JavaScriptCore/jit/JITArithmetic32_64.cpp:526:1: error: unable to find a register to spill in class 'LO_REGS'
 }
 ^
../Source/JavaScriptCore/jit/JITArithmetic32_64.cpp:526:1: error: this is the insn:
(insn 187 186 188 20 (parallel [
            (set (reg:SI 3 r3)
                (ior:SI (eq:SI (reg/v:SI 112 [ op ])
                        (reg/v:SI 110 [ dst ]))
                    (eq:SI (reg/v:SI 111 [ op ])
                        (reg/v:SI 110 [ dst ]))))
            (clobber (reg:CC 100 cc))
        ]) ../Source/JavaScriptCore/jit/JITArithmetic32_64.cpp:514 284 {*ior_scc_scc}
     (expr_list:REG_UNUSED (reg:CC 100 cc)
        (nil)))
../Source/JavaScriptCore/jit/JITArithmetic32_64.cpp:526: confused by earlier errors, bailing out

Full log is 

  https://buildd.debian.org/status/fetch.php?pkg=webkitgtk&arch=armhf&ver=2.3.92-1&stamp=1395146394
Comment 1 Alberto Garcia 2014-03-20 13:01:29 PDT
I saw this but I didn't have the time to look into it yet, thanks for reporting!
Comment 2 Iain Lane 2014-03-21 09:35:56 PDT
I spoke to the GCC maintainer in Debian & Ubuntu and he believes it's a bug in gcc-4.8 that webkit exposed by adding -fno-tree-dce in .92.

  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60617
Comment 3 Alberto Garcia 2014-03-24 02:18:48 PDT
(In reply to comment #2)
> I spoke to the GCC maintainer in Debian & Ubuntu and he believes
> it's a bug in gcc-4.8 that webkit exposed by adding -fno-tree-dce in
> .92.
>
>   http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60617

I'm not sure why we need -fno-tree-dce anyway. Žan?
Comment 4 Zan Dobersek 2014-03-24 13:07:50 PDT
(In reply to comment #3)
> (In reply to comment #2)
> > I spoke to the GCC maintainer in Debian & Ubuntu and he believes
> > it's a bug in gcc-4.8 that webkit exposed by adding -fno-tree-dce in
> > .92.
> >
> >   http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60617
> 
> I'm not sure why we need -fno-tree-dce anyway. Žan?

This avoids an apparent GCC 4.8 bug which was crashing tests after the jsCStack branch was merged. The optimization was disabled in bug #127909.
Comment 5 Alberto Garcia 2014-03-31 03:19:25 PDT
Still failing as of 2.4.0
Comment 6 Zan Dobersek 2014-03-31 23:33:56 PDT
How many JSC tests fail on the armhf build if the -fno-tree-dce flag is removed?
Comment 7 Alberto Garcia 2014-04-02 04:08:00 PDT
(In reply to comment #6)
> How many JSC tests fail on the armhf build if the -fno-tree-dce flag is removed?

I cannot give it a try right now but I'll try to do it as soon as I have the time.
Comment 8 Alberto Garcia 2014-04-04 04:06:15 PDT
The armhf machine I'm trying on is very slow, but at least JSC seems to build fine.

I'd say let's disable -fno-tree-dce in Debian for the time being until the GCC bug is solved.