OpenCores
URL https://opencores.org/ocsvn/c0or1k/c0or1k/trunk

Subversion Repositories c0or1k

[/] [c0or1k/] [trunk/] [tools/] [pyelf/] [elfsize.py] - Blame information for rev 3

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 drasko
#!/usr/bin/env python
2
 
3
import elf
4
 
5
# Calculate the size of loadable sections of elf binary
6
def elf_binary_size(img):
7
    elffile = elf.ElfFile.from_file(img)
8
    paddr_first = 0
9
    paddr_start = 0
10
    paddr_end = 0
11
    for pheader in elffile.pheaders:
12
        x = pheader.ai
13
        if str(x.p_type) != "LOAD":
14
            continue
15
        if paddr_first == 0:
16
            paddr_first = 1
17
            paddr_start = x.p_paddr.value
18
        if paddr_start > x.p_paddr.value:
19
            paddr_start = x.p_paddr.value
20
        if paddr_end < x.p_paddr + x.p_memsz:
21
            paddr_end = x.p_paddr + x.p_memsz
22
    return paddr_end - paddr_start
23
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.