http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50638
Bug #: 50638 Summary: [4.7 Regression] emulated TLS fails Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: ia...@gcc.gnu.org CC: m...@gcc.gnu.org Host: i686-apple-darwin9 Target: i686-apple-darwin9 Build: i686-apple-darwin9 large number (hundreds, across languages)of emulated TLS tests fail/problem exposed from r179618 http://gcc.gnu.org/ml/gcc-cvs/2011-10/msg00212.html --- e.g. FAIL: gcc.dg/tls/nonpic-1.c (internal compiler error) ==== GNU C (GCC) version 4.7.0 20111006 (experimental) [trunk revision 179619] (i686-apple-darwin9) compiled by GNU C version 4.7.0 20111005 (experimental) [trunk revision 179538], GMP version 5.0.2, MPFR version 3.0.1, MPC version 0.9 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 7ba46202133ec4d752524b4545ac8c82 Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_PROTECTION_FAILURE at address: 0x00000000 0x02656f48 in set_is_used (var=0x470e4840) at tree-flow-inline.h:562 562 ann->used = true; (gdb) bt #0 0x02656f48 in set_is_used (var=0x470e4840) at tree-flow-inline.h:562 #1 0x0265ac37 in mark_all_vars_used_1 (tp=0x470e0b24, walk_subtrees=0xbfffeb84, data=0x0) at /GCC/gcc-live-trunk/gcc/tree-ssa-live.c:379 #2 0x02f0d0e3 in walk_tree_1 (tp=0x470e0b24, func=0x265a72c <mark_all_vars_used_1>, data=0x0, pset=0x0, lh=0) at /GCC/gcc-live-trunk/gcc/tree.c:10448 #3 0x0265bbff in mark_all_vars_used (expr_p=0x470bbeb8, data=0x0) at /GCC/gcc-live-trunk/gcc/tree-ssa-live.c:595 #4 0x0265c6aa in remove_unused_locals () at /GCC/gcc-live-trunk/gcc/tree-ssa-live.c:727 #5 0x019f79ef in execute_function_todo (data=0x8000) at /GCC/gcc-live-trunk/gcc/passes.c:1695 #6 0x019f7422 in do_per_function (callback=0x19f78da <execute_function_todo>, data=0x8000) at /GCC/gcc-live-trunk/gcc/passes.c:1548 #7 0x019f7b76 in execute_todo (flags=32768) at /GCC/gcc-live-trunk/gcc/passes.c:1741 #8 0x019f856e in execute_one_pass (pass=0x34275c0) at /GCC/gcc-live-trunk/gcc/passes.c:2087 #9 0x019f86b5 in execute_pass_list (pass=0x34275c0) at /GCC/gcc-live-trunk/gcc/passes.c:2119 #10 0x02266222 in tree_rest_of_compilation (fndecl=0x470a5d80) at /GCC/gcc-live-trunk/gcc/tree-optimize.c:420 #11 0x00a33edd in cgraph_expand_function (node=0x470133d8) at /GCC/gcc-live-trunk/gcc/cgraphunit.c:1805 #12 0x00a340b8 in cgraph_expand_all_functions () at /GCC/gcc-live-trunk/gcc/cgraphunit.c:1864 #13 0x00a34939 in cgraph_optimize () at /GCC/gcc-live-trunk/gcc/cgraphunit.c:2141 #14 0x00a31b08 in cgraph_finalize_compilation_unit () at /GCC/gcc-live-trunk/gcc/cgraphunit.c:1312 #15 0x00075a6b in c_write_global_declarations () at /GCC/gcc-live-trunk/gcc/c-decl.c:9936 #16 0x01e85ef8 in compile_file () at /GCC/gcc-live-trunk/gcc/toplev.c:581 #17 0x01e88b3d in do_compile () at /GCC/gcc-live-trunk/gcc/toplev.c:1925 #18 0x01e88d21 in toplev_main (argc=25, argv=0xbffff1e8) at /GCC/gcc-live-trunk/gcc/toplev.c:2001 #19 0x002ca1e4 in main (argc=25, argv=0xbffff1e8) at /GCC/gcc-live-trunk/gcc/main.c:36 (gdb) call debug_tree(0x470e4840) <var_decl 0x470e4840 __emutls_v.e1 type <record_type 0x470e47e0 __emutls_object BLK size <integer_cst 0x47009a48 constant 128> unit size <integer_cst 0x47009a64 constant 16> align 32 symtab 0 alias set -1 canonical type 0x470e47e0 fields <field_decl 0x470e905c __size type <integer_type 0x4701c3c0 unsigned int> unsigned SI file (null) line 0 col 0 size <integer_cst 0x4700955c constant 32> unit size <integer_cst 0x47009578 constant 4> align 32 offset_align 128 offset <integer_cst 0x47009594 constant 0> bit offset <integer_cst 0x47009620 constant 0> context <record_type 0x470e47e0 __emutls_object> chain <field_decl 0x470e9000 __align>> pointer_to_this <pointer_type 0x470e4a20>> addressable used public static ignored external BLK file /GCC/gcc-live-trunk/gcc/testsuite/gcc.dg/tls/nonpic-1.c line 5 col 22 size <integer_cst 0x47009a48 128> unit size <integer_cst 0x47009a64 16> align 32 context <translation_unit_decl 0x47024ec4 D.1637>>