https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69866

--- Comment #3 from acrsofter at gmail dot com ---

reproduce steps:

[foo.c]

int _umh(int i)
{
  return i+1;
}

int weaks(int i) __attribute__((weak, alias("_umh")));

int main()
{
 return weaks(10);
}


[bar.c]

int weaks(int i)
{
  return i+1;
}


now compile:

gcc -c bar.c

gcc -flto -c foo.c

gcc -flto -o elf bar.o foo.o


note:

bar compiled without flt
but rest with flt


now at linking stage booms
at line

 gcc_assert (c != SYMBOL_EXTERNAL
      && (c == SYMBOL_DUPLICATE || !symbol_partitioned_p (node)));

in lto/lto-partition.c

===============================================================

same code compiled without lto ok

gcc 4.9.3 not affected
but 5.3.0 affected and latest (gcc-6-20160214) affected

Reply via email to