aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch')
-rw-r--r--meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch119
1 files changed, 79 insertions, 40 deletions
diff --git a/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch b/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch
index 71ca343cc0..c99ba71b37 100644
--- a/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch
+++ b/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch
@@ -1,33 +1,37 @@
-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
+Upstream-Status: Pending
-diff --git a/TestFloat-3a/build/Linux-Cross-Compile/Makefile b/TestFloat-3a/build/Linux-Cross-Compile/Makefile
+ 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-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 +60,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 +104,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 +113,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 +124,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 +182,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 +199,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 +216,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 +232,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 +243,7 @@ index 0000000..a89326a
+ test_ab_f128_z_bool$(OBJ) \
+
+OBJS_LIB = \
++ uint128_inline$(OBJ) \
+ uint128$(OBJ) \
+ fail$(OBJ) \
+ functions_common$(OBJ) \
@@ -218,6 +253,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 +376,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 +425,11 @@ index 0000000..09e63a0
+
+/*----------------------------------------------------------------------------
+*----------------------------------------------------------------------------*/
++#ifdef __GNUC_STDC_INLINE__
++#define INLINE inline
++#else
+#define INLINE extern inline
-+
++#endif
--
-2.1.4
+2.7.4