[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/12365] New: undefined references produced by linker plugin are s
From: |
jh at suse dot cz |
Subject: |
[Bug ld/12365] New: undefined references produced by linker plugin are silently ignored |
Date: |
Wed, 5 Jan 2011 14:56:16 +0000 |
http://sourceware.org/bugzilla/show_bug.cgi?id=12365
Summary: undefined references produced by linker plugin are
silently ignored
Product: binutils
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: ld
AssignedTo: address@hidden
ReportedBy: address@hidden
Compiling memcpy-asm testcase from GCC testsuite with current GCC mainline and
-O2 -flto results in call to my_memcpy that is not defined:
./xgcc -B ./ -O2 memops-asm*.c
/abuild/jh/trunk-3/gcc/testsuite/gcc.c-torture/execute/builtins/lib/main.c -g
-O0 -flto --save-temps -fdump-ipa-all-details -save-temps
evans:/abuild/jh/trunk-3/build-inst2/gcc/:[0]# grep memcpy *.s
ccNd9GvG.ltrans0.s: .globl memcpy
ccNd9GvG.ltrans0.s: .type memcpy, @function
ccNd9GvG.ltrans0.s:memcpy:
ccNd9GvG.ltrans0.s: call my_memcpy.2055
ccNd9GvG.ltrans0.s: .size memcpy, .-memcpy
ccNd9GvG.ltrans0.s: .type my_memcpy.2055, @function
ccNd9GvG.ltrans0.s:my_memcpy.2055:
ccNd9GvG.ltrans0.s: .size my_memcpy.2055, .-my_memcpy.2055
ccNd9GvG.ltrans0.s: call my_memcpy
ccNd9GvG.ltrans0.s: call my_memcpy
ccNd9GvG.ltrans0.s: .string "memcpy"
ccNd9GvG.ltrans0.s: .string "my_memcpy"
this is GCC bug where my_memcpy is once defined as alias and once as normal
function and declarations are not merged.
This however should result in linktime error instead of producing binary.
In the binary the call to my_memcpy is linked to bogus destination:
400a41: e8 9c fb ff ff callq 4005e2 <a>
I assume this is caused by fact that my_memcpy appears in original LTO symbol
tables.
Honza
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
- [Bug ld/12365] New: undefined references produced by linker plugin are silently ignored,
jh at suse dot cz <=