Files
mm/tools/decomp-permuter/USAGE.md
T
Anghelo Carvajal b6904aa2cc Convert every submodule into subrepo (#170)
* remove ZAPD submodule

* git subrepo clone https://github.com/zeldaret/ZAPD.git tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "ca229f19"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "ca229f19"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* git subrepo clone https://github.com/simonlindholm/decomp-permuter.git tools/decomp-permuter

subrepo:
  subdir:   "tools/decomp-permuter"
  merged:   "1e4b85a7"
upstream:
  origin:   "https://github.com/simonlindholm/decomp-permuter.git"
  branch:   "main"
  commit:   "1e4b85a7"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* Remove asm-differ

* git subrepo clone https://github.com/simonlindholm/asm-differ.git tools/asm-differ

subrepo:
  subdir:   "tools/asm-differ"
  merged:   "eaf72269"
upstream:
  origin:   "https://github.com/simonlindholm/asm-differ.git"
  branch:   "master"
  commit:   "eaf72269"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* remove asm-processor

* git subrepo clone https://github.com/simonlindholm/asm-processor.git tools/asm-processor

subrepo:
  subdir:   "tools/asm-processor"
  merged:   "85288fcd"
upstream:
  origin:   "https://github.com/simonlindholm/asm-processor.git"
  branch:   "master"
  commit:   "85288fcd"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* remove .gitmodules file

* Update REAMDE

* Update warnings
2021-06-07 18:31:56 -04:00

999 B

This file describes how to manually set up a directory for use with the permuter. You probably don't need to do this! In normal circumstances, ./import.py does all this for you. See README.md for more details.

  • create a directory that will contain all of the input files for the invokation
  • put a compile command into <dir>/compile.sh (see e.g. compile_example.sh; it will be invoked as ./compile.sh input.c -o output.o)
  • gcc -E -P -I header_dir -D'__attribute__(x)=' orig_c_file.c > <dir>/base.c
  • python3 strip_other_fns.py <dir>/base.c func_name
  • put asm for func_name into <dir>/target.s, with the following header:
.set noat
.set noreorder
.set gp=64
.macro glabel label
    .global \label
	.type \label, @function
    \label:
.endm
  • mips-linux-gnu-as -march=vr4300 -mabi=32 <dir>/target.s -o <dir>/target.o
  • optional sanity checks:
    • <dir>/compile.sh <dir>/base.c -o <dir>/base.o
    • ./diff.sh <dir>/target.o <dir>/base.o
  • ./permuter.py <dir>