2025-12-06 22:24:38 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
set -v
|
|
|
|
|
|
|
|
|
|
mkdir -p build/runner
|
|
|
|
|
|
2025-12-07 11:38:55 +00:00
|
|
|
cparch=$(python3 -c "import copapy; print(copapy._stencils.detect_process_arch())")
|
2025-12-06 22:24:38 +00:00
|
|
|
|
|
|
|
|
# Disassemble stencil object file
|
2025-12-07 11:38:55 +00:00
|
|
|
objdump -d -x src/copapy/obj/stencils_${cparch}_O3.o > build/runner/stencils.asm
|
2025-12-06 22:24:38 +00:00
|
|
|
|
|
|
|
|
# Create example code disassembly
|
|
|
|
|
python3 tools/make_example.py
|
|
|
|
|
build/runner/coparun build/runner/test.copapy build/runner/test.copapy.bin
|
|
|
|
|
|
2025-12-07 11:38:55 +00:00
|
|
|
if [ "$cparch" = 'x86_64' ]; then
|
|
|
|
|
cparch="i386:x86-64"
|
|
|
|
|
elif [ "$cparch" = 'x86' ]; then
|
|
|
|
|
cparch="i386"
|
|
|
|
|
elif [ "$cparch" = 'arm64' ]; then
|
|
|
|
|
cparch="aarch64"
|
|
|
|
|
elif [ "$cparch" = 'armv6' ]; then
|
|
|
|
|
cparch="arm"
|
|
|
|
|
elif [ "$cparch" = 'armv7' ]; then
|
|
|
|
|
cparch="arm"
|
2025-12-06 22:24:38 +00:00
|
|
|
fi
|
|
|
|
|
|
2025-12-07 11:38:55 +00:00
|
|
|
echo "Archtitecture: '$cparch'"
|
2025-12-07 11:09:29 +00:00
|
|
|
|
2025-12-07 11:38:55 +00:00
|
|
|
objdump -D -b binary -m $cparch --adjust-vma=0x10000 build/runner/test.copapy.bin > build/runner/example.asm
|
2025-12-06 22:24:38 +00:00
|
|
|
|
|
|
|
|
rm build/runner/test.copapy.bin
|