commit:     68b4b694543cddeb2f33115f5581403d1187fe3f
Author:     Rolf Eike Beer <eike <AT> sf-mail <DOT> de>
AuthorDate: Fri Sep  7 18:57:31 2018 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sun Sep 16 21:28:40 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=68b4b694

dev-util/boost-build: add patch to unbreak compiler options on sparc

Boost tries to autodetect the processor architecture and overrides any flags
set with CXXFLAGS with the -mcpu value it thinks it is appropiate. Sadly the
most recent architecture it knows of is ultrasparc3. For every newer cpu type
it falls back to it's default, which is v7 (which would be the compiler default
anyway). This avoids any advanced cpu instructions, e.g. those that support
atomic operations on thing larger than a byte. Remove the whole outdated cruft
and just use whatever the user passed in.

Closes: https://bugs.gentoo.org/646234
Closes: https://github.com/gentoo/gentoo/pull/9802
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
Package-Manager: Portage-2.3.40, Repoman-2.3.9

 dev-util/boost-build/boost-build-1.62.0-r1.ebuild  |  1 +
 dev-util/boost-build/boost-build-1.63.0.ebuild     |  1 +
 dev-util/boost-build/boost-build-1.65.0.ebuild     |  1 +
 dev-util/boost-build/boost-build-1.66.0.ebuild     |  1 +
 dev-util/boost-build/boost-build-1.67.0.ebuild     |  1 +
 ...boost-build-1.62.0-sparc-no-default-flags.patch | 47 ++++++++++++++++++++++
 6 files changed, 52 insertions(+)

diff --git a/dev-util/boost-build/boost-build-1.62.0-r1.ebuild 
b/dev-util/boost-build/boost-build-1.62.0-r1.ebuild
index 0178c2e3dfb..3d4aef3be4b 100644
--- a/dev-util/boost-build/boost-build-1.62.0-r1.ebuild
+++ b/dev-util/boost-build/boost-build-1.62.0-r1.ebuild
@@ -38,6 +38,7 @@ PATCHES=(
        "${FILESDIR}/${PN}-1.52.0-darwin-no-python-framework.patch"
        "${FILESDIR}/${PN}-1.54.0-support_dots_in_python-buildid.patch"
        "${FILESDIR}/${PN}-1.55.0-ppc-aix.patch"
+       "${FILESDIR}/${PN}-1.62.0-sparc-no-default-flags.patch"
 )
 
 pkg_setup() {

diff --git a/dev-util/boost-build/boost-build-1.63.0.ebuild 
b/dev-util/boost-build/boost-build-1.63.0.ebuild
index 070a8e4d603..4dbc423b535 100644
--- a/dev-util/boost-build/boost-build-1.63.0.ebuild
+++ b/dev-util/boost-build/boost-build-1.63.0.ebuild
@@ -38,6 +38,7 @@ PATCHES=(
        "${FILESDIR}/${PN}-1.52.0-darwin-no-python-framework.patch"
        "${FILESDIR}/${PN}-1.54.0-support_dots_in_python-buildid.patch"
        "${FILESDIR}/${PN}-1.55.0-ppc-aix.patch"
+       "${FILESDIR}/${PN}-1.62.0-sparc-no-default-flags.patch"
 )
 
 pkg_setup() {

diff --git a/dev-util/boost-build/boost-build-1.65.0.ebuild 
b/dev-util/boost-build/boost-build-1.65.0.ebuild
index 0a977472723..7f4df21c771 100644
--- a/dev-util/boost-build/boost-build-1.65.0.ebuild
+++ b/dev-util/boost-build/boost-build-1.65.0.ebuild
@@ -38,6 +38,7 @@ PATCHES=(
        "${FILESDIR}/${PN}-1.52.0-darwin-no-python-framework.patch"
        "${FILESDIR}/${PN}-1.54.0-support_dots_in_python-buildid.patch"
        "${FILESDIR}/${PN}-1.55.0-ppc-aix.patch"
+       "${FILESDIR}/${PN}-1.62.0-sparc-no-default-flags.patch"
 )
 
 pkg_setup() {

diff --git a/dev-util/boost-build/boost-build-1.66.0.ebuild 
b/dev-util/boost-build/boost-build-1.66.0.ebuild
index ec3e64b01f9..2fdc1e47312 100644
--- a/dev-util/boost-build/boost-build-1.66.0.ebuild
+++ b/dev-util/boost-build/boost-build-1.66.0.ebuild
@@ -38,6 +38,7 @@ PATCHES=(
        "${FILESDIR}/${PN}-1.52.0-darwin-no-python-framework.patch"
        "${FILESDIR}/${PN}-1.54.0-support_dots_in_python-buildid.patch"
        "${FILESDIR}/${PN}-1.55.0-ppc-aix.patch"
+       "${FILESDIR}/${PN}-1.62.0-sparc-no-default-flags.patch"
        "${FILESDIR}/${PN}-1.66.0-add-none-feature-options.patch"
 )
 

diff --git a/dev-util/boost-build/boost-build-1.67.0.ebuild 
b/dev-util/boost-build/boost-build-1.67.0.ebuild
index 87f9bb67439..4dda7f0a6aa 100644
--- a/dev-util/boost-build/boost-build-1.67.0.ebuild
+++ b/dev-util/boost-build/boost-build-1.67.0.ebuild
@@ -38,6 +38,7 @@ PATCHES=(
        "${FILESDIR}/${PN}-1.52.0-darwin-no-python-framework.patch"
        "${FILESDIR}/${PN}-1.54.0-support_dots_in_python-buildid.patch"
        "${FILESDIR}/${PN}-1.55.0-ppc-aix.patch"
+       "${FILESDIR}/${PN}-1.62.0-sparc-no-default-flags.patch"
        "${FILESDIR}/${PN}-1.66.0-add-none-feature-options.patch"
 )
 

diff --git 
a/dev-util/boost-build/files/boost-build-1.62.0-sparc-no-default-flags.patch 
b/dev-util/boost-build/files/boost-build-1.62.0-sparc-no-default-flags.patch
new file mode 100644
index 00000000000..a3f450b0edf
--- /dev/null
+++ b/dev-util/boost-build/files/boost-build-1.62.0-sparc-no-default-flags.patch
@@ -0,0 +1,47 @@
+--- a/tools/gcc.py     2018-09-07 17:44:59.668796217 +0200
++++ b/tools/gcc.py     2018-09-07 17:45:56.378794314 +0200
+@@ -811,20 +811,6 @@
+ # Sparc
+ flags('gcc', 'OPTIONS', ['<architecture>sparc/<address-model>32'], ['-m32'])
+ flags('gcc', 'OPTIONS', ['<architecture>sparc/<address-model>64'], ['-m64'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'v7', ['-mcpu=v7'], default=True)
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'cypress', ['-mcpu=cypress'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'v8', ['-mcpu=v8'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'supersparc', ['-mcpu=supersparc'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'sparclite', ['-mcpu=sparclite'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'hypersparc', ['-mcpu=hypersparc'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'sparclite86x', ['-mcpu=sparclite86x'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'f930', ['-mcpu=f930'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'f934', ['-mcpu=f934'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'sparclet', ['-mcpu=sparclet'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'tsc701', ['-mcpu=tsc701'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'v9', ['-mcpu=v9'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'ultrasparc', ['-mcpu=ultrasparc'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'ultrasparc3', ['-mcpu=ultrasparc3'])
+ # RS/6000 & PowerPC
+ flags('gcc', 'OPTIONS', ['<architecture>power/<address-model>32'], ['-m32'])
+ flags('gcc', 'OPTIONS', ['<architecture>power/<address-model>64'], ['-m64'])
+--- a/tools/gcc.jam    2018-09-07 17:45:12.168795797 +0200
++++ b/tools/gcc.jam    2018-09-07 17:46:25.498793337 +0200
+@@ -1134,21 +1134,6 @@
+ cpu-flags gcc OPTIONS : x86 : c3-2 : -march=c3-2 ;
+ ##
+ cpu-flags gcc OPTIONS : x86 : atom : -march=atom ;
+-# Sparc
+-cpu-flags gcc OPTIONS : sparc : v7 : -mcpu=v7 : default ;
+-cpu-flags gcc OPTIONS : sparc : cypress : -mcpu=cypress ;
+-cpu-flags gcc OPTIONS : sparc : v8 : -mcpu=v8 ;
+-cpu-flags gcc OPTIONS : sparc : supersparc : -mcpu=supersparc ;
+-cpu-flags gcc OPTIONS : sparc : sparclite : -mcpu=sparclite ;
+-cpu-flags gcc OPTIONS : sparc : hypersparc : -mcpu=hypersparc ;
+-cpu-flags gcc OPTIONS : sparc : sparclite86x : -mcpu=sparclite86x ;
+-cpu-flags gcc OPTIONS : sparc : f930 : -mcpu=f930 ;
+-cpu-flags gcc OPTIONS : sparc : f934 : -mcpu=f934 ;
+-cpu-flags gcc OPTIONS : sparc : sparclet : -mcpu=sparclet ;
+-cpu-flags gcc OPTIONS : sparc : tsc701 : -mcpu=tsc701 ;
+-cpu-flags gcc OPTIONS : sparc : v9 : -mcpu=v9 ;
+-cpu-flags gcc OPTIONS : sparc : ultrasparc : -mcpu=ultrasparc ;
+-cpu-flags gcc OPTIONS : sparc : ultrasparc3 : -mcpu=ultrasparc3 ;
+ # RS/6000 & PowerPC
+ cpu-flags gcc OPTIONS : power : 403 : -mcpu=403 ;
+ cpu-flags gcc OPTIONS : power : 505 : -mcpu=505 ;

Reply via email to