Index: utils/ABITest/Makefile.test.common =================================================================== --- utils/ABITest/Makefile.test.common +++ utils/ABITest/Makefile.test.common @@ -13,11 +13,11 @@ CFLAGS := -std=gnu99 -X_COMPILER := gcc +X_COMPILER ?= gcc X_LL_CFLAGS := -emit-llvm -S -Y_COMPILER := clang +Y_COMPILER ?= clang Y_LL_CFLAGS := -emit-llvm -S -CC := gcc +CC ?= gcc ### @@ -84,7 +84,7 @@ .PRECIOUS: temps/test.%.out temps/test.%.out: temps/test.% - -$(Verb) ./$< > $@ + -$(Verb) $(RUNUNDER) ./$< > $@ # Executables Index: utils/ABITest/mips-n32/Makefile =================================================================== --- /dev/null +++ utils/ABITest/mips-n32/Makefile @@ -0,0 +1,24 @@ +CC := mips-mti-linux-gnu-gcc +X_COMPILER := mips-mti-linux-gnu-gcc +Y_COMPILER := mips64-mti-linux-gnu-clang + +X_CFLAGS := -mips64r2 -mabi=n32 +Y_CFLAGS := -mips64r2 -mabi=n32 +CC_CFLAGS := -mips64r2 -mabi=n32 + +# There are 16 argument registers so testing 18 arguments will cover every +# possibility. +N_ARGS = 18 +ifeq (${SOFTFLOAT},1) + # Softfloat causes the floating point arguments to occupy integer registers + # so we don't need to test as many. There are 8 remaining registers so + # testing 10 covers everything. + N_ARGS = 10 + X_CFLAGS := ${X_CFLAGS} -msoft-float + Y_CFLAGS := ${Y_CFLAGS} -msoft-float + CC_CFLAGS := ${CC_CFLAGS} -msoft-float +endif + +include ../Makefile.test.common + +TESTARGS := --no-complex --no-vector --max-args ${N_ARGS} Index: utils/ABITest/mips-n64/Makefile =================================================================== --- /dev/null +++ utils/ABITest/mips-n64/Makefile @@ -0,0 +1,24 @@ +CC := mips-mti-linux-gnu-gcc +X_COMPILER := mips-mti-linux-gnu-gcc +Y_COMPILER := mips64-mti-linux-gnu-clang + +X_CFLAGS := -mips64r2 -mabi=64 +Y_CFLAGS := -mips64r2 -mabi=64 +CC_CFLAGS := -mips64r2 -mabi=64 + +# There are 16 argument registers so testing 18 arguments will cover every +# possibility. +N_ARGS = 18 +ifeq (${SOFTFLOAT},1) + # Softfloat causes the floating point arguments to occupy integer registers + # so we don't need to test as many. There are 8 remaining registers so + # testing 10 covers everything. + N_ARGS = 10 + X_CFLAGS := ${X_CFLAGS} -msoft-float + Y_CFLAGS := ${Y_CFLAGS} -msoft-float + CC_CFLAGS := ${CC_CFLAGS} -msoft-float +endif + +include ../Makefile.test.common + +TESTARGS := --no-complex --no-vector --max-args ${N_ARGS} Index: utils/ABITest/mips-o32/Makefile =================================================================== --- /dev/null +++ utils/ABITest/mips-o32/Makefile @@ -0,0 +1,22 @@ +CC := mips-mti-linux-gnu-gcc +X_COMPILER := mips-mti-linux-gnu-gcc +Y_COMPILER := mips-mti-linux-gnu-clang + +X_CFLAGS := -mips32r2 +Y_CFLAGS := -mips32r2 -mfp32 +CC_CFLAGS := -mips32r2 + +# There are 4 argument registers so testing 6 arguments will cover every +# possibility. +N_ARGS = 4 +ifeq (${SOFTFLOAT},1) + X_CFLAGS := ${X_CFLAGS} -msoft-float + Y_CFLAGS := ${Y_CFLAGS} -msoft-float + CC_CFLAGS := ${CC_CFLAGS} -msoft-float +endif + +include ../Makefile.test.common + +# To get the same test cases as N32/N64 +N_ARGS=18 +TESTARGS := --no-complex --no-vector --max-args ${N_ARGS} Index: utils/ABITest/mipsel-n32/Makefile =================================================================== --- /dev/null +++ utils/ABITest/mipsel-n32/Makefile @@ -0,0 +1,24 @@ +CC := mips-mti-linux-gnu-gcc +X_COMPILER := mips-mti-linux-gnu-gcc +Y_COMPILER := mips64-mti-linux-gnu-clang + +X_CFLAGS := -EL -mips64r2 -mabi=n32 +Y_CFLAGS := -EL -mips64r2 -mabi=n32 +CC_CFLAGS := -EL -mips64r2 -mabi=n32 + +# There are 16 argument registers so testing 18 arguments will cover every +# possibility. +N_ARGS = 18 +ifeq (${SOFTFLOAT},1) + # Softfloat causes the floating point arguments to occupy integer registers + # so we don't need to test as many. There are 8 remaining registers so + # testing 10 covers everything. + N_ARGS = 10 + X_CFLAGS := ${X_CFLAGS} -msoft-float + Y_CFLAGS := ${Y_CFLAGS} -msoft-float + CC_CFLAGS := ${CC_CFLAGS} -msoft-float +endif + +include ../Makefile.test.common + +TESTARGS := --no-complex --no-vector --max-args ${N_ARGS} Index: utils/ABITest/mipsel-n64/Makefile =================================================================== --- /dev/null +++ utils/ABITest/mipsel-n64/Makefile @@ -0,0 +1,24 @@ +CC := mips-mti-linux-gnu-gcc +X_COMPILER := mips-mti-linux-gnu-gcc +Y_COMPILER := mips64-mti-linux-gnu-clang + +X_CFLAGS := -EL -mips64r2 -mabi=64 +Y_CFLAGS := -EL -mips64r2 -mabi=64 +CC_CFLAGS := -EL -mips64r2 -mabi=64 + +# There are 16 argument registers so testing 18 arguments will cover every +# possibility. +N_ARGS = 18 +ifeq (${SOFTFLOAT},1) + # Softfloat causes the floating point arguments to occupy integer registers + # so we don't need to test as many. There are 8 remaining registers so + # testing 10 covers everything. + N_ARGS = 10 + X_CFLAGS := ${X_CFLAGS} -msoft-float + Y_CFLAGS := ${Y_CFLAGS} -msoft-float + CC_CFLAGS := ${CC_CFLAGS} -msoft-float +endif + +include ../Makefile.test.common + +TESTARGS := --no-complex --no-vector --max-args ${N_ARGS} Index: utils/ABITest/mipsel-o32/Makefile =================================================================== --- /dev/null +++ utils/ABITest/mipsel-o32/Makefile @@ -0,0 +1,20 @@ +CC := mips-mti-linux-gnu-gcc +X_COMPILER := mips-mti-linux-gnu-gcc +Y_COMPILER := mips-mti-linux-gnu-clang + +X_CFLAGS := -EL -mips32r2 +Y_CFLAGS := -EL -mips32r2 -mfp32 +CC_CFLAGS := -EL -mips32r2 + +N_ARGS = 4 +ifeq (${SOFTFLOAT},1) + X_CFLAGS := ${X_CFLAGS} -msoft-float + Y_CFLAGS := ${Y_CFLAGS} -msoft-float + CC_CFLAGS := ${CC_CFLAGS} -msoft-float +endif + +include ../Makefile.test.common + +# To get the same test cases as N32/N64 +N_ARGS=18 +TESTARGS := --no-complex --no-vector --max-args ${N_ARGS}