diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2019-05-08 14:19:50 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2019-05-08 14:24:42 -0700 |
commit | c8762844e2a26ab7ed62a161195106652675828b (patch) | |
tree | a148f1ced86f710d50db45b64b55a7bc18121b21 /sys-libs/db | |
parent | dev-java/openjdk-jre-bin: drop old :11 (diff) | |
download | gentoo-c8762844e2a26ab7ed62a161195106652675828b.tar.gz gentoo-c8762844e2a26ab7ed62a161195106652675828b.tar.bz2 gentoo-c8762844e2a26ab7ed62a161195106652675828b.zip |
sys-libs/db: compile-fix by dropping mutex=ARM/gcc-assembly
This is a compile-fix so that old versions build on newer ARM hardware.
The ARM assembly code does not work on newer hardware
so you CANNOT use --with-mutex=ARM/gcc-assembly anymore.
Specifically, it uses the SWPB op, which was deprecated [1]
The SWPB op ALSO cannot be used in ARM-Thumb mode.
>=sys-libs/db-6.1 uses LDREX instead, but that fix CANNOT be backported
due differing licenses in the new versions (the new version is AGPL).
Trust the compiler instead for older sys-libs/db versions, and just drop
--with-mutex=ARM/gcc-assembly from the configure.
[1] http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm
Fixes: https://bugs.gentoo.org/555740
Reported-By: Christohper Harrington <ironiridis@gmail.com>
Reported-By: Luke-Jr <luke-jr@utopios.org>
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Diffstat (limited to 'sys-libs/db')
-rw-r--r-- | sys-libs/db/db-4.7.25_p4.ebuild | 10 | ||||
-rw-r--r-- | sys-libs/db/db-4.8.30-r2.ebuild | 10 | ||||
-rw-r--r-- | sys-libs/db/db-5.1.29-r1.ebuild | 10 | ||||
-rw-r--r-- | sys-libs/db/db-5.3.28-r2.ebuild | 8 | ||||
-rw-r--r-- | sys-libs/db/db-5.3.28-r3.ebuild | 8 | ||||
-rw-r--r-- | sys-libs/db/db-6.0.35-r1.ebuild | 8 | ||||
-rw-r--r-- | sys-libs/db/db-6.0.35.ebuild | 8 |
7 files changed, 52 insertions, 10 deletions
diff --git a/sys-libs/db/db-4.7.25_p4.ebuild b/sys-libs/db/db-4.7.25_p4.ebuild index 2f341da53d5f..807fc0adc028 100644 --- a/sys-libs/db/db-4.7.25_p4.ebuild +++ b/sys-libs/db/db-4.7.25_p4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=0 @@ -118,13 +118,19 @@ src_compile() { --enable-o_direct \ --without-uniquename \ $(use_enable rpc) \ - $(use arm && echo --with-mutex=ARM/gcc-assembly) \ $(use amd64 && echo --with-mutex=x86/gcc-assembly) \ $(use_enable cxx) \ $(use_enable java) \ ${myconf} \ $(use_enable test) \ "$@" + # The embedded assembly on ARM does not work on newer hardware + # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore. + # Specifically, it uses the SWPB op, which was deprecated: + # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm + # The op ALSO cannot be used in ARM-Thumb mode. + # Trust the compiler instead. + # >=db-6.1 uses LDREX instead. emake || die "make failed" } diff --git a/sys-libs/db/db-4.8.30-r2.ebuild b/sys-libs/db/db-4.8.30-r2.ebuild index b19ec4fc505c..bdedb3547a75 100644 --- a/sys-libs/db/db-4.8.30-r2.ebuild +++ b/sys-libs/db/db-4.8.30-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=5 @@ -125,13 +125,19 @@ multilib_src_configure() { --enable-compat185 \ --enable-o_direct \ --without-uniquename \ - $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly) \ $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) \ $(use_enable cxx) \ $(use_enable cxx stl) \ $(multilib_native_use_enable java) \ "${myconf[@]}" \ $(use_enable test) + # The embedded assembly on ARM does not work on newer hardware + # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore. + # Specifically, it uses the SWPB op, which was deprecated: + # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm + # The op ALSO cannot be used in ARM-Thumb mode. + # Trust the compiler instead. + # >=db-6.1 uses LDREX instead. } multilib_src_test() { diff --git a/sys-libs/db/db-5.1.29-r1.ebuild b/sys-libs/db/db-5.1.29-r1.ebuild index a00e96a4a1b2..5f28da0d3676 100644 --- a/sys-libs/db/db-5.1.29-r1.ebuild +++ b/sys-libs/db/db-5.1.29-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=5 @@ -148,7 +148,6 @@ src_configure() { --enable-sql \ --enable-sql_codegen \ --disable-sql_compat \ - $(use arm && echo --with-mutex=ARM/gcc-assembly) \ $(use amd64 && echo --with-mutex=x86/gcc-assembly) \ $(use_enable cxx) \ $(use_enable cxx stl) \ @@ -156,6 +155,13 @@ src_configure() { ${myconf} \ $(use_enable test) \ "$@" + # The embedded assembly on ARM does not work on newer hardware + # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore. + # Specifically, it uses the SWPB op, which was deprecated: + # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm + # The op ALSO cannot be used in ARM-Thumb mode. + # Trust the compiler instead. + # >=db-6.1 uses LDREX instead. } src_compile() { diff --git a/sys-libs/db/db-5.3.28-r2.ebuild b/sys-libs/db/db-5.3.28-r2.ebuild index 8738e10e0083..47b37d93ea64 100644 --- a/sys-libs/db/db-5.3.28-r2.ebuild +++ b/sys-libs/db/db-5.3.28-r2.ebuild @@ -159,13 +159,19 @@ multilib_src_configure() { --enable-sql \ --enable-sql_codegen \ --disable-sql_compat \ - $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly) \ $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) \ $(use_enable cxx) \ $(use_enable cxx stl) \ $(multilib_native_use_enable java) \ "${myconf[@]}" \ $(use_enable test) + # The embedded assembly on ARM does not work on newer hardware + # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore. + # Specifically, it uses the SWPB op, which was deprecated: + # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm + # The op ALSO cannot be used in ARM-Thumb mode. + # Trust the compiler instead. + # >=db-6.1 uses LDREX instead. } multilib_src_install() { diff --git a/sys-libs/db/db-5.3.28-r3.ebuild b/sys-libs/db/db-5.3.28-r3.ebuild index 24f0d3c333b9..d29b9bb65a4e 100644 --- a/sys-libs/db/db-5.3.28-r3.ebuild +++ b/sys-libs/db/db-5.3.28-r3.ebuild @@ -161,13 +161,19 @@ multilib_src_configure() { --disable-sql \ --disable-sql_codegen \ --disable-sql_compat \ - $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly) \ $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) \ $(use_enable cxx) \ $(use_enable cxx stl) \ $(multilib_native_use_enable java) \ "${myconf[@]}" \ $(use_enable test) + # The embedded assembly on ARM does not work on newer hardware + # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore. + # Specifically, it uses the SWPB op, which was deprecated: + # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm + # The op ALSO cannot be used in ARM-Thumb mode. + # Trust the compiler instead. + # >=db-6.1 uses LDREX instead. } multilib_src_install() { diff --git a/sys-libs/db/db-6.0.35-r1.ebuild b/sys-libs/db/db-6.0.35-r1.ebuild index 0cd34cc3b7ac..a2d1df993e54 100644 --- a/sys-libs/db/db-6.0.35-r1.ebuild +++ b/sys-libs/db/db-6.0.35-r1.ebuild @@ -159,13 +159,19 @@ multilib_src_configure() { --disable-sql \ --disable-sql_codegen \ --disable-sql_compat \ - $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly) \ $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) \ $(use_enable cxx) \ $(use_enable cxx stl) \ $(multilib_native_use_enable java) \ "${myconf[@]}" \ $(use_enable test) + # The embedded assembly on ARM does not work on newer hardware + # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore. + # Specifically, it uses the SWPB op, which was deprecated: + # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm + # The op ALSO cannot be used in ARM-Thumb mode. + # Trust the compiler instead. + # >=db-6.1 uses LDREX instead. } multilib_src_install() { diff --git a/sys-libs/db/db-6.0.35.ebuild b/sys-libs/db/db-6.0.35.ebuild index b03e9d66b023..476381c66a90 100644 --- a/sys-libs/db/db-6.0.35.ebuild +++ b/sys-libs/db/db-6.0.35.ebuild @@ -157,13 +157,19 @@ multilib_src_configure() { --enable-sql \ --enable-sql_codegen \ --disable-sql_compat \ - $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly) \ $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) \ $(use_enable cxx) \ $(use_enable cxx stl) \ $(multilib_native_use_enable java) \ "${myconf[@]}" \ $(use_enable test) + # The embedded assembly on ARM does not work on newer hardware + # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore. + # Specifically, it uses the SWPB op, which was deprecated: + # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm + # The op ALSO cannot be used in ARM-Thumb mode. + # Trust the compiler instead. + # >=db-6.1 uses LDREX instead. } multilib_src_install() { |