From 66cb81c1b39c6714749fe0e0ba611630454751e4 Mon Sep 17 00:00:00 2001 From: Saul Wold Date: Thu, 9 Feb 2017 10:46:22 -0800 Subject: openssl-qat: Add patch to support MUSL openssl-qat was using pthread_yield() instead of the POSIX API of sched_yield() which MUSL supports Signed-off-by: Saul Wold --- .../openssl-qat/0001-Use_sched_yield_api.patch | 47 ++++++++++++++++++++++ .../openssl-qat/openssl-qat_0.4.9-009.bb | 2 + 2 files changed, 49 insertions(+) create mode 100644 common/recipes-extended/openssl-qat/openssl-qat/0001-Use_sched_yield_api.patch (limited to 'common/recipes-extended') diff --git a/common/recipes-extended/openssl-qat/openssl-qat/0001-Use_sched_yield_api.patch b/common/recipes-extended/openssl-qat/openssl-qat/0001-Use_sched_yield_api.patch new file mode 100644 index 00000000..1b7921fa --- /dev/null +++ b/common/recipes-extended/openssl-qat/openssl-qat/0001-Use_sched_yield_api.patch @@ -0,0 +1,47 @@ +From f4c50648752ee1000f606585f4df9fa6bd9ff8e8 Mon Sep 17 00:00:00 2001 +From: Saul Wold +Date: Wed, 8 Feb 2017 17:36:48 -0800 +Subject: [PATCH] openssl-qat: Use sched_yield() instead of pthread_yield() + +sched_yield() is the correct POSIX API to use for thread switching +This futher supports building with MUSL. + +Upstream-Status: Pending +Signed-off-by: Saul Wold +--- + engines/qat_engine/e_qat.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/engines/qat_engine/e_qat.c b/engines/qat_engine/e_qat.c +index 17d7935..af543bc 100644 +--- a/engines/qat_engine/e_qat.c ++++ b/engines/qat_engine/e_qat.c +@@ -90,6 +90,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -545,7 +546,7 @@ CpaStatus myPerformOp(const CpaInstanceHandle instanceHandle, + pSrcBuffer, pDstBuffer, pVerifyResult); + if (status == CPA_STATUS_RETRY) { + qatPerformOpRetries++; +- pthread_yield(); ++ sched_yield(); + if (uiRetry >= iMsgRetry + && iMsgRetry != QAT_INFINITE_MAX_NUM_RETRIES) { + break; +@@ -588,7 +589,7 @@ static void *sendPoll(void *ih) + if (likely(CPA_STATUS_SUCCESS == status)) { + /* Do nothing */ + } else if (CPA_STATUS_RETRY == status) { +- pthread_yield(); ++ sched_yield(); + } else { + WARN("WARNING icp_sal_CyPollInstance returned status %d\n", + status); +-- +2.7.4 + diff --git a/common/recipes-extended/openssl-qat/openssl-qat_0.4.9-009.bb b/common/recipes-extended/openssl-qat/openssl-qat_0.4.9-009.bb index f2c479ef..e3d8ccc0 100644 --- a/common/recipes-extended/openssl-qat/openssl-qat_0.4.9-009.bb +++ b/common/recipes-extended/openssl-qat/openssl-qat_0.4.9-009.bb @@ -7,6 +7,8 @@ SRC_URI += "git://opensslfoundation.com/openssl-async.git;branch=OpenSSL_1_0_1- file://openssl-qat_0.4.9-009-openssl_qat-add-openssl-async-specific-symbols.patch \ " +SRC_URI_append_libc-musl = " file://0001-Use_sched_yield_api.patch" + SRC_URI[openssl_qat.md5sum]="8e2b45cf9b345356bdff0956845c6103" SRC_URI[openssl_qat.sha256sum]="c2334b4d1fc8498e06f0554ef155041a6bf441de134cfdd3635e5a449a34bf81" -- cgit v1.2.3-54-g00ecf