| Index: tools/binary_size/libsupersize/archive.py
|
| diff --git a/tools/binary_size/libsupersize/archive.py b/tools/binary_size/libsupersize/archive.py
|
| index 7524094731b9b2acea8cc0ba1068f95584c84933..0991f0b8c6be2af46dd509063ffe273bc5130acb 100644
|
| --- a/tools/binary_size/libsupersize/archive.py
|
| +++ b/tools/binary_size/libsupersize/archive.py
|
| @@ -135,23 +135,23 @@ def _ExtractSourcePaths(symbols, output_directory):
|
|
|
| Returns True if source paths were found.
|
| """
|
| - all_found = True
|
| mapper = ninja_parser.SourceFileMapper(output_directory)
|
| + not_found_paths = set()
|
|
|
| for symbol in symbols:
|
| object_path = symbol.object_path
|
| if symbol.source_path or not object_path:
|
| continue
|
| # We don't have source info for prebuilt .a files.
|
| - if not object_path.startswith('..'):
|
| + if not os.path.isabs(object_path) and not object_path.startswith('..'):
|
| source_path = mapper.FindSourceForPath(object_path)
|
| if source_path:
|
| symbol.source_path = _NormalizeSourcePath(source_path)
|
| - else:
|
| - all_found = False
|
| + elif object_path not in not_found_paths:
|
| + not_found_paths.add(object_path)
|
| logging.warning('Could not find source path for %s', object_path)
|
| logging.debug('Parsed %d .ninja files.', mapper.GetParsedFileCount())
|
| - return all_found
|
| + return len(not_found_paths) == 0
|
|
|
|
|
| def _CalculatePadding(symbols):
|
|
|