diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch')
-rw-r--r-- | meta-openembedded/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch | 117 |
1 files changed, 77 insertions, 40 deletions
diff --git a/meta-openembedded/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch b/meta-openembedded/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch index 71ca343cc0..b7d861f8fc 100644 --- a/meta-openembedded/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch +++ b/meta-openembedded/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch @@ -1,33 +1,35 @@ -Upstream-Status: Inappropriate [configuration] +From 3503f7f3845caba454949fdf8408e85ca4fdb943 Mon Sep 17 00:00:00 2001 +From: Zong Li <zong.li@sifive.com> +Date: Wed, 6 May 2020 01:25:55 -0700 +Subject: [PATCH] Makefile for cross compile TestFloat 3e -From 9aa4a416f05967320c1aa52bdccfe105a3bf3269 Mon Sep 17 00:00:00 2001 -From: Fabio Berton <fabio.berton@ossystems.com.br> -Date: Thu, 4 Feb 2016 09:16:09 -0200 -Subject: [PATCH 2/2] Makefile for cross compile TestFloat +This commit adds a Makefile for cross compile on TestFloat +3e version. Almost implementation is based on meta-oe porting +from Fabio Berton <fabio.berton@ossystems.com.br>. -Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> +Signed-off-by: Zong Li <zongbox@gmail.com> --- - TestFloat-3a/build/Linux-Cross-Compile/Makefile | 321 ++++++++++++++++++++++ - TestFloat-3a/build/Linux-Cross-Compile/platform.h | 45 +++ - 2 files changed, 366 insertions(+) - create mode 100644 TestFloat-3a/build/Linux-Cross-Compile/Makefile - create mode 100644 TestFloat-3a/build/Linux-Cross-Compile/platform.h + TestFloat-3e/build/Linux-Cross-Compile/Makefile | 353 ++++++++++++++++++++++ + TestFloat-3e/build/Linux-Cross-Compile/platform.h | 48 +++ + 2 files changed, 401 insertions(+) + create mode 100644 TestFloat-3e/build/Linux-Cross-Compile/Makefile + create mode 100644 TestFloat-3e/build/Linux-Cross-Compile/platform.h -diff --git a/TestFloat-3a/build/Linux-Cross-Compile/Makefile b/TestFloat-3a/build/Linux-Cross-Compile/Makefile +diff --git a/TestFloat-3e/build/Linux-Cross-Compile/Makefile b/TestFloat-3e/build/Linux-Cross-Compile/Makefile new file mode 100644 -index 0000000..a89326a +index 0000000..d82b9ed --- /dev/null -+++ b/TestFloat-3a/build/Linux-Cross-Compile/Makefile -@@ -0,0 +1,321 @@ ++++ b/TestFloat-3e/build/Linux-Cross-Compile/Makefile +@@ -0,0 +1,353 @@ + +#============================================================================= +# -+# This Makefile is part of TestFloat, Release 3a, a package of programs for -+# testing the correctness of floating-point arithmetic complying with the IEEE -+# Standard for Floating-Point, by John R. Hauser. ++# This Makefile template is part of TestFloat, Release 3b, a package of ++# programs for testing the correctness of floating-point arithmetic complying ++# with the IEEE Standard for Floating-Point, by John R. Hauser. +# -+# Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of -+# California. All rights reserved. ++# Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University ++# of California. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: @@ -56,28 +58,29 @@ index 0000000..a89326a +# +#============================================================================= + -+SOURCE_DIR = ../../source ++SOURCE_DIR ?= ../../source ++SOFTFLOAT_DIR ?= ../../../SoftFloat-3e ++PLATFORM ?= Linux-Cross-Compile ++ +SUBJ_SOURCE_DIR = $(SOURCE_DIR)/subj-C -+SOFTFLOAT_DIR = ../../../SoftFloat-3a +SOFTFLOAT_INCLUDE_DIR = $(SOFTFLOAT_DIR)/source/include -+PLATFORM = Linux-Cross-Compile + +SOFTFLOAT_H = \ + $(SOFTFLOAT_INCLUDE_DIR)/softfloat_types.h \ + $(SOFTFLOAT_INCLUDE_DIR)/softfloat.h +SOFTFLOAT_LIB = $(SOFTFLOAT_DIR)/build/$(PLATFORM)/softfloat$(LIB) + -+TESTFLOAT_OPTS = -DEXTFLOAT80 -DFLOAT128 -DLONG_DOUBLE_IS_EXTFLOAT80 -fgnu89-inline ++TESTFLOAT_OPTS ?= -DFLOAT16 -DFLOAT64 -DEXTFLOAT80 -DFLOAT128 -DFLOAT_ROUND_ODD + +DELETE = rm -f +C_INCLUDES = \ + -I. -I$(SUBJ_SOURCE_DIR) -I$(SOURCE_DIR) -I$(SOFTFLOAT_INCLUDE_DIR) +COMPILE_C = \ -+ ${CC} -c -Werror-implicit-function-declaration $(TESTFLOAT_OPTS) \ -+ $(C_INCLUDES) -O2 -o $@ ++ ${CC} -c -Werror-implicit-function-declaration \ ++ $(TESTFLOAT_OPTS) $(C_INCLUDES) -O2 -o $@ +COMPILE_SLOWFLOAT_C = \ -+ ${CC} -c -Werror-implicit-function-declaration $(TESTFLOAT_OPTS) \ -+ $(C_INCLUDES) -O3 -o $@ ++ ${CC} -c -Werror-implicit-function-declaration \ ++ $(TESTFLOAT_OPTS) $(C_INCLUDES) -O3 -o $@ +MAKELIB = ${AR} crs $@ +LINK = ${CC} -o $@ ${LDFLAGS} +OTHER_LIBS = -lm @@ -99,6 +102,7 @@ index 0000000..a89326a + genCases_ui64$(OBJ) \ + genCases_i32$(OBJ) \ + genCases_i64$(OBJ) \ ++ genCases_f16$(OBJ) \ + genCases_f32$(OBJ) \ + genCases_f64$(OBJ) \ + genCases_extF80$(OBJ) \ @@ -107,6 +111,9 @@ index 0000000..a89326a +OBJS_WRITECASE = \ + writeCase_a_ui32$(OBJ) \ + writeCase_a_ui64$(OBJ) \ ++ writeCase_a_f16$(OBJ) \ ++ writeCase_ab_f16$(OBJ) \ ++ writeCase_abc_f16$(OBJ) \ + writeCase_a_f32$(OBJ) \ + writeCase_ab_f32$(OBJ) \ + writeCase_abc_f32$(OBJ) \ @@ -115,35 +122,56 @@ index 0000000..a89326a + writeCase_abc_f64$(OBJ) \ + writeCase_a_extF80M$(OBJ) \ + writeCase_ab_extF80M$(OBJ) \ -+ writeCase_abc_extF80M$(OBJ) \ + writeCase_a_f128M$(OBJ) \ + writeCase_ab_f128M$(OBJ) \ + writeCase_abc_f128M$(OBJ) \ + writeCase_z_bool$(OBJ) \ + writeCase_z_ui32$(OBJ) \ + writeCase_z_ui64$(OBJ) \ ++ writeCase_z_f16$(OBJ) \ + writeCase_z_f32$(OBJ) \ + writeCase_z_f64$(OBJ) \ + writeCase_z_extF80M$(OBJ) \ + writeCase_z_f128M$(OBJ) \ + +OBJS_TEST = \ ++ test_a_ui32_z_f16$(OBJ) \ + test_a_ui32_z_f32$(OBJ) \ + test_a_ui32_z_f64$(OBJ) \ + test_a_ui32_z_extF80$(OBJ) \ + test_a_ui32_z_f128$(OBJ) \ ++ test_a_ui64_z_f16$(OBJ) \ + test_a_ui64_z_f32$(OBJ) \ + test_a_ui64_z_f64$(OBJ) \ + test_a_ui64_z_extF80$(OBJ) \ + test_a_ui64_z_f128$(OBJ) \ ++ test_a_i32_z_f16$(OBJ) \ + test_a_i32_z_f32$(OBJ) \ + test_a_i32_z_f64$(OBJ) \ + test_a_i32_z_extF80$(OBJ) \ + test_a_i32_z_f128$(OBJ) \ ++ test_a_i64_z_f16$(OBJ) \ + test_a_i64_z_f32$(OBJ) \ + test_a_i64_z_f64$(OBJ) \ + test_a_i64_z_extF80$(OBJ) \ + test_a_i64_z_f128$(OBJ) \ ++ test_a_f16_z_ui32_rx$(OBJ) \ ++ test_a_f16_z_ui64_rx$(OBJ) \ ++ test_a_f16_z_i32_rx$(OBJ) \ ++ test_a_f16_z_i64_rx$(OBJ) \ ++ test_a_f16_z_ui32_x$(OBJ) \ ++ test_a_f16_z_ui64_x$(OBJ) \ ++ test_a_f16_z_i32_x$(OBJ) \ ++ test_a_f16_z_i64_x$(OBJ) \ ++ test_a_f16_z_f32$(OBJ) \ ++ test_a_f16_z_f64$(OBJ) \ ++ test_a_f16_z_extF80$(OBJ) \ ++ test_a_f16_z_f128$(OBJ) \ ++ test_az_f16$(OBJ) \ ++ test_az_f16_rx$(OBJ) \ ++ test_abz_f16$(OBJ) \ ++ test_abcz_f16$(OBJ) \ ++ test_ab_f16_z_bool$(OBJ) \ + test_a_f32_z_ui32_rx$(OBJ) \ + test_a_f32_z_ui64_rx$(OBJ) \ + test_a_f32_z_i32_rx$(OBJ) \ @@ -152,6 +180,7 @@ index 0000000..a89326a + test_a_f32_z_ui64_x$(OBJ) \ + test_a_f32_z_i32_x$(OBJ) \ + test_a_f32_z_i64_x$(OBJ) \ ++ test_a_f32_z_f16$(OBJ) \ + test_a_f32_z_f64$(OBJ) \ + test_a_f32_z_extF80$(OBJ) \ + test_a_f32_z_f128$(OBJ) \ @@ -168,6 +197,7 @@ index 0000000..a89326a + test_a_f64_z_ui64_x$(OBJ) \ + test_a_f64_z_i32_x$(OBJ) \ + test_a_f64_z_i64_x$(OBJ) \ ++ test_a_f64_z_f16$(OBJ) \ + test_a_f64_z_f32$(OBJ) \ + test_a_f64_z_extF80$(OBJ) \ + test_a_f64_z_f128$(OBJ) \ @@ -184,6 +214,7 @@ index 0000000..a89326a + test_a_extF80_z_ui64_x$(OBJ) \ + test_a_extF80_z_i32_x$(OBJ) \ + test_a_extF80_z_i64_x$(OBJ) \ ++ test_a_extF80_z_f16$(OBJ) \ + test_a_extF80_z_f32$(OBJ) \ + test_a_extF80_z_f64$(OBJ) \ + test_a_extF80_z_f128$(OBJ) \ @@ -199,6 +230,7 @@ index 0000000..a89326a + test_a_f128_z_ui64_x$(OBJ) \ + test_a_f128_z_i32_x$(OBJ) \ + test_a_f128_z_i64_x$(OBJ) \ ++ test_a_f128_z_f16$(OBJ) \ + test_a_f128_z_f32$(OBJ) \ + test_a_f128_z_f64$(OBJ) \ + test_a_f128_z_extF80$(OBJ) \ @@ -209,6 +241,7 @@ index 0000000..a89326a + test_ab_f128_z_bool$(OBJ) \ + +OBJS_LIB = \ ++ uint128_inline$(OBJ) \ + uint128$(OBJ) \ + fail$(OBJ) \ + functions_common$(OBJ) \ @@ -218,6 +251,7 @@ index 0000000..a89326a + genCases_common$(OBJ) \ + $(OBJS_GENCASES) \ + genCases_writeTestsTotal$(OBJ) \ ++ verCases_inline$(OBJ) \ + verCases_common$(OBJ) \ + verCases_writeFunctionName$(OBJ) \ + readHex$(OBJ) \ @@ -340,21 +374,21 @@ index 0000000..a89326a + $(DELETE) $(OBJS_TESTFLOAT_VER) testfloat_ver$(EXE) + $(DELETE) $(OBJS_TESTFLOAT) testfloat$(EXE) + -diff --git a/TestFloat-3a/build/Linux-Cross-Compile/platform.h b/TestFloat-3a/build/Linux-Cross-Compile/platform.h +diff --git a/TestFloat-3e/build/Linux-Cross-Compile/platform.h b/TestFloat-3e/build/Linux-Cross-Compile/platform.h new file mode 100644 -index 0000000..09e63a0 +index 0000000..487a43b --- /dev/null -+++ b/TestFloat-3a/build/Linux-Cross-Compile/platform.h -@@ -0,0 +1,45 @@ ++++ b/TestFloat-3e/build/Linux-Cross-Compile/platform.h +@@ -0,0 +1,48 @@ + +/*============================================================================ + -+This C header file is part of TestFloat, Release 3a, a package of programs for -+testing the correctness of floating-point arithmetic complying with the IEEE -+Standard for Floating-Point, by John R. Hauser. ++This C header template is part of TestFloat, Release 3e, a package of programs ++for testing the correctness of floating-point arithmetic complying with the ++IEEE Standard for Floating-Point, by John R. Hauser. + -+Copyright 2011, 2012, 2013, 2014 The Regents of the University of California. -+All rights reserved. ++Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of ++California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: @@ -389,8 +423,11 @@ index 0000000..09e63a0 + +/*---------------------------------------------------------------------------- +*----------------------------------------------------------------------------*/ ++#ifdef __GNUC_STDC_INLINE__ ++#define INLINE inline ++#else +#define INLINE extern inline -+ ++#endif -- -2.1.4 +2.7.4 |