summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRolf Eike Beer <eike@sf-mail.de>2018-09-07 20:57:31 +0200
committerSergei Trofimovich <slyfox@gentoo.org>2018-09-16 22:28:40 +0100
commit68b4b694543cddeb2f33115f5581403d1187fe3f (patch)
treea5785bfc1cbb392a3f68f57fbcb119f5354626fd /dev-util/boost-build/files
parentapp-admin/ansible: 2.5.8 and 2.6.3 stable amd64 and x86 with cleanup (diff)
downloadgentoo-68b4b694543cddeb2f33115f5581403d1187fe3f.tar.gz
gentoo-68b4b694543cddeb2f33115f5581403d1187fe3f.tar.bz2
gentoo-68b4b694543cddeb2f33115f5581403d1187fe3f.zip
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@gentoo.org> Package-Manager: Portage-2.3.40, Repoman-2.3.9
Diffstat (limited to 'dev-util/boost-build/files')
-rw-r--r--dev-util/boost-build/files/boost-build-1.62.0-sparc-no-default-flags.patch47
1 files changed, 47 insertions, 0 deletions
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 000000000000..a3f450b0edf1
--- /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 ;