* [Buildroot] [PATCH 1/1] package/berkeleydb: fix build error with gcc8
@ 2018-06-20 19:58 Bernd Kuhls
2018-06-20 21:25 ` Peter Korsgaard
2018-06-21 12:16 ` Thomas Petazzoni
0 siblings, 2 replies; 4+ messages in thread
From: Bernd Kuhls @ 2018-06-20 19:58 UTC (permalink / raw)
To: buildroot
Fixes
../src/dbinc/atomic.h:179:19: error: definition of 'int __atomic_compare_exchange(db_atomic_t*,
atomic_value_t, atomic_value_t)' ambiguates built-in declaration 'bool
__atomic_compare_exchange(unsigned int, volatile void*, void*, void*, int, int)'
static inline int __atomic_compare_exchange(
^~~~~~~~~~~~~~~~~~~~~~~~~
To reproduce the build error use this defconfig
BR2_GCC_VERSION_8_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_BERKELEYDB=y
BR2_PACKAGE_BERKELEYDB_COMPAT185=y
BR2_PACKAGE_BERKELEYDB_TOOLS=y
Please note that to trigger the error BR2_TOOLCHAIN_BUILDROOT_CXX=y
is needed although berkeleydb does not depend on c++.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
.../0002-atomic_compare_exchange.patch | 27 +++++++++++++++++++
1 file changed, 27 insertions(+)
create mode 100644 package/berkeleydb/0002-atomic_compare_exchange.patch
diff --git a/package/berkeleydb/0002-atomic_compare_exchange.patch b/package/berkeleydb/0002-atomic_compare_exchange.patch
new file mode 100644
index 0000000000..81e18ac96f
--- /dev/null
+++ b/package/berkeleydb/0002-atomic_compare_exchange.patch
@@ -0,0 +1,27 @@
+Rename __atomic_compare_exchange to not clash with gcc built-in
+
+Downloaded from
+https://src.fedoraproject.org/cgit/rpms/libdb.git/commit/?id=d6841b3b46a51db98c162347211a5a64d154ea37
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+
+--- db-5.3.28/src/dbinc/atomic.h.old 2018-05-23 09:20:04.216914922 +0200
++++ db-5.3.28/src/dbinc/atomic.h 2018-05-23 09:20:49.510057897 +0200
+@@ -144,7 +144,7 @@
+ #define atomic_inc(env, p) __atomic_inc(p)
+ #define atomic_dec(env, p) __atomic_dec(p)
+ #define atomic_compare_exchange(env, p, o, n) \
+- __atomic_compare_exchange((p), (o), (n))
++ __db_atomic_compare_exchange((p), (o), (n))
+ static inline int __atomic_inc(db_atomic_t *p)
+ {
+ int temp;
+@@ -176,7 +176,7 @@
+ * http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
+ * which configure could be changed to use.
+ */
+-static inline int __atomic_compare_exchange(
++static inline int __db_atomic_compare_exchange(
+ db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval)
+ {
+ atomic_value_t was;
--
2.17.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH 1/1] package/berkeleydb: fix build error with gcc8
2018-06-20 19:58 [Buildroot] [PATCH 1/1] package/berkeleydb: fix build error with gcc8 Bernd Kuhls
@ 2018-06-20 21:25 ` Peter Korsgaard
2018-06-21 12:16 ` Thomas Petazzoni
1 sibling, 0 replies; 4+ messages in thread
From: Peter Korsgaard @ 2018-06-20 21:25 UTC (permalink / raw)
To: buildroot
>>>>> "Bernd" == Bernd Kuhls <bernd.kuhls@t-online.de> writes:
> Fixes
> ../src/dbinc/atomic.h:179:19: error: definition of 'int __atomic_compare_exchange(db_atomic_t*,
> atomic_value_t, atomic_value_t)' ambiguates built-in declaration 'bool
> __atomic_compare_exchange(unsigned int, volatile void*, void*, void*, int, int)'
> static inline int __atomic_compare_exchange(
> ^~~~~~~~~~~~~~~~~~~~~~~~~
> To reproduce the build error use this defconfig
> BR2_GCC_VERSION_8_X=y
> BR2_TOOLCHAIN_BUILDROOT_CXX=y
> BR2_PACKAGE_BERKELEYDB=y
> BR2_PACKAGE_BERKELEYDB_COMPAT185=y
> BR2_PACKAGE_BERKELEYDB_TOOLS=y
> Please note that to trigger the error BR2_TOOLCHAIN_BUILDROOT_CXX=y
> is needed although berkeleydb does not depend on c++.
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Committed, thanks.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH 1/1] package/berkeleydb: fix build error with gcc8
2018-06-20 19:58 [Buildroot] [PATCH 1/1] package/berkeleydb: fix build error with gcc8 Bernd Kuhls
2018-06-20 21:25 ` Peter Korsgaard
@ 2018-06-21 12:16 ` Thomas Petazzoni
2018-06-21 19:03 ` Bernd Kuhls
1 sibling, 1 reply; 4+ messages in thread
From: Thomas Petazzoni @ 2018-06-21 12:16 UTC (permalink / raw)
To: buildroot
Hello,
On Wed, 20 Jun 2018 21:58:04 +0200, Bernd Kuhls wrote:
> Fixes
>
> ../src/dbinc/atomic.h:179:19: error: definition of 'int __atomic_compare_exchange(db_atomic_t*,
> atomic_value_t, atomic_value_t)' ambiguates built-in declaration 'bool
> __atomic_compare_exchange(unsigned int, volatile void*, void*, void*, int, int)'
> static inline int __atomic_compare_exchange(
> ^~~~~~~~~~~~~~~~~~~~~~~~~
>
> To reproduce the build error use this defconfig
>
> BR2_GCC_VERSION_8_X=y
> BR2_TOOLCHAIN_BUILDROOT_CXX=y
> BR2_PACKAGE_BERKELEYDB=y
> BR2_PACKAGE_BERKELEYDB_COMPAT185=y
> BR2_PACKAGE_BERKELEYDB_TOOLS=y
>
> Please note that to trigger the error BR2_TOOLCHAIN_BUILDROOT_CXX=y
> is needed although berkeleydb does not depend on c++.
>
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Isn't this one a duplicate of
https://patchwork.ozlabs.org/patch/909328/?
Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH 1/1] package/berkeleydb: fix build error with gcc8
2018-06-21 12:16 ` Thomas Petazzoni
@ 2018-06-21 19:03 ` Bernd Kuhls
0 siblings, 0 replies; 4+ messages in thread
From: Bernd Kuhls @ 2018-06-21 19:03 UTC (permalink / raw)
To: buildroot
Am Thu, 21 Jun 2018 14:16:30 +0200 schrieb Thomas Petazzoni:
> Isn't this one a duplicate of
> https://patchwork.ozlabs.org/patch/909328/?
Hi Thomas,
right, I forgot about that patch and closed it on patchworks a few
seconds ago, thanks for the hint!
Regards, Bernd
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-06-21 19:03 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-20 19:58 [Buildroot] [PATCH 1/1] package/berkeleydb: fix build error with gcc8 Bernd Kuhls
2018-06-20 21:25 ` Peter Korsgaard
2018-06-21 12:16 ` Thomas Petazzoni
2018-06-21 19:03 ` Bernd Kuhls
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox