summaryrefslogtreecommitdiff
path: root/fw/tools
diff options
context:
space:
mode:
Diffstat (limited to 'fw/tools')
-rw-r--r--fw/tools/linkmem.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/fw/tools/linkmem.py b/fw/tools/linkmem.py
index 934a571..bdacc0d 100644
--- a/fw/tools/linkmem.py
+++ b/fw/tools/linkmem.py
@@ -66,7 +66,8 @@ def trace_source_files(linker, cmdline, trace_sections=[], total_sections=['.tex
continue
# first part of continuation line
- if m := re.match('^(\.[0-9a-zA-Z-_.]+)$', line):
+ m = re.match('^(\.[0-9a-zA-Z-_.]+)$', line)
+ if m:
line_cont = line
sec_name = None
continue
@@ -76,7 +77,8 @@ def trace_source_files(linker, cmdline, trace_sections=[], total_sections=['.tex
line_cont = None
# -ffunction-sections/-fdata-sections section
- if m := re.match('^(\.[0-9a-zA-Z-_.]+)\.([0-9a-zA-Z-_.]+)\s+(0x[0-9a-f]+)\s+(0x[0-9a-f]+)\s+(\S+)$', line):
+ m = re.match('^(\.[0-9a-zA-Z-_.]+)\.([0-9a-zA-Z-_.]+)\s+(0x[0-9a-f]+)\s+(0x[0-9a-f]+)\s+(\S+)$', line)
+ if m:
sec, sym, loc, size, obj = m.groups()
*_, sym = sym.rpartition('.')
sym = cxxfilt.demangle(sym)
@@ -93,7 +95,8 @@ def trace_source_files(linker, cmdline, trace_sections=[], total_sections=['.tex
continue
# regular (no -ffunction-sections/-fdata-sections) section
- if m := re.match('^(\.[0-9a-zA-Z-_]+)\s+(0x[0-9a-f]+)\s+(0x[0-9a-f]+)\s+(\S+)$', line):
+ m = re.match('^(\.[0-9a-zA-Z-_]+)\s+(0x[0-9a-f]+)\s+(0x[0-9a-f]+)\s+(\S+)$', line)
+ if m:
sec, _loc, size, obj = m.groups()
size = int(size, 16)
obj = path.abspath(obj)
@@ -106,7 +109,8 @@ def trace_source_files(linker, cmdline, trace_sections=[], total_sections=['.tex
continue
# symbol def
- if m := re.match('^(0x[0-9a-f]+)\s+(\S+)$', line):
+ m = re.match('^(0x[0-9a-f]+)\s+(\S+)$', line)
+ if m:
loc, sym = m.groups()
sym = cxxfilt.demangle(sym)
loc = int(loc, 16)
@@ -129,7 +133,7 @@ def trace_source_files(linker, cmdline, trace_sections=[], total_sections=['.tex
fn = path.abspath(fn)
if member:
- subprocess.check_call(['ar', 'x', '--output', tempdir, fn, member])
+ subprocess.check_call(['ar', 'x', fn, member], cwd=tempdir)
fn = path.join(tempdir, member)
with open(fn, 'rb') as f: