some cleanup
diff --git a/scripts/readelf.py b/scripts/readelf.py
index 44b7798..427ee8f 100644
--- a/scripts/readelf.py
+++ b/scripts/readelf.py
@@ -87,11 +87,24 @@
self._emitline(' Section header string table index: %s' %
header['e_shstrndx'])
+ def _format_addr(self, addr, fullhex=False, lead0x=True):
+ """ Format an address into a hexadecimal string.
- def _format_addr(self, addr):
- """ Format an address into a string
+ fullhex:
+ If True, include leading zeros in the address, adjusted for
+ the elfclass.
+
+ lead0x:
+ If True, leading 0x is added
"""
- return '0x%x' % addr
+ s = '0x' if lead0x else ''
+ if fullhex:
+ if self.elffile.elfclass == 32:
+ return s + '%08x' % addr
+ else:
+ return s + '%016x' % addr
+ else:
+ return s + '%x' % addr
def _emit(self, s):
""" Emit an object to output