Gentoo Archives: gentoo-commits

From: "Robin H. Johnson" <robbat2@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/db/
Date: Wed, 08 May 2019 21:24:55
Message-Id: 1557350682.c8762844e2a26ab7ed62a161195106652675828b.robbat2@gentoo
1 commit: c8762844e2a26ab7ed62a161195106652675828b
2 Author: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
3 AuthorDate: Wed May 8 21:19:50 2019 +0000
4 Commit: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
5 CommitDate: Wed May 8 21:24:42 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8762844
7
8 sys-libs/db: compile-fix by dropping mutex=ARM/gcc-assembly
9
10 This is a compile-fix so that old versions build on newer ARM hardware.
11
12 The ARM assembly code does not work on newer hardware
13 so you CANNOT use --with-mutex=ARM/gcc-assembly anymore.
14
15 Specifically, it uses the SWPB op, which was deprecated [1]
16 The SWPB op ALSO cannot be used in ARM-Thumb mode.
17
18 >=sys-libs/db-6.1 uses LDREX instead, but that fix CANNOT be backported
19 due differing licenses in the new versions (the new version is AGPL).
20
21 Trust the compiler instead for older sys-libs/db versions, and just drop
22 --with-mutex=ARM/gcc-assembly from the configure.
23
24 [1] http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm
25
26 Fixes: https://bugs.gentoo.org/555740
27 Reported-By: Christohper Harrington <ironiridis <AT> gmail.com>
28 Reported-By: Luke-Jr <luke-jr <AT> utopios.org>
29 Package-Manager: Portage-2.3.62, Repoman-2.3.12
30 Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>
31
32 sys-libs/db/db-4.7.25_p4.ebuild | 10 ++++++++--
33 sys-libs/db/db-4.8.30-r2.ebuild | 10 ++++++++--
34 sys-libs/db/db-5.1.29-r1.ebuild | 10 ++++++++--
35 sys-libs/db/db-5.3.28-r2.ebuild | 8 +++++++-
36 sys-libs/db/db-5.3.28-r3.ebuild | 8 +++++++-
37 sys-libs/db/db-6.0.35-r1.ebuild | 8 +++++++-
38 sys-libs/db/db-6.0.35.ebuild | 8 +++++++-
39 7 files changed, 52 insertions(+), 10 deletions(-)
40
41 diff --git a/sys-libs/db/db-4.7.25_p4.ebuild b/sys-libs/db/db-4.7.25_p4.ebuild
42 index 2f341da53d5..807fc0adc02 100644
43 --- a/sys-libs/db/db-4.7.25_p4.ebuild
44 +++ b/sys-libs/db/db-4.7.25_p4.ebuild
45 @@ -1,4 +1,4 @@
46 -# Copyright 1999-2018 Gentoo Foundation
47 +# Copyright 1999-2019 Gentoo Authors
48 # Distributed under the terms of the GNU General Public License v2
49
50 EAPI=0
51 @@ -118,13 +118,19 @@ src_compile() {
52 --enable-o_direct \
53 --without-uniquename \
54 $(use_enable rpc) \
55 - $(use arm && echo --with-mutex=ARM/gcc-assembly) \
56 $(use amd64 && echo --with-mutex=x86/gcc-assembly) \
57 $(use_enable cxx) \
58 $(use_enable java) \
59 ${myconf} \
60 $(use_enable test) \
61 "$@"
62 + # The embedded assembly on ARM does not work on newer hardware
63 + # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore.
64 + # Specifically, it uses the SWPB op, which was deprecated:
65 + # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm
66 + # The op ALSO cannot be used in ARM-Thumb mode.
67 + # Trust the compiler instead.
68 + # >=db-6.1 uses LDREX instead.
69
70 emake || die "make failed"
71 }
72
73 diff --git a/sys-libs/db/db-4.8.30-r2.ebuild b/sys-libs/db/db-4.8.30-r2.ebuild
74 index b19ec4fc505..bdedb3547a7 100644
75 --- a/sys-libs/db/db-4.8.30-r2.ebuild
76 +++ b/sys-libs/db/db-4.8.30-r2.ebuild
77 @@ -1,4 +1,4 @@
78 -# Copyright 1999-2018 Gentoo Foundation
79 +# Copyright 1999-2019 Gentoo Authors
80 # Distributed under the terms of the GNU General Public License v2
81
82 EAPI=5
83 @@ -125,13 +125,19 @@ multilib_src_configure() {
84 --enable-compat185 \
85 --enable-o_direct \
86 --without-uniquename \
87 - $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly) \
88 $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) \
89 $(use_enable cxx) \
90 $(use_enable cxx stl) \
91 $(multilib_native_use_enable java) \
92 "${myconf[@]}" \
93 $(use_enable test)
94 + # The embedded assembly on ARM does not work on newer hardware
95 + # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore.
96 + # Specifically, it uses the SWPB op, which was deprecated:
97 + # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm
98 + # The op ALSO cannot be used in ARM-Thumb mode.
99 + # Trust the compiler instead.
100 + # >=db-6.1 uses LDREX instead.
101 }
102
103 multilib_src_test() {
104
105 diff --git a/sys-libs/db/db-5.1.29-r1.ebuild b/sys-libs/db/db-5.1.29-r1.ebuild
106 index a00e96a4a1b..5f28da0d367 100644
107 --- a/sys-libs/db/db-5.1.29-r1.ebuild
108 +++ b/sys-libs/db/db-5.1.29-r1.ebuild
109 @@ -1,4 +1,4 @@
110 -# Copyright 1999-2018 Gentoo Foundation
111 +# Copyright 1999-2019 Gentoo Authors
112 # Distributed under the terms of the GNU General Public License v2
113
114 EAPI=5
115 @@ -148,7 +148,6 @@ src_configure() {
116 --enable-sql \
117 --enable-sql_codegen \
118 --disable-sql_compat \
119 - $(use arm && echo --with-mutex=ARM/gcc-assembly) \
120 $(use amd64 && echo --with-mutex=x86/gcc-assembly) \
121 $(use_enable cxx) \
122 $(use_enable cxx stl) \
123 @@ -156,6 +155,13 @@ src_configure() {
124 ${myconf} \
125 $(use_enable test) \
126 "$@"
127 + # The embedded assembly on ARM does not work on newer hardware
128 + # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore.
129 + # Specifically, it uses the SWPB op, which was deprecated:
130 + # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm
131 + # The op ALSO cannot be used in ARM-Thumb mode.
132 + # Trust the compiler instead.
133 + # >=db-6.1 uses LDREX instead.
134 }
135
136 src_compile() {
137
138 diff --git a/sys-libs/db/db-5.3.28-r2.ebuild b/sys-libs/db/db-5.3.28-r2.ebuild
139 index 8738e10e008..47b37d93ea6 100644
140 --- a/sys-libs/db/db-5.3.28-r2.ebuild
141 +++ b/sys-libs/db/db-5.3.28-r2.ebuild
142 @@ -159,13 +159,19 @@ multilib_src_configure() {
143 --enable-sql \
144 --enable-sql_codegen \
145 --disable-sql_compat \
146 - $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly) \
147 $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) \
148 $(use_enable cxx) \
149 $(use_enable cxx stl) \
150 $(multilib_native_use_enable java) \
151 "${myconf[@]}" \
152 $(use_enable test)
153 + # The embedded assembly on ARM does not work on newer hardware
154 + # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore.
155 + # Specifically, it uses the SWPB op, which was deprecated:
156 + # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm
157 + # The op ALSO cannot be used in ARM-Thumb mode.
158 + # Trust the compiler instead.
159 + # >=db-6.1 uses LDREX instead.
160 }
161
162 multilib_src_install() {
163
164 diff --git a/sys-libs/db/db-5.3.28-r3.ebuild b/sys-libs/db/db-5.3.28-r3.ebuild
165 index 24f0d3c333b..d29b9bb65a4 100644
166 --- a/sys-libs/db/db-5.3.28-r3.ebuild
167 +++ b/sys-libs/db/db-5.3.28-r3.ebuild
168 @@ -161,13 +161,19 @@ multilib_src_configure() {
169 --disable-sql \
170 --disable-sql_codegen \
171 --disable-sql_compat \
172 - $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly) \
173 $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) \
174 $(use_enable cxx) \
175 $(use_enable cxx stl) \
176 $(multilib_native_use_enable java) \
177 "${myconf[@]}" \
178 $(use_enable test)
179 + # The embedded assembly on ARM does not work on newer hardware
180 + # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore.
181 + # Specifically, it uses the SWPB op, which was deprecated:
182 + # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm
183 + # The op ALSO cannot be used in ARM-Thumb mode.
184 + # Trust the compiler instead.
185 + # >=db-6.1 uses LDREX instead.
186 }
187
188 multilib_src_install() {
189
190 diff --git a/sys-libs/db/db-6.0.35-r1.ebuild b/sys-libs/db/db-6.0.35-r1.ebuild
191 index 0cd34cc3b7a..a2d1df993e5 100644
192 --- a/sys-libs/db/db-6.0.35-r1.ebuild
193 +++ b/sys-libs/db/db-6.0.35-r1.ebuild
194 @@ -159,13 +159,19 @@ multilib_src_configure() {
195 --disable-sql \
196 --disable-sql_codegen \
197 --disable-sql_compat \
198 - $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly) \
199 $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) \
200 $(use_enable cxx) \
201 $(use_enable cxx stl) \
202 $(multilib_native_use_enable java) \
203 "${myconf[@]}" \
204 $(use_enable test)
205 + # The embedded assembly on ARM does not work on newer hardware
206 + # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore.
207 + # Specifically, it uses the SWPB op, which was deprecated:
208 + # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm
209 + # The op ALSO cannot be used in ARM-Thumb mode.
210 + # Trust the compiler instead.
211 + # >=db-6.1 uses LDREX instead.
212 }
213
214 multilib_src_install() {
215
216 diff --git a/sys-libs/db/db-6.0.35.ebuild b/sys-libs/db/db-6.0.35.ebuild
217 index b03e9d66b02..476381c66a9 100644
218 --- a/sys-libs/db/db-6.0.35.ebuild
219 +++ b/sys-libs/db/db-6.0.35.ebuild
220 @@ -157,13 +157,19 @@ multilib_src_configure() {
221 --enable-sql \
222 --enable-sql_codegen \
223 --disable-sql_compat \
224 - $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly) \
225 $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) \
226 $(use_enable cxx) \
227 $(use_enable cxx stl) \
228 $(multilib_native_use_enable java) \
229 "${myconf[@]}" \
230 $(use_enable test)
231 + # The embedded assembly on ARM does not work on newer hardware
232 + # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore.
233 + # Specifically, it uses the SWPB op, which was deprecated:
234 + # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm
235 + # The op ALSO cannot be used in ARM-Thumb mode.
236 + # Trust the compiler instead.
237 + # >=db-6.1 uses LDREX instead.
238 }
239
240 multilib_src_install() {