Update of /cvsroot/wisp/wisp/users/dig
In directory sc8-pr-cvs1:/tmp/cvs-serv9489
Modified Files:
elfdump.py
Log Message:
cleanup
Index: elfdump.py
===================================================================
RCS file: /cvsroot/wisp/wisp/users/dig/elfdump.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- elfdump.py 14 Apr 2003 23:56:42 -0000 1.5
+++ elfdump.py 14 Apr 2003 23:59:09 -0000 1.6
@@ -22,15 +22,15 @@
for filename in args:
f = open(filename, 'r')
def take (tpl): return ftake(f, tpl)
- e_ident = f.read(6)
print 'ELF header of %r:' % filename
- print 'Magic: %r:' % e_ident[0:4]
- state_enum('File class', ord(e_ident[4]), {1: '32-bit', 2: '64-bit'})
- state_enum('Data encoding', ord(e_ident[5]), {
+ print 'Magic: %r:' % f.read(4)
+ state_enum('File class', take('b'), {1: '32-bit', 2: '64-bit'})
+ encoding = take('b')
+ state_enum('Data encoding', encoding, {
1: "2's complement LittleEndian",
2: "2's complement BigEndian"})
- if ord(e_ident[5]) == 1: bytesex = '<'; bindump.bytesex = '<'
- elif ord(e_ident[5]) == 2: bytesex = '>'; bindump.bytesex = '>'
+ if encoding == 1: bytesex = '<'; bindump.bytesex = '<'
+ elif encoding == 2: bytesex = '>'; bindump.bytesex = '>'
else: bytesex = ''; bindump.bytesex = ''
state_enum('File version', take('b'), {1: 'current'})
print 'Padding bytes: %s' % shorthex(f.read(9))
@@ -52,9 +52,9 @@
state_enum('Object file version', e_version, {1: 'current'})
print 'Entry point: [%08x]' % e_entry
- e_shoff, e_flags, e_ehsize, e_phentsize, e_phnum, e_shentsize = \
- take('ttwwww')
- print 'Processor-specific flags: [%08x]' % e_flags
+ e_shoff = take('t')
+ print 'Processor-specific flags: [%08x]' % take('t')
+ e_ehsize, e_phentsize, e_phnum, e_shentsize = take('wwww')
print 'ELF header size: [%08x] bytes' % e_ehsize
print 'Program header table: %i entries at [%08x], 0x%x bytes each' % \
(e_phnum, e_phoff, e_phentsize)
|