INNER CODE UNIT · Python

format_address

xoseperez/espurna · code/scripts/decoder.py:157

    def format_address(address):
        return "\n".join(format_addresses(elf, [address]))

    for line in lines:
        # ctx could happen multiple times. for the 2nd one, reset list
        # ctx: bearssl *or* ctx: cont *or* ctx: sys *or* ctx: whatever
        if in_stack and "ctx:" in line:
            stack_addresses = print_all_addresses(stack_addresses)
            last_stack = line.strip()
        # 3fffffb0:  feefeffe feefeffe 3ffe85d8 401004ed
        elif IGNORE_FIRMWARE_RE.match(line):
            continue
        elif in_stack and STACK_LINE_RE.match(line) and last_stack:
            _, _, raw_addrs = line.partition(":")
            addrs = ANY_ADDR_RE.findall(raw_addrs)
            stack_addresses.setdefault(last_stack, [])
            stack_addresses[last_stack].extend(addrs)
        # epc1=0xfffefefe epc2=0xfefefefe epc3=0xefefefef excvaddr=0xfefefefe depc=0xfefefefe

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…