Added IDO recomp support (#45)

* Added recomp

* Fix .exes not being included maybe

* Fixed now?

* OK this should add IDO

* Re recompile in -O2

* Updates asm-processor to point to current HEAD.

* Uses the exact same ido_recomp binaries as OOT.

Co-authored-by: Kenix3 <kenixwhisperwind@gmail.com>
This commit is contained in:
louist103 2021-02-24 00:50:57 -05:00 committed by GitHub
parent c55e9eeee5
commit 36557611ce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
39 changed files with 7581 additions and 5 deletions

View File

@ -4,13 +4,28 @@ COMPARE ?= 1
NON_MATCHING ?= 0 NON_MATCHING ?= 0
# If ORIG_COMPILER is 1, compile with QEMU_IRIX and the original compiler # If ORIG_COMPILER is 1, compile with QEMU_IRIX and the original compiler
# TODO we do not support static recomp, so force this to 1 # TODO we do not support static recomp, so force this to 1
ORIG_COMPILER = 1 ORIG_COMPILER ?= 0
ifeq ($(NON_MATCHING),1) ifeq ($(NON_MATCHING),1)
CFLAGS := -DNON_MATCHING CFLAGS := -DNON_MATCHING
CPPFLAGS := -DNON_MATCHING
COMPARE := 0 COMPARE := 0
endif endif
ifeq ($(OS),Windows_NT)
DETECTED_OS=windows
else
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
DETECTED_OS=linux
endif
ifeq ($(UNAME_S),Darwin)
DETECTED_OS=macos
MAKE=gmake
CPPFLAGS += -xc++
endif
endif
#### Tools #### #### Tools ####
ifeq ($(shell type mips-linux-gnu-ld >/dev/null 2>/dev/null; echo $$?), 0) ifeq ($(shell type mips-linux-gnu-ld >/dev/null 2>/dev/null; echo $$?), 0)
MIPS_BINUTILS_PREFIX := mips-linux-gnu- MIPS_BINUTILS_PREFIX := mips-linux-gnu-
@ -18,8 +33,8 @@ else
MIPS_BINUTILS_PREFIX := mips64-elf- MIPS_BINUTILS_PREFIX := mips64-elf-
endif endif
CC := tools/ido_recomp/linux/7.1/cc CC := tools/ido_recomp/$(DETECTED_OS)/7.1/cc
CC_OLD := tools/ido_recomp/linux/5.3/cc CC_OLD := tools/ido_recomp/$(DETECTED_OS)/5.3/cc
QEMU_IRIX ?= ./tools/qemu-mips QEMU_IRIX ?= ./tools/qemu-mips
# if ORIG_COMPILER is 1, check that either QEMU_IRIX is set or qemu-irix package installed # if ORIG_COMPILER is 1, check that either QEMU_IRIX is set or qemu-irix package installed

3
tools/.gitignore vendored
View File

@ -1,7 +1,8 @@
# Output files # Output files
!ido_recomp/**
*.exe *.exe
yaz0 yaz0
makeromfs makeromfs
elf2rom elf2rom
mkldscript mkldscript
vtxdis vtxdis

@ -1 +1 @@
Subproject commit bc7db5a0e489b73595d5e97004f11d5fdea026e4 Subproject commit f511734d56ebb152c2b0c5aab212a0fea2588513

BIN
tools/ido_recomp/linux/5.3/as1 Executable file

Binary file not shown.

BIN
tools/ido_recomp/linux/5.3/cc Executable file

Binary file not shown.

BIN
tools/ido_recomp/linux/5.3/cfe Executable file

Binary file not shown.

File diff suppressed because it is too large Load Diff

BIN
tools/ido_recomp/linux/5.3/ugen Executable file

Binary file not shown.

BIN
tools/ido_recomp/linux/5.3/uopt Executable file

Binary file not shown.

BIN
tools/ido_recomp/linux/7.1/as1 Executable file

Binary file not shown.

BIN
tools/ido_recomp/linux/7.1/cc Executable file

Binary file not shown.

BIN
tools/ido_recomp/linux/7.1/cfe Executable file

Binary file not shown.

File diff suppressed because it is too large Load Diff

BIN
tools/ido_recomp/linux/7.1/ugen Executable file

Binary file not shown.

BIN
tools/ido_recomp/linux/7.1/uopt Executable file

Binary file not shown.

BIN
tools/ido_recomp/macos/5.3/as1 Executable file

Binary file not shown.

BIN
tools/ido_recomp/macos/5.3/cc Executable file

Binary file not shown.

BIN
tools/ido_recomp/macos/5.3/cfe Executable file

Binary file not shown.

File diff suppressed because it is too large Load Diff

BIN
tools/ido_recomp/macos/5.3/ugen Executable file

Binary file not shown.

BIN
tools/ido_recomp/macos/5.3/uopt Executable file

Binary file not shown.

BIN
tools/ido_recomp/macos/7.1/as1 Executable file

Binary file not shown.

BIN
tools/ido_recomp/macos/7.1/cc Executable file

Binary file not shown.

BIN
tools/ido_recomp/macos/7.1/cfe Executable file

Binary file not shown.

File diff suppressed because it is too large Load Diff

BIN
tools/ido_recomp/macos/7.1/ugen Executable file

Binary file not shown.

BIN
tools/ido_recomp/macos/7.1/uopt Executable file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.