Bug 63845 - [5 Regression] c-c++-common/asan/bitfield-[12345].c fails on i?86 -with -fpic
Summary: [5 Regression] c-c++-common/asan/bitfield-[12345].c fails on i?86 -with -fpic
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: sanitizer (show other bugs)
Version: 5.0
: P3 normal
Target Milestone: 5.0
Assignee: Not yet assigned to anyone
URL:
Keywords:
: 63846 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-11-13 08:14 UTC by Uroš Bizjak
Modified: 2014-12-10 16:13 UTC (History)
5 users (show)

See Also:
Host:
Target: i686-pc-linux-gnu
Build:
Known to work: 4.9.2
Known to fail: 5.0
Last reconfirmed: 2014-11-13 00:00:00


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Uroš Bizjak 2014-11-13 08:14:18 UTC
Found when running testsuite on x86_64 -m32 with -fpic:

$ ~/gcc-build/gcc/cc1 -quiet -fsanitize=address -m32 -fpic bitfield-1.c 

bitfield-1.c: In function ‘main’:
bitfield-1.c:23:1: internal compiler error: in df_refs_verify, at df-scan.c:4088
 }
 ^
0x6e9a6b df_refs_verify
        ../../gcc-svn/trunk/gcc/df-scan.c:4088
0x6ed861 df_insn_refs_verify
        ../../gcc-svn/trunk/gcc/df-scan.c:4161
0x6ede02 df_bb_verify
        ../../gcc-svn/trunk/gcc/df-scan.c:4188
0x6f1457 df_scan_verify()
        ../../gcc-svn/trunk/gcc/df-scan.c:4320
0x6df084 df_verify()
        ../../gcc-svn/trunk/gcc/df-core.c:1860
0x6df084 df_analyze_1
        ../../gcc-svn/trunk/gcc/df-core.c:1248
0x8ddbdb ira
        ../../gcc-svn/trunk/gcc/ira.c:5158
0x8ddbdb execute
        ../../gcc-svn/trunk/gcc/ira.c:5507
Please submit a full bug report,


The failure with -O2 is a bit different:

$ ~/gcc-build/gcc/cc1 -quiet -fsanitize=address -m32 -fpic -O2 bitfield-1.c 
bitfield-1.c: In function ‘main’:
bitfield-1.c:23:1: internal compiler error: Segmentation fault
 }
 ^
0xa4ea8f crash_signal
        ../../gcc-svn/trunk/gcc/toplev.c:358
0x6ea7ff df_install_ref
        ../../gcc-svn/trunk/gcc/df-scan.c:2331
0x6edfa5 df_install_refs
        ../../gcc-svn/trunk/gcc/df-scan.c:2413
0x6ee57b df_refs_add_to_chains
        ../../gcc-svn/trunk/gcc/df-scan.c:2466
0x6f07dc df_bb_refs_record(int, bool)
        ../../gcc-svn/trunk/gcc/df-scan.c:3399
0x6f098c df_scan_blocks()
        ../../gcc-svn/trunk/gcc/df-scan.c:629
0x6ddb52 rest_of_handle_df_initialize
        ../../gcc-svn/trunk/gcc/df-core.c:746
Please submit a full bug report,
Comment 1 Marek Polacek 2014-11-13 08:20:10 UTC
Confirmed.
Comment 2 Uroš Bizjak 2014-11-13 08:21:37 UTC
-Os -g fails:

~/gcc-build/gcc/cc1 -quiet -fsanitize=address -m32 -fpic -Os -g bitfield-1.c 
bitfield-1.c: In function ‘main’:
bitfield-1.c:23:1: internal compiler error: in operator[], at vec.h:736
 }
 ^
0x1046c07 vec<df_ref_d*, va_heap, vl_embed>::operator[](unsigned int)
        ../../gcc-svn/trunk/gcc/vec.h:736
0x1046c07 vec<df_ref_d*, va_heap, vl_ptr>::operator[](unsigned int)
        ../../gcc-svn/trunk/gcc/vec.h:1202
0x1046c07 process_uses
        ../../gcc-svn/trunk/gcc/fwprop.c:212
0x10472ad single_def_use_dom_walker::before_dom_children(basic_block_def*)
        ../../gcc-svn/trunk/gcc/fwprop.c:253
0x103e3d7 dom_walker::walk(basic_block_def*)
        ../../gcc-svn/trunk/gcc/domwalk.c:188
0x1046884 build_single_def_use_links
        ../../gcc-svn/trunk/gcc/fwprop.c:310
0x1046884 fwprop_init
        ../../gcc-svn/trunk/gcc/fwprop.c:1415
0x104875a fwprop
        ../../gcc-svn/trunk/gcc/fwprop.c:1460
0x104875a execute
        ../../gcc-svn/trunk/gcc/fwprop.c:1509
Please submit a full bug report,
Comment 3 Igor Zamyatin 2014-11-13 09:13:25 UTC
I already posted a patch - http://gcc.gnu.org/ml/gcc-patches/2014-10/msg03318.html

Will ping it today
Comment 4 Ilya Enkovich 2014-11-20 08:15:53 UTC
Author: ienkovich
Date: Thu Nov 20 08:15:21 2014
New Revision: 217825

URL: https://gcc.gnu.org/viewcvs?rev=217825&root=gcc&view=rev
Log:
gcc/

	PR sanitizer/63845
	* function.c (assign_parms): Move init of pic_offset_table_rtx
	from here to...
	* cfgexpand.c (expand_used_vars): ...here.

gcc/testsuite/

	PR sanitizer/63845
	* gcc.dg/asan/pr63845.c: New test.


Added:
    trunk/gcc/testsuite/gcc.dg/asan/pr63845.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/cfgexpand.c
    trunk/gcc/function.c
    trunk/gcc/testsuite/ChangeLog
Comment 5 Jakub Jelinek 2014-11-20 11:22:11 UTC
Assuming fixed.
Comment 6 Uroš Bizjak 2014-12-10 16:13:27 UTC
*** Bug 63846 has been marked as a duplicate of this bug. ***