From: Khem Raj Date: Wed, 19 Mar 2025 08:15:34 +0000 (-0700) Subject: bluez: Fix build with GCC-15 X-Git-Tag: yocto-5.2~114 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5afef9ba63364c6c93c8a1359020f038d06881fa;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git bluez: Fix build with GCC-15 gcc-15 switched to -std=c23 by default: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=55e3bd376b2214e200fa76d12b67ff259b06c212 As a result `bluez` fails the build as: src/shared/ad.c:1090:24: error: incompatible types when returning type '_Bool' but 'const char *' was expected 1090 | return false; | ^~~~~ Signed-off-by: Khem Raj Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc index d31f4e2295e..d6268721037 100644 --- a/meta/recipes-connectivity/bluez5/bluez5.inc +++ b/meta/recipes-connectivity/bluez5/bluez5.inc @@ -70,6 +70,9 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \ file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \ file://0001-test-gatt-Fix-hung-issue.patch \ file://0001-gdbus-define-MAX_INPUT-for-musl.patch \ + file://0001-shared-ad-fix-std-c23-build-failure.patch \ + file://0002-shared-shell-fix-std-c23-build-failure.patch \ + file://0003-shared-gatt-helpers-fix-std-c23-build-failure.patch \ " S = "${WORKDIR}/bluez-${PV}" diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-shared-ad-fix-std-c23-build-failure.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-shared-ad-fix-std-c23-build-failure.patch new file mode 100644 index 00000000000..82eaed79298 --- /dev/null +++ b/meta/recipes-connectivity/bluez5/bluez5/0001-shared-ad-fix-std-c23-build-failure.patch @@ -0,0 +1,34 @@ +From 5c4cbf5cb95e4fc1a53545af52b420a8008b3ffa Mon Sep 17 00:00:00 2001 +From: Rudi Heitbaum +Date: Wed, 20 Nov 2024 13:02:56 +0000 +Subject: [PATCH 1/3] shared/ad: fix -std=c23 build failure + +gcc-15 switched to -std=c23 by default: + + https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=55e3bd376b2214e200fa76d12b67ff259b06c212 + +As a result `bluez` fails the build as: + + src/shared/ad.c:1090:24: error: incompatible types when returning type '_Bool' but 'const char *' was expected + 1090 | return false; + | ^~~~~ + +Upstream-Status: Backport [https://web.git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=da5b5b0ecb1ead38676768ef78d46449d404bdc0] +Signed-off-by: Khem Raj +--- + src/shared/ad.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/shared/ad.c b/src/shared/ad.c +index d08ce7a..dac381b 100644 +--- a/src/shared/ad.c ++++ b/src/shared/ad.c +@@ -1087,7 +1087,7 @@ bool bt_ad_add_name(struct bt_ad *ad, const char *name) + const char *bt_ad_get_name(struct bt_ad *ad) + { + if (!ad) +- return false; ++ return NULL; + + return ad->name; + } diff --git a/meta/recipes-connectivity/bluez5/bluez5/0002-shared-shell-fix-std-c23-build-failure.patch b/meta/recipes-connectivity/bluez5/bluez5/0002-shared-shell-fix-std-c23-build-failure.patch new file mode 100644 index 00000000000..9ea622601b1 --- /dev/null +++ b/meta/recipes-connectivity/bluez5/bluez5/0002-shared-shell-fix-std-c23-build-failure.patch @@ -0,0 +1,34 @@ +From 408510d751e9482fe965e5dd96fbac7f9ee2ef62 Mon Sep 17 00:00:00 2001 +From: Rudi Heitbaum +Date: Wed, 20 Nov 2024 13:03:29 +0000 +Subject: [PATCH 2/3] shared/shell: fix -std=c23 build failure + +gcc-15 switched to -std=c23 by default: + + https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=55e3bd376b2214e200fa76d12b67ff259b06c212 + +As a result `bluez` fails the build as: + + src/shared/shell.c:365:24: error: incompatible types when returning type '_Bool' but 'struct input *' was expected + 365 | return false; + | ^~~~~ + +Upstream-Status: Backport [https://web.git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=4d60826865c760cc4e5718b6414746a394768110] +Signed-off-by: Khem Raj +--- + src/shared/shell.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/shared/shell.c b/src/shared/shell.c +index a8fa876..aa6c16c 100644 +--- a/src/shared/shell.c ++++ b/src/shared/shell.c +@@ -362,7 +362,7 @@ static struct input *input_new(int fd) + + io = io_new(fd); + if (!io) +- return false; ++ return NULL; + + input = new0(struct input, 1); + input->io = io; diff --git a/meta/recipes-connectivity/bluez5/bluez5/0003-shared-gatt-helpers-fix-std-c23-build-failure.patch b/meta/recipes-connectivity/bluez5/bluez5/0003-shared-gatt-helpers-fix-std-c23-build-failure.patch new file mode 100644 index 00000000000..996bb048acf --- /dev/null +++ b/meta/recipes-connectivity/bluez5/bluez5/0003-shared-gatt-helpers-fix-std-c23-build-failure.patch @@ -0,0 +1,58 @@ +From 7c07bb10f57c80467bc3079d45dac4d3839927d0 Mon Sep 17 00:00:00 2001 +From: Rudi Heitbaum +Date: Wed, 20 Nov 2024 13:03:55 +0000 +Subject: [PATCH 3/3] shared/gatt-helpers: fix -std=c23 build failure + +gcc-15 switched to -std=c23 by default: + + https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=55e3bd376b2214e200fa76d12b67ff259b06c212 + +As a result `bluez` fails the build as: + + src/shared/gatt-helpers.c:1136:24: error: incompatible types when returning type '_Bool' but 'struct bt_gatt_request *' was expected + 1136 | return false; + | ^~~~~ + src/shared/gatt-helpers.c:1250:24: error: incompatible types when returning type '_Bool' but 'struct bt_gatt_request *' was expected + 1250 | return false; + | ^~~~~ + src/shared/gatt-helpers.c:1478:24: error: incompatible types when returning type '_Bool' but 'struct bt_gatt_request *' was expected + 1478 | return false; + | ^~~~~ + +Upstream-Status: Backport [https://web.git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=6f3111eb680df9c13502aacd65554846a9e13a3f] +Signed-off-by: Khem Raj +--- + src/shared/gatt-helpers.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/shared/gatt-helpers.c b/src/shared/gatt-helpers.c +index 50fcb26..f1fa630 100644 +--- a/src/shared/gatt-helpers.c ++++ b/src/shared/gatt-helpers.c +@@ -1133,7 +1133,7 @@ struct bt_gatt_request *bt_gatt_discover_included_services(struct bt_att *att, + uint8_t pdu[6]; + + if (!att) +- return false; ++ return NULL; + + op = new0(struct bt_gatt_request, 1); + op->att = att; +@@ -1247,7 +1247,7 @@ struct bt_gatt_request *bt_gatt_discover_characteristics(struct bt_att *att, + uint8_t pdu[6]; + + if (!att) +- return false; ++ return NULL; + + op = new0(struct bt_gatt_request, 1); + op->att = att; +@@ -1475,7 +1475,7 @@ struct bt_gatt_request *bt_gatt_discover_descriptors(struct bt_att *att, + uint8_t pdu[4]; + + if (!att) +- return false; ++ return NULL; + + op = new0(struct bt_gatt_request, 1); + op->att = att;