* [Buildroot] [PATCH v2] mpd: fix build for ARC
@ 2017-03-01 11:03 Vlad Zakharov
2017-03-01 21:12 ` Thomas Petazzoni
0 siblings, 1 reply; 3+ messages in thread
From: Vlad Zakharov @ 2017-03-01 11:03 UTC (permalink / raw)
To: buildroot
mpd package fails for both internal and external ARC toolchain as check
for pthread support fails. Such checks fails because _REENTRANT flag is
not defined in gcc even when -pthread is passed.
So we add patch to gcc that defines _REENTRANT on ARC when -pthread is
passed.
Also it disables mpd package for external ARC toolchain as it fails due
to the same issue.
This patch should be reverted as soon as the patch for GCC becomes a
part of ARC toolchain.
Fixes:
http://autobuild.buildroot.net/results/7d7/7d70b62ad996830fbeca46dffcc7a1dc030e575d//
Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
---
Changes v1..v2:
- Sign off on gcc patch
...-define-_REENTRANT-when-pthread-is-passed.patch | 34 ++++++++++++++++++++++
package/mpd/Config.in | 3 ++
2 files changed, 37 insertions(+)
create mode 100644 package/gcc/arc-2016.09-release/895-arc-define-_REENTRANT-when-pthread-is-passed.patch
diff --git a/package/gcc/arc-2016.09-release/895-arc-define-_REENTRANT-when-pthread-is-passed.patch b/package/gcc/arc-2016.09-release/895-arc-define-_REENTRANT-when-pthread-is-passed.patch
new file mode 100644
index 0000000..ee9add5
--- /dev/null
+++ b/package/gcc/arc-2016.09-release/895-arc-define-_REENTRANT-when-pthread-is-passed.patch
@@ -0,0 +1,34 @@
+From 4c6367c99461fdd7bd5613483f2582d7f08fba87 Mon Sep 17 00:00:00 2001
+From: Vlad Zakharov <vzakhar@synopsys.com>
+Date: Tue, 28 Feb 2017 17:41:11 +0300
+Subject: [PATCH] arc: define _REENTRANT when -pthread is passed
+
+The compiler is supposed to have the builtin defined _REENTRANT defined
+when -pthread is passed, which wasn't done on the ARC architecture.
+
+When _REENTRANT is not passed, the C library will not use reentrant
+functions, and the latest version of ax_pthread.m4 from the
+autoconf-archive will no longer detect that thread support is
+available (see https://savannah.gnu.org/patch/?8186).
+
+Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ gcc/config/arc/arc.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/gcc/config/arc/arc.h b/gcc/config/arc/arc.h
+index 611ef54..fdd4b5d 100644
+--- a/gcc/config/arc/arc.h
++++ b/gcc/config/arc/arc.h
+@@ -93,6 +93,7 @@ along with GCC; see the file COPYING3. If not see
+ %{mdsp-packa:-D__Xdsp_packa} %{mcrc:-D__Xcrc} %{mdvbf:-D__Xdvbf} \
+ %{mtelephony:-D__Xtelephony} %{mxy:-D__Xxy} %{mmul64: -D__Xmult32} \
+ %{mlock:-D__Xlock} %{mswape:-D__Xswape} %{mrtsc:-D__Xrtsc} \
++%{pthread:-D_REENTRANT} \
+ %{mcpu=nps400:-D__NPS400__}"
+
+ #define CC1_SPEC "\
+--
+2.7.4
+
diff --git a/package/mpd/Config.in b/package/mpd/Config.in
index 8eabbbc..0c73548 100644
--- a/package/mpd/Config.in
+++ b/package/mpd/Config.in
@@ -8,6 +8,8 @@ menuconfig BR2_PACKAGE_MPD
# 0.19.x could be built with GCC 4.6, but for simplicity we require
# the same toolchain dependencies for all versions.
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14
+ # ARC toolchain issue
+ depends on !BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
select BR2_PACKAGE_MPD_TREMOR if !(BR2_PACKAGE_MPD_MAD || BR2_PACKAGE_MPD_MPG123 || BR2_PACKAGE_MPD_VORBIS || BR2_PACKAGE_MPD_WAVPACK || BR2_PACKAGE_MPD_FLAC || BR2_PACKAGE_MPD_MUSEPACK || BR2_PACKAGE_MPD_FFMPEG)
@@ -339,3 +341,4 @@ comment "mpd needs a toolchain w/ C++, threads, wchar, gcc >= 4.9"
depends on BR2_TOOLCHAIN_HAS_ATOMIC
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
+ depends on !BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC
--
2.7.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH v2] mpd: fix build for ARC
2017-03-01 11:03 [Buildroot] [PATCH v2] mpd: fix build for ARC Vlad Zakharov
@ 2017-03-01 21:12 ` Thomas Petazzoni
2017-03-02 20:46 ` Peter Korsgaard
0 siblings, 1 reply; 3+ messages in thread
From: Thomas Petazzoni @ 2017-03-01 21:12 UTC (permalink / raw)
To: buildroot
Hello,
On Wed, 1 Mar 2017 14:03:34 +0300, Vlad Zakharov wrote:
> mpd package fails for both internal and external ARC toolchain as check
> for pthread support fails. Such checks fails because _REENTRANT flag is
> not defined in gcc even when -pthread is passed.
>
> So we add patch to gcc that defines _REENTRANT on ARC when -pthread is
> passed.
>
> Also it disables mpd package for external ARC toolchain as it fails due
> to the same issue.
>
> This patch should be reverted as soon as the patch for GCC becomes a
> part of ARC toolchain.
>
> Fixes:
> http://autobuild.buildroot.net/results/7d7/7d70b62ad996830fbeca46dffcc7a1dc030e575d//
>
> Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
> ---
> Changes v1..v2:
> - Sign off on gcc patch
Applied to master, thanks. Peter, I think this one qualifies for the
LTS branch.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH v2] mpd: fix build for ARC
2017-03-01 21:12 ` Thomas Petazzoni
@ 2017-03-02 20:46 ` Peter Korsgaard
0 siblings, 0 replies; 3+ messages in thread
From: Peter Korsgaard @ 2017-03-02 20:46 UTC (permalink / raw)
To: buildroot
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
> Hello,
> On Wed, 1 Mar 2017 14:03:34 +0300, Vlad Zakharov wrote:
>> mpd package fails for both internal and external ARC toolchain as check
>> for pthread support fails. Such checks fails because _REENTRANT flag is
>> not defined in gcc even when -pthread is passed.
>>
>> So we add patch to gcc that defines _REENTRANT on ARC when -pthread is
>> passed.
>>
>> Also it disables mpd package for external ARC toolchain as it fails due
>> to the same issue.
>>
>> This patch should be reverted as soon as the patch for GCC becomes a
>> part of ARC toolchain.
>>
>> Fixes:
>> http://autobuild.buildroot.net/results/7d7/7d70b62ad996830fbeca46dffcc7a1dc030e575d//
>>
>> Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
>> ---
>> Changes v1..v2:
>> - Sign off on gcc patch
> Applied to master, thanks. Peter, I think this one qualifies for the
> LTS branch.
Committed to 2017.02.x, thanks.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-03-02 20:46 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-01 11:03 [Buildroot] [PATCH v2] mpd: fix build for ARC Vlad Zakharov
2017-03-01 21:12 ` Thomas Petazzoni
2017-03-02 20:46 ` Peter Korsgaard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox