|
@@ -35,14 +35,10 @@ def reorder_vfns_windows_estimate(symbols: list[Symbol], start_pos: int) -> list
|
|
|
# HACK: preserves positions of references to __cxa_pure_virtual
|
|
|
name_buckets[(dmsym, n)].append(symbol)
|
|
|
|
|
|
- output_symbols: list[Symbol] = []
|
|
|
- for fname, syms in name_buckets.items():
|
|
|
- # on windows, overloads are made consecutive and in reverse of declared order
|
|
|
- # iteration order is guaranteed as of py3.7+ to be the insertion order,
|
|
|
- # so this should output symbols otherwise in their original order
|
|
|
- output_symbols.extend(reversed(syms))
|
|
|
-
|
|
|
- return output_symbols
|
|
|
+ # on windows, overloads are made consecutive and in reverse of declared order
|
|
|
+ # iteration order is guaranteed as of py3.7+ to be the insertion order,
|
|
|
+ # so this should output symbols otherwise in their original order
|
|
|
+ return list(itertools.chain.from_iterable(reversed(syms) for syms in name_buckets.values()))
|
|
|
|
|
|
|
|
|
def get_windows_vtables_from(bin: "LinuxBinary", vt: Symbol) -> VTable:
|