All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] package/libdex: needs ucontext
@ 2024-07-23 19:33 Fabrice Fontaine
  2024-07-23 20:21 ` Thomas Petazzoni via buildroot
  0 siblings, 1 reply; 2+ messages in thread
From: Fabrice Fontaine @ 2024-07-23 19:33 UTC (permalink / raw)
  To: buildroot; +Cc: Adrian Perez de Castro, Fabrice Fontaine

libdex needs ucontext since its addition in commit
70319b47f646f74f407ed3355baf5b581a10518a:

/home/autobuild/autobuild/instance-11/output-1/host/lib/gcc/aarch64-buildroot-linux-musl/13.3.0/../../../../aarch64-buildroot-linux-musl/bin/ld: src/libdex-1.a.p/dex-fiber.c.o: in function `dex_fiber_context_init':
/home/autobuild/autobuild/instance-11/output-1/build/libdex-0.6.1/build/../src/dex-fiber-context-private.h:131:(.text+0x30c): undefined reference to `getcontext'

[...]

In file included from ../src/dex-fiber-private.h:34,
                 from ../src/dex-scheduler.c:25:
../src/dex-fiber-context-private.h: In function '_dex_fiber_context_makecontext':
../src/dex-fiber-context-private.h:108:3: error: implicit declaration of function 'makecontext' [-Werror=implicit-function-declaration]
  108 |   makecontext (ucontext,
      |   ^~~~~~~~~~~

Fixes: 70319b47f646f74f407ed3355baf5b581a10518a
 - http://autobuild.buildroot.org/results/5f23b0e41f2957b0562c5d168f35e42f13bdad0b
 - http://autobuild.buildroot.org/results/67d958e9a8e1dfb147ac7be4fcb74fcafbbce987

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 package/libdex/Config.in | 10 ++++++++--
 package/libdex/libdex.mk |  5 +++++
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/package/libdex/Config.in b/package/libdex/Config.in
index f10bdac46f..38382dad78 100644
--- a/package/libdex/Config.in
+++ b/package/libdex/Config.in
@@ -3,6 +3,10 @@ config BR2_PACKAGE_LIBDEX
 	depends on BR2_USE_MMU # libglib2
 	depends on BR2_USE_WCHAR # libglib2, gettext
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
+	depends on BR2_TOOLCHAIN_HAS_UCONTEXT || \
+		BR2_PACKAGE_LIBUCONTEXT_ARCH_SUPPORTS
+	select BR2_PACKAGE_LIBUCONTEXT if \
+		BR2_PACKAGE_LIBUCONTEXT_ARCH_SUPPORTS
 	select BR2_PACKAGE_LIBGLIB2
 	help
 	  Dex provides Future-based programming for GLib-based
@@ -12,6 +16,8 @@ config BR2_PACKAGE_LIBDEX
 
 	  https://gitlab.gnome.org/GNOME/libdex
 
-comment "libdex needs a toolchain w/ wchar, threads"
+comment "libdex needs a toolchain w/ wchar, threads, ucontext"
 	depends on BR2_USE_MMU
-	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
+		!(BR2_TOOLCHAIN_HAS_UCONTEXT || \
+			BR2_PACKAGE_LIBUCONTEXT_ARCH_SUPPORTS)
diff --git a/package/libdex/libdex.mk b/package/libdex/libdex.mk
index 7c652a0409..360b389255 100644
--- a/package/libdex/libdex.mk
+++ b/package/libdex/libdex.mk
@@ -22,6 +22,11 @@ LIBDEX_CONF_OPTS = \
 	-Deventfd=enabled \
 	-Dintrospection=disabled
 
+ifeq ($(BR2_PACKAGE_LIBUCONTEXT),y)
+LIBDEX_DEPENDENCIES += libucontext
+LIBDEX_LDFLAGS += $(TARGET_LDFLAGS) -lucontext
+endif
+
 ifeq ($(BR2_PACKAGE_LIBURING),y)
 LIBDEX_CONF_OPTS += -Dliburing=enabled
 LIBDEX_DEPENDENCIES += liburing
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Buildroot] [PATCH 1/1] package/libdex: needs ucontext
  2024-07-23 19:33 [Buildroot] [PATCH 1/1] package/libdex: needs ucontext Fabrice Fontaine
@ 2024-07-23 20:21 ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-07-23 20:21 UTC (permalink / raw)
  To: Fabrice Fontaine; +Cc: Adrian Perez de Castro, buildroot

Hello Fabrice,

On Tue, 23 Jul 2024 21:33:14 +0200
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:

> +	depends on BR2_TOOLCHAIN_HAS_UCONTEXT || \
> +		BR2_PACKAGE_LIBUCONTEXT_ARCH_SUPPORTS
> +	select BR2_PACKAGE_LIBUCONTEXT if \
> +		BR2_PACKAGE_LIBUCONTEXT_ARCH_SUPPORTS

This should be:

	select BR2_PACKAGE_LIBUCONTEXT if \
		BR2_PACKAGE_LIBUCONTEXT_ARCH_SUPPORTS && !BR2_TOOLCHAIN_HAS_UCONTEXT

so that when the toolchain has ucontext support, you don't needlessly
select the libucontext package.

Thanks!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-07-23 20:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-23 19:33 [Buildroot] [PATCH 1/1] package/libdex: needs ucontext Fabrice Fontaine
2024-07-23 20:21 ` Thomas Petazzoni via buildroot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.