mklibs: handle duplicate symbols properly

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18084 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Felix Fietkau 2009-10-19 23:26:00 +00:00
parent 46f8cbd71e
commit e496f76ecb
1 changed files with 32 additions and 0 deletions

View 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: