diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2011-08-04 13:00:24 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2011-08-04 13:00:24 +0000 |
commit | d7c9b63b583ac05fc03c9a242c1bb8f12d27acf0 (patch) | |
tree | d0caa0cd9ff4ef8770b2674b3a6d556a8226b47e /test/Scripts | |
parent | f42e9b2491e3a2152bba5c08f50e60edcb67fce8 (diff) | |
download | external_llvm-d7c9b63b583ac05fc03c9a242c1bb8f12d27acf0.zip external_llvm-d7c9b63b583ac05fc03c9a242c1bb8f12d27acf0.tar.gz external_llvm-d7c9b63b583ac05fc03c9a242c1bb8f12d27acf0.tar.bz2 |
Print all the bits in the addend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136867 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Scripts')
-rw-r--r-- | test/Scripts/common_dump.py | 3 | ||||
-rwxr-xr-x | test/Scripts/elf-dump | 19 |
2 files changed, 8 insertions, 14 deletions
diff --git a/test/Scripts/common_dump.py b/test/Scripts/common_dump.py index 3d69c3fb..cd0c493 100644 --- a/test/Scripts/common_dump.py +++ b/test/Scripts/common_dump.py @@ -40,7 +40,8 @@ def HexDump(val, numBits=32): 4. Do print 0x Why? so that they can be easily distinguished using sed/rx """ + assert 0 <= val < (1 << numBits) + val = val & (( 1 << numBits) - 1) newFmt = "0x%0" + "%d" % (numBits / 4) + "x" return newFmt % val - diff --git a/test/Scripts/elf-dump b/test/Scripts/elf-dump index 76cdbf9..003a4ef 100755 --- a/test/Scripts/elf-dump +++ b/test/Scripts/elf-dump @@ -34,27 +34,15 @@ class Reader: def read32(self): return struct.unpack('><'[self.isLSB] + 'I', self.read(4))[0] - def read32S(self): - return struct.unpack('><'[self.isLSB] + 'i', self.read(4))[0] - def read64(self): return struct.unpack('><'[self.isLSB] + 'Q', self.read(8))[0] - def read64S(self): - return struct.unpack('><'[self.isLSB] + 'q', self.read(8))[0] - def readWord(self): if self.is64Bit: return self.read64() else: return self.read32() - def readWordS(self): - if self.is64Bit: - return self.read64S() - else: - return self.read32S() - class StringTable: def __init__(self, strings): self.string_table = strings @@ -140,7 +128,12 @@ def dumpRel(f, section, dumprela = False): print " ('r_sym', %s)" % common_dump.HexDump((r_info >> 8)) print " ('r_type', %s)" % common_dump.HexDump((r_info & 0xff)) if dumprela: - print " ('r_addend', %s)" % common_dump.HexDump(f.readWordS()) + val = f.readWord() + if f.is64Bit: + numBits = 64 + else: + numBits = 32 + print " ('r_addend', %s)" % common_dump.HexDump(val, numBits) print " )," def dumpELF(path, opts): |