Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.6
-
None
-
ppc64 / ppc64le
Description
In file included from /<<PKGBUILDDIR>>/storage/innobase/include/transactional_lock_guard.h:73,
|
from /<<PKGBUILDDIR>>/storage/innobase/sync/srw_lock.cc:22:
|
/usr/lib/gcc/powerpc64-linux-gnu/11/include/htmxlintrin.h: In function ‘void __TM_abort()’:
|
/usr/lib/gcc/powerpc64-linux-gnu/11/include/htmxlintrin.h:94:3: error: ‘__builtin_tabort’ was not declared in this scope; did you mean ‘__builtin_abort’?
|
94 | __builtin_tabort (0);
|
| ^~~~~~~~~~~~~~~~
|
Per https://gcc.gnu.org/onlinedocs/gcc/PowerPC-Hardware-Transactional-Memory-Built-in-Functions.html, the builtins are only available when -mhtm or -mcpu=power8 or later. Neither of these are used in the compile.
bb-10.6-danielblack-MDEV-26769-htm-flag-for-ppc64 pushed, see how buildbots handle it. Proper fix might be to make the hardware lock ellision somehow dependent on compile flag detection. I'm also unsure if AIX supports it.
HTM was introduced POWER8, so I'm unsure if older POWER will survive this change.
Attachments
Issue Links
- is caused by
-
MDEV-26769 InnoDB internal latches do not support hardware lock elision
-
- Closed
-
otto wrong patch - its bd5f7f0f8930fa343ee676fdffa1cf26b5e12e70 that includes the storage/innobase/unittest/CMakeLists.txt change adding the htm cflag to ../sync/srw_lock.cc
Succeeding on https://buildbot.mariadb.org/#/grid?branch=bb-10.6-danielblack-MDEV-27936-ppc64-htm-build-fail for the ppc64le sid builds. (test failures are something infrastructure related -
MDBF-351)