Csmith

Michael Hope michael.hope at linaro.org
Mon Sep 5 03:36:09 UTC 2011


On Fri, Sep 2, 2011 at 3:21 PM, Michael Hope <michael.hope at linaro.org> wrote:
> On Fri, Sep 2, 2011 at 1:46 AM, Andrew Stubbs <andrew.stubbs at gmail.com> wrote:
>> Do we know anything about "Csmith"?
>>
>> Maybe we should try it?
>
> I couldn't resist having a go.  It's Friday afternoon after all.
>
> I put on my end user hat, built csmith 2.0, fixed the x86 assembly
> code, and started it running against gcc-linaro-4.6-2011.08 at -O2 and
> -O3.  772 tests so far and no faults.  I'll leave it running over the
> weekend.
>
> I quite like the big red warnings on the 'using' page[1].

A weekend and 42,237 tests later, the compiler crashed six times.  The
files and compiler output are at:
 http://people.linaro.org/~michaelh/incoming/csmith/

There are four variants of a (set (reg:SI) (minus:SI (const_int)
(const_int))) which might be a real fault.

There is one (set (reg:SI (neg:SI (const_int)))) and one ICE in
find_valid_class().

I haven't looked into the code to see if the tests are valid.  The
Natty GCC on x86_64 compiles all of them just fine.

The ICEs are:

crash4.c:1103:1: error: insn does not satisfy its constraints:
(insn 750 346 376 28 (set (reg:SI 12 ip [orig:492 si1 ] [492])
        (minus:SI (const_int 12 [0xc])
            (const_int -511334738 [0xffffffffe185a6ae])))
crash4.c:1037 29 {*arm_subsi3_insn}
     (nil))
crash4.c:1103:1: internal compiler error: in
copyprop_hardreg_forward_1, at regcprop.c:766

crash5.c:792:1: error: insn does not satisfy its constraints:
(insn 726 230 742 16 (set (reg:SI 7 r7 [319])
        (minus:SI (const_int 7 [0x7])
            (const_int 65535 [0xffff]))) ../runtime/safe_math.h:658 29
{*arm_subsi3_insn}
     (nil))
crash5.c:792:1: internal compiler error: in
copyprop_hardreg_forward_1, at regcprop.c:766

crash6.c:216:1: error: insn does not satisfy its constraints:
(insn 528 443 209 15 (set (reg:SI 1 r1 [374])
        (minus:SI (const_int 3 [0x3])
            (const_int 1038957434 [0x3ded3b7a])))
../runtime/safe_math.h:175 29 {*arm_subsi3_insn}
     (nil))
crash6.c:216:1: internal compiler error: in
copyprop_hardreg_forward_1, at regcprop.c:766

crash1.c:734:1: error: insn does not satisfy its constraints:
(insn 348 127 129 8 (set (reg:SI 2 r2 [271])
        (minus:SI (const_int 10 [0xa])
            (const_int -336820015 [0xffffffffebec88d1])))
../runtime/safe_math.h:440 29 {*arm_subsi3_insn}
     (nil))

crash2.c:764:1: error: unrecognizable insn:
(insn 1206 364 368 27 (set (reg:SI 3 r3 [534])
        (neg:SI (const_int -1871828801 [0xffffffff906e28bf])))
../runtime/safe_math.h:440 -1
     (nil))

crash3.c: In function 'func_93':
crash3.c:1069:1: internal compiler error: in find_valid_class, at reload.c:710

-- Michael



More information about the linaro-toolchain mailing list