Message ID | 20191011172818.718226-1-raj.khem@gmail.com |
---|---|
State | New |
Headers | show |
Series | [oe,meta-oe] wvstreams: Disable calls to makecontext on musl | expand |
On Fri, Oct 11, 2019 at 10:28:18AM -0700, Khem Raj wrote: > makecontext API is deprecated and not implemented in musl >... Does the resulting binary work correctly with musl? The whole patch looks like turning a turning a build failure into broken runtime code, and that disabling the recipe with musl would be the only sane action. cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed -- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel
On Fri, Oct 11, 2019 at 12:05 PM Adrian Bunk <bunk@stusta.de> wrote: > > On Fri, Oct 11, 2019 at 10:28:18AM -0700, Khem Raj wrote: > > makecontext API is deprecated and not implemented in musl > >... > > Does the resulting binary work correctly with musl? > > The whole patch looks like turning a turning a build failure into > broken runtime code, and that disabling the recipe with musl would > be the only sane action. I realized that I was trying to fix an already broken patch resulting in more brokenness. Perhaps using something like https://github.com/apenwarr/wvstreams/commits/master Which should have this fixed but for now. I guess I should just remove the musl support. > > cu > Adrian > > -- > > "Is there not promise of rain?" Ling Tan asked suddenly out > of the darkness. There had been need of rain for many days. > "Only a promise," Lao Er said. > Pearl S. Buck - Dragon Seed > -- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel
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@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 -
makecontext API is deprecated and not implemented in musl Signed-off-by: Khem Raj <raj.khem@gmail.com> --- ...nt-use-ucontext-on-non-glibc-systems.patch | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) -- 2.23.0 -- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel