All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [git commit] package/flare-engine: re-enable package on microblaze
@ 2019-05-27 21:37 Arnout Vandecappelle
  2019-05-27 21:50 ` Giulio Benetti
  2019-06-06 15:20 ` Peter Korsgaard
  0 siblings, 2 replies; 4+ messages in thread
From: Arnout Vandecappelle @ 2019-05-27 21:37 UTC (permalink / raw)
  To: buildroot

commit: https://git.buildroot.net/buildroot/commit/?id=1203cca1b51eefb4ee236d998ab6ec32bdd087d8
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

With Microblaze Gcc version < 8.x the build hangs due to bug 85180:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180
To avoid this, the flare-engine package has a
!BR2_TOOLCHAIN_HAS_GCC_BUG_85180 dependency. However, gcc bug 85180 only
triggers when optimization is enabled, so we can work around the issue
by passing -O0, which is what we do in other Buildroot packages to work
around this bug.

So, this commit passes -O0 when BR2_TOOLCHAIN_HAS_GCC_BUG_85180, and
re-enables flare-engine on Microblaze. It is not enough to set
CMAKE_CXX_FLAGS, because flare-engine's CMakeLists.txt sets
CMAKE_CXX_FLAGS_<BUILD_TYPE> (depending on the value of
CMAKE_BUILD_TYPE), and the build-type-specific flags come after the
generic flags, so our -O0 gets overridden again. Therefore, also set
CMAKE_BUILD_TYPE to the dummy value Buildroot.

Fixes:
http://autobuild.buildroot.net/results/706/7065e14917a8bbc0faf21b29183ac55b6c800ee3/

Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
[Arnout: extend explanatory comment and update commit log]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
 package/flare-engine/Config.in       | 4 ----
 package/flare-engine/flare-engine.mk | 8 ++++++++
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/package/flare-engine/Config.in b/package/flare-engine/Config.in
index e299a6b7de..cdcb018948 100644
--- a/package/flare-engine/Config.in
+++ b/package/flare-engine/Config.in
@@ -2,7 +2,6 @@ config BR2_PACKAGE_FLARE_ENGINE
 	bool "flare-engine"
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on !BR2_STATIC_LIBS # SDL2
-	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_85180
 	select BR2_PACKAGE_SDL2
 	select BR2_PACKAGE_SDL2_IMAGE
 	select BR2_PACKAGE_SDL2_MIXER
@@ -18,6 +17,3 @@ config BR2_PACKAGE_FLARE_ENGINE
 
 comment "flare-engine needs a toolchain w/ C++, dynamic library"
 	depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS
-
-comment "flare-engine needs a toolchain not affected by GCC bug 85180"
-	depends on BR2_TOOLCHAIN_HAS_GCC_BUG_85180
diff --git a/package/flare-engine/flare-engine.mk b/package/flare-engine/flare-engine.mk
index 2f36602348..1ec50bfed4 100644
--- a/package/flare-engine/flare-engine.mk
+++ b/package/flare-engine/flare-engine.mk
@@ -19,4 +19,12 @@ ifeq ($(BR2_ENABLE_DEBUG),y)
 FLARE_ENGINE_CONF_OPTS += -DCMAKE_BUILD_TYPE=RelWithDebInfo
 endif
 
+ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
+# CMakeLists.txt sets CMAKE_CXX_FLAGS_<BUILD_TYPE> depending on
+# BUILD_TYPE, and this comes after the generic CMAKE_CXX_FLAGS. 
+# Overrice CMAKE_BUILD_TYPE so no overrides are applied.
+FLARE_ENGINE_CONF_OPTS += -DCMAKE_BUILD_TYPE=Buildroot
+FLARE_ENGINE_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -O0"
+endif
+
 $(eval $(cmake-package))

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

* [Buildroot] [git commit] package/flare-engine: re-enable package on microblaze
  2019-05-27 21:37 [Buildroot] [git commit] package/flare-engine: re-enable package on microblaze Arnout Vandecappelle
@ 2019-05-27 21:50 ` Giulio Benetti
  2019-05-27 22:02   ` Arnout Vandecappelle
  2019-06-06 15:20 ` Peter Korsgaard
  1 sibling, 1 reply; 4+ messages in thread
From: Giulio Benetti @ 2019-05-27 21:50 UTC (permalink / raw)
  To: buildroot

Hello Arnout,

Il 27/05/2019 23:37, Arnout Vandecappelle (Essensium/Mind) ha scritto:
> commit: https://git.buildroot.net/buildroot/commit/?id=1203cca1b51eefb4ee236d998ab6ec32bdd087d8
> branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
> 
> With Microblaze Gcc version < 8.x the build hangs due to bug 85180:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180
> To avoid this, the flare-engine package has a
> !BR2_TOOLCHAIN_HAS_GCC_BUG_85180 dependency. However, gcc bug 85180 only
> triggers when optimization is enabled, so we can work around the issue
> by passing -O0, which is what we do in other Buildroot packages to work
> around this bug.
> 
> So, this commit passes -O0 when BR2_TOOLCHAIN_HAS_GCC_BUG_85180, and
> re-enables flare-engine on Microblaze. It is not enough to set
> CMAKE_CXX_FLAGS, because flare-engine's CMakeLists.txt sets
> CMAKE_CXX_FLAGS_<BUILD_TYPE> (depending on the value of
> CMAKE_BUILD_TYPE), and the build-type-specific flags come after the
> generic flags, so our -O0 gets overridden again. Therefore, also set
> CMAKE_BUILD_TYPE to the dummy value Buildroot.
> 
> Fixes:
> http://autobuild.buildroot.net/results/706/7065e14917a8bbc0faf21b29183ac55b6c800ee3/
> 
> Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
> [Arnout: extend explanatory comment and update commit log]
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> ---
>   package/flare-engine/Config.in       | 4 ----
>   package/flare-engine/flare-engine.mk | 8 ++++++++
>   2 files changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/package/flare-engine/Config.in b/package/flare-engine/Config.in
> index e299a6b7de..cdcb018948 100644
> --- a/package/flare-engine/Config.in
> +++ b/package/flare-engine/Config.in
> @@ -2,7 +2,6 @@ config BR2_PACKAGE_FLARE_ENGINE
>   	bool "flare-engine"
>   	depends on BR2_INSTALL_LIBSTDCPP
>   	depends on !BR2_STATIC_LIBS # SDL2
> -	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_85180
>   	select BR2_PACKAGE_SDL2
>   	select BR2_PACKAGE_SDL2_IMAGE
>   	select BR2_PACKAGE_SDL2_MIXER
> @@ -18,6 +17,3 @@ config BR2_PACKAGE_FLARE_ENGINE
>   
>   comment "flare-engine needs a toolchain w/ C++, dynamic library"
>   	depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS
> -
> -comment "flare-engine needs a toolchain not affected by GCC bug 85180"
> -	depends on BR2_TOOLCHAIN_HAS_GCC_BUG_85180
> diff --git a/package/flare-engine/flare-engine.mk b/package/flare-engine/flare-engine.mk
> index 2f36602348..1ec50bfed4 100644
> --- a/package/flare-engine/flare-engine.mk
> +++ b/package/flare-engine/flare-engine.mk
> @@ -19,4 +19,12 @@ ifeq ($(BR2_ENABLE_DEBUG),y)
>   FLARE_ENGINE_CONF_OPTS += -DCMAKE_BUILD_TYPE=RelWithDebInfo
>   endif
>   
> +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
> +# CMakeLists.txt sets CMAKE_CXX_FLAGS_<BUILD_TYPE> depending on
> +# BUILD_TYPE, and this comes after the generic CMAKE_CXX_FLAGS.
> +# Overrice CMAKE_BUILD_TYPE so no overrides are applied.

Here ^^^^^^^^ there's a typo.

Kind regards
-- 
Giulio Benetti
CTO

MICRONOVA SRL
Sede: Via A. Niedda 3 - 35010 Vigonza (PD)
Tel. 049/8931563 - Fax 049/8931346
Cod.Fiscale - P.IVA 02663420285
Capitale Sociale ? 26.000 i.v.
Iscritta al Reg. Imprese di Padova N. 02663420285
Numero R.E.A. 258642

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

* [Buildroot] [git commit] package/flare-engine: re-enable package on microblaze
  2019-05-27 21:50 ` Giulio Benetti
@ 2019-05-27 22:02   ` Arnout Vandecappelle
  0 siblings, 0 replies; 4+ messages in thread
From: Arnout Vandecappelle @ 2019-05-27 22:02 UTC (permalink / raw)
  To: buildroot



On 27/05/2019 23:50, Giulio Benetti wrote:
> Hello Arnout,
> 
> Il 27/05/2019 23:37, Arnout Vandecappelle (Essensium/Mind) ha scritto:
>> commit:
>> https://git.buildroot.net/buildroot/commit/?id=1203cca1b51eefb4ee236d998ab6ec32bdd087d8
>>
>> branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
>>
>> With Microblaze Gcc version < 8.x the build hangs due to bug 85180:
>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180
>> To avoid this, the flare-engine package has a
>> !BR2_TOOLCHAIN_HAS_GCC_BUG_85180 dependency. However, gcc bug 85180 only
>> triggers when optimization is enabled, so we can work around the issue
>> by passing -O0, which is what we do in other Buildroot packages to work
>> around this bug.
>>
>> So, this commit passes -O0 when BR2_TOOLCHAIN_HAS_GCC_BUG_85180, and
>> re-enables flare-engine on Microblaze. It is not enough to set
>> CMAKE_CXX_FLAGS, because flare-engine's CMakeLists.txt sets
>> CMAKE_CXX_FLAGS_<BUILD_TYPE> (depending on the value of
>> CMAKE_BUILD_TYPE), and the build-type-specific flags come after the
>> generic flags, so our -O0 gets overridden again. Therefore, also set
>> CMAKE_BUILD_TYPE to the dummy value Buildroot.
>>
>> Fixes:
>> http://autobuild.buildroot.net/results/706/7065e14917a8bbc0faf21b29183ac55b6c800ee3/
>>
>>
>> Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
>> [Arnout: extend explanatory comment and update commit log]
>> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
>> ---
>> ? package/flare-engine/Config.in?????? | 4 ----
>> ? package/flare-engine/flare-engine.mk | 8 ++++++++
>> ? 2 files changed, 8 insertions(+), 4 deletions(-)
>>
>> diff --git a/package/flare-engine/Config.in b/package/flare-engine/Config.in
>> index e299a6b7de..cdcb018948 100644
>> --- a/package/flare-engine/Config.in
>> +++ b/package/flare-engine/Config.in
>> @@ -2,7 +2,6 @@ config BR2_PACKAGE_FLARE_ENGINE
>> ????? bool "flare-engine"
>> ????? depends on BR2_INSTALL_LIBSTDCPP
>> ????? depends on !BR2_STATIC_LIBS # SDL2
>> -??? depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_85180
>> ????? select BR2_PACKAGE_SDL2
>> ????? select BR2_PACKAGE_SDL2_IMAGE
>> ????? select BR2_PACKAGE_SDL2_MIXER
>> @@ -18,6 +17,3 @@ config BR2_PACKAGE_FLARE_ENGINE
>> ? ? comment "flare-engine needs a toolchain w/ C++, dynamic library"
>> ????? depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS
>> -
>> -comment "flare-engine needs a toolchain not affected by GCC bug 85180"
>> -??? depends on BR2_TOOLCHAIN_HAS_GCC_BUG_85180
>> diff --git a/package/flare-engine/flare-engine.mk
>> b/package/flare-engine/flare-engine.mk
>> index 2f36602348..1ec50bfed4 100644
>> --- a/package/flare-engine/flare-engine.mk
>> +++ b/package/flare-engine/flare-engine.mk
>> @@ -19,4 +19,12 @@ ifeq ($(BR2_ENABLE_DEBUG),y)
>> ? FLARE_ENGINE_CONF_OPTS += -DCMAKE_BUILD_TYPE=RelWithDebInfo
>> ? endif
>> ? +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
>> +# CMakeLists.txt sets CMAKE_CXX_FLAGS_<BUILD_TYPE> depending on
>> +# BUILD_TYPE, and this comes after the generic CMAKE_CXX_FLAGS.
>> +# Overrice CMAKE_BUILD_TYPE so no overrides are applied.
> 
> Here ^^^^^^^^ there's a typo.
 Thanks, fixed in master.

 Regards,
 Arnout

> 
> Kind regards

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

* [Buildroot] [git commit] package/flare-engine: re-enable package on microblaze
  2019-05-27 21:37 [Buildroot] [git commit] package/flare-engine: re-enable package on microblaze Arnout Vandecappelle
  2019-05-27 21:50 ` Giulio Benetti
@ 2019-06-06 15:20 ` Peter Korsgaard
  1 sibling, 0 replies; 4+ messages in thread
From: Peter Korsgaard @ 2019-06-06 15:20 UTC (permalink / raw)
  To: buildroot

>>>>> "Arnout" == Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> writes:

 > commit: https://git.buildroot.net/buildroot/commit/?id=1203cca1b51eefb4ee236d998ab6ec32bdd087d8
 > branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

 > With Microblaze Gcc version < 8.x the build hangs due to bug 85180:
 > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180
 > To avoid this, the flare-engine package has a
 > !BR2_TOOLCHAIN_HAS_GCC_BUG_85180 dependency. However, gcc bug 85180 only
 > triggers when optimization is enabled, so we can work around the issue
 > by passing -O0, which is what we do in other Buildroot packages to work
 > around this bug.

 > So, this commit passes -O0 when BR2_TOOLCHAIN_HAS_GCC_BUG_85180, and
 > re-enables flare-engine on Microblaze. It is not enough to set
 > CMAKE_CXX_FLAGS, because flare-engine's CMakeLists.txt sets
 > CMAKE_CXX_FLAGS_<BUILD_TYPE> (depending on the value of
 > CMAKE_BUILD_TYPE), and the build-type-specific flags come after the
 > generic flags, so our -O0 gets overridden again. Therefore, also set
 > CMAKE_BUILD_TYPE to the dummy value Buildroot.

 > Fixes:
 > http://autobuild.buildroot.net/results/706/7065e14917a8bbc0faf21b29183ac55b6c800ee3/

 > Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
 > [Arnout: extend explanatory comment and update commit log]
 > Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

Committed to 2019.02.x, thanks.

-- 
Bye, Peter Korsgaard

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

end of thread, other threads:[~2019-06-06 15:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-27 21:37 [Buildroot] [git commit] package/flare-engine: re-enable package on microblaze Arnout Vandecappelle
2019-05-27 21:50 ` Giulio Benetti
2019-05-27 22:02   ` Arnout Vandecappelle
2019-06-06 15:20 ` Peter Korsgaard

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.