mklibs: handle duplicate symbols properly
SVN-Revision: 18084
This commit is contained in:
parent
eeadbde8ea
commit
57d29edb07
1 changed files with 32 additions and 0 deletions
32
tools/mklibs/patches/006-duplicate_syms.patch
Normal file
32
tools/mklibs/patches/006-duplicate_syms.patch
Normal file
|
@ -0,0 +1,32 @@
|
|||
--- a/src/mklibs.py
|
||||
+++ b/src/mklibs.py
|
||||
@@ -507,7 +507,6 @@ while 1:
|
||||
|
||||
library_symbols = {}
|
||||
library_symbols_used = {}
|
||||
- symbol_provider = {}
|
||||
|
||||
# WORKAROUND: Always add libgcc on old-abi arm
|
||||
header = elf_header(find_lib(libraries.copy().pop()))
|
||||
@@ -525,17 +524,13 @@ while 1:
|
||||
library_symbols_used[library] = set()
|
||||
for symbol in symbols:
|
||||
for name in symbol.base_names():
|
||||
- if name in symbol_provider:
|
||||
- debug(DEBUG_SPAM, "duplicate symbol %s in %s and %s" % (symbol, symbol_provider[name], library))
|
||||
- else:
|
||||
- library_symbols[library][name] = symbol
|
||||
- symbol_provider[name] = library
|
||||
+ library_symbols[library][name] = symbol
|
||||
|
||||
# which symbols are actually used from each lib
|
||||
for name in needed_symbols:
|
||||
- if name in symbol_provider:
|
||||
- lib = symbol_provider[name]
|
||||
- library_symbols_used[lib].add(library_symbols[lib][name])
|
||||
+ for lib in libraries:
|
||||
+ if name in library_symbols[lib]:
|
||||
+ library_symbols_used[lib].add(library_symbols[lib][name])
|
||||
|
||||
# reduce libraries
|
||||
for library in libraries:
|
Loading…
Reference in a new issue