All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/2] toolchain-external: add OpenMP support
@ 2019-03-22 16:59 Ed Blake
  2019-03-22 16:59 ` [Buildroot] [PATCH 1/2] toolchain-external: add option for " Ed Blake
  2019-03-22 16:59 ` [Buildroot] [PATCH 2/2] toolchain-external: enable OpenMP for supporting toolchains Ed Blake
  0 siblings, 2 replies; 7+ messages in thread
From: Ed Blake @ 2019-03-22 16:59 UTC (permalink / raw)
  To: buildroot

This patchset adds OpenMP support to toolchain-external. The first
patch adds a new 'BR2_TOOLCHAIN_HAS_OPENMP' option which causes
libgomp.so.* to be added to TOOLCHAIN_EXTERNAL_LIBS, and the second
patch enables BR2_TOOLCHAIN_HAS_OPENMP for all supporting external
toolchains.

Ed Blake (2):
  toolchain-external: add option for OpenMP support
  toolchain-external: enable OpenMP for supporting toolchains

 toolchain/Config.in                                           | 3 +++
 toolchain/toolchain-external/pkg-toolchain-external.mk        | 4 ++++
 .../toolchain-external-arm-aarch64-be/Config.in               | 1 +
 .../toolchain-external-arm-aarch64/Config.in                  | 1 +
 .../toolchain-external/toolchain-external-arm-arm/Config.in   | 1 +
 .../toolchain-external-codescape-img-mips/Config.in           | 1 +
 .../toolchain-external-codescape-mti-mips/Config.in           | 1 +
 .../toolchain-external-codesourcery-amd64/Config.in           | 1 +
 .../toolchain-external-codesourcery-mips/Config.in            | 1 +
 .../toolchain-external-linaro-aarch64-be/Config.in            | 1 +
 .../toolchain-external-linaro-aarch64/Config.in               | 1 +
 .../toolchain-external-linaro-arm/Config.in                   | 1 +
 .../toolchain-external-linaro-armeb/Config.in                 | 1 +
 13 files changed, 18 insertions(+)

-- 
2.17.1

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

* [Buildroot] [PATCH 1/2] toolchain-external: add option for OpenMP support
  2019-03-22 16:59 [Buildroot] [PATCH 0/2] toolchain-external: add OpenMP support Ed Blake
@ 2019-03-22 16:59 ` Ed Blake
  2019-03-22 21:15   ` Yann E. MORIN
  2019-03-22 16:59 ` [Buildroot] [PATCH 2/2] toolchain-external: enable OpenMP for supporting toolchains Ed Blake
  1 sibling, 1 reply; 7+ messages in thread
From: Ed Blake @ 2019-03-22 16:59 UTC (permalink / raw)
  To: buildroot

Add new BR2_TOOLCHAIN_HAS_OPENMP option for toolchains with OpenMP
support.

Signed-off-by: Ed Blake <ed.blake@sondrel.com>
---
 toolchain/Config.in                                    | 3 +++
 toolchain/toolchain-external/pkg-toolchain-external.mk | 4 ++++
 2 files changed, 7 insertions(+)

diff --git a/toolchain/Config.in b/toolchain/Config.in
index bcbc3cf984..bf42e92e00 100644
--- a/toolchain/Config.in
+++ b/toolchain/Config.in
@@ -168,6 +168,9 @@ config BR2_TOOLCHAIN_HAS_SSP
 config BR2_TOOLCHAIN_HAS_UCONTEXT
 	bool
 
+config BR2_TOOLCHAIN_HAS_OPENMP
+	bool
+
 config BR2_TOOLCHAIN_SUPPORTS_PIE
 	bool
 
diff --git a/toolchain/toolchain-external/pkg-toolchain-external.mk b/toolchain/toolchain-external/pkg-toolchain-external.mk
index db3570d96f..747837fdc6 100644
--- a/toolchain/toolchain-external/pkg-toolchain-external.mk
+++ b/toolchain/toolchain-external/pkg-toolchain-external.mk
@@ -144,6 +144,10 @@ TOOLCHAIN_EXTERNAL_LIBS += libquadmath.so*
 endif
 endif
 
+ifeq ($(BR2_TOOLCHAIN_HAS_OPENMP),y)
+TOOLCHAIN_EXTERNAL_LIBS += libgomp.so.*
+endif
+
 TOOLCHAIN_EXTERNAL_LIBS += $(call qstrip,$(BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS))
 
 
-- 
2.17.1

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

* [Buildroot] [PATCH 2/2] toolchain-external: enable OpenMP for supporting toolchains
  2019-03-22 16:59 [Buildroot] [PATCH 0/2] toolchain-external: add OpenMP support Ed Blake
  2019-03-22 16:59 ` [Buildroot] [PATCH 1/2] toolchain-external: add option for " Ed Blake
@ 2019-03-22 16:59 ` Ed Blake
  1 sibling, 0 replies; 7+ messages in thread
From: Ed Blake @ 2019-03-22 16:59 UTC (permalink / raw)
  To: buildroot

Enable OpenMP support in the following external toolchains:

toolchain-external-arm-aarch64-be
toolchain-external-arm-aarch64
toolchain-external-arm-arm
toolchain-external-codescape-img-mips
toolchain-external-codescape-mti-mips
toolchain-external-codesourcery-amd64
toolchain-external-codesourcery-mips
toolchain-external-linaro-aarch64-be
toolchain-external-linaro-aarch64
toolchain-external-linaro-arm
toolchain-external-linaro-armeb

Signed-off-by: Ed Blake <ed.blake@sondrel.com>
---
 .../toolchain-external-arm-aarch64-be/Config.in                  | 1 +
 .../toolchain-external/toolchain-external-arm-aarch64/Config.in  | 1 +
 .../toolchain-external/toolchain-external-arm-arm/Config.in      | 1 +
 .../toolchain-external-codescape-img-mips/Config.in              | 1 +
 .../toolchain-external-codescape-mti-mips/Config.in              | 1 +
 .../toolchain-external-codesourcery-amd64/Config.in              | 1 +
 .../toolchain-external-codesourcery-mips/Config.in               | 1 +
 .../toolchain-external-linaro-aarch64-be/Config.in               | 1 +
 .../toolchain-external-linaro-aarch64/Config.in                  | 1 +
 .../toolchain-external/toolchain-external-linaro-arm/Config.in   | 1 +
 .../toolchain-external/toolchain-external-linaro-armeb/Config.in | 1 +
 11 files changed, 11 insertions(+)

diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in
index d992be0190..76157730ec 100644
--- a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in
+++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in
@@ -10,6 +10,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE
 	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20
 	select BR2_TOOLCHAIN_GCC_AT_LEAST_8
 	select BR2_TOOLCHAIN_HAS_FORTRAN
+	select BR2_TOOLCHAIN_HAS_OPENMP
 	help
 	  Arm toolchain for the AArch64 Big Endian architecture.
 
diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in
index fbb5e025e8..3d4a9b62a4 100644
--- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in
+++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in
@@ -10,6 +10,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64
 	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20
 	select BR2_TOOLCHAIN_GCC_AT_LEAST_8
 	select BR2_TOOLCHAIN_HAS_FORTRAN
+	select BR2_TOOLCHAIN_HAS_OPENMP
 	help
 	  Arm toolchain for the AArch64 architecture.
 
diff --git a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in
index 0449737889..886b2a0aa3 100644
--- a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in
+++ b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in
@@ -17,6 +17,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM
 	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20
 	select BR2_TOOLCHAIN_GCC_AT_LEAST_8
 	select BR2_TOOLCHAIN_HAS_FORTRAN
+	select BR2_TOOLCHAIN_HAS_OPENMP
 	help
 	  Arm toolchain for the ARM architecture. It uses GCC 8.2.1,
 	  GDB 8.1.1, glibc 2.28, Binutils 2.30. It generates code that
diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in
index be6e56a2cb..2341d08832 100644
--- a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in
+++ b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in
@@ -9,6 +9,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
 	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
 	select BR2_TOOLCHAIN_GCC_AT_LEAST_6
 	select BR2_TOOLCHAIN_HAS_FORTRAN
+	select BR2_TOOLCHAIN_HAS_OPENMP
 	help
 	  Codescape IMG GNU Linux Toolchain 2018.09 for the MIPS
 	  architecture, from MIPS Tech LLC. It uses gcc 6.3.0,
diff --git a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in
index 15d6284766..c58c55119a 100644
--- a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in
+++ b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in
@@ -10,6 +10,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
 	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
 	select BR2_TOOLCHAIN_GCC_AT_LEAST_6
 	select BR2_TOOLCHAIN_HAS_FORTRAN
+	select BR2_TOOLCHAIN_HAS_OPENMP
 	help
 	  Codescape MTI GNU Linux Toolchain 2018.09 for the MIPS
 	  architecture, from MIPS Tech LLC. It uses gcc 6.3.0,
diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in
index 9187333b95..c8ec970a4f 100644
--- a/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in
+++ b/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in
@@ -8,6 +8,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
 	select BR2_TOOLCHAIN_HAS_SSP
 	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
+	select BR2_TOOLCHAIN_HAS_OPENMP
 	select BR2_INSTALL_LIBSTDCPP
 	select BR2_HOSTARCH_NEEDS_IA32_LIBS
 	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in
index 734f0e4c7c..1a3bdc9393 100644
--- a/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in
+++ b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in
@@ -11,6 +11,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
 	select BR2_TOOLCHAIN_HAS_SSP
 	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
+	select BR2_TOOLCHAIN_HAS_OPENMP
 	select BR2_INSTALL_LIBSTDCPP
 	select BR2_HOSTARCH_NEEDS_IA32_LIBS
 	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
diff --git a/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in b/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in
index 9e7d2a6233..bac90374cf 100644
--- a/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in
+++ b/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in
@@ -10,6 +10,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE
 	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10
 	select BR2_TOOLCHAIN_GCC_AT_LEAST_7
 	select BR2_TOOLCHAIN_HAS_FORTRAN
+	select BR2_TOOLCHAIN_HAS_OPENMP
 	help
 	  Toolchain for the AArch64 Big Endian architecture, from
 	  http://www.linaro.org/engineering/armv8/
diff --git a/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in
index aabf2cffe8..824eb76c72 100644
--- a/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in
+++ b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in
@@ -10,6 +10,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
 	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10
 	select BR2_TOOLCHAIN_GCC_AT_LEAST_7
 	select BR2_TOOLCHAIN_HAS_FORTRAN
+	select BR2_TOOLCHAIN_HAS_OPENMP
 	help
 	  Toolchain for the AArch64 architecture, from
 	  http://www.linaro.org/engineering/armv8/
diff --git a/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in b/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in
index e880d5dbbd..beb38609c3 100644
--- a/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in
+++ b/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in
@@ -17,6 +17,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
 	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10
 	select BR2_TOOLCHAIN_GCC_AT_LEAST_7
 	select BR2_TOOLCHAIN_HAS_FORTRAN
+	select BR2_TOOLCHAIN_HAS_OPENMP
 	help
 	  Linaro toolchain for the ARM architecture. It uses Linaro
 	  GCC 2018.05 (based on gcc 7.3.1), Linaro GDB 2018.05 (based on
diff --git a/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in b/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in
index ebc6edefb5..aa21e44860 100644
--- a/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in
+++ b/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in
@@ -13,6 +13,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
 	select BR2_TOOLCHAIN_HAS_SSP
 	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
+	select BR2_TOOLCHAIN_HAS_OPENMP
 	select BR2_INSTALL_LIBSTDCPP
 	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10
 	select BR2_TOOLCHAIN_GCC_AT_LEAST_7
-- 
2.17.1

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

* [Buildroot] [PATCH 1/2] toolchain-external: add option for OpenMP support
  2019-03-22 16:59 ` [Buildroot] [PATCH 1/2] toolchain-external: add option for " Ed Blake
@ 2019-03-22 21:15   ` Yann E. MORIN
  2019-03-25 11:27     ` Ed Blake
  0 siblings, 1 reply; 7+ messages in thread
From: Yann E. MORIN @ 2019-03-22 21:15 UTC (permalink / raw)
  To: buildroot

Ed, All,

On 2019-03-22 16:59 +0000, Ed Blake spake thusly:
> Add new BR2_TOOLCHAIN_HAS_OPENMP option for toolchains with OpenMP
> support.

With your series, there is no user of libgomp in Buildroot, so I
suppose this is for your own local packages, right?

Actually, if we have packages in Buildroot that may use OpenMP, then it
is only optional for them, then. Do you know of such a package? The goal
being to actually add a runtime-test that gomp works.

> Signed-off-by: Ed Blake <ed.blake@sondrel.com>

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
>  toolchain/Config.in                                    | 3 +++
>  toolchain/toolchain-external/pkg-toolchain-external.mk | 4 ++++
>  2 files changed, 7 insertions(+)
> 
> diff --git a/toolchain/Config.in b/toolchain/Config.in
> index bcbc3cf984..bf42e92e00 100644
> --- a/toolchain/Config.in
> +++ b/toolchain/Config.in
> @@ -168,6 +168,9 @@ config BR2_TOOLCHAIN_HAS_SSP
>  config BR2_TOOLCHAIN_HAS_UCONTEXT
>  	bool
>  
> +config BR2_TOOLCHAIN_HAS_OPENMP
> +	bool
> +
>  config BR2_TOOLCHAIN_SUPPORTS_PIE
>  	bool
>  
> diff --git a/toolchain/toolchain-external/pkg-toolchain-external.mk b/toolchain/toolchain-external/pkg-toolchain-external.mk
> index db3570d96f..747837fdc6 100644
> --- a/toolchain/toolchain-external/pkg-toolchain-external.mk
> +++ b/toolchain/toolchain-external/pkg-toolchain-external.mk
> @@ -144,6 +144,10 @@ TOOLCHAIN_EXTERNAL_LIBS += libquadmath.so*
>  endif
>  endif
>  
> +ifeq ($(BR2_TOOLCHAIN_HAS_OPENMP),y)
> +TOOLCHAIN_EXTERNAL_LIBS += libgomp.so.*
> +endif
> +
>  TOOLCHAIN_EXTERNAL_LIBS += $(call qstrip,$(BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS))
>  
>  
> -- 
> 2.17.1
> 
> _______________________________________________
> 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] 7+ messages in thread

* [Buildroot] [PATCH 1/2] toolchain-external: add option for OpenMP support
  2019-03-22 21:15   ` Yann E. MORIN
@ 2019-03-25 11:27     ` Ed Blake
  2019-03-25 16:57       ` Yann E. MORIN
  0 siblings, 1 reply; 7+ messages in thread
From: Ed Blake @ 2019-03-25 11:27 UTC (permalink / raw)
  To: buildroot

Hi Yann,

On Fri, 22 Mar 2019 22:15:34 +0100
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:

> Ed, All,
> 
> On 2019-03-22 16:59 +0000, Ed Blake spake thusly:
> > Add new BR2_TOOLCHAIN_HAS_OPENMP option for toolchains with OpenMP
> > support.  
> 
> With your series, there is no user of libgomp in Buildroot, so I
> suppose this is for your own local packages, right?

Yes, it's for a local package.

> Actually, if we have packages in Buildroot that may use OpenMP, then it
> is only optional for them, then. Do you know of such a package? The goal
> being to actually add a runtime-test that gomp works.

The following packages *could* use OpenMP, but currently disable it:

imagemagick
beecrypt
libraw
gettext

And the following package uses OpenMP if BR2_GCC_ENABLE_OPENMP is enabled:

fftw

I wonder if BR2_GCC_ENABLE_OPENMP should select BR2_TOOLCHAIN_HAS_OPENMP, in
the same way that BR2_TOOLCHAIN_BUILDROOT_FORTRAN selects BR2_TOOLCHAIN_HAS_FORTRAN.

Then BR2_TOOLCHAIN_HAS_OPENMP would be checked in the fftw makefile instead of
BR2_GCC_ENABLE_OPENMP.

Regards,

Ed.
 
> > Signed-off-by: Ed Blake <ed.blake@sondrel.com>  
> 
> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> 
> Regards,
> Yann E. MORIN.
> 
> > ---
> >  toolchain/Config.in                                    | 3 +++
> >  toolchain/toolchain-external/pkg-toolchain-external.mk | 4 ++++
> >  2 files changed, 7 insertions(+)
> > 
> > diff --git a/toolchain/Config.in b/toolchain/Config.in
> > index bcbc3cf984..bf42e92e00 100644
> > --- a/toolchain/Config.in
> > +++ b/toolchain/Config.in
> > @@ -168,6 +168,9 @@ config BR2_TOOLCHAIN_HAS_SSP
> >  config BR2_TOOLCHAIN_HAS_UCONTEXT
> >  	bool
> >  
> > +config BR2_TOOLCHAIN_HAS_OPENMP
> > +	bool
> > +
> >  config BR2_TOOLCHAIN_SUPPORTS_PIE
> >  	bool
> >  
> > diff --git a/toolchain/toolchain-external/pkg-toolchain-external.mk b/toolchain/toolchain-external/pkg-toolchain-external.mk
> > index db3570d96f..747837fdc6 100644
> > --- a/toolchain/toolchain-external/pkg-toolchain-external.mk
> > +++ b/toolchain/toolchain-external/pkg-toolchain-external.mk
> > @@ -144,6 +144,10 @@ TOOLCHAIN_EXTERNAL_LIBS += libquadmath.so*
> >  endif
> >  endif
> >  
> > +ifeq ($(BR2_TOOLCHAIN_HAS_OPENMP),y)
> > +TOOLCHAIN_EXTERNAL_LIBS += libgomp.so.*
> > +endif
> > +
> >  TOOLCHAIN_EXTERNAL_LIBS += $(call qstrip,$(BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS))
> >  
> >  
> > -- 
> > 2.17.1
> > 
> > _______________________________________________
> > buildroot mailing list
> > buildroot at busybox.net
> > http://lists.busybox.net/mailman/listinfo/buildroot  
> 

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

* [Buildroot] [PATCH 1/2] toolchain-external: add option for OpenMP support
  2019-03-25 11:27     ` Ed Blake
@ 2019-03-25 16:57       ` Yann E. MORIN
  2019-03-26 11:03         ` Ed Blake
  0 siblings, 1 reply; 7+ messages in thread
From: Yann E. MORIN @ 2019-03-25 16:57 UTC (permalink / raw)
  To: buildroot

On 2019-03-25 11:27 +0000, Ed Blake spake thusly:
> Hi Yann,
> 
> On Fri, 22 Mar 2019 22:15:34 +0100
> "Yann E. MORIN" <yann.morin.1998@free.fr> wrote:
> 
> > Ed, All,
> > 
> > On 2019-03-22 16:59 +0000, Ed Blake spake thusly:
> > > Add new BR2_TOOLCHAIN_HAS_OPENMP option for toolchains with OpenMP
> > > support.  
> > 
> > With your series, there is no user of libgomp in Buildroot, so I
> > suppose this is for your own local packages, right?
> 
> Yes, it's for a local package.
> 
> > Actually, if we have packages in Buildroot that may use OpenMP, then it
> > is only optional for them, then. Do you know of such a package? The goal
> > being to actually add a runtime-test that gomp works.
> 
> The following packages *could* use OpenMP, but currently disable it:
> 
> imagemagick
> beecrypt
> libraw
> gettext
> 
> And the following package uses OpenMP if BR2_GCC_ENABLE_OPENMP is enabled:
> 
> fftw
> 
> I wonder if BR2_GCC_ENABLE_OPENMP should select BR2_TOOLCHAIN_HAS_OPENMP, in
> the same way that BR2_TOOLCHAIN_BUILDROOT_FORTRAN selects BR2_TOOLCHAIN_HAS_FORTRAN.

Ah, yes, that would indeed be good.

> Then BR2_TOOLCHAIN_HAS_OPENMP would be checked in the fftw makefile instead of
> BR2_GCC_ENABLE_OPENMP.

Then yes, it would be nice if your series would do:

 1. introduce BR2_TOOLCHAIN_HAS_OPENMP
 2. BR2_GCC_ENABLE_OPENMP select BR2_TOOLCHAIN_HAS_OPENMP
 3. external toolchain select BR2_TOOLCHAIN_HAS_OPENMP
 4. fftw switches to using BR2_TOOLCHAIN_HAS_OPENMP

Care to have a look and respin your series, please?

Regards,
Yann E. MORIN.

> Regards,
> 
> Ed.
>  
> > > Signed-off-by: Ed Blake <ed.blake@sondrel.com>  
> > 
> > Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> > 
> > Regards,
> > Yann E. MORIN.
> > 
> > > ---
> > >  toolchain/Config.in                                    | 3 +++
> > >  toolchain/toolchain-external/pkg-toolchain-external.mk | 4 ++++
> > >  2 files changed, 7 insertions(+)
> > > 
> > > diff --git a/toolchain/Config.in b/toolchain/Config.in
> > > index bcbc3cf984..bf42e92e00 100644
> > > --- a/toolchain/Config.in
> > > +++ b/toolchain/Config.in
> > > @@ -168,6 +168,9 @@ config BR2_TOOLCHAIN_HAS_SSP
> > >  config BR2_TOOLCHAIN_HAS_UCONTEXT
> > >  	bool
> > >  
> > > +config BR2_TOOLCHAIN_HAS_OPENMP
> > > +	bool
> > > +
> > >  config BR2_TOOLCHAIN_SUPPORTS_PIE
> > >  	bool
> > >  
> > > diff --git a/toolchain/toolchain-external/pkg-toolchain-external.mk b/toolchain/toolchain-external/pkg-toolchain-external.mk
> > > index db3570d96f..747837fdc6 100644
> > > --- a/toolchain/toolchain-external/pkg-toolchain-external.mk
> > > +++ b/toolchain/toolchain-external/pkg-toolchain-external.mk
> > > @@ -144,6 +144,10 @@ TOOLCHAIN_EXTERNAL_LIBS += libquadmath.so*
> > >  endif
> > >  endif
> > >  
> > > +ifeq ($(BR2_TOOLCHAIN_HAS_OPENMP),y)
> > > +TOOLCHAIN_EXTERNAL_LIBS += libgomp.so.*
> > > +endif
> > > +
> > >  TOOLCHAIN_EXTERNAL_LIBS += $(call qstrip,$(BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS))
> > >  
> > >  
> > > -- 
> > > 2.17.1
> > > 
> > > _______________________________________________
> > > 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] 7+ messages in thread

* [Buildroot] [PATCH 1/2] toolchain-external: add option for OpenMP support
  2019-03-25 16:57       ` Yann E. MORIN
@ 2019-03-26 11:03         ` Ed Blake
  0 siblings, 0 replies; 7+ messages in thread
From: Ed Blake @ 2019-03-26 11:03 UTC (permalink / raw)
  To: buildroot

On Mon, 25 Mar 2019 17:57:27 +0100
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:

> On 2019-03-25 11:27 +0000, Ed Blake spake thusly:
> > Hi Yann,
> > 
> > On Fri, 22 Mar 2019 22:15:34 +0100
> > "Yann E. MORIN" <yann.morin.1998@free.fr> wrote:
> >   
> > > Ed, All,
> > > 
> > > On 2019-03-22 16:59 +0000, Ed Blake spake thusly:  
> > > > Add new BR2_TOOLCHAIN_HAS_OPENMP option for toolchains with OpenMP
> > > > support.    
> > > 
> > > With your series, there is no user of libgomp in Buildroot, so I
> > > suppose this is for your own local packages, right?  
> > 
> > Yes, it's for a local package.
> >   
> > > Actually, if we have packages in Buildroot that may use OpenMP, then it
> > > is only optional for them, then. Do you know of such a package? The goal
> > > being to actually add a runtime-test that gomp works.  
> > 
> > The following packages *could* use OpenMP, but currently disable it:
> > 
> > imagemagick
> > beecrypt
> > libraw
> > gettext
> > 
> > And the following package uses OpenMP if BR2_GCC_ENABLE_OPENMP is enabled:
> > 
> > fftw
> > 
> > I wonder if BR2_GCC_ENABLE_OPENMP should select BR2_TOOLCHAIN_HAS_OPENMP, in
> > the same way that BR2_TOOLCHAIN_BUILDROOT_FORTRAN selects BR2_TOOLCHAIN_HAS_FORTRAN.  
> 
> Ah, yes, that would indeed be good.
> 
> > Then BR2_TOOLCHAIN_HAS_OPENMP would be checked in the fftw makefile instead of
> > BR2_GCC_ENABLE_OPENMP.  
> 
> Then yes, it would be nice if your series would do:
> 
>  1. introduce BR2_TOOLCHAIN_HAS_OPENMP
>  2. BR2_GCC_ENABLE_OPENMP select BR2_TOOLCHAIN_HAS_OPENMP
>  3. external toolchain select BR2_TOOLCHAIN_HAS_OPENMP
>  4. fftw switches to using BR2_TOOLCHAIN_HAS_OPENMP
> 
> Care to have a look and respin your series, please?

Will do.  I just noticed opencv3 and flann also reference BR2_GCC_ENABLE_OPENMP, so I will change those as well in patch 4.

Ed.

> 
> Regards,
> Yann E. MORIN.
> 
> > Regards,
> > 
> > Ed.
> >    
> > > > Signed-off-by: Ed Blake <ed.blake@sondrel.com>    
> > > 
> > > Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> > > 
> > > Regards,
> > > Yann E. MORIN.
> > >   
> > > > ---
> > > >  toolchain/Config.in                                    | 3 +++
> > > >  toolchain/toolchain-external/pkg-toolchain-external.mk | 4 ++++
> > > >  2 files changed, 7 insertions(+)
> > > > 
> > > > diff --git a/toolchain/Config.in b/toolchain/Config.in
> > > > index bcbc3cf984..bf42e92e00 100644
> > > > --- a/toolchain/Config.in
> > > > +++ b/toolchain/Config.in
> > > > @@ -168,6 +168,9 @@ config BR2_TOOLCHAIN_HAS_SSP
> > > >  config BR2_TOOLCHAIN_HAS_UCONTEXT
> > > >  	bool
> > > >  
> > > > +config BR2_TOOLCHAIN_HAS_OPENMP
> > > > +	bool
> > > > +
> > > >  config BR2_TOOLCHAIN_SUPPORTS_PIE
> > > >  	bool
> > > >  
> > > > diff --git a/toolchain/toolchain-external/pkg-toolchain-external.mk b/toolchain/toolchain-external/pkg-toolchain-external.mk
> > > > index db3570d96f..747837fdc6 100644
> > > > --- a/toolchain/toolchain-external/pkg-toolchain-external.mk
> > > > +++ b/toolchain/toolchain-external/pkg-toolchain-external.mk
> > > > @@ -144,6 +144,10 @@ TOOLCHAIN_EXTERNAL_LIBS += libquadmath.so*
> > > >  endif
> > > >  endif
> > > >  
> > > > +ifeq ($(BR2_TOOLCHAIN_HAS_OPENMP),y)
> > > > +TOOLCHAIN_EXTERNAL_LIBS += libgomp.so.*
> > > > +endif
> > > > +
> > > >  TOOLCHAIN_EXTERNAL_LIBS += $(call qstrip,$(BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS))
> > > >  
> > > >  
> > > > -- 
> > > > 2.17.1
> > > > 
> > > > _______________________________________________
> > > > buildroot mailing list
> > > > buildroot at busybox.net
> > > > http://lists.busybox.net/mailman/listinfo/buildroot    
> > >   
> >   
> 

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

end of thread, other threads:[~2019-03-26 11:03 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-22 16:59 [Buildroot] [PATCH 0/2] toolchain-external: add OpenMP support Ed Blake
2019-03-22 16:59 ` [Buildroot] [PATCH 1/2] toolchain-external: add option for " Ed Blake
2019-03-22 21:15   ` Yann E. MORIN
2019-03-25 11:27     ` Ed Blake
2019-03-25 16:57       ` Yann E. MORIN
2019-03-26 11:03         ` Ed Blake
2019-03-22 16:59 ` [Buildroot] [PATCH 2/2] toolchain-external: enable OpenMP for supporting toolchains Ed Blake

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.