mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-27 20:22:27 +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