diff --git a/tools/idf_size.py b/tools/idf_size.py index d67cfa25a..d207906b2 100755 --- a/tools/idf_size.py +++ b/tools/idf_size.py @@ -102,12 +102,13 @@ def load_sections(map_file): # 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\S*).* +0x(?P
[\da-f]+) +0x(?P[\da-f]+) (?P.+\.a)\((?P.+\.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
[\da-f]+) +0x(?P[\da-f]+) (?P.+\.ob?j?)" + RE_SOURCE_LINE = r"\s*(?P\S*).* +0x(?P
[\da-f]+) +0x(?P[\da-f]+) (?P.+\.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") @@ -117,7 +118,7 @@ def load_sections(map_file): 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, }