Hi guys,
About a month ago I opened a bug on Bugzilla:
  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43805

This relates to gcc crashing out with an Internal Compiler Error when doing a build of Linux kernel 2.6.34-rc4. Basically, as soon as the build hits fs/timerfd.c, an ICE is thrown:

fs/timerfd.c: In function ‘timerfd_poll’:
fs/timerfd.c:105:1: error: unrecognizable insn:
(insn 44 43 45 5 fs/timerfd.c:94 (set (reg:SI 68)
        (subreg:SI (mem/s:DI (plus:SI (reg/v/f:SI 39 [ ctx ])
                    (const_int 64 [0x40])) [0 S8 A64]) 4)) -1 (nil))
fs/timerfd.c:105:1: internal compiler error: in extract_insn, at recog.c:2103
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

Compiling without -O2 allows the build to get a little further, but it falls over on mm/filemap.c:

mm/filemap.c: In function ‘do_generic_file_read’:
mm/filemap.c:1171:1: error: unrecognizable insn:
(insn 402 401 403 20 mm/filemap.c:1029 (set (reg:SI 389)
        (subreg:SI (mem/c/i:DI (plus:SI (reg/f:SI 33 virtual-stack-vars)
(const_int -52 [0xffffffffffffffcc])) [0 isize+0 S8 A64])
4)) -1 (nil))
mm/filemap.c:1171:1: internal compiler error: in extract_insn, at recog.c:2103

The full details are in the bug report, along with the compiler command line, .i file and preprocessed source. Seeing as it's been over a month and nothing seems to have happened with the bug, I'd like to have a go at fixing it myself...

I have a couple of questions:

1) Who's the current maintainer for the lm32 port? Jon Beniston?
I can't see anything on the gcc website that says definitively "target X is maintained by $PERSON", and I really don't want to step on his/her toes and start a flame war, turf war or any other kind of war here...

2) What are these error messages telling me? Is there a "decoding ICE Error Messages HOWTO" for aspiring GCC developers?

3) I've established that the bug has been present in the lm32 port since it was merged into the mainline GCC source. What part of the gcc source should I start digging into first?

I guess ultimately I'm just asking for a few starting points from the gurus here... :)

Thanks,
Phil.

Reply via email to