[Wisp-cvs] wisp/users/dig elfdump.py,1.8,1.9
Status: Alpha
Brought to you by:
digg
From: <di...@us...> - 2003-04-15 00:14:30
|
Update of /cvsroot/wisp/wisp/users/dig In directory sc8-pr-cvs1:/tmp/cvs-serv14967 Modified Files: elfdump.py Log Message: cleanup Index: elfdump.py =================================================================== RCS file: /cvsroot/wisp/wisp/users/dig/elfdump.py,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- elfdump.py 15 Apr 2003 00:08:16 -0000 1.8 +++ elfdump.py 15 Apr 2003 00:14:22 -0000 1.9 @@ -13,7 +13,6 @@ from bindump import * from elf import * import bindump -import struct import sys args = sys.argv[1:] @@ -119,11 +118,8 @@ print 'No type flags addr offset size link info align each' print '== ==== ======== ======== ====== ====== ==== ==== ===== ====' for i in range(e_shnum): - shentry = f.read(e_shentsize) - sh_name, sh_type, sh_flags, sh_addr, sh_offset, sh_size, \ - sh_link, sh_info, sh_addralign, sh_entsize = \ - struct.unpack(bytesex + ' 10L', shentry[0:40]) print '%2x' % i, + sh_name = take('t') try: print {SHT.NULL: 'null', SHT.PROGBITS: 'prog', SHT.SYMTAB: 'symt', @@ -142,21 +138,22 @@ SHT.GROUP: 'grou', SHT.GNU_verdef: 'verd', SHT.GNU_verneed: 'vern', - SHT.GNU_versym: 'vers'}[sh_type], + SHT.GNU_versym: 'vers'}[take('t')], except: print '%4x' % sh_type, - flags_shortly('oism?xaw', sh_flags) - print '%8x' % sh_addr, - print '%6x' % sh_offset, - print '%6x' % sh_size, - print '%4x' % sh_link, - print '%4x' % sh_info, - print '%5x' % sh_addralign, - print '%4x' % sh_entsize, + flags_shortly('oism?xaw', take('t')) + print '%8x' % take('t'), + print '%6x' % take('t'), + print '%6x' % take('t'), + print '%4x' % take('t'), + print '%4x' % take('t'), + print '%5x' % take('t'), + print '%4x' % take('t'), if shstr <> None: name = asciiz(shstr, sh_name) if name == '': name = '0x%x' % sh_name print name, print + f.read(e_shentsize - 40) print else: print 'Usage: elfdump.py file ...' |