summaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity/ofono
diff options
context:
space:
mode:
authorMartin Jansa <Martin.Jansa@gmail.com>2021-04-21 13:07:56 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-04-23 10:12:10 +0100
commita8ae23104c0e3bc722db96f3e9e1c8ba5cd9363c (patch)
tree0451d3a7f82270c1ae9da1ed738e7bed55f7b782 /meta/recipes-connectivity/ofono
parentd00d7e66212c85f9810d904f8085476722a25207 (diff)
downloadpoky-a8ae23104c0e3bc722db96f3e9e1c8ba5cd9363c.tar.gz
ofono: prevent using bundled ell headers and fix build with ell-0.39
* -I../ofono-1.31 is included when building drivers/mbimmodem/mbim.c and then ell.h will happily include ell/util.h from there: # 1 "/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/ofono/1.31-r0/recipe-sysroot/usr/include/ell/ell.h" 1 3 4 # 23 "/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/ofono/1.31-r0/recipe-sysroot/usr/include/ell/ell.h" 3 4 # 1 "../ofono-1.31/ell/util.h" 1 3 4 # 26 "../ofono-1.31/ell/util.h" 3 4 # 1 "/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/ofono/1.31-r0/recipe-sysroot/usr/include/string.h" 1 3 4 # 26 "/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/ofono/1.31-r0/recipe-sysroot/usr/include/string.h" 3 4 # 1 "/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/ofono/1.31-r0/recipe-sysroot/usr/include/bits/libc-header-start.h" 1 3 4 # 27 "/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/ofono/1.31-r0/recipe-sysroot/usr/include/string.h" 2 3 4 * and it gets more interesting because unlikely() macro was dropped from ell/util.h in: https://git.kernel.org/pub/scm/libs/ell/ell.git/commit/?id=2a682421b06e41c45098217a686157f576847021 and ofono builds from git (which doesn't bundle ell) were failing with: drivers/mbimmodem/mbim-message.c: In function 'message_iter_next_entry_valist': drivers/mbimmodem/mbim-message.c:504:8: warning: implicit declaration of function 'unlikely' [-Wimplicit-function-declaration] 504 | if (unlikely(indent > MAX_NESTING)) | ^~~~~~~~ ... x86_64-webos-linux-libtool: link: x86_64-webos-linux-gcc -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/ofono/1.31+gitAUTOINC+0db662bd6b-r0/recipe-sysroot -I/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/ofono/1.31+gitAUTOINC+0db662bd6b-r0/recipe-sysroot/usr/include/dbus-1.0 -I/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/ofono/1.31+gitAUTOINC+0db662bd6b-r0/recipe-sysroot/usr/lib/dbus-1.0/include -I/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/ofono/1.31+gitAUTOINC+0db662bd6b-r0/recipe-sysroot/usr/include/glib-2.0 -I/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/ofono/1.31+gitAUTOINC+0db662bd6b-r0/recipe-sysroot/usr/lib/glib-2.0/include -DOFONO_PLUGIN_BUILTIN -DPLUGINDIR=\"/usr/lib/ofono/plugins\" -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/ofono/1.31+gitAUTOINC+0db662bd6b-r0=/usr/src/debug/ofono/1.31+gitAUTOINC+0db662bd6b-r0 -fdebug-prefix-map=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/ofono/1.31+gitAUTOINC+0db662bd6b-r0=/usr/src/debug/ofono/1.31+gitAUTOINC+0db662bd6b-r0 -fdebug-prefix-map=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/ofono/1.31+gitAUTOINC+0db662bd6b-r0/recipe-sysroot= -fdebug-prefix-map=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/ofono/1.31+gitAUTOINC+0db662bd6b-r0/recipe-sysroot-native= -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o unit/test-mbim unit/test-mbim.o drivers/mbimmodem/mbim-message.o drivers/mbimmodem/mbim.o -lell drivers/mbimmodem/mbim-message.c:1389: error: undefined reference to 'unlikely' drivers/mbimmodem/mbim-message.c:1255: error: undefined reference to 'unlikely' drivers/mbimmodem/mbim-message.c:514: error: undefined reference to 'unlikely' drivers/mbimmodem/mbim-message.c:504: error: undefined reference to 'unlikely' collect2: error: ld returned 1 exit status while build from 1.31 tarball was passing OK, because using this older bundled ell/util.h delete bundled ell as we always enable external ell to make sure this doesn't happen again and fix mbimmodem to build with ell-0.39 (From OE-Core rev: 25f44ce327aff94c956d431c3cdf92adc39b2eeb) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-connectivity/ofono')
-rw-r--r--meta/recipes-connectivity/ofono/ofono/0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch28
-rw-r--r--meta/recipes-connectivity/ofono/ofono_1.31.bb10
2 files changed, 36 insertions, 2 deletions
diff --git a/meta/recipes-connectivity/ofono/ofono/0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch b/meta/recipes-connectivity/ofono/ofono/0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch
new file mode 100644
index 0000000000..3655b3fd66
--- /dev/null
+++ b/meta/recipes-connectivity/ofono/ofono/0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch
@@ -0,0 +1,28 @@
1From 76e4054801350ebd4a44057379431a33d460ad0f Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Wed, 21 Apr 2021 11:01:34 +0000
4Subject: [PATCH] mbim: Fix build with ell-0.39 by restoring unlikely macro
5 from ell/util.h
6
7Upstream-Status: Pending
8
9Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
10---
11 drivers/mbimmodem/mbim-private.h | 4 ++++
12 1 file changed, 4 insertions(+)
13
14diff --git a/drivers/mbimmodem/mbim-private.h b/drivers/mbimmodem/mbim-private.h
15index 51693eae..d917312c 100644
16--- a/drivers/mbimmodem/mbim-private.h
17+++ b/drivers/mbimmodem/mbim-private.h
18@@ -30,6 +30,10 @@
19 __result; })
20 #endif
21
22+/* used to be part of ell/util.h before 0.39:
23+ https://git.kernel.org/pub/scm/libs/ell/ell.git/commit/?id=2a682421b06e41c45098217a686157f576847021 */
24+#define unlikely(x) __builtin_expect(!!(x), 0)
25+
26 enum mbim_control_message {
27 MBIM_OPEN_MSG = 0x1,
28 MBIM_CLOSE_MSG = 0x2,
diff --git a/meta/recipes-connectivity/ofono/ofono_1.31.bb b/meta/recipes-connectivity/ofono/ofono_1.31.bb
index 7d0976ad7f..2425ef76a6 100644
--- a/meta/recipes-connectivity/ofono/ofono_1.31.bb
+++ b/meta/recipes-connectivity/ofono/ofono_1.31.bb
@@ -11,6 +11,7 @@ SRC_URI = "\
11 ${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \ 11 ${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
12 file://ofono \ 12 file://ofono \
13 file://0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch \ 13 file://0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch \
14 file://0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch \
14" 15"
15SRC_URI[md5sum] = "1c26340e3c6ed132cc812595081bb3dc" 16SRC_URI[md5sum] = "1c26340e3c6ed132cc812595081bb3dc"
16SRC_URI[sha256sum] = "a15c5d28096c10eb30e47a68b6dc2e7c4a5a99d7f4cfedf0b69624f33d859e9b" 17SRC_URI[sha256sum] = "a15c5d28096c10eb30e47a68b6dc2e7c4a5a99d7f4cfedf0b69624f33d859e9b"
@@ -30,9 +31,14 @@ PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, bluez5"
30 31
31EXTRA_OECONF += "--enable-test --enable-external-ell" 32EXTRA_OECONF += "--enable-test --enable-external-ell"
32 33
34do_configure_prepend() {
35 bbnote "Removing bundled ell from ${S}/ell to prevent including it"
36 rm -rf ${S}/ell
37}
38
33do_install_append() { 39do_install_append() {
34 install -d ${D}${sysconfdir}/init.d/ 40 install -d ${D}${sysconfdir}/init.d/
35 install -m 0755 ${WORKDIR}/ofono ${D}${sysconfdir}/init.d/ofono 41 install -m 0755 ${WORKDIR}/ofono ${D}${sysconfdir}/init.d/ofono
36} 42}
37 43
38PACKAGES =+ "${PN}-tests" 44PACKAGES =+ "${PN}-tests"