/test/gnu/gcc/objdir/./gcc/xgcc -B/test/gnu/gcc/objdir/./gcc/ -B/opt/gnu/gcc/gcc -4.3.0/hppa2.0w-hp-hpux11.11/bin/ -B/opt/gnu/gcc/gcc-4.3.0/hppa2.0w-hp-hpux11.11 /lib/ -isystem /opt/gnu/gcc/gcc-4.3.0/hppa2.0w-hp-hpux11.11/include -isystem /op t/gnu/gcc/gcc-4.3.0/hppa2.0w-hp-hpux11.11/sys-include -DHAVE_CONFIG_H -I. -I../. ./../gcc/libssp -I. -Wall -O2 -g -O2 -MT ssp.lo -MD -MP -MF .deps/ssp.Tpo -c ../ ../../gcc/libssp/ssp.c -fPIC -DPIC -o .libs/ssp.o ../../../gcc/libssp/ssp.c: In function '__stack_chk_fail_local': ../../../gcc/libssp/ssp.c:177: warning: visibility attribute not supported in th is configuration; ignored ../../../gcc/libssp/ssp.c: At top level: ../../../gcc/libssp/ssp.c:177: internal compiler error: in cgraph_expand_functio n, at cgraphunit.c:973
(gdb) p *node $4 = {decl = 0x7ae99ee0, callees = 0x0, callers = 0x0, next = 0x7ade8a80, previous = 0x7aeb4400, origin = 0x0, nested = 0x0, next_nested = 0x0, next_needed = 0x0, next_clone = 0x0, prev_clone = 0x0, master_clone = 0x7ade8b00, call_site_hash = 0x0, aux = 0x0, local = { estimated_self_stack_size = 0, self_insns = 0, local = 0, externally_visible = 1, finalized = 1, inlinable = 0, disregard_inline_limits = 0, redefined_extern_inline = 0, for_functions_valid = 0, vtable_method = 0}, global = { estimated_stack_size = 0, stack_frame_offset = 0, inlined_to = 0x0, insns = 0, estimated_growth = -2147483648, inlined = 0 '\0'}, rtl = { preferred_incoming_stack_boundary = 0}, count = 0, uid = 15, order = 18, needed = 1, reachable = 1, lowered = 0, analyzed = 0, output = 0, alias = 0, inline_decl = 0x0} (gdb) bt #0 cgraph_expand_function (node=0x7ade8b00) at ../../gcc/gcc/cgraphunit.c:973 #1 0x002c32cc in cgraph_optimize () at ../../gcc/gcc/cgraphunit.c:1040 #2 0x0004316c in c_write_global_declarations () at ../../gcc/gcc/c-decl.c:7969 #3 0x00258f9c in toplev_main (argc=1073925056, argv=0x1) at ../../gcc/gcc/toplev.c:1040 #4 0x000b5274 in main (argc=2061404928, argv=0x7eff0a98) at ../../gcc/gcc/main.c:35 (gdb) p debug_tree (decl) <function_decl 7ae99ee0 _GLOBAL__I_0_.._.._.._gcc_libssp_ssp.c_D6517926_7BD28B81 type <function_type 7adf8840 type <void_type 7adef900 void VOID align 8 symtab 15 alias set -1 canonical type 7adef900 pointer_to_this <pointer_type 7adef960>> SI size <integer_cst 7ade12d0 constant invariant 32> unit size <integer_cst 7ade1060 constant invariant 4> align 32 symtab 0 alias set -1 structural equality arg-types <tree_list 7ade1c78 value <void_type 7adef900 void>> pointer_to_this <pointer_type 7ae91780>> used public static ignored SI file ../../../gcc/libssp/ssp.c line 177 initial <block 7aeb0ab8> result <result_decl 7ae9beb0 D.2202 type <void_type 7adef900 void> ignored VOID file ../../../gcc/libssp/ssp.c line 177 align 8> (mem:SI (symbol_ref/v:SI ("@_GLOBAL__I_0_.._.._.._gcc_libssp_ssp.c_D6517926_7BD28B81") [flags 0x1] <function_decl 7ae99ee0 _GLOBAL__I_0_.._.._.._gcc_libssp_ssp.c_D6517926_7BD28B81>) [0 S4 A32]) saved-insns 7ae4aaa8> $5 = void (gdb) <function_decl 7ae99ee0 _GLOBAL__I_0_.._.._.._gcc_libssp_ssp.c_D6517926_7BD28B81 type <function_type 7adf8840 type <void_type 7adef900 void VOID align 8 symtab 15 alias set -1 canonical type 7adef900 pointer_to_this <pointer_type 7adef960>> SI size <integer_cst 7ade12d0 constant invariant 32> unit size <integer_cst 7ade1060 constant invariant 4> align 32 symtab 0 alias set -1 structural equality arg-types <tree_list 7ade1c78 value <void_type 7adef900 void>> pointer_to_this <pointer_type 7ae91780>> used public static ignored SI file ../../../gcc/libssp/ssp.c line 177 initial <block 7aeb0ab8> result <result_decl 7ae9beb0 D.2202 type <void_type 7adef900 void> ignored VOID file ../../../gcc/libssp/ssp.c line 177 align 8> (mem:SI (symbol_ref/v:SI ("@_GLOBAL__I_0_.._.._.._gcc_libssp_ssp.c_D6517926_7BD28B81") [flags 0x1] <function_decl 7ae99ee0 _GLOBAL__I_0_.._.._.._gcc_libssp_ssp.c_D6517926_7BD28B81>) [0 S4 A32]) saved-insns 7ae4aaa8> $6 = void (gdb) <function_decl 7ae99ee0 _GLOBAL__I_0_.._.._.._gcc_libssp_ssp.c_D6517926_7BD28B81 type <function_type 7adf8840 type <void_type 7adef900 void VOID align 8 symtab 15 alias set -1 canonical type 7adef900 pointer_to_this <pointer_type 7adef960>> SI size <integer_cst 7ade12d0 constant invariant 32> unit size <integer_cst 7ade1060 constant invariant 4> align 32 symtab 0 alias set -1 structural equality arg-types <tree_list 7ade1c78 value <void_type 7adef900 void>> pointer_to_this <pointer_type 7ae91780>> used public static ignored SI file ../../../gcc/libssp/ssp.c line 177 initial <block 7aeb0ab8> result <result_decl 7ae9beb0 D.2202 type <void_type 7adef900 void> ignored VOID file ../../../gcc/libssp/ssp.c line 177 align 8> (mem:SI (symbol_ref/v:SI ("@_GLOBAL__I_0_.._.._.._gcc_libssp_ssp.c_D6517926_7BD28B81") [flags 0x1] <function_decl 7ae99ee0 _GLOBAL__I_0_.._.._.._gcc_libssp_ssp.c_D6517926_7BD28B81>) [0 S4 A32]) saved-insns 7ae4aaa8> This bug was seen in revision 120529M. The source contains a modification to notice_global_symbol: Index: varasm.c =================================================================== --- varasm.c (revision 120529) +++ varasm.c (working copy) @@ -1306,6 +1306,7 @@ void notice_global_symbol (tree decl) { + static bool shlib_global_object_flag = false; const char **type = &first_global_object_name; if (first_global_object_name @@ -1320,11 +1321,25 @@ || !MEM_P (DECL_RTL (decl))) return; - /* We win when global object is found, but it is useful to know about weak - symbol as well so we can produce nicer unique names. */ + /* We win when a global object is found that can't be overridden, but + it is useful to know about other global objects so we can produce + nicer unique names. */ if (DECL_WEAK (decl) || DECL_ONE_ONLY (decl)) - type = &weak_global_object_name; + { + if (weak_global_object_name) + return; + type = &weak_global_object_name; + } + else if (flag_shlib) + { + if (shlib_global_object_flag) + return; + + shlib_global_object_flag = true; + type = &weak_global_object_name; + } + if (!*type) { const char *p; -- Summary: libssp/ssp.c:177: ICE: in cgraph_expand_function, at cgraphunit.c:973 Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: danglin at gcc dot gnu dot org GCC build triplet: hppa2.0w-hp-hpux11.11 GCC host triplet: hppa2.0w-hp-hpux11.11 GCC target triplet: hppa2.0w-hp-hpux11.11 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30403