summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-connectivity/wvdial
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2019-10-11 18:45:59 -0700
committerKhem Raj <raj.khem@gmail.com>2019-10-11 23:10:10 -0700
commitbf7670ff2e0e555a9ac2492dad0a69d552ac2757 (patch)
tree23f73049abf60e808d6417e75111fadc8cb17a73 /meta-oe/recipes-connectivity/wvdial
parent1bfaa2e63a184e21a2db5c286444828d5948a8b4 (diff)
downloadmeta-openembedded-bf7670ff2e0e555a9ac2492dad0a69d552ac2757.tar.gz
wvstreams,wvdial: Mark incompatible for musl
wvstreams needs porting work to get it fully functional on musl, wvdial depends on it so that needs to be disabled as well for musl. Add it to meta-oe packagegroup only when using glibc Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-connectivity/wvdial')
-rw-r--r--meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb1
-rw-r--r--meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch135
-rw-r--r--meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb3
3 files changed, 3 insertions, 136 deletions
diff --git a/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb b/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb
index 36580952f..b985d39ab 100644
--- a/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb
+++ b/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb
@@ -16,6 +16,7 @@ SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.bz2 \
16SRC_URI[md5sum] = "37e9a2d664effe4efd44c0e1a20136de" 16SRC_URI[md5sum] = "37e9a2d664effe4efd44c0e1a20136de"
17SRC_URI[sha256sum] = "99906d9560cbdbc97e1855e7b0a7169f1e11983be3ac539140423f09debced82" 17SRC_URI[sha256sum] = "99906d9560cbdbc97e1855e7b0a7169f1e11983be3ac539140423f09debced82"
18 18
19COMPATIBLE_HOST_libc-musl = "null"
19EXTRA_OEMAKE = "" 20EXTRA_OEMAKE = ""
20export WVLINK="${LD}" 21export WVLINK="${LD}"
21 22
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
deleted file mode 100644
index 232db9e63..000000000
--- a/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch
+++ /dev/null
@@ -1,135 +0,0 @@
1From 0e054339c1422168a7f4a9dcf090268053a33b1f Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 20 Jul 2017 21:05:37 -0700
4Subject: [PATCH 2/5] wvtask: Dont use ucontext on non-glibc systems
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8 utils/wvtask.cc | 24 ++++++++++++++++++++++++
9 1 file changed, 24 insertions(+)
10
11diff --git a/utils/wvtask.cc b/utils/wvtask.cc
12index cdcd544..c0bff7d 100644
13--- a/utils/wvtask.cc
14+++ b/utils/wvtask.cc
15@@ -199,7 +199,9 @@ WvTaskMan::WvTaskMan()
16 stacktop = (char *)alloca(0);
17
18 context_return = 0;
19+#ifdef __GLIBC__
20 assert(getcontext(&get_stack_return) == 0);
21+#endif
22 if (context_return == 0)
23 {
24 // initial setup - start the stackmaster() task (never returns!)
25@@ -265,13 +267,17 @@ int WvTaskMan::run(WvTask &task, int val)
26 state = &old_task->mystate;
27
28 context_return = 0;
29+#ifdef __GLIBC__
30 assert(getcontext(state) == 0);
31+#endif
32 int newval = context_return;
33 if (newval == 0)
34 {
35 // saved the state, now run the task.
36 context_return = val;
37+#ifdef __GLIBC__
38 setcontext(&task.mystate);
39+#endif
40 return -1;
41 }
42 else
43@@ -319,13 +325,17 @@ int WvTaskMan::yield(int val)
44 #endif
45
46 context_return = 0;
47+#ifdef __GLIBC__
48 assert(getcontext(&current_task->mystate) == 0);
49+#endif
50 int newval = context_return;
51 if (newval == 0)
52 {
53 // saved the task state; now yield to the toplevel.
54 context_return = val;
55+#ifdef __GLIBC__
56 setcontext(&toplevel);
57+#endif
58 return -1;
59 }
60 else
61@@ -341,7 +351,9 @@ int WvTaskMan::yield(int val)
62 void WvTaskMan::get_stack(WvTask &task, size_t size)
63 {
64 context_return = 0;
65+#ifdef __GLIBC__
66 assert(getcontext(&get_stack_return) == 0);
67+#endif
68 if (context_return == 0)
69 {
70 assert(magic_number == -WVTASK_MAGIC);
71@@ -371,7 +383,9 @@ void WvTaskMan::get_stack(WvTask &task, size_t size)
72 // initial setup
73 stack_target = &task;
74 context_return = size/1024 + (size%1024 > 0);
75+#ifdef __GLIBC__
76 setcontext(&stackmaster_task);
77+#endif
78 }
79 else
80 {
81@@ -409,7 +423,9 @@ void WvTaskMan::_stackmaster()
82 assert(magic_number == -WVTASK_MAGIC);
83
84 context_return = 0;
85+#ifdef __GLIBC__
86 assert(getcontext(&stackmaster_task) == 0);
87+#endif
88 val = context_return;
89 if (val == 0)
90 {
91@@ -419,7 +435,9 @@ void WvTaskMan::_stackmaster()
92 // all current stack allocations) and go back to get_stack
93 // (or the constructor, if that's what called us)
94 context_return = 1;
95+#ifdef __GLIBC__
96 setcontext(&get_stack_return);
97+#endif
98 }
99 else
100 {
101@@ -474,7 +492,9 @@ void WvTaskMan::do_task()
102
103 // back here from longjmp; someone wants stack space.
104 context_return = 0;
105+#ifdef __GLIBC__
106 assert(getcontext(&task->mystate) == 0);
107+#endif
108 if (context_return == 0)
109 {
110 // done the setjmp; that means the target task now has
111@@ -510,7 +530,9 @@ void WvTaskMan::do_task()
112 }
113 else
114 {
115+#ifdef __GLIBC__
116 assert(getcontext(&task->func_call) == 0);
117+#endif
118 task->func_call.uc_stack.ss_size = task->stacksize;
119 task->func_call.uc_stack.ss_sp = task->stack;
120 task->func_call.uc_stack.ss_flags = 0;
121@@ -521,9 +543,11 @@ void WvTaskMan::do_task()
122 (void (*)(void))call_func, 1, task);
123
124 context_return = 0;
125+#ifdef __GLIBC__
126 assert(getcontext(&task->func_return) == 0);
127 if (context_return == 0)
128 setcontext(&task->func_call);
129+#endif
130 }
131
132 // the task's function terminated.
133--
1342.13.3
135
diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb b/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb
index b9f62da7b..b220f9c1b 100644
--- a/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb
+++ b/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb
@@ -15,7 +15,6 @@ SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz \
15 file://gcc-6.patch \ 15 file://gcc-6.patch \
16 file://argp.patch \ 16 file://argp.patch \
17 file://0001-Check-for-limits.h-during-configure.patch \ 17 file://0001-Check-for-limits.h-during-configure.patch \
18 file://0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch \
19 file://0003-wvtask-Check-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch \ 18 file://0003-wvtask-Check-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch \
20 file://0004-wvcrash-Replace-use-of-basename-API.patch \ 19 file://0004-wvcrash-Replace-use-of-basename-API.patch \
21 file://0005-check-for-libexecinfo-during-configure.patch \ 20 file://0005-check-for-libexecinfo-during-configure.patch \
@@ -28,6 +27,8 @@ SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz \
28SRC_URI[md5sum] = "2760dac31a43d452a19a3147bfde571c" 27SRC_URI[md5sum] = "2760dac31a43d452a19a3147bfde571c"
29SRC_URI[sha256sum] = "8403f5fbf83aa9ac0c6ce15d97fd85607488152aa84e007b7d0621b8ebc07633" 28SRC_URI[sha256sum] = "8403f5fbf83aa9ac0c6ce15d97fd85607488152aa84e007b7d0621b8ebc07633"
30 29
30COMPATIBLE_HOST_libc-musl = "null"
31
31inherit autotools-brokensep pkgconfig 32inherit autotools-brokensep pkgconfig
32 33
33TARGET_CFLAGS_append = " -fno-tree-dce -fno-optimize-sibling-calls" 34TARGET_CFLAGS_append = " -fno-tree-dce -fno-optimize-sibling-calls"