openamp: add fix patch for clang compile

Add patch 0001-apps-Fix-atomic_flag-error-for-clang-compilation.patch
and 0002-lib-Fix-atomic_flag-error-for-clang-compilation.patch
to support clang compile.

Signed-off-by:liyunfei <liyunfei33@huawei.com>
This commit is contained in:
Yunfei Li 2023-03-24 14:38:21 +08:00
parent cb7a7b341b
commit 88c39552db
3 changed files with 103 additions and 0 deletions

View File

@ -0,0 +1,53 @@
From 124b01e83f31a404ccb4e796a840f9ff8c92e589 Mon Sep 17 00:00:00 2001
From: Yunfei Li <liyunfei33@huawei.com>
Date: Mon, 6 Mar 2023 15:28:33 +0800
Subject: [PATCH 1/2] apps:Fix atomic_flag error for clang compilation
Change atomic_int to atomic_flag to solve the error
reported when compiling with clang.
Signed-off-by: Yunfei Li <liyunfei33@huawei.com>
---
apps/examples/linux_rpc_demo/linux_rpc_demo.c | 5 +++--
apps/system/linux/machine/generic/platform_info.c | 2 +-
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/apps/examples/linux_rpc_demo/linux_rpc_demo.c b/apps/examples/linux_rpc_demo/linux_rpc_demo.c
index 16d39d4..35b4f28 100644
--- a/apps/examples/linux_rpc_demo/linux_rpc_demo.c
+++ b/apps/examples/linux_rpc_demo/linux_rpc_demo.c
@@ -37,7 +37,7 @@
static struct rpmsg_rpc_clt *rpmsg_default_rpc;
static int fd, bytes_written, bytes_read;
static struct polling poll;
-static atomic_int wait_resp;
+static atomic_flag wait_resp;
static void rpmsg_rpc_shutdown(struct rpmsg_rpc_clt *rpc)
{
@@ -465,7 +465,8 @@ int app(struct rpmsg_device *rdev, void *priv)
/* redirect I/Os */
LPRINTF("Initializating I/Os redirection...\r\n");
table_len = (int)sizeof(rpc_table) / sizeof(struct rpmsg_rpc_services);
- atomic_init(&wait_resp, 1);
+ wait_resp = (atomic_flag)ATOMIC_FLAG_INIT;
+ atomic_flag_test_and_set(&wait_resp);
ret = rpmsg_rpc_client_init(&rpc, rdev,
rpmsg_rpc_shutdown, rpc_table, table_len);
diff --git a/apps/system/linux/machine/generic/platform_info.c b/apps/system/linux/machine/generic/platform_info.c
index 9afd65e..f0980c8 100644
--- a/apps/system/linux/machine/generic/platform_info.c
+++ b/apps/system/linux/machine/generic/platform_info.c
@@ -51,7 +51,7 @@ struct vring_ipi_info {
/* Socket file path */
const char *path;
int fd;
- atomic_int sync;
+ atomic_flag sync;
};
struct remoteproc_priv {
--
2.28.0.windows.1

View File

@ -0,0 +1,44 @@
From e49995a8a0b354c890454333f7d5ca9712078b83 Mon Sep 17 00:00:00 2001
From: Yunfei Li <liyunfei33@huawei.com>
Date: Mon, 6 Mar 2023 15:36:57 +0800
Subject: [PATCH 2/2] lib:Fix atomic_flag error for clang compilation
Change atomic_int to atomic_flag to solve the error
reported when compiling with clang.
Signed-off-by: Yunfei Li <liyunfei33@huawei.com>
---
lib/include/openamp/rpmsg_retarget.h | 2 +-
lib/proxy/rpmsg_retarget.c | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/lib/include/openamp/rpmsg_retarget.h b/lib/include/openamp/rpmsg_retarget.h
index b5fe8c6..791874b 100644
--- a/lib/include/openamp/rpmsg_retarget.h
+++ b/lib/include/openamp/rpmsg_retarget.h
@@ -46,7 +46,7 @@ struct rpmsg_rpc_syscall {
struct rpmsg_rpc_data {
struct rpmsg_endpoint ept;
int ept_destroyed;
- atomic_int nacked;
+ atomic_flag nacked;
void *respbuf;
size_t respbuf_len;
rpmsg_rpc_poll poll;
diff --git a/lib/proxy/rpmsg_retarget.c b/lib/proxy/rpmsg_retarget.c
index 7a1cb7e..2b93427 100644
--- a/lib/proxy/rpmsg_retarget.c
+++ b/lib/proxy/rpmsg_retarget.c
@@ -85,7 +85,8 @@ int rpmsg_rpc_init(struct rpmsg_rpc_data *rpc,
rpc->ept_destroyed = 0;
rpc->respbuf = NULL;
rpc->respbuf_len = 0;
- atomic_init(&rpc->nacked, 1);
+ rpc->nacked = (atomic_flag)ATOMIC_FLAG_INIT;
+ atomic_flag_test_and_set(&rpc->nacked);
ret = rpmsg_create_ept(&rpc->ept, rdev,
ept_name, ept_addr, ept_raddr,
rpmsg_rpc_ept_cb, rpmsg_service_unbind);
--
2.28.0.windows.1

View File

@ -7,6 +7,9 @@ License: BSD-3-Clause
URL: http://github.com/OpenAMP
Source0: https://github.com/OpenAMP/open-amp/archive/refs/tags/v%{version}/%{name}-%{version}.tar.gz
Patch0001:0001-apps-Fix-atomic_flag-error-for-clang-compilation.patch
Patch0002:0002-lib-Fix-atomic_flag-error-for-clang-compilation.patch
BuildRequires: cmake
BuildRequires: gcc
BuildRequires: gcc-c++
@ -67,6 +70,9 @@ cd build
%{_bindir}/*-shared
%changelog
* Fri March 24 2023 liyunfei <liyunfei33@huawei.com> - 2022.10.1-5
- add patch for clang compile
* Wed March 15 2023 hanzongcheng <hanzongcheng@huawei.com> - 2022.10.1-4
- rename to openamp