1*4882a593SmuzhiyunFrom 3503f7f3845caba454949fdf8408e85ca4fdb943 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Zong Li <zong.li@sifive.com> 3*4882a593SmuzhiyunDate: Wed, 6 May 2020 01:25:55 -0700 4*4882a593SmuzhiyunSubject: [PATCH] Makefile for cross compile TestFloat 3e 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunThis commit adds a Makefile for cross compile on TestFloat 7*4882a593Smuzhiyun3e version. Almost implementation is based on meta-oe porting 8*4882a593Smuzhiyunfrom Fabio Berton <fabio.berton@ossystems.com.br>. 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunSigned-off-by: Zong Li <zongbox@gmail.com> 11*4882a593Smuzhiyun--- 12*4882a593Smuzhiyun TestFloat-3e/build/Linux-Cross-Compile/Makefile | 353 ++++++++++++++++++++++ 13*4882a593Smuzhiyun TestFloat-3e/build/Linux-Cross-Compile/platform.h | 48 +++ 14*4882a593Smuzhiyun 2 files changed, 401 insertions(+) 15*4882a593Smuzhiyun create mode 100644 TestFloat-3e/build/Linux-Cross-Compile/Makefile 16*4882a593Smuzhiyun create mode 100644 TestFloat-3e/build/Linux-Cross-Compile/platform.h 17*4882a593Smuzhiyun 18*4882a593Smuzhiyundiff --git a/TestFloat-3e/build/Linux-Cross-Compile/Makefile b/TestFloat-3e/build/Linux-Cross-Compile/Makefile 19*4882a593Smuzhiyunnew file mode 100644 20*4882a593Smuzhiyunindex 0000000..d82b9ed 21*4882a593Smuzhiyun--- /dev/null 22*4882a593Smuzhiyun+++ b/TestFloat-3e/build/Linux-Cross-Compile/Makefile 23*4882a593Smuzhiyun@@ -0,0 +1,353 @@ 24*4882a593Smuzhiyun+ 25*4882a593Smuzhiyun+#============================================================================= 26*4882a593Smuzhiyun+# 27*4882a593Smuzhiyun+# This Makefile template is part of TestFloat, Release 3b, a package of 28*4882a593Smuzhiyun+# programs for testing the correctness of floating-point arithmetic complying 29*4882a593Smuzhiyun+# with the IEEE Standard for Floating-Point, by John R. Hauser. 30*4882a593Smuzhiyun+# 31*4882a593Smuzhiyun+# Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University 32*4882a593Smuzhiyun+# of California. All rights reserved. 33*4882a593Smuzhiyun+# 34*4882a593Smuzhiyun+# Redistribution and use in source and binary forms, with or without 35*4882a593Smuzhiyun+# modification, are permitted provided that the following conditions are met: 36*4882a593Smuzhiyun+# 37*4882a593Smuzhiyun+# 1. Redistributions of source code must retain the above copyright notice, 38*4882a593Smuzhiyun+# this list of conditions, and the following disclaimer. 39*4882a593Smuzhiyun+# 40*4882a593Smuzhiyun+# 2. Redistributions in binary form must reproduce the above copyright 41*4882a593Smuzhiyun+# notice, this list of conditions, and the following disclaimer in the 42*4882a593Smuzhiyun+# documentation and/or other materials provided with the distribution. 43*4882a593Smuzhiyun+# 44*4882a593Smuzhiyun+# 3. Neither the name of the University nor the names of its contributors 45*4882a593Smuzhiyun+# may be used to endorse or promote products derived from this software 46*4882a593Smuzhiyun+# without specific prior written permission. 47*4882a593Smuzhiyun+# 48*4882a593Smuzhiyun+# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY 49*4882a593Smuzhiyun+# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 50*4882a593Smuzhiyun+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE 51*4882a593Smuzhiyun+# DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY 52*4882a593Smuzhiyun+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 53*4882a593Smuzhiyun+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 54*4882a593Smuzhiyun+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 55*4882a593Smuzhiyun+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 56*4882a593Smuzhiyun+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 57*4882a593Smuzhiyun+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 58*4882a593Smuzhiyun+# 59*4882a593Smuzhiyun+#============================================================================= 60*4882a593Smuzhiyun+ 61*4882a593Smuzhiyun+SOURCE_DIR ?= ../../source 62*4882a593Smuzhiyun+SOFTFLOAT_DIR ?= ../../../SoftFloat-3e 63*4882a593Smuzhiyun+PLATFORM ?= Linux-Cross-Compile 64*4882a593Smuzhiyun+ 65*4882a593Smuzhiyun+SUBJ_SOURCE_DIR = $(SOURCE_DIR)/subj-C 66*4882a593Smuzhiyun+SOFTFLOAT_INCLUDE_DIR = $(SOFTFLOAT_DIR)/source/include 67*4882a593Smuzhiyun+ 68*4882a593Smuzhiyun+SOFTFLOAT_H = \ 69*4882a593Smuzhiyun+ $(SOFTFLOAT_INCLUDE_DIR)/softfloat_types.h \ 70*4882a593Smuzhiyun+ $(SOFTFLOAT_INCLUDE_DIR)/softfloat.h 71*4882a593Smuzhiyun+SOFTFLOAT_LIB = $(SOFTFLOAT_DIR)/build/$(PLATFORM)/softfloat$(LIB) 72*4882a593Smuzhiyun+ 73*4882a593Smuzhiyun+TESTFLOAT_OPTS ?= -DFLOAT16 -DFLOAT64 -DEXTFLOAT80 -DFLOAT128 -DFLOAT_ROUND_ODD 74*4882a593Smuzhiyun+ 75*4882a593Smuzhiyun+DELETE = rm -f 76*4882a593Smuzhiyun+C_INCLUDES = \ 77*4882a593Smuzhiyun+ -I. -I$(SUBJ_SOURCE_DIR) -I$(SOURCE_DIR) -I$(SOFTFLOAT_INCLUDE_DIR) 78*4882a593Smuzhiyun+COMPILE_C = \ 79*4882a593Smuzhiyun+ ${CC} -c -Werror-implicit-function-declaration \ 80*4882a593Smuzhiyun+ $(TESTFLOAT_OPTS) $(C_INCLUDES) -O2 -o $@ 81*4882a593Smuzhiyun+COMPILE_SLOWFLOAT_C = \ 82*4882a593Smuzhiyun+ ${CC} -c -Werror-implicit-function-declaration \ 83*4882a593Smuzhiyun+ $(TESTFLOAT_OPTS) $(C_INCLUDES) -O3 -o $@ 84*4882a593Smuzhiyun+MAKELIB = ${AR} crs $@ 85*4882a593Smuzhiyun+LINK = ${CC} -o $@ ${LDFLAGS} 86*4882a593Smuzhiyun+OTHER_LIBS = -lm 87*4882a593Smuzhiyun+ 88*4882a593Smuzhiyun+OBJ = .o 89*4882a593Smuzhiyun+LIB = .a 90*4882a593Smuzhiyun+EXE = 91*4882a593Smuzhiyun+ 92*4882a593Smuzhiyun+.PHONY: all 93*4882a593Smuzhiyun+all: \ 94*4882a593Smuzhiyun+ testsoftfloat$(EXE) \ 95*4882a593Smuzhiyun+ timesoftfloat$(EXE) \ 96*4882a593Smuzhiyun+ testfloat_gen$(EXE) \ 97*4882a593Smuzhiyun+ testfloat_ver$(EXE) \ 98*4882a593Smuzhiyun+ testfloat$(EXE) \ 99*4882a593Smuzhiyun+ 100*4882a593Smuzhiyun+OBJS_GENCASES = \ 101*4882a593Smuzhiyun+ genCases_ui32$(OBJ) \ 102*4882a593Smuzhiyun+ genCases_ui64$(OBJ) \ 103*4882a593Smuzhiyun+ genCases_i32$(OBJ) \ 104*4882a593Smuzhiyun+ genCases_i64$(OBJ) \ 105*4882a593Smuzhiyun+ genCases_f16$(OBJ) \ 106*4882a593Smuzhiyun+ genCases_f32$(OBJ) \ 107*4882a593Smuzhiyun+ genCases_f64$(OBJ) \ 108*4882a593Smuzhiyun+ genCases_extF80$(OBJ) \ 109*4882a593Smuzhiyun+ genCases_f128$(OBJ) \ 110*4882a593Smuzhiyun+ 111*4882a593Smuzhiyun+OBJS_WRITECASE = \ 112*4882a593Smuzhiyun+ writeCase_a_ui32$(OBJ) \ 113*4882a593Smuzhiyun+ writeCase_a_ui64$(OBJ) \ 114*4882a593Smuzhiyun+ writeCase_a_f16$(OBJ) \ 115*4882a593Smuzhiyun+ writeCase_ab_f16$(OBJ) \ 116*4882a593Smuzhiyun+ writeCase_abc_f16$(OBJ) \ 117*4882a593Smuzhiyun+ writeCase_a_f32$(OBJ) \ 118*4882a593Smuzhiyun+ writeCase_ab_f32$(OBJ) \ 119*4882a593Smuzhiyun+ writeCase_abc_f32$(OBJ) \ 120*4882a593Smuzhiyun+ writeCase_a_f64$(OBJ) \ 121*4882a593Smuzhiyun+ writeCase_ab_f64$(OBJ) \ 122*4882a593Smuzhiyun+ writeCase_abc_f64$(OBJ) \ 123*4882a593Smuzhiyun+ writeCase_a_extF80M$(OBJ) \ 124*4882a593Smuzhiyun+ writeCase_ab_extF80M$(OBJ) \ 125*4882a593Smuzhiyun+ writeCase_a_f128M$(OBJ) \ 126*4882a593Smuzhiyun+ writeCase_ab_f128M$(OBJ) \ 127*4882a593Smuzhiyun+ writeCase_abc_f128M$(OBJ) \ 128*4882a593Smuzhiyun+ writeCase_z_bool$(OBJ) \ 129*4882a593Smuzhiyun+ writeCase_z_ui32$(OBJ) \ 130*4882a593Smuzhiyun+ writeCase_z_ui64$(OBJ) \ 131*4882a593Smuzhiyun+ writeCase_z_f16$(OBJ) \ 132*4882a593Smuzhiyun+ writeCase_z_f32$(OBJ) \ 133*4882a593Smuzhiyun+ writeCase_z_f64$(OBJ) \ 134*4882a593Smuzhiyun+ writeCase_z_extF80M$(OBJ) \ 135*4882a593Smuzhiyun+ writeCase_z_f128M$(OBJ) \ 136*4882a593Smuzhiyun+ 137*4882a593Smuzhiyun+OBJS_TEST = \ 138*4882a593Smuzhiyun+ test_a_ui32_z_f16$(OBJ) \ 139*4882a593Smuzhiyun+ test_a_ui32_z_f32$(OBJ) \ 140*4882a593Smuzhiyun+ test_a_ui32_z_f64$(OBJ) \ 141*4882a593Smuzhiyun+ test_a_ui32_z_extF80$(OBJ) \ 142*4882a593Smuzhiyun+ test_a_ui32_z_f128$(OBJ) \ 143*4882a593Smuzhiyun+ test_a_ui64_z_f16$(OBJ) \ 144*4882a593Smuzhiyun+ test_a_ui64_z_f32$(OBJ) \ 145*4882a593Smuzhiyun+ test_a_ui64_z_f64$(OBJ) \ 146*4882a593Smuzhiyun+ test_a_ui64_z_extF80$(OBJ) \ 147*4882a593Smuzhiyun+ test_a_ui64_z_f128$(OBJ) \ 148*4882a593Smuzhiyun+ test_a_i32_z_f16$(OBJ) \ 149*4882a593Smuzhiyun+ test_a_i32_z_f32$(OBJ) \ 150*4882a593Smuzhiyun+ test_a_i32_z_f64$(OBJ) \ 151*4882a593Smuzhiyun+ test_a_i32_z_extF80$(OBJ) \ 152*4882a593Smuzhiyun+ test_a_i32_z_f128$(OBJ) \ 153*4882a593Smuzhiyun+ test_a_i64_z_f16$(OBJ) \ 154*4882a593Smuzhiyun+ test_a_i64_z_f32$(OBJ) \ 155*4882a593Smuzhiyun+ test_a_i64_z_f64$(OBJ) \ 156*4882a593Smuzhiyun+ test_a_i64_z_extF80$(OBJ) \ 157*4882a593Smuzhiyun+ test_a_i64_z_f128$(OBJ) \ 158*4882a593Smuzhiyun+ test_a_f16_z_ui32_rx$(OBJ) \ 159*4882a593Smuzhiyun+ test_a_f16_z_ui64_rx$(OBJ) \ 160*4882a593Smuzhiyun+ test_a_f16_z_i32_rx$(OBJ) \ 161*4882a593Smuzhiyun+ test_a_f16_z_i64_rx$(OBJ) \ 162*4882a593Smuzhiyun+ test_a_f16_z_ui32_x$(OBJ) \ 163*4882a593Smuzhiyun+ test_a_f16_z_ui64_x$(OBJ) \ 164*4882a593Smuzhiyun+ test_a_f16_z_i32_x$(OBJ) \ 165*4882a593Smuzhiyun+ test_a_f16_z_i64_x$(OBJ) \ 166*4882a593Smuzhiyun+ test_a_f16_z_f32$(OBJ) \ 167*4882a593Smuzhiyun+ test_a_f16_z_f64$(OBJ) \ 168*4882a593Smuzhiyun+ test_a_f16_z_extF80$(OBJ) \ 169*4882a593Smuzhiyun+ test_a_f16_z_f128$(OBJ) \ 170*4882a593Smuzhiyun+ test_az_f16$(OBJ) \ 171*4882a593Smuzhiyun+ test_az_f16_rx$(OBJ) \ 172*4882a593Smuzhiyun+ test_abz_f16$(OBJ) \ 173*4882a593Smuzhiyun+ test_abcz_f16$(OBJ) \ 174*4882a593Smuzhiyun+ test_ab_f16_z_bool$(OBJ) \ 175*4882a593Smuzhiyun+ test_a_f32_z_ui32_rx$(OBJ) \ 176*4882a593Smuzhiyun+ test_a_f32_z_ui64_rx$(OBJ) \ 177*4882a593Smuzhiyun+ test_a_f32_z_i32_rx$(OBJ) \ 178*4882a593Smuzhiyun+ test_a_f32_z_i64_rx$(OBJ) \ 179*4882a593Smuzhiyun+ test_a_f32_z_ui32_x$(OBJ) \ 180*4882a593Smuzhiyun+ test_a_f32_z_ui64_x$(OBJ) \ 181*4882a593Smuzhiyun+ test_a_f32_z_i32_x$(OBJ) \ 182*4882a593Smuzhiyun+ test_a_f32_z_i64_x$(OBJ) \ 183*4882a593Smuzhiyun+ test_a_f32_z_f16$(OBJ) \ 184*4882a593Smuzhiyun+ test_a_f32_z_f64$(OBJ) \ 185*4882a593Smuzhiyun+ test_a_f32_z_extF80$(OBJ) \ 186*4882a593Smuzhiyun+ test_a_f32_z_f128$(OBJ) \ 187*4882a593Smuzhiyun+ test_az_f32$(OBJ) \ 188*4882a593Smuzhiyun+ test_az_f32_rx$(OBJ) \ 189*4882a593Smuzhiyun+ test_abz_f32$(OBJ) \ 190*4882a593Smuzhiyun+ test_abcz_f32$(OBJ) \ 191*4882a593Smuzhiyun+ test_ab_f32_z_bool$(OBJ) \ 192*4882a593Smuzhiyun+ test_a_f64_z_ui32_rx$(OBJ) \ 193*4882a593Smuzhiyun+ test_a_f64_z_ui64_rx$(OBJ) \ 194*4882a593Smuzhiyun+ test_a_f64_z_i32_rx$(OBJ) \ 195*4882a593Smuzhiyun+ test_a_f64_z_i64_rx$(OBJ) \ 196*4882a593Smuzhiyun+ test_a_f64_z_ui32_x$(OBJ) \ 197*4882a593Smuzhiyun+ test_a_f64_z_ui64_x$(OBJ) \ 198*4882a593Smuzhiyun+ test_a_f64_z_i32_x$(OBJ) \ 199*4882a593Smuzhiyun+ test_a_f64_z_i64_x$(OBJ) \ 200*4882a593Smuzhiyun+ test_a_f64_z_f16$(OBJ) \ 201*4882a593Smuzhiyun+ test_a_f64_z_f32$(OBJ) \ 202*4882a593Smuzhiyun+ test_a_f64_z_extF80$(OBJ) \ 203*4882a593Smuzhiyun+ test_a_f64_z_f128$(OBJ) \ 204*4882a593Smuzhiyun+ test_az_f64$(OBJ) \ 205*4882a593Smuzhiyun+ test_az_f64_rx$(OBJ) \ 206*4882a593Smuzhiyun+ test_abz_f64$(OBJ) \ 207*4882a593Smuzhiyun+ test_abcz_f64$(OBJ) \ 208*4882a593Smuzhiyun+ test_ab_f64_z_bool$(OBJ) \ 209*4882a593Smuzhiyun+ test_a_extF80_z_ui32_rx$(OBJ) \ 210*4882a593Smuzhiyun+ test_a_extF80_z_ui64_rx$(OBJ) \ 211*4882a593Smuzhiyun+ test_a_extF80_z_i32_rx$(OBJ) \ 212*4882a593Smuzhiyun+ test_a_extF80_z_i64_rx$(OBJ) \ 213*4882a593Smuzhiyun+ test_a_extF80_z_ui32_x$(OBJ) \ 214*4882a593Smuzhiyun+ test_a_extF80_z_ui64_x$(OBJ) \ 215*4882a593Smuzhiyun+ test_a_extF80_z_i32_x$(OBJ) \ 216*4882a593Smuzhiyun+ test_a_extF80_z_i64_x$(OBJ) \ 217*4882a593Smuzhiyun+ test_a_extF80_z_f16$(OBJ) \ 218*4882a593Smuzhiyun+ test_a_extF80_z_f32$(OBJ) \ 219*4882a593Smuzhiyun+ test_a_extF80_z_f64$(OBJ) \ 220*4882a593Smuzhiyun+ test_a_extF80_z_f128$(OBJ) \ 221*4882a593Smuzhiyun+ test_az_extF80$(OBJ) \ 222*4882a593Smuzhiyun+ test_az_extF80_rx$(OBJ) \ 223*4882a593Smuzhiyun+ test_abz_extF80$(OBJ) \ 224*4882a593Smuzhiyun+ test_ab_extF80_z_bool$(OBJ) \ 225*4882a593Smuzhiyun+ test_a_f128_z_ui32_rx$(OBJ) \ 226*4882a593Smuzhiyun+ test_a_f128_z_ui64_rx$(OBJ) \ 227*4882a593Smuzhiyun+ test_a_f128_z_i32_rx$(OBJ) \ 228*4882a593Smuzhiyun+ test_a_f128_z_i64_rx$(OBJ) \ 229*4882a593Smuzhiyun+ test_a_f128_z_ui32_x$(OBJ) \ 230*4882a593Smuzhiyun+ test_a_f128_z_ui64_x$(OBJ) \ 231*4882a593Smuzhiyun+ test_a_f128_z_i32_x$(OBJ) \ 232*4882a593Smuzhiyun+ test_a_f128_z_i64_x$(OBJ) \ 233*4882a593Smuzhiyun+ test_a_f128_z_f16$(OBJ) \ 234*4882a593Smuzhiyun+ test_a_f128_z_f32$(OBJ) \ 235*4882a593Smuzhiyun+ test_a_f128_z_f64$(OBJ) \ 236*4882a593Smuzhiyun+ test_a_f128_z_extF80$(OBJ) \ 237*4882a593Smuzhiyun+ test_az_f128$(OBJ) \ 238*4882a593Smuzhiyun+ test_az_f128_rx$(OBJ) \ 239*4882a593Smuzhiyun+ test_abz_f128$(OBJ) \ 240*4882a593Smuzhiyun+ test_abcz_f128$(OBJ) \ 241*4882a593Smuzhiyun+ test_ab_f128_z_bool$(OBJ) \ 242*4882a593Smuzhiyun+ 243*4882a593Smuzhiyun+OBJS_LIB = \ 244*4882a593Smuzhiyun+ uint128_inline$(OBJ) \ 245*4882a593Smuzhiyun+ uint128$(OBJ) \ 246*4882a593Smuzhiyun+ fail$(OBJ) \ 247*4882a593Smuzhiyun+ functions_common$(OBJ) \ 248*4882a593Smuzhiyun+ functionInfos$(OBJ) \ 249*4882a593Smuzhiyun+ standardFunctionInfos$(OBJ) \ 250*4882a593Smuzhiyun+ random$(OBJ) \ 251*4882a593Smuzhiyun+ genCases_common$(OBJ) \ 252*4882a593Smuzhiyun+ $(OBJS_GENCASES) \ 253*4882a593Smuzhiyun+ genCases_writeTestsTotal$(OBJ) \ 254*4882a593Smuzhiyun+ verCases_inline$(OBJ) \ 255*4882a593Smuzhiyun+ verCases_common$(OBJ) \ 256*4882a593Smuzhiyun+ verCases_writeFunctionName$(OBJ) \ 257*4882a593Smuzhiyun+ readHex$(OBJ) \ 258*4882a593Smuzhiyun+ writeHex$(OBJ) \ 259*4882a593Smuzhiyun+ $(OBJS_WRITECASE) \ 260*4882a593Smuzhiyun+ testLoops_common$(OBJ) \ 261*4882a593Smuzhiyun+ $(OBJS_TEST) \ 262*4882a593Smuzhiyun+ 263*4882a593Smuzhiyun+uint128$(OBJ): $(SOURCE_DIR)/uint128.h 264*4882a593Smuzhiyun+fail$(OBJ): $(SOURCE_DIR)/fail.h 265*4882a593Smuzhiyun+functions_common$(OBJ): $(SOFTFLOAT_H) $(SOURCE_DIR)/functions.h 266*4882a593Smuzhiyun+functionInfos$(OBJ): $(SOURCE_DIR)/functions.h 267*4882a593Smuzhiyun+standardFunctionInfos$(OBJ): $(SOURCE_DIR)/functions.h 268*4882a593Smuzhiyun+random$(OBJ): $(SOURCE_DIR)/random.h 269*4882a593Smuzhiyun+genCases_common$(OBJ): $(SOURCE_DIR)/fail.h $(SOURCE_DIR)/genCases.h 270*4882a593Smuzhiyun+$(OBJS_GENCASES): \ 271*4882a593Smuzhiyun+ $(SOURCE_DIR)/random.h $(SOFTFLOAT_H) $(SOURCE_DIR)/genCases.h 272*4882a593Smuzhiyun+genCases_f128$(OBJ): $(SOURCE_DIR)/uint128.h 273*4882a593Smuzhiyun+genCases_writeTestsTotal$(OBJ): $(SOURCE_DIR)/genCases.h 274*4882a593Smuzhiyun+verCases_common$(OBJ): $(SOURCE_DIR)/verCases.h 275*4882a593Smuzhiyun+verCases_writeFunctionName$(OBJ): $(SOURCE_DIR)/verCases.h 276*4882a593Smuzhiyun+readHex$(OBJ): $(SOURCE_DIR)/readHex.h 277*4882a593Smuzhiyun+writeHex$(OBJ): $(SOURCE_DIR)/uint128.h $(SOFTFLOAT_H) $(SOURCE_DIR)/writeHex.h 278*4882a593Smuzhiyun+$(OBJS_WRITECASE): \ 279*4882a593Smuzhiyun+ $(SOFTFLOAT_H) $(SOURCE_DIR)/writeHex.h $(SOURCE_DIR)/writeCase.h 280*4882a593Smuzhiyun+testLoops_common$(OBJ): $(SOURCE_DIR)/testLoops.h 281*4882a593Smuzhiyun+$(OBJS_TEST): \ 282*4882a593Smuzhiyun+ $(SOURCE_DIR)/uint128.h $(SOFTFLOAT_H) $(SOURCE_DIR)/genCases.h \ 283*4882a593Smuzhiyun+ $(SOURCE_DIR)/verCases.h $(SOURCE_DIR)/writeCase.h $(SOURCE_DIR)/testLoops.h 284*4882a593Smuzhiyun+$(OBJS_LIB): %$(OBJ): platform.h $(SOURCE_DIR)/%.c 285*4882a593Smuzhiyun+ $(COMPILE_C) $(SOURCE_DIR)/$*.c 286*4882a593Smuzhiyun+testfloat$(LIB): $(OBJS_LIB) 287*4882a593Smuzhiyun+ $(MAKELIB) $^ 288*4882a593Smuzhiyun+ 289*4882a593Smuzhiyun+OBJS_TESTSOFTFLOAT = slowfloat$(OBJ) testsoftfloat$(OBJ) 290*4882a593Smuzhiyun+ 291*4882a593Smuzhiyun+slowfloat$(OBJ): \ 292*4882a593Smuzhiyun+ platform.h $(SOURCE_DIR)/uint128.h $(SOFTFLOAT_H) \ 293*4882a593Smuzhiyun+ $(SOURCE_DIR)/slowfloat.h $(SOURCE_DIR)/slowfloat.c 294*4882a593Smuzhiyun+ $(COMPILE_SLOWFLOAT_C) $(SOURCE_DIR)/slowfloat.c 295*4882a593Smuzhiyun+testsoftfloat$(OBJ): \ 296*4882a593Smuzhiyun+ platform.h $(SOURCE_DIR)/uint128.h $(SOURCE_DIR)/fail.h $(SOFTFLOAT_H) \ 297*4882a593Smuzhiyun+ $(SOURCE_DIR)/slowfloat.h $(SOURCE_DIR)/functions.h \ 298*4882a593Smuzhiyun+ $(SOURCE_DIR)/genCases.h $(SOURCE_DIR)/verCases.h $(SOURCE_DIR)/writeCase.h \ 299*4882a593Smuzhiyun+ $(SOURCE_DIR)/testLoops.h $(SOURCE_DIR)/testsoftfloat.c 300*4882a593Smuzhiyun+ $(COMPILE_C) $(SOURCE_DIR)/testsoftfloat.c 301*4882a593Smuzhiyun+ 302*4882a593Smuzhiyun+testsoftfloat$(EXE): $(OBJS_TESTSOFTFLOAT) testfloat$(LIB) $(SOFTFLOAT_LIB) 303*4882a593Smuzhiyun+ $(LINK) $^ $(OTHER_LIBS) 304*4882a593Smuzhiyun+ 305*4882a593Smuzhiyun+OBJS_TIMESOFTFLOAT = timesoftfloat$(OBJ) 306*4882a593Smuzhiyun+ 307*4882a593Smuzhiyun+timesoftfloat$(OBJ): \ 308*4882a593Smuzhiyun+ platform.h $(SOURCE_DIR)/uint128.h $(SOURCE_DIR)/fail.h $(SOFTFLOAT_H) \ 309*4882a593Smuzhiyun+ $(SOURCE_DIR)/functions.h $(SOURCE_DIR)/timesoftfloat.c 310*4882a593Smuzhiyun+ $(COMPILE_C) $(SOURCE_DIR)/timesoftfloat.c 311*4882a593Smuzhiyun+ 312*4882a593Smuzhiyun+timesoftfloat$(EXE): $(OBJS_TIMESOFTFLOAT) testfloat$(LIB) $(SOFTFLOAT_LIB) 313*4882a593Smuzhiyun+ $(LINK) $^ $(OTHER_LIBS) 314*4882a593Smuzhiyun+ 315*4882a593Smuzhiyun+OBJS_TESTFLOAT_GEN = genLoops$(OBJ) testfloat_gen$(OBJ) 316*4882a593Smuzhiyun+ 317*4882a593Smuzhiyun+genLoops$(OBJ): \ 318*4882a593Smuzhiyun+ platform.h $(SOURCE_DIR)/uint128.h $(SOURCE_DIR)/fail.h $(SOFTFLOAT_H) \ 319*4882a593Smuzhiyun+ $(SOURCE_DIR)/genCases.h $(SOURCE_DIR)/writeHex.h $(SOURCE_DIR)/genLoops.h \ 320*4882a593Smuzhiyun+ $(SOURCE_DIR)/genLoops.c 321*4882a593Smuzhiyun+ $(COMPILE_C) $(SOURCE_DIR)/genLoops.c 322*4882a593Smuzhiyun+testfloat_gen$(OBJ): \ 323*4882a593Smuzhiyun+ $(SOURCE_DIR)/fail.h $(SOFTFLOAT_H) $(SOURCE_DIR)/functions.h \ 324*4882a593Smuzhiyun+ $(SOURCE_DIR)/genCases.h $(SOURCE_DIR)/genLoops.h \ 325*4882a593Smuzhiyun+ $(SOURCE_DIR)/testfloat_gen.c 326*4882a593Smuzhiyun+ $(COMPILE_C) $(SOURCE_DIR)/testfloat_gen.c 327*4882a593Smuzhiyun+ 328*4882a593Smuzhiyun+testfloat_gen$(EXE): $(OBJS_TESTFLOAT_GEN) testfloat$(LIB) $(SOFTFLOAT_LIB) 329*4882a593Smuzhiyun+ $(LINK) $^ $(OTHER_LIBS) 330*4882a593Smuzhiyun+ 331*4882a593Smuzhiyun+OBJS_TESTFLOAT_VER = verLoops$(OBJ) testfloat_ver$(OBJ) 332*4882a593Smuzhiyun+ 333*4882a593Smuzhiyun+verLoops$(OBJ): \ 334*4882a593Smuzhiyun+ platform.h $(SOURCE_DIR)/uint128.h $(SOURCE_DIR)/fail.h $(SOFTFLOAT_H) \ 335*4882a593Smuzhiyun+ $(SOURCE_DIR)/readHex.h $(SOURCE_DIR)/verCases.h $(SOURCE_DIR)/writeCase.h \ 336*4882a593Smuzhiyun+ $(SOURCE_DIR)/verLoops.h $(SOURCE_DIR)/verLoops.c 337*4882a593Smuzhiyun+ $(COMPILE_C) $(SOURCE_DIR)/verLoops.c 338*4882a593Smuzhiyun+testfloat_ver$(OBJ): \ 339*4882a593Smuzhiyun+ platform.h $(SOURCE_DIR)/uint128.h $(SOURCE_DIR)/fail.h $(SOFTFLOAT_H) \ 340*4882a593Smuzhiyun+ $(SOURCE_DIR)/functions.h $(SOURCE_DIR)/verCases.h \ 341*4882a593Smuzhiyun+ $(SOURCE_DIR)/writeCase.h $(SOURCE_DIR)/verLoops.h \ 342*4882a593Smuzhiyun+ $(SOURCE_DIR)/testfloat_ver.c 343*4882a593Smuzhiyun+ $(COMPILE_C) $(SOURCE_DIR)/testfloat_ver.c 344*4882a593Smuzhiyun+ 345*4882a593Smuzhiyun+testfloat_ver$(EXE): $(OBJS_TESTFLOAT_VER) testfloat$(LIB) $(SOFTFLOAT_LIB) 346*4882a593Smuzhiyun+ $(LINK) $^ $(OTHER_LIBS) 347*4882a593Smuzhiyun+ 348*4882a593Smuzhiyun+OBJS_TESTFLOAT = subjfloat$(OBJ) subjfloat_functions$(OBJ) testfloat$(OBJ) 349*4882a593Smuzhiyun+ 350*4882a593Smuzhiyun+subjfloat$(OBJ): \ 351*4882a593Smuzhiyun+ platform.h $(SOFTFLOAT_H) $(SUBJ_SOURCE_DIR)/subjfloat_config.h \ 352*4882a593Smuzhiyun+ $(SOURCE_DIR)/subjfloat.h $(SUBJ_SOURCE_DIR)/subjfloat.c 353*4882a593Smuzhiyun+ $(COMPILE_C) $(SUBJ_SOURCE_DIR)/subjfloat.c 354*4882a593Smuzhiyun+subjfloat_functions$(OBJ): \ 355*4882a593Smuzhiyun+ platform.h $(SUBJ_SOURCE_DIR)/subjfloat_config.h $(SOURCE_DIR)/subjfloat.h \ 356*4882a593Smuzhiyun+ $(SOURCE_DIR)/functions.h $(SOURCE_DIR)/subjfloat_functions.c 357*4882a593Smuzhiyun+ $(COMPILE_C) $(SOURCE_DIR)/subjfloat_functions.c 358*4882a593Smuzhiyun+testfloat$(OBJ): \ 359*4882a593Smuzhiyun+ platform.h $(SOURCE_DIR)/uint128.h $(SOURCE_DIR)/fail.h $(SOFTFLOAT_H) \ 360*4882a593Smuzhiyun+ $(SUBJ_SOURCE_DIR)/subjfloat_config.h $(SOURCE_DIR)/subjfloat.h \ 361*4882a593Smuzhiyun+ $(SOURCE_DIR)/functions.h $(SOURCE_DIR)/genCases.h $(SOURCE_DIR)/verCases.h \ 362*4882a593Smuzhiyun+ $(SOURCE_DIR)/testLoops.h $(SOURCE_DIR)/testfloat.c 363*4882a593Smuzhiyun+ $(COMPILE_C) $(SOURCE_DIR)/testfloat.c 364*4882a593Smuzhiyun+ 365*4882a593Smuzhiyun+testfloat$(EXE): $(OBJS_TESTFLOAT) testfloat$(LIB) $(SOFTFLOAT_LIB) 366*4882a593Smuzhiyun+ $(LINK) $^ $(OTHER_LIBS) 367*4882a593Smuzhiyun+ 368*4882a593Smuzhiyun+.PHONY: clean 369*4882a593Smuzhiyun+clean: 370*4882a593Smuzhiyun+ $(DELETE) $(OBJS_LIB) testfloat$(LIB) 371*4882a593Smuzhiyun+ $(DELETE) $(OBJS_TESTSOFTFLOAT) testsoftfloat$(EXE) 372*4882a593Smuzhiyun+ $(DELETE) $(OBJS_TIMESOFTFLOAT) timesoftfloat$(EXE) 373*4882a593Smuzhiyun+ $(DELETE) $(OBJS_TESTFLOAT_GEN) testfloat_gen$(EXE) 374*4882a593Smuzhiyun+ $(DELETE) $(OBJS_TESTFLOAT_VER) testfloat_ver$(EXE) 375*4882a593Smuzhiyun+ $(DELETE) $(OBJS_TESTFLOAT) testfloat$(EXE) 376*4882a593Smuzhiyun+ 377*4882a593Smuzhiyundiff --git a/TestFloat-3e/build/Linux-Cross-Compile/platform.h b/TestFloat-3e/build/Linux-Cross-Compile/platform.h 378*4882a593Smuzhiyunnew file mode 100644 379*4882a593Smuzhiyunindex 0000000..487a43b 380*4882a593Smuzhiyun--- /dev/null 381*4882a593Smuzhiyun+++ b/TestFloat-3e/build/Linux-Cross-Compile/platform.h 382*4882a593Smuzhiyun@@ -0,0 +1,48 @@ 383*4882a593Smuzhiyun+ 384*4882a593Smuzhiyun+/*============================================================================ 385*4882a593Smuzhiyun+ 386*4882a593Smuzhiyun+This C header template is part of TestFloat, Release 3e, a package of programs 387*4882a593Smuzhiyun+for testing the correctness of floating-point arithmetic complying with the 388*4882a593Smuzhiyun+IEEE Standard for Floating-Point, by John R. Hauser. 389*4882a593Smuzhiyun+ 390*4882a593Smuzhiyun+Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of 391*4882a593Smuzhiyun+California. All rights reserved. 392*4882a593Smuzhiyun+ 393*4882a593Smuzhiyun+Redistribution and use in source and binary forms, with or without 394*4882a593Smuzhiyun+modification, are permitted provided that the following conditions are met: 395*4882a593Smuzhiyun+ 396*4882a593Smuzhiyun+ 1. Redistributions of source code must retain the above copyright notice, 397*4882a593Smuzhiyun+ this list of conditions, and the following disclaimer. 398*4882a593Smuzhiyun+ 399*4882a593Smuzhiyun+ 2. Redistributions in binary form must reproduce the above copyright notice, 400*4882a593Smuzhiyun+ this list of conditions, and the following disclaimer in the documentation 401*4882a593Smuzhiyun+ and/or other materials provided with the distribution. 402*4882a593Smuzhiyun+ 403*4882a593Smuzhiyun+ 3. Neither the name of the University nor the names of its contributors may 404*4882a593Smuzhiyun+ be used to endorse or promote products derived from this software without 405*4882a593Smuzhiyun+ specific prior written permission. 406*4882a593Smuzhiyun+ 407*4882a593Smuzhiyun+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY 408*4882a593Smuzhiyun+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 409*4882a593Smuzhiyun+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE 410*4882a593Smuzhiyun+DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY 411*4882a593Smuzhiyun+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 412*4882a593Smuzhiyun+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 413*4882a593Smuzhiyun+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 414*4882a593Smuzhiyun+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 415*4882a593Smuzhiyun+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 416*4882a593Smuzhiyun+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 417*4882a593Smuzhiyun+ 418*4882a593Smuzhiyun+=============================================================================*/ 419*4882a593Smuzhiyun+ 420*4882a593Smuzhiyun+/*---------------------------------------------------------------------------- 421*4882a593Smuzhiyun+*----------------------------------------------------------------------------*/ 422*4882a593Smuzhiyun+#define LITTLEENDIAN 1 423*4882a593Smuzhiyun+ 424*4882a593Smuzhiyun+/*---------------------------------------------------------------------------- 425*4882a593Smuzhiyun+*----------------------------------------------------------------------------*/ 426*4882a593Smuzhiyun+#ifdef __GNUC_STDC_INLINE__ 427*4882a593Smuzhiyun+#define INLINE inline 428*4882a593Smuzhiyun+#else 429*4882a593Smuzhiyun+#define INLINE extern inline 430*4882a593Smuzhiyun+#endif 431*4882a593Smuzhiyun-- 432*4882a593Smuzhiyun2.7.4 433*4882a593Smuzhiyun 434