summaryrefslogtreecommitdiffstats
path: root/meta-xilinx-bsp
diff options
context:
space:
mode:
authorSai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>2020-10-29 15:39:57 -0700
committerSai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>2020-10-29 16:42:29 -0700
commitdc623bac0bfbdf374c5417c4eba7ff01918fd625 (patch)
tree10eda5c27353522c976605e82a8c3363d1128cce /meta-xilinx-bsp
parentb3963be5447ea1b71ca11798ab9269b75b42178b (diff)
downloadmeta-xilinx-dc623bac0bfbdf374c5417c4eba7ff01918fd625.tar.gz
xrt_git.bb: Replace deprecated boost macros
xrt source includes boost/detail/endian.hpp to detect endianess. In Yocto, gatesgarth, boost version is 1.74 which has deprecated some older macros resulting in the below error /workspaces/ckalluri/yocto/master-dev/builds-versal/tmp/work/cortexa72-cortexa53-xilinx-linux/xrt/202010.2.7.0-r0/git/src/runtime_src/xocl/core/kernel.cpp:24:10: fatal error: boost/detail/e ndian.hpp: No such file or directory | 24 | | compilation terminated. To fix the compilation issue, currently include a patch on top of xrt source that replaces the deprecated BOOST_BYTE_ORDER macro with __BYTE_ORDER macro to detect endianess. Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
Diffstat (limited to 'meta-xilinx-bsp')
-rw-r--r--meta-xilinx-bsp/recipes-xrt/xrt/xrt/0001-Replace-boost-detail-endian.hpp-with-boost-predef-ot.patch80
-rw-r--r--meta-xilinx-bsp/recipes-xrt/xrt/xrt_git.bb2
2 files changed, 82 insertions, 0 deletions
diff --git a/meta-xilinx-bsp/recipes-xrt/xrt/xrt/0001-Replace-boost-detail-endian.hpp-with-boost-predef-ot.patch b/meta-xilinx-bsp/recipes-xrt/xrt/xrt/0001-Replace-boost-detail-endian.hpp-with-boost-predef-ot.patch
new file mode 100644
index 00000000..2ad7f01a
--- /dev/null
+++ b/meta-xilinx-bsp/recipes-xrt/xrt/xrt/0001-Replace-boost-detail-endian.hpp-with-boost-predef-ot.patch
@@ -0,0 +1,80 @@
1From aa556b2142b8d6c62c457f82f4470430e9fe80e7 Mon Sep 17 00:00:00 2001
2From: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
3Date: Thu, 29 Oct 2020 15:28:06 -0700
4Subject: [PATCH] Replace boost/detail/endian.hpp with
5 boost/predef/other/endian.h
6
7The use of BOOST_*_ENDIAN and BOOST_BYTE_ORDER is deprecated. Include
8<boost/predef/other/endian.h> and use __BYTE_ORDER and1234
9
10Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
11---
12 runtime_src/core/common/api/xrt_kernel.cpp | 8 ++++----
13 runtime_src/xocl/core/kernel.cpp | 4 ++--
14 2 files changed, 6 insertions(+), 6 deletions(-)
15
16diff --git a/runtime_src/core/common/api/xrt_kernel.cpp b/runtime_src/core/common/api/xrt_kernel.cpp
17index 1025e9d..1fb7caf 100644
18--- a/runtime_src/core/common/api/xrt_kernel.cpp
19+++ b/runtime_src/core/common/api/xrt_kernel.cpp
20@@ -48,7 +48,7 @@
21 #include <cstdlib>
22 using namespace std::chrono_literals;
23
24-#include <boost/detail/endian.hpp>
25+#include <boost/predef/other/endian.h>
26
27 #ifdef _WIN32
28 # pragma warning( disable : 4244 4267 4996)
29@@ -464,7 +464,7 @@ class argument
30 virtual std::vector<uint32_t>
31 get_value(std::va_list* args) const
32 {
33- static_assert(BOOST_BYTE_ORDER==1234,"Big endian detected");
34+ static_assert(__BYTE_ORDER==1234,"Big endian detected");
35
36 HostType value = va_arg(*args, VaArgType);
37 return value_to_uint32_vector(value);
38@@ -485,7 +485,7 @@ class argument
39 virtual std::vector<uint32_t>
40 get_value(std::va_list* args) const
41 {
42- static_assert(BOOST_BYTE_ORDER==1234,"Big endian detected");
43+ static_assert(__BYTE_ORDER==1234,"Big endian detected");
44
45 HostType* value = va_arg(*args, VaArgType*);
46 return value_to_uint32_vector(value, size);
47@@ -507,7 +507,7 @@ class argument
48 virtual std::vector<uint32_t>
49 get_value(std::va_list* args) const
50 {
51- static_assert(BOOST_BYTE_ORDER==1234,"Big endian detected");
52+ static_assert(__BYTE_ORDER==1234,"Big endian detected");
53 if (xrt_core::config::get_xrt_bo()) {
54 auto bo = va_arg(*args, xrtBufferHandle);
55 return value_to_uint32_vector(xrt_core::bo::address(bo));
56diff --git a/runtime_src/xocl/core/kernel.cpp b/runtime_src/xocl/core/kernel.cpp
57index f4f7edf..ec71c7e 100644
58--- a/runtime_src/xocl/core/kernel.cpp
59+++ b/runtime_src/xocl/core/kernel.cpp
60@@ -21,7 +21,7 @@
61 #include "compute_unit.h"
62 #include "core/common/xclbin_parser.h"
63
64-#include <boost/detail/endian.hpp>
65+#include <boost/predef/other/endian.h>
66
67 #include <sstream>
68 #include <iostream>
69@@ -130,7 +130,7 @@ void
70 kernel::scalar_argument::
71 set(size_t size, const void* cvalue)
72 {
73- static_assert(BOOST_BYTE_ORDER==1234,"Big endian detected");
74+ static_assert(__BYTE_ORDER==1234,"Big endian detected");
75
76 if (size != m_sz)
77 throw error(CL_INVALID_ARG_SIZE,"Invalid scalar argument size, expected "
78--
792.7.4
80
diff --git a/meta-xilinx-bsp/recipes-xrt/xrt/xrt_git.bb b/meta-xilinx-bsp/recipes-xrt/xrt/xrt_git.bb
index e522d387..d891c272 100644
--- a/meta-xilinx-bsp/recipes-xrt/xrt/xrt_git.bb
+++ b/meta-xilinx-bsp/recipes-xrt/xrt/xrt_git.bb
@@ -14,6 +14,8 @@ REPO ?= "git://github.com/Xilinx/XRT.git;protocol=https"
14BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" 14BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
15SRC_URI = "${REPO};${BRANCHARG}" 15SRC_URI = "${REPO};${BRANCHARG}"
16 16
17FILESEXTRAPATHS_prepend := "${THISDIR}/xrt:"
18SRC_URI_append = " file://0001-Replace-boost-detail-endian.hpp-with-boost-predef-ot.patch"
17PV = "202010.2.7.0" 19PV = "202010.2.7.0"
18SRCREV ?= "8a4c6eb5012c57423fba468e1af8df53a293dcd5" 20SRCREV ?= "8a4c6eb5012c57423fba468e1af8df53a293dcd5"
19 21