2025-09-20 21:25:07 +00:00
|
|
|
from copapy import stencil_database
|
2025-09-30 21:11:14 +00:00
|
|
|
from copapy import stencil_db
|
2025-09-20 21:25:07 +00:00
|
|
|
|
2025-09-30 21:11:14 +00:00
|
|
|
def test_list_symbols():
|
2025-09-20 21:25:07 +00:00
|
|
|
sdb = stencil_database('src/copapy/obj/stencils_x86_64_O3.o')
|
|
|
|
|
print('----')
|
|
|
|
|
#print(sdb.function_definitions)
|
|
|
|
|
for sym_name in sdb.function_definitions.keys():
|
2025-09-21 21:08:30 +00:00
|
|
|
print('\n-', sym_name)
|
2025-09-30 21:11:14 +00:00
|
|
|
print(list(sdb.get_patch_positions(sym_name)))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_start_end_function():
|
|
|
|
|
sdb = stencil_database('src/copapy/obj/stencils_x86_64_O3.o')
|
|
|
|
|
for sym_name in sdb.function_definitions.keys():
|
|
|
|
|
data = sdb.elf.symbols[sym_name].data
|
|
|
|
|
print('-', sym_name, stencil_db.get_stencil_position(data, sdb.elf.byteorder), len(data))
|
|
|
|
|
|
|
|
|
|
start, end = stencil_db.get_stencil_position(data, sdb.elf.byteorder)
|
|
|
|
|
|
|
|
|
|
assert start>= 0 and end >= start and end <= len(data)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
test_list_symbols()
|
|
|
|
|
test_start_end_function()
|