[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gold/11350] New: Broken versioned symbols in the output for the rel
From: |
vkutuzov at accesssoftek dot com |
Subject: |
[Bug gold/11350] New: Broken versioned symbols in the output for the relocatable objects |
Date: |
4 Mar 2010 23:43:12 -0000 |
When linking a relocatable object, where any input object has the defined global
versioned symbols, gold cuts the symbol version for the symbols in the output
symbol table. It means, that kind of symbols lose the version information in the
output object; also, if the input object has two versions of one symbol --
versioned and non-versioned -- the output object will contain two symbols with
identical names (duplicate).
There is some example for GNU gold (GNU Binutils 2.20.51.20100304) 1.9
This is a part of readelf output for the input object (readelf -sW divdi3.os),
which shows the versioned and non-versioned symbols for __divdi3:
Symbol table '.symtab' contains 34 entries:
Num: Value Size Type Bind Vis Ndx Name
...
20: 000005dc 120 FUNC GLOBAL DEFAULT 1 __divdi3
...
30: 000005dc 120 FUNC GLOBAL DEFAULT 1 address@hidden
...
Link the input object as relocatable with the following command:
ld -r -o divdi3.out divdi3.os
This is a part of readelf output for the result object (readelf -sW divdi3.out),
which shows the symbol duplicates for __divdi3:
Symbol table '.symtab' contains 27 entries:
Num: Value Size Type Bind Vis Ndx Name
...
13: 000005dc 120 FUNC GLOBAL DEFAULT 1 __divdi3
...
24: 000005dc 120 FUNC GLOBAL DEFAULT 1 __divdi3
...
(I will attach the complete readelf outputs to the bug report)
So, as far as I understood, it happens because of two linked problems: the
Symbol_table::sized_write_symbol method always looks for the non-versioned
version of symbol in the symbol names string pool; and the symbol names string
pool never gets a string representation for that kind of versioned symbols (i.e.
the strings like "address@hidden").
--
Summary: Broken versioned symbols in the output for the
relocatable objects
Product: binutils
Version: 2.21 (HEAD)
Status: NEW
Severity: normal
Priority: P2
Component: gold
AssignedTo: ian at airs dot com
ReportedBy: vkutuzov at accesssoftek dot com
CC: bug-binutils at gnu dot org
GCC host triplet: i686-pc-linux-gnu
http://sourceware.org/bugzilla/show_bug.cgi?id=11350
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
- [Bug gold/11350] New: Broken versioned symbols in the output for the relocatable objects,
vkutuzov at accesssoftek dot com <=