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 ;