Bug#1007216: mariadb-10.6: FTBFS on ppc64: unrecognized opcode tbegin/tabort/tend

2023-02-05 Thread Otto Kekäläinen
FYI: MariaDB 10.11.1 now also failing on the same test
main.func_json_notembedded in https://bugs.debian.org/1029374



Bug#1007216: mariadb-10.6: FTBFS on ppc64: unrecognized opcode tbegin/tabort/tend

2022-03-13 Thread John Paul Adrian Glaubitz
Hello Otto!

On 3/13/22 20:36, Otto Kekäläinen wrote:
> CMakeFiles/mbstream.dir/xbstream.cc.o.d -o
> CMakeFiles/mbstream.dir/xbstream.cc.o -c
> /<>/extra/mariabackup/xbstream.cc
> /tmp/ccwobTGg.s: Assembler messages:
> /tmp/ccwobTGg.s:48: Error: unrecognized opcode: `tbegin.'
> /tmp/ccwobTGg.s:106: Error: unrecognized opcode: `tabort.'
> /tmp/ccwobTGg.s:151: Error: unrecognized opcode: `tend.'
> 
> Full log at 
> https://buildd.debian.org/status/fetch.php?pkg=mariadb-10.6=ppc64=1%3A10.6.7-3=1647018395=0
> 
> Builds of powerpc and ppc64el work, this failure is only on ppc64.
> This arch failed previously on Debian#1006527 but it was fixed on the
> latest upload, and thus this second failure got uncovered.

Looks like unconditional use of POWER8 transactional instructions [1].

The code should check for the availability of POWER8 or _CALL_ELF 2 before
trying to use POWER8 instructions:

(sid_ppc64el-dchroot)glaubitz@plummer:~$ echo | gcc -E -dM -|grep POWER
#define __POWER8_VECTOR__ 1
(sid_ppc64el-dchroot)glaubitz@plummer:~$ 
(sid_ppc64el-dchroot)glaubitz@plummer:~$ echo | gcc -E -dM -|grep ELF
#define __ELF__ 1
#define _CALL_ELF 2
(sid_ppc64el-dchroot)glaubitz@plummer:~$

Adrian

> [1] 
> https://www.ibm.com/docs/en/aix/7.2?topic=concepts-aix-transactional-memory-programming

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaub...@debian.org
`. `'   Freie Universitaet Berlin - glaub...@physik.fu-berlin.de
  `-GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913



Bug#1007216: mariadb-10.6: FTBFS on ppc64: unrecognized opcode tbegin/tabort/tend

2022-03-13 Thread Otto Kekäläinen
Source: mariadb-10.6
Version: 1:10.6.7-1
Tags: upstream, confirmed, help, ftbfs
User: debian-powe...@lists.debian.org
Usertags: ppc64
X-Debbugs-CC: debian-powe...@lists.debian.org

Builds on ppc64 failed with:

[ 48%] Building CXX object
extra/mariabackup/CMakeFiles/mbstream.dir/xbstream.cc.o
cd /<>/builddir/extra/mariabackup && /usr/bin/c++
-DBTR_CUR_ADAPT -DBTR_CUR_HASH_ADAPT -DCOMPILER_HINTS -DDBUG_TRACE
-DHAVE_CONFIG_H -DHAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE=1
-DHAVE_LIBNUMA=1 -DHAVE_LZ4=1 -DHAVE_LZ4_COMPRESS_DEFAULT=1
-DHAVE_OPENSSL -DHAVE_SCHED_GETCPU=1 -DHAVE_SNAPPY=1
-DHAVE_SYSTEM_REGEX -DHAVE_URING -DPCRE_STATIC=1
-DWITH_INNODB_DISALLOW_WRITES -D_FILE_OFFSET_BITS=64
-I/<>/wsrep-lib/include
-I/<>/wsrep-lib/wsrep-API/v26
-I/<>/builddir/include
-I/<>/storage/innobase/include
-I/<>/storage/innobase/handler
-I/<>/libbinlogevents/include -I/<>/tpool
-I/<>/include -I/<>/sql
-I/<>/extra/mariabackup/quicklz
-I/<>/extra/mariabackup -g -O2
-ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat
-Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time
-D_FORTIFY_SOURCE=2 -pie -fPIC -fstack-protector
--param=ssp-buffer-size=4 -Wconversion -Wno-sign-conversion -O2 -g
-static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing
-Wno-uninitialized -fno-omit-frame-pointer -D_FORTIFY_SOURCE=2
-DDBUG_OFF -Wall -Wextra -Wformat-security -Wno-format-truncation
-Wno-init-self -Wno-nonnull-compare -Wno-unused-parameter
-Woverloaded-virtual -Wnon-virtual-dtor -Wvla -Wwrite-strings
-Wdate-time -D_FORTIFY_SOURCE=2 -DUNIV_LINUX -D_GNU_SOURCE=1
-UMYSQL_SERVER -std=gnu++11 -MD -MT
extra/mariabackup/CMakeFiles/mbstream.dir/xbstream.cc.o -MF
CMakeFiles/mbstream.dir/xbstream.cc.o.d -o
CMakeFiles/mbstream.dir/xbstream.cc.o -c
/<>/extra/mariabackup/xbstream.cc
/tmp/ccwobTGg.s: Assembler messages:
/tmp/ccwobTGg.s:48: Error: unrecognized opcode: `tbegin.'
/tmp/ccwobTGg.s:106: Error: unrecognized opcode: `tabort.'
/tmp/ccwobTGg.s:151: Error: unrecognized opcode: `tend.'

Full log at 
https://buildd.debian.org/status/fetch.php?pkg=mariadb-10.6=ppc64=1%3A10.6.7-3=1647018395=0

Builds of powerpc and ppc64el work, this failure is only on ppc64.
This arch failed previously on Debian#1006527 but it was fixed on the
latest upload, and thus this second failure got uncovered.