aboutsummaryrefslogtreecommitdiffstats
path: root/tools/mklibs/patches/005-duplicate_syms.patch
blob: 2627203fabb2e0391c698ee7f9930174d0038054 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
--- a/src/mklibs
+++ b/src/mklibs
@@ -540,7 +540,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()))
@@ -558,20 +557,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 not name in symbol_provider:
-            if not needed_symbols[name].weak:
-                print("WARNING: Unresolvable symbol %s" % name)
-        else:
-            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 sorted(libraries):