test/COFF: Fix symbol indexes and names. Update tests to match.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115642 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Scripts/coff-dump.py b/test/Scripts/coff-dump.py
index d734f0a..055fec5 100755
--- a/test/Scripts/coff-dump.py
+++ b/test/Scripts/coff-dump.py
@@ -160,10 +160,10 @@
0x0010: 'IMAGE_REL_AMD64_SSPAN32',
},
}))),
- ('SymbolName', ('ptr', '+ PointerToSymbolTable * - SymbolTableIndex 1 18', ('scalar', '<8s', symname)))
+ ('SymbolName', ('ptr', '+ PointerToSymbolTable * SymbolTableIndex 18', ('scalar', '<8s', symname)))
])))),
]))),
- ('Symbols', ('ptr', 'PointerToSymbolTable', ('byte-array', '* NumberOfSymbols 18', ('struct', [
+ ('Symbols', ('ptr', 'PointerToSymbolTable', ('byte-array', '18', '* NumberOfSymbols 18', ('struct', [
('Name', ('scalar', '<8s', symname)),
('Value', ('scalar', '<L', '%d' )),
('SectionNumber', ('scalar', '<H', '%d' )),
@@ -487,24 +487,28 @@
return newItems
def handle_byte_array(entry):
- length = entry[1]
- element = entry[2]
+ ent_size = entry[1]
+ length = entry[2]
+ element = entry[3]
newItems = []
write("[\n")
indent()
+ item_size = read_value(ent_size)
value = read_value(length)
end_of_array = Input.tell() + value
+ prev_loc = Input.tell()
index = 0
while Input.tell() < end_of_array:
- write("%d = "%index)
+ write("%d = " % index)
value = handle_element(element)
write("\n")
newItems.append(value)
- index += 1
+ index += (Input.tell() - prev_loc) / item_size
+ prev_loc = Input.tell()
dedent()
write("]")