From 29126c33387229ae2cb585b863de7b17c317f86e Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 15 Dec 2019 19:38:04 -0800 Subject: [PATCH] rdma-core: Replace pthread_yield with sched_yield Fixes /usr/src/debug/rdma-core/26.1-r0/git/librdmacm/rsocket.c:3041: undefined reference to `pthread_yield' collect2: error: ld returned 1 exit status Signed-off-by: Khem Raj Cc: Kai Kang --- ...sched_yield-instead-of-pthread_yield.patch | 30 +++++++++++++++++++ .../rdma-core/rdma-core_27.0.bb | 1 + 2 files changed, 31 insertions(+) create mode 100644 meta-networking/recipes-support/rdma-core/rdma-core/0001-librdmacm-Use-sched_yield-instead-of-pthread_yield.patch diff --git a/meta-networking/recipes-support/rdma-core/rdma-core/0001-librdmacm-Use-sched_yield-instead-of-pthread_yield.patch b/meta-networking/recipes-support/rdma-core/rdma-core/0001-librdmacm-Use-sched_yield-instead-of-pthread_yield.patch new file mode 100644 index 0000000000..80abd33139 --- /dev/null +++ b/meta-networking/recipes-support/rdma-core/rdma-core/0001-librdmacm-Use-sched_yield-instead-of-pthread_yield.patch @@ -0,0 +1,30 @@ +From 6ac9562d756d42592994aeaac7a5e7b2bbce5cab Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 14 Dec 2019 14:07:57 -0800 +Subject: [PATCH] librdmacm: Use sched_yield instead of pthread_yield + +glibc redirects pthread_yield to sched_yield additionally we get it +working with musl on linux + +Upstream-Status: Submitted [https://github.com/linux-rdma/rdma-core/pull/635] +Signed-off-by: Khem Raj +--- + librdmacm/rsocket.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/librdmacm/rsocket.c b/librdmacm/rsocket.c +index 89ae2139..7fc5b266 100644 +--- a/librdmacm/rsocket.c ++++ b/librdmacm/rsocket.c +@@ -3038,7 +3038,7 @@ static int rs_poll_enter(void) + pthread_mutex_lock(&mut); + if (suspendpoll) { + pthread_mutex_unlock(&mut); +- pthread_yield(); ++ sched_yield(); + return -EBUSY; + } + +-- +2.24.1 + diff --git a/meta-networking/recipes-support/rdma-core/rdma-core_27.0.bb b/meta-networking/recipes-support/rdma-core/rdma-core_27.0.bb index b7a3dfc0d9..361d69b337 100644 --- a/meta-networking/recipes-support/rdma-core/rdma-core_27.0.bb +++ b/meta-networking/recipes-support/rdma-core/rdma-core_27.0.bb @@ -8,6 +8,7 @@ RDEPENDS_${PN} = "bash perl" BRANCH = "stable-v${@d.getVar('PV').split('.')[0]}" SRC_URI = "git://github.com/linux-rdma/rdma-core.git;branch=${BRANCH} \ file://0001-Remove-man-files-which-cant-be-built.patch \ + file://0001-librdmacm-Use-sched_yield-instead-of-pthread_yield.patch \ " SRCREV = "84caf035ae6123e2296b72006cd2cf698c65eb46" S = "${WORKDIR}/git"