[hjl@gnu-13 gcc]$ cat /tmp/x.c static int implementation2 (void) { return 2; } static void *resolver2 (void) { return (void *)implementation2; } static int func2 (void) __attribute__ ((ifunc ("resolver2"))); void * get_func2 (void) { return &func2; } int call_func2 (void) { if (get_func2 () != &func2) __builtin_abort (); return func2 (); } [hjl@gnu-13 gcc]$ ./xgcc -B./ -m32 -O3 -S /tmp/x.c -o /tmp/x.s func2/2 (func2) @0x7f7ce5b892e0 Type: function definition analyzed alias Visibility: prevailing_def_ironly Address is taken. References: resolver2/1 (alias) Referring: get_func2/3 (addr) Availability: overwritable First run: 0 Function flags: Called by: call_func2/4 (1.00 per call) Calls: /tmp/x.c:26:1: internal compiler error: in binds_to_current_def_p, at symtab.c:2232 } ^ 0x7469bc symtab_node::binds_to_current_def_p(symtab_node*) ../../src-trunk/gcc/symtab.c:2232 0x126c68f worse_state ../../src-trunk/gcc/ipa-pure-const.c:477 0x126c68f propagate_pure_const ../../src-trunk/gcc/ipa-pure-const.c:1343 0x126c68f execute ../../src-trunk/gcc/ipa-pure-const.c:1676 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. [hjl@gnu-13 gcc]$
It is caused by r70018.
(In reply to H.J. Lu from comment #1) > It is caused by r70018. Did you mean (one of the) fixes for PR70018? Do you have the commit id?
(In reply to H.J. Lu from comment #1) > It is caused by r70018. Oops. It was caused by r235065.
Duplicate *** This bug has been marked as a duplicate of bug 77674 ***