diff options
author | Simon Glass | 2022-07-11 19:04:11 -0600 |
---|---|---|
committer | Tom Rini | 2022-08-05 11:47:56 -0400 |
commit | f2e6775cddd59f2edec0727da14c35a8c8d14716 (patch) | |
tree | 6d9c1faf879637a3a441e79fbc708e49ac511002 | |
parent | 811c8e17117880badf0ea218dda44c06a3e02a2e (diff) |
buildman: Allow lines without a symbol
The 'nm' tool can produce lines without a symbol, for example:
00000004 t
Silently skip these and anything else without three fields. Drop the
warning since there is nothing the user can do about it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reported-by: Tom Rini <trini@konsulko.com>
-rw-r--r-- | tools/buildman/builder.py | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/tools/buildman/builder.py b/tools/buildman/builder.py index 33f9373b8f8..76252b90792 100644 --- a/tools/buildman/builder.py +++ b/tools/buildman/builder.py @@ -669,17 +669,15 @@ class Builder: """ sym = {} for line in fd.readlines(): - try: - if line.strip(): - size, type, name = line[:-1].split() - except: - tprint("Invalid line in file '%s': '%s'" % (fname, line[:-1])) - continue - if type in 'tTdDbB': - # function names begin with '.' on 64-bit powerpc - if '.' in name[1:]: - name = 'static.' + name.split('.')[0] - sym[name] = sym.get(name, 0) + int(size, 16) + line = line.strip() + parts = line.split() + if line and len(parts) == 3: + size, type, name = line.split() + if type in 'tTdDbB': + # function names begin with '.' on 64-bit powerpc + if '.' in name[1:]: + name = 'static.' + name.split('.')[0] + sym[name] = sym.get(name, 0) + int(size, 16) return sym def _ProcessConfig(self, fname): |