[oe] [meta-oe][PATCH] wvstreams: Disable calls to makecontext on musl

Khem Raj raj.khem at gmail.com
Fri Oct 11 17:28:18 UTC 2019


makecontext API is deprecated and not implemented in musl

Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
 ...nt-use-ucontext-on-non-glibc-systems.patch | 20 +++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch b/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch
index 232db9e63b..ac4dd81ce8 100644
--- a/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch
+++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch
@@ -8,8 +8,6 @@ Signed-off-by: Khem Raj <raj.khem at gmail.com>
  utils/wvtask.cc | 24 ++++++++++++++++++++++++
  1 file changed, 24 insertions(+)
 
-diff --git a/utils/wvtask.cc b/utils/wvtask.cc
-index cdcd544..c0bff7d 100644
 --- a/utils/wvtask.cc
 +++ b/utils/wvtask.cc
 @@ -199,7 +199,9 @@ WvTaskMan::WvTaskMan()
@@ -22,7 +20,7 @@ index cdcd544..c0bff7d 100644
      if (context_return == 0)
      {
  	// initial setup - start the stackmaster() task (never returns!)
-@@ -265,13 +267,17 @@ int WvTaskMan::run(WvTask &task, int val)
+@@ -265,13 +267,17 @@ int WvTaskMan::run(WvTask &task, int val
  	state = &old_task->mystate;
      
      context_return = 0;
@@ -68,7 +66,7 @@ index cdcd544..c0bff7d 100644
      if (context_return == 0)
      {
  	assert(magic_number == -WVTASK_MAGIC);
-@@ -371,7 +383,9 @@ void WvTaskMan::get_stack(WvTask &task, size_t size)
+@@ -371,7 +383,9 @@ void WvTaskMan::get_stack(WvTask &task,
  	// initial setup
  	stack_target = &task;
  	context_return = size/1024 + (size%1024 > 0);
@@ -108,7 +106,7 @@ index cdcd544..c0bff7d 100644
      if (context_return == 0)
      {
  	// done the setjmp; that means the target task now has
-@@ -510,7 +530,9 @@ void WvTaskMan::do_task()
+@@ -510,20 +530,25 @@ void WvTaskMan::do_task()
                  }
                  else
                  {
@@ -118,9 +116,14 @@ index cdcd544..c0bff7d 100644
                      task->func_call.uc_stack.ss_size = task->stacksize;
                      task->func_call.uc_stack.ss_sp = task->stack;
                      task->func_call.uc_stack.ss_flags = 0;
-@@ -521,9 +543,11 @@ void WvTaskMan::do_task()
+                     task->func_call.uc_link = &task->func_return;
++#ifdef __GLIBC__
+                     Dprintf("WvTaskMan: makecontext #%d (%s)\n",
+                             task->tid, (const char *)task->name);
+                     makecontext(&task->func_call,
                              (void (*)(void))call_func, 1, task);
- 
+-
++#endif
                      context_return = 0;
 +#ifdef __GLIBC__
                      assert(getcontext(&task->func_return) == 0);
@@ -130,6 +133,3 @@ index cdcd544..c0bff7d 100644
                  }
  		
  		// the task's function terminated.
--- 
-2.13.3
-
-- 
2.23.0



More information about the Openembedded-devel mailing list