https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82012
Bug ID: 82012
Summary: [8 Regression] libitm build fails for s390x-linux-gnu
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libitm
Assignee: unassigned at gcc dot gnu.org
Reporter: jsm28 at gcc dot gnu.org
Target Milestone: ---
Target: s390x-linux-gnu
Created attachment 42063
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42063&action=edit
Preprocessed source
The build of libitm fails for x390x-linux-gnu:
/scratch/jmyers/glibc/many8/build/compilers/s390x-linux-gnu/gcc/./gcc/xg++
-B/scratch/jmyers/glibc/many8/build/compilers/s390x-linux-gnu/gcc/./gcc/
-nostdinc++ -nostdinc++
-I/scratch/jmyers/glibc/many8/build/compilers/s390x-linux-gnu/gcc/s390x-glibc-linux-gnu/libstdc++-v3/include/s390x-glibc-linux-gnu
-I/scratch/jmyers/glibc/many8/build/compilers/s390x-linux-gnu/gcc/s390x-glibc-linux-gnu/libstdc++-v3/include
-I/scratch/jmyers/glibc/many8/src/gcc/libstdc++-v3/libsupc++
-I/scratch/jmyers/glibc/many8/src/gcc/libstdc++-v3/include/backward
-I/scratch/jmyers/glibc/many8/src/gcc/libstdc++-v3/testsuite/util
-L/scratch/jmyers/glibc/many8/build/compilers/s390x-linux-gnu/gcc/s390x-glibc-linux-gnu/libstdc++-v3/src
-L/scratch/jmyers/glibc/many8/build/compilers/s390x-linux-gnu/gcc/s390x-glibc-linux-gnu/libstdc++-v3/src/.libs
-L/scratch/jmyers/glibc/many8/build/compilers/s390x-linux-gnu/gcc/s390x-glibc-linux-gnu/libstdc++-v3/libsupc++/.libs
-B/scratch/jmyers/glibc/many8/build/compilers/s390x-linux-gnu/gcc/s390x-glibc-linux-gnu/libstdc++-v3/src/.libs
-B/scratch/jmyers/glibc/many8/build/compilers/s390x-linux-gnu/gcc/s390x-glibc-linux-gnu/libstdc++-v3/libsupc++/.libs
-B/scratch/jmyers/glibc/many8/install/compilers/s390x-linux-gnu/s390x-glibc-linux-gnu/bin/
-B/scratch/jmyers/glibc/many8/install/compilers/s390x-linux-gnu/s390x-glibc-linux-gnu/lib/
-isystem
/scratch/jmyers/glibc/many8/install/compilers/s390x-linux-gnu/s390x-glibc-linux-gnu/include
-isystem
/scratch/jmyers/glibc/many8/install/compilers/s390x-linux-gnu/s390x-glibc-linux-gnu/sys-include
-DHAVE_CONFIG_H -I. -I/scratch/jmyers/glibc/many8/src/gcc/libitm
-I/scratch/jmyers/glibc/many8/src/gcc/libitm/config/linux/s390
-I/scratch/jmyers/glibc/many8/src/gcc/libitm/config/linux
-I/scratch/jmyers/glibc/many8/src/gcc/libitm/config/s390
-I/scratch/jmyers/glibc/many8/src/gcc/libitm/config/posix
-I/scratch/jmyers/glibc/many8/src/gcc/libitm/config/generic
-I/scratch/jmyers/glibc/many8/src/gcc/libitm -ftls-model=initial-exec -mzarch
-mhtm -Wall -pthread -Werror -std=gnu++0x -funwind-tables -fno-exceptions
-fno-rtti -fabi-version=4 -g -O2 -D_GNU_SOURCE -MT beginend.lo -MD -MP -MF
.deps/beginend.Tpo -c /scratch/jmyers/glibc/many8/src/gcc/libitm/beginend.cc
-fPIC -DPIC -o .libs/beginend.o
In file included from
/scratch/jmyers/glibc/many8/src/gcc/libitm/libitm_i.h:39:,
from
/scratch/jmyers/glibc/many8/src/gcc/libitm/beginend.cc:25:
/scratch/jmyers/glibc/many8/src/gcc/libitm/local_atomic: In static member
function 'static uint32_t GTM::gtm_thread::begin_transaction(uint32_t, const
gtm_jmpbuf*)':
/scratch/jmyers/glibc/many8/src/gcc/libitm/local_atomic:589:7: error: inlining
failed in call to always_inline 'std::__atomic_base<_IntTp>::__int_type
std::__atomic_base<_IntTp>::fetch_add(std::__atomic_base<_IntTp>::__int_type,
std::memory_order) noexcept [with _ITp = long unsigned int]': target specific
option mismatch
fetch_add(__int_type __i,
^~~~~~~~~
/scratch/jmyers/glibc/many8/src/gcc/libitm/beginend.cc:395:36: note: called
from here
tx->id = global_tid.fetch_add(tid_block_size, memory_order_relaxed);
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The build was OK at r251332, failed at r251358. I suspect the bug 81921
changes (r251333) of being the cause, but don't know if the problem is in the
compiler or in libitm itself.
Preprocessed source attached.