mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-23 22:34:04 +02:00
mklibs: handle duplicate symbols properly
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18084 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
6691016918
commit
22660b11c8
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 New Issue
Block a user