# source file line, ie
# 0x0000000040080400 0xa4 /home/gus/esp/32/idf/examples/get-started/hello_world/build/esp32/libesp32.a(cpu_start.o)
RE_SOURCE_LINE = r"\s*(?P<sym_name>\S*).* +0x(?P<address>[\da-f]+) +0x(?P<size>[\da-f]+) (?P<archive>.+\.a)\((?P<object_file>.+\.ob?j?)\)"
- m = re.match(RE_SOURCE_LINE, line)
+
+ m = re.match(RE_SOURCE_LINE, line, re.M)
if not m:
# cmake build system links some object files directly, not part of any archive
- RE_SOURCE_LINE = r".*? +0x(?P<address>[\da-f]+) +0x(?P<size>[\da-f]+) (?P<object_file>.+\.ob?j?)"
+ RE_SOURCE_LINE = r"\s*(?P<sym_name>\S*).* +0x(?P<address>[\da-f]+) +0x(?P<size>[\da-f]+) (?P<object_file>.+\.ob?j?)"
m = re.match(RE_SOURCE_LINE, line)
- if section is not None and m is not None: # input source file details
+ if section is not None and m is not None: # input source file details=ma,e
sym_name = m.group("sym_name") if len(m.group("sym_name")) > 0 else sym_backup
try:
archive = m.group("archive")
source = {
"size" : int(m.group("size"), 16),
"address" : int(m.group("address"), 16),
- "archive" : os.path.basename(archive)),
+ "archive" : os.path.basename(archive),
"object_file" : os.path.basename(m.group("object_file")),
"sym_name" : sym_name,
}