All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v1 1/2] package/quickjs: needs host gcc >= 4.9 (C11/stdatomic.h)
@ 2021-01-03 20:19 Peter Seiderer
  2021-01-03 20:19 ` [Buildroot] [PATCH v1 2/2] package/quickjs: link with libatomic Peter Seiderer
  2021-01-03 21:44 ` [Buildroot] [PATCH v1 1/2] package/quickjs: needs host gcc >= 4.9 (C11/stdatomic.h) Yann E. MORIN
  0 siblings, 2 replies; 5+ messages in thread
From: Peter Seiderer @ 2021-01-03 20:19 UTC (permalink / raw)
  To: buildroot

Fixes:

  - http://autobuild.buildroot.net/results/c7882cc2d66984350f54d619f39cfee5065d941a

  gcc -g -Wall -MMD -MF .obj/libregexp.host.o.d -Wno-array-bounds -Wno-format-truncation -D_GNU_SOURCE -DCONFIG_VERSION=\"2020-11-08\" -DCONFIG_BIGNUM -O2 -flto -c -o .obj/libregexp.host.o libregexp.c
  quickjs.c:112:23: fatal error: stdatomic.h: No such file or directory
   #include <stdatomic.h>
                         ^
  compilation terminated.

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
 package/quickjs/Config.in | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/package/quickjs/Config.in b/package/quickjs/Config.in
index 886cbd4db6..5c3b068c3a 100644
--- a/package/quickjs/Config.in
+++ b/package/quickjs/Config.in
@@ -4,6 +4,7 @@ config BR2_PACKAGE_QUICKJS
 	# No way to check for fenv support.
 	depends on !BR2_TOOLCHAIN_USES_UCLIBC
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C11/stdatomic.h
+	depends on BR2_HOST_GCC_AT_LEAST_4_9 # C11/stdatomic.h
 	depends on BR2_USE_MMU # fork()
 	help
 	  QuickJS is a small and embeddable Javascript engine.
@@ -12,6 +13,7 @@ config BR2_PACKAGE_QUICKJS
 
 	  https://bellard.org/quickjs/
 
-comment "quickjs needs a glibc or musl toolchain w/ gcc >= 4.9, dynamic library"
+comment "quickjs needs a glibc or musl toolchain w/ gcc >= 4.9, host gcc >= 4.9, dynamic library"
 	depends on BR2_USE_MMU
-	depends on BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_UCLIBC || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
+	depends on BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_UCLIBC || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_HOST_GCC_AT_LEAST_4_9
-- 
2.29.2

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

* [Buildroot] [PATCH v1 2/2] package/quickjs: link with libatomic
  2021-01-03 20:19 [Buildroot] [PATCH v1 1/2] package/quickjs: needs host gcc >= 4.9 (C11/stdatomic.h) Peter Seiderer
@ 2021-01-03 20:19 ` Peter Seiderer
  2021-01-03 21:45   ` Yann E. MORIN
  2021-01-03 21:44 ` [Buildroot] [PATCH v1 1/2] package/quickjs: needs host gcc >= 4.9 (C11/stdatomic.h) Yann E. MORIN
  1 sibling, 1 reply; 5+ messages in thread
From: Peter Seiderer @ 2021-01-03 20:19 UTC (permalink / raw)
  To: buildroot

Link with libatomic if available.

Fixes:

  - http://autobuild.buildroot.net/results/e0766eef95a2559d51e58d1a81a9c40df84ae509

  .../build/quickjs-2020-11-08/quickjs.c:12229: undefined reference to `__atomic_fetch_xor_1'

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
 ...ile-add-optional-link-with-libatomic.patch | 30 +++++++++++++++++++
 package/quickjs/quickjs.mk                    |  6 +++-
 2 files changed, 35 insertions(+), 1 deletion(-)
 create mode 100644 package/quickjs/0001-Makefile-add-optional-link-with-libatomic.patch

diff --git a/package/quickjs/0001-Makefile-add-optional-link-with-libatomic.patch b/package/quickjs/0001-Makefile-add-optional-link-with-libatomic.patch
new file mode 100644
index 0000000000..12f4eb2338
--- /dev/null
+++ b/package/quickjs/0001-Makefile-add-optional-link-with-libatomic.patch
@@ -0,0 +1,30 @@
+From 2cf2aa34d5d55a4eedb1aedd4d56d89d24870230 Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <ps.report@gmx.net>
+Date: Sun, 3 Jan 2021 21:11:44 +0100
+Subject: [PATCH] Makefile: add optional link with libatomic
+
+Add optional libatomic linking if available to fix:
+
+  .../build/quickjs-2020-11-08/quickjs.c:12229: undefined reference to `__atomic_fetch_xor_1'
+
+Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index e6ae827..22ad496 100644
+--- a/Makefile
++++ b/Makefile
+@@ -177,7 +177,7 @@ endif
+ HOST_LIBS=-lm -ldl -lpthread
+ LIBS=-lm
+ ifndef CONFIG_WIN32
+-LIBS+=-ldl -lpthread
++LIBS+=-ldl -lpthread $(LIBATOMIC)
+ endif
+ 
+ $(OBJDIR):
+-- 
+2.29.2
+
diff --git a/package/quickjs/quickjs.mk b/package/quickjs/quickjs.mk
index 1a2e63278f..389ed71133 100644
--- a/package/quickjs/quickjs.mk
+++ b/package/quickjs/quickjs.mk
@@ -10,8 +10,12 @@ QUICKJS_SITE = https://bellard.org/quickjs
 QUICKJS_LICENSE = MIT
 QUICKJS_INSTALL_STAGING = YES
 
+ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
+QUICKJS_LIBATOMIC += -latomic
+endif
+
 define QUICKJS_BUILD_CMDS
-	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+	$(TARGET_MAKE_ENV) LIBATOMIC=$(QUICKJS_LIBATOMIC) $(MAKE) -C $(@D) \
 		CROSS_PREFIX="$(TARGET_CROSS)" \
 		all
 endef
-- 
2.29.2

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

* [Buildroot] [PATCH v1 1/2] package/quickjs: needs host gcc >= 4.9 (C11/stdatomic.h)
  2021-01-03 20:19 [Buildroot] [PATCH v1 1/2] package/quickjs: needs host gcc >= 4.9 (C11/stdatomic.h) Peter Seiderer
  2021-01-03 20:19 ` [Buildroot] [PATCH v1 2/2] package/quickjs: link with libatomic Peter Seiderer
@ 2021-01-03 21:44 ` Yann E. MORIN
  1 sibling, 0 replies; 5+ messages in thread
From: Yann E. MORIN @ 2021-01-03 21:44 UTC (permalink / raw)
  To: buildroot

Peter, All,

On 2021-01-03 21:19 +0100, Peter Seiderer spake thusly:
> Fixes:
> 
>   - http://autobuild.buildroot.net/results/c7882cc2d66984350f54d619f39cfee5065d941a
> 
>   gcc -g -Wall -MMD -MF .obj/libregexp.host.o.d -Wno-array-bounds -Wno-format-truncation -D_GNU_SOURCE -DCONFIG_VERSION=\"2020-11-08\" -DCONFIG_BIGNUM -O2 -flto -c -o .obj/libregexp.host.o libregexp.c
>   quickjs.c:112:23: fatal error: stdatomic.h: No such file or directory
>    #include <stdatomic.h>
>                          ^
>   compilation terminated.
> 
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
>  package/quickjs/Config.in | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/package/quickjs/Config.in b/package/quickjs/Config.in
> index 886cbd4db6..5c3b068c3a 100644
> --- a/package/quickjs/Config.in
> +++ b/package/quickjs/Config.in
> @@ -4,6 +4,7 @@ config BR2_PACKAGE_QUICKJS
>  	# No way to check for fenv support.
>  	depends on !BR2_TOOLCHAIN_USES_UCLIBC
>  	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C11/stdatomic.h
> +	depends on BR2_HOST_GCC_AT_LEAST_4_9 # C11/stdatomic.h
>  	depends on BR2_USE_MMU # fork()
>  	help
>  	  QuickJS is a small and embeddable Javascript engine.
> @@ -12,6 +13,7 @@ config BR2_PACKAGE_QUICKJS
>  
>  	  https://bellard.org/quickjs/
>  
> -comment "quickjs needs a glibc or musl toolchain w/ gcc >= 4.9, dynamic library"
> +comment "quickjs needs a glibc or musl toolchain w/ gcc >= 4.9, host gcc >= 4.9, dynamic library"
>  	depends on BR2_USE_MMU
> -	depends on BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_UCLIBC || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
> +	depends on BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_UCLIBC || \
> +		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_HOST_GCC_AT_LEAST_4_9
> -- 
> 2.29.2
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH v1 2/2] package/quickjs: link with libatomic
  2021-01-03 20:19 ` [Buildroot] [PATCH v1 2/2] package/quickjs: link with libatomic Peter Seiderer
@ 2021-01-03 21:45   ` Yann E. MORIN
  2021-01-09 19:49     ` Peter Seiderer
  0 siblings, 1 reply; 5+ messages in thread
From: Yann E. MORIN @ 2021-01-03 21:45 UTC (permalink / raw)
  To: buildroot

Peter, All,

On 2021-01-03 21:19 +0100, Peter Seiderer spake thusly:
> Link with libatomic if available.
> 
> Fixes:
> 
>   - http://autobuild.buildroot.net/results/e0766eef95a2559d51e58d1a81a9c40df84ae509
> 
>   .../build/quickjs-2020-11-08/quickjs.c:12229: undefined reference to `__atomic_fetch_xor_1'
> 
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>

Applied to master, thanks.

But see below for a small nit...

> ---
>  ...ile-add-optional-link-with-libatomic.patch | 30 +++++++++++++++++++
>  package/quickjs/quickjs.mk                    |  6 +++-
>  2 files changed, 35 insertions(+), 1 deletion(-)
>  create mode 100644 package/quickjs/0001-Makefile-add-optional-link-with-libatomic.patch
> 
> diff --git a/package/quickjs/0001-Makefile-add-optional-link-with-libatomic.patch b/package/quickjs/0001-Makefile-add-optional-link-with-libatomic.patch
> new file mode 100644
> index 0000000000..12f4eb2338
> --- /dev/null
> +++ b/package/quickjs/0001-Makefile-add-optional-link-with-libatomic.patch
> @@ -0,0 +1,30 @@
> +From 2cf2aa34d5d55a4eedb1aedd4d56d89d24870230 Mon Sep 17 00:00:00 2001
> +From: Peter Seiderer <ps.report@gmx.net>
> +Date: Sun, 3 Jan 2021 21:11:44 +0100
> +Subject: [PATCH] Makefile: add optional link with libatomic
> +
> +Add optional libatomic linking if available to fix:
> +
> +  .../build/quickjs-2020-11-08/quickjs.c:12229: undefined reference to `__atomic_fetch_xor_1'
> +
> +Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> +---
> + Makefile | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/Makefile b/Makefile
> +index e6ae827..22ad496 100644
> +--- a/Makefile
> ++++ b/Makefile
> +@@ -177,7 +177,7 @@ endif
> + HOST_LIBS=-lm -ldl -lpthread
> + LIBS=-lm
> + ifndef CONFIG_WIN32
> +-LIBS+=-ldl -lpthread
> ++LIBS+=-ldl -lpthread $(LIBATOMIC)
> + endif

I've changed that to be a generic variable, not tied to -latomic:

    LIBS+=$(EXTRA_LIBS)

Do not forget to send the patch upstream. ;-)

Regards,
Yann E. MORIN.

> + $(OBJDIR):
> +-- 
> +2.29.2
> +
> diff --git a/package/quickjs/quickjs.mk b/package/quickjs/quickjs.mk
> index 1a2e63278f..389ed71133 100644
> --- a/package/quickjs/quickjs.mk
> +++ b/package/quickjs/quickjs.mk
> @@ -10,8 +10,12 @@ QUICKJS_SITE = https://bellard.org/quickjs
>  QUICKJS_LICENSE = MIT
>  QUICKJS_INSTALL_STAGING = YES
>  
> +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
> +QUICKJS_LIBATOMIC += -latomic
> +endif
> +
>  define QUICKJS_BUILD_CMDS
> -	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
> +	$(TARGET_MAKE_ENV) LIBATOMIC=$(QUICKJS_LIBATOMIC) $(MAKE) -C $(@D) \
>  		CROSS_PREFIX="$(TARGET_CROSS)" \
>  		all
>  endef
> -- 
> 2.29.2
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH v1 2/2] package/quickjs: link with libatomic
  2021-01-03 21:45   ` Yann E. MORIN
@ 2021-01-09 19:49     ` Peter Seiderer
  0 siblings, 0 replies; 5+ messages in thread
From: Peter Seiderer @ 2021-01-09 19:49 UTC (permalink / raw)
  To: buildroot

Hello Yann,

On Sun, 3 Jan 2021 22:45:50 +0100, "Yann E. MORIN" <yann.morin.1998@free.fr> wrote:

> Peter, All,
>
> On 2021-01-03 21:19 +0100, Peter Seiderer spake thusly:
> > Link with libatomic if available.
> >
> > Fixes:
> >
> >   - http://autobuild.buildroot.net/results/e0766eef95a2559d51e58d1a81a9c40df84ae509
> >
> >   .../build/quickjs-2020-11-08/quickjs.c:12229: undefined reference to `__atomic_fetch_xor_1'
> >
> > Signed-off-by: Peter Seiderer <ps.report@gmx.net>
>
> Applied to master, thanks.
>
> But see below for a small nit...
>
> > ---
> >  ...ile-add-optional-link-with-libatomic.patch | 30 +++++++++++++++++++
> >  package/quickjs/quickjs.mk                    |  6 +++-
> >  2 files changed, 35 insertions(+), 1 deletion(-)
> >  create mode 100644 package/quickjs/0001-Makefile-add-optional-link-with-libatomic.patch
> >
> > diff --git a/package/quickjs/0001-Makefile-add-optional-link-with-libatomic.patch b/package/quickjs/0001-Makefile-add-optional-link-with-libatomic.patch
> > new file mode 100644
> > index 0000000000..12f4eb2338
> > --- /dev/null
> > +++ b/package/quickjs/0001-Makefile-add-optional-link-with-libatomic.patch
> > @@ -0,0 +1,30 @@
> > +From 2cf2aa34d5d55a4eedb1aedd4d56d89d24870230 Mon Sep 17 00:00:00 2001
> > +From: Peter Seiderer <ps.report@gmx.net>
> > +Date: Sun, 3 Jan 2021 21:11:44 +0100
> > +Subject: [PATCH] Makefile: add optional link with libatomic
> > +
> > +Add optional libatomic linking if available to fix:
> > +
> > +  .../build/quickjs-2020-11-08/quickjs.c:12229: undefined reference to `__atomic_fetch_xor_1'
> > +
> > +Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> > +---
> > + Makefile | 2 +-
> > + 1 file changed, 1 insertion(+), 1 deletion(-)
> > +
> > +diff --git a/Makefile b/Makefile
> > +index e6ae827..22ad496 100644
> > +--- a/Makefile
> > ++++ b/Makefile
> > +@@ -177,7 +177,7 @@ endif
> > + HOST_LIBS=-lm -ldl -lpthread
> > + LIBS=-lm
> > + ifndef CONFIG_WIN32
> > +-LIBS+=-ldl -lpthread
> > ++LIBS+=-ldl -lpthread $(LIBATOMIC)
> > + endif
>
> I've changed that to be a generic variable, not tied to -latomic:
>
>     LIBS+=$(EXTRA_LIBS)

Thanks for improvement, definitely better...

>
> Do not forget to send the patch upstream. ;-)

Finally done, see [1]...

Regards,
Peter

[1] https://www.freelists.org/post/quickjs-devel/PATCH-Makefile-allow-linking-with-extra-libraries

>
> Regards,
> Yann E. MORIN.
>
> > + $(OBJDIR):
> > +--
> > +2.29.2
> > +
> > diff --git a/package/quickjs/quickjs.mk b/package/quickjs/quickjs.mk
> > index 1a2e63278f..389ed71133 100644
> > --- a/package/quickjs/quickjs.mk
> > +++ b/package/quickjs/quickjs.mk
> > @@ -10,8 +10,12 @@ QUICKJS_SITE = https://bellard.org/quickjs
> >  QUICKJS_LICENSE = MIT
> >  QUICKJS_INSTALL_STAGING = YES
> >
> > +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
> > +QUICKJS_LIBATOMIC += -latomic
> > +endif
> > +
> >  define QUICKJS_BUILD_CMDS
> > -	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
> > +	$(TARGET_MAKE_ENV) LIBATOMIC=$(QUICKJS_LIBATOMIC) $(MAKE) -C $(@D) \
> >  		CROSS_PREFIX="$(TARGET_CROSS)" \
> >  		all
> >  endef
> > --
> > 2.29.2
> >
> > _______________________________________________
> > buildroot mailing list
> > buildroot at busybox.net
> > http://lists.busybox.net/mailman/listinfo/buildroot
>

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

end of thread, other threads:[~2021-01-09 19:49 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-03 20:19 [Buildroot] [PATCH v1 1/2] package/quickjs: needs host gcc >= 4.9 (C11/stdatomic.h) Peter Seiderer
2021-01-03 20:19 ` [Buildroot] [PATCH v1 2/2] package/quickjs: link with libatomic Peter Seiderer
2021-01-03 21:45   ` Yann E. MORIN
2021-01-09 19:49     ` Peter Seiderer
2021-01-03 21:44 ` [Buildroot] [PATCH v1 1/2] package/quickjs: needs host gcc >= 4.9 (C11/stdatomic.h) Yann E. MORIN

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.