Bug 47951

Summary: [4.6/4.7 Regression] web.c:union_match_dups segmentation fault for bfin
Product: gcc Reporter: Stu <Stuart.Henderson>
Component: targetAssignee: Not yet assigned to anyone <unassigned>
Status: RESOLVED FIXED    
Severity: major CC: shenders
Priority: P4    
Version: 4.6.0   
Target Milestone: 4.6.1   
Host: Target:
Build: Known to work:
Known to fail: Last reconfirmed:
Attachments: First attempt to fix seg fault

Description Stu 2011-03-02 11:29:38 UTC
bfin-uclinux fails to build libgfortran due to a seg fault in union_match_dups in web.c

Looks like this is the blackfin version of:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43742

which was caused by:
http://gcc.gnu.org/viewcvs?view=revision&revision=158187

i'm not sure what the guilty pattern is though.

/home/shender/gnu/toolchain/gcc_build-4.6/./gcc/xgcc -B/home/shender/gnu/toolchain/gcc_build-4.6/./gcc/ -B/home/shender/gnu/toolchain/bfin-uclinux/bfin-uclinux/bin/ -B/home/shender/gnu/toolchain/bfin-uclinux/bfin-uclinux/lib/ -isystem /home/shender/gnu/toolchain/bfin-uclinux/bfin-uclinux/include -isystem /home/shender/gnu/toolchain/bfin-uclinux/bfin-uclinux/sys-include -DHAVE_CONFIG_H -I. -I/home/shender/gnu/toolchain/gcc-4.6/libgfortran -iquote/home/shender/gnu/toolchain/gcc-4.6/libgfortran/io -I/home/shender/gnu/toolchain/gcc-4.6/libgfortran/../gcc -I/home/shender/gnu/toolchain/gcc-4.6/libgfortran/../gcc/config -I../.././gcc -D_GNU_SOURCE -std=gnu99 -ftree-vectorize -funroll-loops -g -O1 -c /home/shender/gnu/toolchain/gcc-4.6/libgfortran/generated/matmul_i1.c -o matmul_i1.o
/home/shender/gnu/toolchain/gcc-4.6/libgfortran/generated/matmul_i1.c: In function ‘matmul_i1’:
/home/shender/gnu/toolchain/gcc-4.6/libgfortran/generated/matmul_i1.c:374:1: internal compiler error: Segmentation fault
Comment 1 Stu 2011-03-11 12:16:40 UTC
Created attachment 23626 [details]
First attempt to fix seg fault

The attached patch "fixes" the problem and my testing hasn't shown any problems, but i currently don't have much confidence in it.  Could someone take a look and give me some pointers?
thanks,
Stu
Comment 2 Jakub Jelinek 2011-03-25 19:51:53 UTC
GCC 4.6.0 is being released, adjusting target milestone.
Comment 3 Stuart Henderson 2011-05-02 17:01:07 UTC
Author: shenders
Date: Mon May  2 17:01:01 2011
New Revision: 173261

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=173261
Log:
2011-05-02  Stuart Henderson  <shenders@gcc.gnu.org>

        PR target/47951
        * config/bfin/bfin.md (loop_end): Use matching constraints to ensure
        inputs match the output.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/bfin/bfin.md
Comment 4 Stuart Henderson 2011-06-02 16:46:32 UTC
Fixed on trunk.