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

Subversion Repositories c0or1k

[/] [c0or1k/] [trunk/] [tools/] [pyelf/] [pyelf.py] - Rev 2

Compare with Previous | Blame | View Log

import mmap
import os
 
class ELF:
    EI_MAGIC = "\x7fELF"
 
    def __init__(self, name):
        f = file(name, "rb")
        size = os.stat(name).st_size
 
        self.data = mmap.mmap(f.fileno(), size, mmap.MAP_PRIVATE, mmap.PROT_READ)
 
        if self.magic != self.EI_MAGIC:
            raise "Not an elf"
 
    def get_magic(self):
        return self.data[:4]
    magic = property(get_magic)
 
    def get_class(self):
        return self.data[4]
    elf_class = property(get_class)
 
 
 
"Test suite"
 
x = ELF("a.out")
 
# Check can load an elf
success = 1
try:
    x = ELF("a.out")
except:
    success = 0
assert success
 
# CHeck can't load not and elf
success = 0
try:
    x = ELF("pyelf.py")
except:
    success = 1
 
assert success
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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