Comment 12 for bug 1570613

Revision history for this message
In , Thopre01 (thopre01) wrote :

I can indeed reproduce that bug with latest gcc-5-branch either by compiling the below testcase, or by building ChibiOS 3.0.4 as described in https://answers.launchpad.net/gcc-arm-embedded/+question/280242

Best regards.

(In reply to acrsofter from comment #3)
> 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