[Bug 268339] databases/mysql57-server: fix build with clang 15 on i386
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 12 Dec 2022 20:07:53 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=268339 Bug ID: 268339 Summary: databases/mysql57-server: fix build with clang 15 on i386 Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: Individual Port(s) Assignee: joneum@FreeBSD.org Reporter: dim@FreeBSD.org Flags: maintainer-feedback?(joneum@FreeBSD.org) Assignee: joneum@FreeBSD.org During an exp-run for llvm 15 (see bug 265425), it turned out that databases/mysql57-server failed to build with clang 15, on i386: In file included from /wrkdirs/usr/ports/databases/mysql57-server/work/mysql-5.7.40/rapid/plugin/x/src/xpl_plugin.cc:30: In file included from /wrkdirs/usr/ports/databases/mysql57-server/work/mysql-5.7.40/rapid/plugin/x/src/xpl_session.h:31: In file included from /wrkdirs/usr/ports/databases/mysql57-server/work/mysql-5.7.40/rapid/plugin/x/ngs/include/ngs/client_session.h:30: In file included from /wrkdirs/usr/ports/databases/mysql57-server/work/mysql-5.7.40/rapid/plugin/x/ngs/include/ngs/protocol_encoder.h:31: In file included from /wrkdirs/usr/ports/databases/mysql57-server/work/mysql-5.7.40/rapid/plugin/x/ngs/include/ngs/protocol/page_pool.h:34: In file included from /wrkdirs/usr/ports/databases/mysql57-server/work/mysql-5.7.40/rapid/plugin/x/ngs/include/ngs_common/atomic.h:29: In file included from /wrkdirs/usr/ports/databases/mysql57-server/work/mysql-5.7.40/boost/boost_1_59_0/boost/atomic.hpp:12: In file included from /wrkdirs/usr/ports/databases/mysql57-server/work/mysql-5.7.40/boost/boost_1_59_0/boost/atomic/atomic.hpp:20: In file included from /wrkdirs/usr/ports/databases/mysql57-server/work/mysql-5.7.40/boost/boost_1_59_0/boost/atomic/fences.hpp:21: In file included from /wrkdirs/usr/ports/databases/mysql57-server/work/mysql-5.7.40/boost/boost_1_59_0/boost/atomic/detail/operations.hpp:17: In file included from /wrkdirs/usr/ports/databases/mysql57-server/work/mysql-5.7.40/boost/boost_1_59_0/boost/atomic/detail/operations_lockfree.hpp:21: In file included from /wrkdirs/usr/ports/databases/mysql57-server/work/mysql-5.7.40/boost/boost_1_59_0/boost/atomic/detail/ops_gcc_atomic.hpp:23: /wrkdirs/usr/ports/databases/mysql57-server/work/mysql-5.7.40/boost/boost_1_59_0/boost/atomic/detail/ops_gcc_x86_dcas.hpp:147:21: error: address argument to atomic builtin cannot be const-qualified ('const volatile boost::atomics::detail::gcc_dcas_x86<true>::storage_type *' (aka 'const volatile long long *') invalid) value = __sync_val_compare_and_swap(&storage, (storage_type)0, (storage_type)0); ^ ~~~~~~~~ /wrkdirs/usr/ports/databases/mysql57-server/work/mysql-5.7.40/boost/boost_1_59_0/boost/atomic/detail/atomic_template.hpp:110:54: note: in instantiation of member function 'boost::atomics::detail::gcc_dcas_x86<true>::load' requested here return static_cast< value_type >(operations::load(m_storage, order)); ^ /wrkdirs/usr/ports/databases/mysql57-server/work/mysql-5.7.40/rapid/plugin/x/src/xpl_common_status_variables.h:43:57: note: in instantiation of member function 'boost::atomics::detail::base_atomic<long long, int>::load' requested here void operator=(const Variable& other) { store(other.load()); } ^ This is because mysql has an old embedded copy of boost, which assumes clang needs a workaround to allocate eax:edx register pairs in inline assembly. Since this is no longer true with recent versions of clang, patch out the clang checks and use the generic inline assembly code. -- You are receiving this mail because: You are the assignee for the bug.