mklibs: handle duplicate symbols properly
SVN-Revision: 18084
This commit is contained in:
		
							
								
								
									
										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: | ||||
		Reference in New Issue
	
	Block a user
	 Felix Fietkau
					Felix Fietkau