diff --git a/package/python-ujson/0004-Pseiderer-add-nios2-and-xtensa-001.patch b/package/python-ujson/0004-Pseiderer-add-nios2-and-xtensa-001.patch new file mode 100644 index 0000000000..8648f93c1a --- /dev/null +++ b/package/python-ujson/0004-Pseiderer-add-nios2-and-xtensa-001.patch @@ -0,0 +1,95 @@ +From a54561be5588ac9b16d3c20760b9b554168bb8aa Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Thu, 31 Oct 2019 21:26:27 +0100 +Subject: [PATCH] Pseiderer/add nios2 and xtensa 001 (#119) + +* double-conversion: enable for nios2 + +Nios2 supports double conversion, tested using qemu: + +./main || echo "correct" +correct +uname -a +Linux buildroot 4.19.16 #4 Sat Aug 3 14:46:48 CEST 2019 nios2 GNU/Linux + +Solves build error + +In file included from double-conversion.h:42:0, + from number_decimalquantity.cpp:19: +double-conversion-utils.h:119:2: error: #error Target architecture was not detected as supported by Double-Conversion. + #error Target architecture was not detected as supported by Double-Conversion. + +detected by buildroot autobuilders: +http://autobuild.buildroot.net/results/91e/91eaec34708d91f8a05af189243be0b7cabce31b/ + +Patch sent upstream: https://github.com/unicode-org/icu/pull/725 +Bug report: https://unicode-org.atlassian.net/browse/ICU-20751 + +[Bernd: Fixed path] +Signed-off-by: Bernd Kuhls +[Added Changelog entry] +Signed-off-by: Peter Seiderer + +* double-conversion: enable for xtensa + +Signed-off-by: Peter Seiderer + +[Retrieved (dand backported) from: +https://github.com/google/double-conversion/commit/a54561be5588ac9b16d3c20760b9b554168bb8aa] +Signed-off-by: Fabrice Fontaine +--- +Note: + +Double-conversion tested with: + + $ cat div.c +double Div_double(double x, double y) { return x / y; } + + $ cat main.c +double Div_double(double x, double y); + +int main(int argc, char** argv) { + double result = Div_double(89255.0, 1e22); + if (result == 89255e-22) { + printf("correct result %e\n", result); + return 1; + } else { + printf("wrong result %e\n", result); + return 0; + } +} + +Tested for xtensa (using qemu_xtensa_lx60_defconfig plus BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE): + + $ ./host/bin/xtensa-buildroot-linux-uclibc-gcc -c div.c + $ ./host/bin/xtensa-buildroot-linux-uclibc-gcc -c main.c + $ ./host/bin/xtensa-buildroot-linux-uclibc-gcc -o main main.o div.o + + $ ./host/bin/qemu-xtensa -L staging main +correct result 8.925500e-18 +--- + Changelog | 4 ++++ + double-conversion/utils.h | 3 ++- + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/deps/double-conversion/double-conversion/utils.h b/deps/double-conversion/double-conversion/utils.h +index 221467f..98ec28b 100644 +--- a/deps/double-conversion/double-conversion/utils.h ++++ b/deps/double-conversion/double-conversion/utils.h +@@ -94,6 +94,7 @@ int main(int argc, char** argv) { + defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \ + defined(__hppa__) || defined(__ia64__) || \ + defined(__mips__) || \ ++ defined(__nios2__) || \ + defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \ + defined(_POWER) || defined(_ARCH_PPC) || defined(_ARCH_PPC64) || \ + defined(__sparc__) || defined(__sparc) || defined(__s390__) || \ +@@ -102,7 +103,7 @@ int main(int argc, char** argv) { + defined(__AARCH64EL__) || defined(__aarch64__) || defined(__AARCH64EB__) || \ + defined(__riscv) || defined(__e2k__) || \ + defined(__or1k__) || defined(__arc__) || \ +- defined(__microblaze__) ++ defined(__microblaze__) || defined(__XTENSA__) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 + #elif defined(__mc68000__) + #undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS