This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/65199] New: Linker failure with -flto
- From: "goswin-v-b at web dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 24 Feb 2015 22:47:38 +0000
- Subject: [Bug c++/65199] New: Linker failure with -flto
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65199
Bug ID: 65199
Summary: Linker failure with -flto
Product: gcc
Version: 4.8.3
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: goswin-v-b at web dot de
Host: x86_64-linux-gnu
Target: x86_64-linux-gnu
Build: arm-none-eabi
I'm building a bare-metal kernel for a Raspberry Pi 2 (armv7) in c++. At some
point this failed with "undefined reference to `memcpy'" so I implemented one
as extern "C" void * memcpy(void *dest, const void *src, uint32_t n). But that
gives a different error:
% arm-none-eabi-g++ -O2 -W -Wall -fPIE -flto -march=armv7-a -mfloat-abi=hard
-mfpu=vfpv3-d16 -ffreestanding -nostdlib -std=gnu++11 -fno-exceptions -fno-rtti
-c -o main.o main.cc
% arm-none-eabi-g++ -fPIE -nostdlib -O2 -flto boot.o font.o main.o -lgcc
-Tlink-arm-eabi.ld -o kernel.elf
`memcpy' referenced in section `.text' of /tmp/cc7IkgU6.ltrans0.ltrans.o:
defined in discarded section `.text' of main.o (symbol from plugin)
collect2: error: ld returned 1 exit status
Running the same command to link but without -flto succeeds:
% arm-none-eabi-g++ -fPIE -nostdlib -O2 boot.o font.o main.o -lgcc
-Tlink-arm-eabi.ld -o kernel.elf