dev-util/boost-build: add patch to unbreak compiler options on sparc
authorRolf Eike Beer <eike@sf-mail.de>
Fri, 7 Sep 2018 18:57:31 +0000 (20:57 +0200)
committerSergei Trofimovich <slyfox@gentoo.org>
Sun, 16 Sep 2018 21:28:40 +0000 (22:28 +0100)
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@gentoo.org>
Package-Manager: Portage-2.3.40, Repoman-2.3.9

dev-util/boost-build/boost-build-1.62.0-r1.ebuild
dev-util/boost-build/boost-build-1.63.0.ebuild
dev-util/boost-build/boost-build-1.65.0.ebuild
dev-util/boost-build/boost-build-1.66.0.ebuild
dev-util/boost-build/boost-build-1.67.0.ebuild
dev-util/boost-build/files/boost-build-1.62.0-sparc-no-default-flags.patch [new file with mode: 0644]

index 0178c2e3dfbae383bc879b6a73eb92096467871f..3d4aef3be4bbf0d9ba1dafdb9d1bf3c21d5a40e6 100644 (file)
@@ -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() {
index 070a8e4d6032339ee1a0496be019f774cddab773..4dbc423b5357b1a3115b5c9d97574ec1cea55936 100644 (file)
@@ -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() {
index 0a977472723ecaad5fdb7e607103f79f2c5d5623..7f4df21c77144105a9144bae005fe8f2cb787d6a 100644 (file)
@@ -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() {
index ec3e64b01f9259859b9d1a8ada00dfcca0ccddf9..2fdc1e473128b936ce25d38273a206a91f0fe5a6 100644 (file)
@@ -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"
 )
 
index 87f9bb6743956a13d008129fabe459982bdb4ecf..4dda7f0a6aa9fc504c96fb560337597c90d5aacc 100644 (file)
@@ -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 (file)
index 0000000..a3f450b
--- /dev/null
@@ -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 ;