mirror of https://github.com/Nonannet/copapy.git
extract code tool updated to output addresses in
hex and some fixes and aarch64 deactivated
This commit is contained in:
parent
b0668e7449
commit
926bb9f85f
|
|
@ -71,15 +71,16 @@ jobs:
|
|||
if: strategy.job-index == 0
|
||||
run: |
|
||||
python tools/make_example.py
|
||||
|
||||
python tools/extract_code.py "bin/test.copapy" "bin/test.copapy.bin"
|
||||
objdump -D -b binary -m i386:x86-64 --adjust-vma=0x1000 bin/test.copapy.bin > bin/test.copapy.asm
|
||||
echo '<p>test.copapy.asm</p>' >> $GITHUB_STEP_SUMMARY
|
||||
python tools/clean_asm.py bin/test.copapy.asm >> $GITHUB_STEP_SUMMARY
|
||||
|
||||
python tools/extract_code.py "bin/test-aarch64.copapy" "bin/test-aarch64.copapy.bin"
|
||||
aarch64-linux-gnu-objdump -D -b binary -m aarch64 --adjust-vma=0x1000 bin/test-aarch64.copapy.bin > bin/test-aarch64.copapy.asm
|
||||
echo '<p>test-aarch64.copapy.asm</p>' >> $GITHUB_STEP_SUMMARY
|
||||
python tools/clean_asm.py bin/test-aarch64.copapy.asm >> $GITHUB_STEP_SUMMARY
|
||||
#python tools/extract_code.py "bin/test-aarch64.copapy" "bin/test-aarch64.copapy.bin"
|
||||
#aarch64-linux-gnu-objdump -D -b binary -m aarch64 --adjust-vma=0x1000 bin/test-aarch64.copapy.bin > bin/test-aarch64.copapy.asm
|
||||
#echo '<p>test-aarch64.copapy.asm</p>' >> $GITHUB_STEP_SUMMARY
|
||||
#python tools/clean_asm.py bin/test-aarch64.copapy.asm >> $GITHUB_STEP_SUMMARY
|
||||
|
||||
objdump -d -x src/copapy/obj/stencils_x86_64_O3.o > bin/stencils_x86_64_O3.asm
|
||||
echo '<p>stencils_x86_64_O3.asm</p>' >> $GITHUB_STEP_SUMMARY
|
||||
|
|
|
|||
|
|
@ -175,8 +175,8 @@ class stencil_database():
|
|||
mask = 0xFFFFFFFF # 32 bit
|
||||
patch_value = symbol_address + pr.fields['r_addend'] - patch_offset
|
||||
|
||||
print(f'** {patch_offset=} {relocation.target_symbol_name=} {pr.fields['r_offset']=} {relocation.function_offset=} {relocation.start=} {function_offset=}')
|
||||
print(f' {patch_value=} {symbol_address=} {pr.fields['r_addend']=}, {function_offset=}')
|
||||
print(f"** {patch_offset=} {relocation.target_symbol_name=} {pr.fields['r_offset']=} {relocation.function_offset=} {relocation.start=} {function_offset=}")
|
||||
print(f" {patch_value=} {symbol_address=} {pr.fields['r_addend']=}, {function_offset=}")
|
||||
|
||||
#elif reloc.type.endswith('_JUMP26') or reloc.type.endswith('_CALL26'):
|
||||
# # S + A - P
|
||||
|
|
|
|||
|
|
@ -46,34 +46,34 @@ if __name__ == "__main__":
|
|||
offs = dr.read_int()
|
||||
size = dr.read_int()
|
||||
datab = dr.read_bytes(size)
|
||||
print(f"COPY_DATA offs={offs} size={size} data={' '.join(hex(d) for d in datab)}")
|
||||
print(f"COPY_DATA offs=0x{offs + data_section_offset:x} size={size} data={' '.join(hex(d) for d in datab)}")
|
||||
elif com == Command.COPY_CODE:
|
||||
offs = dr.read_int()
|
||||
size = dr.read_int()
|
||||
datab = dr.read_bytes(size)
|
||||
program_data[offs:offs + size] = datab
|
||||
print(f"COPY_CODE offs={offs} size={size} data={' '.join(hex(d) for d in datab[:5])}...")
|
||||
print(f"COPY_CODE offs=0x{offs:x} size={size} data={' '.join(hex(d) for d in datab[:5])}...")
|
||||
elif com == Command.PATCH_FUNC:
|
||||
offs = dr.read_int()
|
||||
mask = dr.read_int()
|
||||
value = dr.read_int(signed=True)
|
||||
patch(program_data, offs, mask, value, byteorder)
|
||||
print(f"PATCH_FUNC patch_offs={offs} mask=0x{mask:x} value={value}")
|
||||
print(f"PATCH_FUNC patch_offs=0x{offs:x} mask=0x{mask:x} value=0x{value:x}")
|
||||
elif com == Command.PATCH_OBJECT:
|
||||
offs = dr.read_int()
|
||||
mask = dr.read_int()
|
||||
value = dr.read_int(signed=True)
|
||||
patch(program_data, offs, mask, value + data_section_offset, byteorder)
|
||||
print(f"PATCH_OBJECT patch_offs={offs} mask=ox{mask:x} value={value}")
|
||||
print(f"PATCH_OBJECT patch_offs=0x{offs:x} mask=0x{mask:x} value=0x{value + data_section_offset:x}")
|
||||
elif com == Command.ENTRY_POINT:
|
||||
rel_entr_point = dr.read_int()
|
||||
print(f"ENTRY_POINT rel_entr_point={rel_entr_point}")
|
||||
print(f"ENTRY_POINT rel_entr_point=0x{rel_entr_point:x}")
|
||||
elif com == Command.RUN_PROG:
|
||||
print("RUN_PROG")
|
||||
elif com == Command.READ_DATA:
|
||||
offs = dr.read_int()
|
||||
size = dr.read_int()
|
||||
print(f"READ_DATA offs={offs} size={size}")
|
||||
print(f"READ_DATA offs=0x{offs:x} size={size}")
|
||||
elif com == Command.FREE_MEMORY:
|
||||
print("READ_DATA")
|
||||
elif com == Command.END_COM:
|
||||
|
|
|
|||
|
|
@ -79,4 +79,4 @@ def test_compile_aarch64() -> None:
|
|||
|
||||
if __name__ == "__main__":
|
||||
test_compile()
|
||||
test_compile_aarch64()
|
||||
#test_compile_aarch64()
|
||||
|
|
|
|||
Loading…
Reference in New Issue