* [Buildroot] [PATCH v2 1/1] package/ffmpeg: fix fenv build failure on ARCv2 with glibc
@ 2017-11-07 21:11 Bernd Kuhls
2017-11-07 21:37 ` Thomas Petazzoni
0 siblings, 1 reply; 4+ messages in thread
From: Bernd Kuhls @ 2017-11-07 21:11 UTC (permalink / raw)
To: buildroot
https://git.buildroot.net/buildroot/commit/toolchain?id=0633eb58a2912328508a76f8fe9875a0d113a880
added glibc support for ARCv2 which lacks fenv.h.
Fixes
http://autobuild.buildroot.net/results/aec/aec300d7d4472421398a24202d6871c965bd1be5/
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v2: Restricted dependency to BR2_archs38 && BR2_TOOLCHAIN_USES_GLIBC
(Thomas)
package/ffmpeg/Config.in | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/package/ffmpeg/Config.in b/package/ffmpeg/Config.in
index ed87ddd492..9890a22deb 100644
--- a/package/ffmpeg/Config.in
+++ b/package/ffmpeg/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
bool
- # fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2
+ # fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on archs38
+ # in combination with glibc and nios2
# No support for ARMv7-M in the ARM assembly logic
# Microblaze build affected by gcc PR71124 (infinite loop)
# m68k coldfire causes a build failure, because the check for
@@ -9,7 +10,9 @@ config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
# not. See https://patchwork.ozlabs.org/patch/756664/ and
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68467 for more
# details.
- default y if !BR2_nios2 && !BR2_ARM_CPU_ARMV7M && !BR2_microblaze && !BR2_m68k_cf
+ default y if !(BR2_archs38 && BR2_TOOLCHAIN_USES_GLIBC) && \
+ !BR2_nios2 && !BR2_ARM_CPU_ARMV7M && \
+ !BR2_microblaze && !BR2_m68k_cf
menuconfig BR2_PACKAGE_FFMPEG
bool "ffmpeg"
--
2.11.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH v2 1/1] package/ffmpeg: fix fenv build failure on ARCv2 with glibc
2017-11-07 21:11 [Buildroot] [PATCH v2 1/1] package/ffmpeg: fix fenv build failure on ARCv2 with glibc Bernd Kuhls
@ 2017-11-07 21:37 ` Thomas Petazzoni
2017-11-07 23:24 ` Arnout Vandecappelle
0 siblings, 1 reply; 4+ messages in thread
From: Thomas Petazzoni @ 2017-11-07 21:37 UTC (permalink / raw)
To: buildroot
Hello,
On Tue, 7 Nov 2017 22:11:49 +0100, Bernd Kuhls wrote:
> https://git.buildroot.net/buildroot/commit/toolchain?id=0633eb58a2912328508a76f8fe9875a0d113a880
> added glibc support for ARCv2 which lacks fenv.h.
>
> Fixes
> http://autobuild.buildroot.net/results/aec/aec300d7d4472421398a24202d6871c965bd1be5/
>
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Thanks!
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> - # fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2
> + # fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on archs38
> + # in combination with glibc and nios2
> # No support for ARMv7-M in the ARM assembly logic
> # Microblaze build affected by gcc PR71124 (infinite loop)
> # m68k coldfire causes a build failure, because the check for
> @@ -9,7 +10,9 @@ config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
> # not. See https://patchwork.ozlabs.org/patch/756664/ and
> # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68467 for more
> # details.
> - default y if !BR2_nios2 && !BR2_ARM_CPU_ARMV7M && !BR2_microblaze && !BR2_m68k_cf
> + default y if !(BR2_archs38 && BR2_TOOLCHAIN_USES_GLIBC) && \
> + !BR2_nios2 && !BR2_ARM_CPU_ARMV7M && \
> + !BR2_microblaze && !BR2_m68k_cf
We don't want to fix that now, but this is getting unreadable. Perhaps
we could improve that by doing this:
config BR2_PACKAGE_FFMPEG_ARCH_BROKEN
bool
# blabla why
default y if BR2_archs38 && BR2_TOOLCHAIN_USES_GLIBC
# blabla why
default y if BR2_nios2
# ...
default y if BR2_ARM_CPU_ARMV7M
# ...
default y if BR2_microblaze
# blabla why
default y if BR2_m68k_cf
config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
bool
default y if !BR2_PACKAGE_FFMPEG_ARCH_BROKEN
It's probably more readable :)
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH v2 1/1] package/ffmpeg: fix fenv build failure on ARCv2 with glibc
2017-11-07 21:37 ` Thomas Petazzoni
@ 2017-11-07 23:24 ` Arnout Vandecappelle
2017-11-08 7:38 ` Thomas Petazzoni
0 siblings, 1 reply; 4+ messages in thread
From: Arnout Vandecappelle @ 2017-11-07 23:24 UTC (permalink / raw)
To: buildroot
On 07-11-17 22:37, Thomas Petazzoni wrote:
> Hello,
>
> On Tue, 7 Nov 2017 22:11:49 +0100, Bernd Kuhls wrote:
>> https://git.buildroot.net/buildroot/commit/toolchain?id=0633eb58a2912328508a76f8fe9875a0d113a880
>> added glibc support for ARCv2 which lacks fenv.h.
>>
>> Fixes
>> http://autobuild.buildroot.net/results/aec/aec300d7d4472421398a24202d6871c965bd1be5/
>>
>> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
>
> Thanks!
>
> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
>
>> - # fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2
>> + # fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on archs38
>> + # in combination with glibc and nios2
>> # No support for ARMv7-M in the ARM assembly logic
>> # Microblaze build affected by gcc PR71124 (infinite loop)
>> # m68k coldfire causes a build failure, because the check for
>> @@ -9,7 +10,9 @@ config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
>> # not. See https://patchwork.ozlabs.org/patch/756664/ and
>> # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68467 for more
>> # details.
>> - default y if !BR2_nios2 && !BR2_ARM_CPU_ARMV7M && !BR2_microblaze && !BR2_m68k_cf
>> + default y if !(BR2_archs38 && BR2_TOOLCHAIN_USES_GLIBC) && \
>> + !BR2_nios2 && !BR2_ARM_CPU_ARMV7M && \
>> + !BR2_microblaze && !BR2_m68k_cf
>
> We don't want to fix that now, but this is getting unreadable. Perhaps
> we could improve that by doing this:
>
> config BR2_PACKAGE_FFMPEG_ARCH_BROKEN
> bool
> # blabla why
> default y if BR2_archs38 && BR2_TOOLCHAIN_USES_GLIBC
> # blabla why
> default y if BR2_nios2
> # ...
> default y if BR2_ARM_CPU_ARMV7M
> # ...
> default y if BR2_microblaze
> # blabla why
> default y if BR2_m68k_cf
>
> config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
> bool
> default y if !BR2_PACKAGE_FFMPEG_ARCH_BROKEN
Doesn't this work?
config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
bool
default y
# blabla why
depends on !BR2_archs38 || !BR2_TOOLCHAIN_USES_GLIBC
# blabla why
depends on !BR2_nios
...
I believe we use that construct elsewhere...
Regards,
Arnout
>
> It's probably more readable :)
>
> Thomas
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH v2 1/1] package/ffmpeg: fix fenv build failure on ARCv2 with glibc
2017-11-07 23:24 ` Arnout Vandecappelle
@ 2017-11-08 7:38 ` Thomas Petazzoni
0 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2017-11-08 7:38 UTC (permalink / raw)
To: buildroot
Hello,
On Wed, 8 Nov 2017 00:24:50 +0100, Arnout Vandecappelle wrote:
> Doesn't this work?
>
> config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
> bool
> default y
> # blabla why
> depends on !BR2_archs38 || !BR2_TOOLCHAIN_USES_GLIBC
> # blabla why
> depends on !BR2_nios
> ...
>
> I believe we use that construct elsewhere...
Absolutely. Not sure why I over-engineered the thing, your solution
should work perfectly fine.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-11-08 7:38 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-07 21:11 [Buildroot] [PATCH v2 1/1] package/ffmpeg: fix fenv build failure on ARCv2 with glibc Bernd Kuhls
2017-11-07 21:37 ` Thomas Petazzoni
2017-11-07 23:24 ` Arnout Vandecappelle
2017-11-08 7:38 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox