|
From: | hjl.tools at gmail dot com |
Subject: | [Bug ld/23350] multiple prevailing defs for unused variable in lto mode |
Date: | Mon, 09 Jul 2018 21:02:35 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=23350 H.J. Lu <hjl.tools at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |WAITING --- Comment #5 from H.J. Lu <hjl.tools at gmail dot com> --- (In reply to Martin Liska from comment #3) > So still present, shows here: > > $ cat main.i > int wrl; > > $ cat lib.i > int wrl; > void a() {} > > $ gcc -c -flto main.i && gcc -c -flto lib.i && ar rusc lib.a lib.o > $ gcc main.o lib.a lib.a > lto1: fatal error: multiple prevailing defs for ‘a’ > compilation terminated. > lto-wrapper: fatal error: gcc returned 1 exit status > compilation terminated. > /usr/lib64/gcc/x86_64-suse-linux/8/../../../../x86_64-suse-linux/bin/ld: > error: lto-wrapper failed > collect2: error: ld returned 1 exit status > Linker checks lib.a to see if there is a non-COMMON definition for wrl. But linker never includes lib.o in the final link. What makes lto1 believe that lib.o is needed? -- You are receiving this mail because: You are on the CC list for the bug.
[Prev in Thread] | Current Thread | [Next in Thread] |