|
From: | hjl.tools at gmail dot com |
Subject: | [Bug ld/26267] New: LTO failed to detect multiple definitions |
Date: | Mon, 20 Jul 2020 15:46:38 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=26267 Bug ID: 26267 Summary: LTO failed to detect multiple definitions Product: binutils Version: 2.35 Status: NEW Severity: normal Priority: P2 Component: ld Assignee: unassigned at sourceware dot org Reporter: hjl.tools at gmail dot com CC: nickc at redhat dot com Target Milestone: --- [hjl@gnu-cfl-2 lto-1]$ cat pr26262a.c #include <stdio.h> int counter; extern void foo (void); extern void xxx (void); void bar (void) { } int main(void) { bar (); foo (); xxx (); if (counter == 1) printf ("PASS\n"); return 0; } [hjl@gnu-cfl-2 lto-1]$ cat pr26262b.c #include <stdlib.h> extern int counter; void foo (void) { counter++; } void bar (void) { abort (); } [hjl@gnu-cfl-2 lto-1]$ cat pr26262c.c extern void bar (void); void xxx (void) { bar (); } [hjl@gnu-cfl-2 lto-1]$ make gcc -O2 -flto -c -o pr26262a.o pr26262a.c gcc -O2 -c -o pr26262b.o pr26262b.c gcc -O2 -c -o pr26262c.o pr26262c.c gcc -O2 -o x pr26262a.o pr26262b.o pr26262c.o ./x make: *** [Makefile:11: all] Aborted (core dumped) [hjl@gnu-cfl-2 lto-1]$ gcc -O2 -o x pr26262a.o pr26262b.o pr26262c.o -fuse-ld=gold /usr/local/bin/ld.gold: error: pr26262b.o: multiple definition of 'bar' /usr/local/bin/ld.gold: pr26262a.o: previous definition here collect2: error: ld returned 1 exit status [hjl@gnu-cfl-2 lto-1]$ -- You are receiving this mail because: You are on the CC list for the bug.
[Prev in Thread] | Current Thread | [Next in Thread] |