[Buildroot] [PATCH 1/1] package/open62541: fix build with nios2

Fabrice Fontaine fontaine.fabrice at gmail.com
Tue Jul 27 07:37:55 UTC 2021


Fix the following build failure with nios2 raised since bump to version
1.2.2 in commit	b436b82411305839abc76bb438fe92661a067526:

/home/buildroot/autobuild/instance-1/output-1/build/open62541-v1.2.2/src/ua_types_encoding_binary.c: In function 'unpack754':
/home/buildroot/autobuild/instance-1/output-1/build/open62541-v1.2.2/src/ua_types_encoding_binary.c:322:12: error: conversion to 'long double' from 'long long int' may alter its value [-Werror=conversion]
     result /= (1LL<<significandbits);
            ^~

Fixes:
 - http://autobuild.buildroot.org/results/c0a33dbada549c480bc741c1c8177b788ff053db

Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
---
 ...licit-cast-to-avoid-compiler-warning.patch | 25 +++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 package/open62541/0003-fix-core-Explicit-cast-to-avoid-compiler-warning.patch

diff --git a/package/open62541/0003-fix-core-Explicit-cast-to-avoid-compiler-warning.patch b/package/open62541/0003-fix-core-Explicit-cast-to-avoid-compiler-warning.patch
new file mode 100644
index 0000000000..dea325c17f
--- /dev/null
+++ b/package/open62541/0003-fix-core-Explicit-cast-to-avoid-compiler-warning.patch
@@ -0,0 +1,25 @@
+From 0c53fd776af9631c915c8722e1d68ce9a69fa3f6 Mon Sep 17 00:00:00 2001
+From: Andreas Walter <andreas.walter at waltronix.de>
+Date: Fri, 26 Feb 2021 11:49:25 +0100
+Subject: [PATCH] fix(core): Explicit cast to avoid compiler warning (#4203)
+
+[Retrieved from:
+https://github.com/open62541/open62541/commit/0c53fd776af9631c915c8722e1d68ce9a69fa3f6]
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
+---
+ src/ua_types_encoding_binary.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/ua_types_encoding_binary.c b/src/ua_types_encoding_binary.c
+index 0fe88eb98e0..abbd23735d3 100644
+--- a/src/ua_types_encoding_binary.c
++++ b/src/ua_types_encoding_binary.c
+@@ -319,7 +319,7 @@ static long double
+ unpack754(uint64_t i, unsigned bits, unsigned expbits) {
+     unsigned significandbits = bits - expbits - 1;
+     long double result = (long double)(i&(uint64_t)((1LL<<significandbits)-1));
+-    result /= (1LL<<significandbits);
++    result /= (long double)(1LL<<significandbits);
+     result += 1.0f;
+     unsigned bias = (unsigned)(1<<(expbits-1)) - 1;
+     long long shift = (long long)((i>>significandbits) & (uint64_t)((1LL<<expbits)-1)) - bias;
-- 
2.30.2



More information about the buildroot mailing list