Bug 130507
| Summary: | webkitgtk 2.3.92 fails to build on Debian/armhf: error: unable to find a register to spill in class 'LO_REGS' | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Iain Lane <iain.lane> |
| Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | berto, gustavo, zan |
| Priority: | P2 | ||
| Version: | 528+ (Nightly build) | ||
| Hardware: | PC | ||
| OS: | Linux | ||
Iain Lane
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
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Alberto Garcia
I saw this but I didn't have the time to look into it yet, thanks for reporting!
Iain Lane
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
Alberto Garcia
(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?
Zan Dobersek
(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.
Alberto Garcia
Still failing as of 2.4.0
Zan Dobersek
How many JSC tests fail on the armhf build if the -fno-tree-dce flag is removed?
Alberto Garcia
(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.
Alberto Garcia
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.