binutils-2.23.88.0.1-3.fc20 can't build glibc on s390, it fails with ... gcc ../sysdeps/s390/s390-32/multiarch/memcmp.S -c -I../include -I/builddir/build/BUILD/glibc-2.17-c758a686/build-s390-redhat-linux/string -I/builddir/build/BUILD/glibc-2.17-c758a686/build-s390-redhat-linux -I../nptl/sysdeps/unix/sysv/linux/s390/s390-32 -I../sysdeps/unix/sysv/linux/s390/s390-32/nptl -I../sysdeps/unix/sysv/linux/s390/s390-32 -I../sysdeps/unix/sysv/linux/s390/fpu -I../sysdeps/s390/fpu -I../nptl/sysdeps/unix/sysv/linux/s390 -I../rtkaio/sysdeps/unix/sysv/linux/s390 -I../sysdeps/unix/sysv/linux/s390 -I../sysdeps/ieee754/ldbl-64-128 -I../sysdeps/ieee754/ldbl-opt -I../ports/sysdeps/unix/sysv/linux -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../rtkaio/sysdeps/pthread -I../sysdeps/pthread -I../rtkaio/sysdeps/unix/sysv/linux -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/inet -I../ports/sysdeps/unix/sysv -I../nptl/sysdeps/unix/sysv -I../rtkaio/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../ports/sysdeps/unix -I../nptl/sysdeps/unix -I../rtkaio/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/s390/s390-32/multiarch -I../sysdeps/s390/s390-32 -I../sysdeps/wordsize-32 -I../nptl/sysdeps/s390 -I../sysdeps/s390 -I../sysdeps/ieee754/ldbl-128 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic -I../ports -I../nptl -I../rtkaio -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/s390-redhat-linux/4.8.0/include -isystem /usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DASSEMBLER -g -Wa,--noexecstack -o /builddir/build/BUILD/glibc-2.17-c758a686/build-s390-redhat-linux/string/memcmp.o -MD -MP -MF /builddir/build/BUILD/glibc-2.17-c758a686/build-s390-redhat-linux/string/memcmp.o.dt -MT /builddir/build/BUILD/glibc-2.17-c758a686/build-s390-redhat-linux/string/memcmp.o In file included from ../sysdeps/s390/s390-32/multiarch/../memcmp.S:20:0, from ../sysdeps/s390/s390-32/multiarch/memcmp.S:97: ../sysdeps/s390/s390-32/multiarch/../sysdep.h:68:0: warning: "PSEUDO" redefined [enabled by default] #define PSEUDO(name, syscall_name, args) \ ^ In file included from ../sysdeps/s390/s390-32/multiarch/memcmp.S:20:0: ../sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h:56:0: note: this is the location of the previous definition #define PSEUDO(name, syscall_name, args) \ ^ ../sysdeps/s390/s390-32/multiarch/memcmp.S: Assembler messages: ../sysdeps/s390/s390-32/multiarch/memcmp.S:34: Error: unknown pseudo-op: `.machinemode' ../sysdeps/s390/s390-32/multiarch/memcmp.S:38: Error: Unrecognized opcode: `srlk' ../sysdeps/s390/s390-32/multiarch/memcmp.S:42: Error: Unrecognized opcode: `exrl' ../sysdeps/s390/s390-32/multiarch/memcmp.S:54: Error: Unrecognized opcode: `pfd' ../sysdeps/s390/s390-32/multiarch/memcmp.S:55: Error: Unrecognized opcode: `pfd' ../sysdeps/s390/s390-32/multiarch/memcmp.S:68: Error: unknown pseudo-op: `.machinemode' ../sysdeps/s390/s390-32/multiarch/memcmp.S:74: Error: Unrecognized opcode: `cijlh' ../sysdeps/s390/s390-32/multiarch/memcmp.S:76: Error: Unrecognized opcode: `exrl' ../sysdeps/s390/s390-32/multiarch/memcmp.S:83: Error: Unrecognized opcode: `pfd' ../sysdeps/s390/s390-32/multiarch/memcmp.S:84: Error: Unrecognized opcode: `pfd' gcc memmove.c -c -std=gnu99 -fgnu89-inline -DNDEBUG -O3 -Wall -Winline -Wwrite-strings -fasynchronous-unwind-tables -fmerge-all-constants -frounding-math -g -Wstrict-prototypes -mlong-double-128 -fno-tree-loop-distribute-patterns -I../include -I/builddir/build/BUILD/glibc-2.17-c758a686/build-s390-redhat-linux/string -I/builddir/build/BUILD/glibc-2.17-c758a686/build-s390-redhat-linux -I../nptl/sysdeps/unix/sysv/linux/s390/s390-32 -I../sysdeps/unix/sysv/linux/s390/s390-32/nptl -I../sysdeps/unix/sysv/linux/s390/s390-32 -I../sysdeps/unix/sysv/linux/s390/fpu -I../sysdeps/s390/fpu -I../nptl/sysdeps/unix/sysv/linux/s390 -I../rtkaio/sysdeps/unix/sysv/linux/s390 -I../sysdeps/unix/sysv/linux/s390 -I../sysdeps/ieee754/ldbl-64-128 -I../sysdeps/ieee754/ldbl-opt -I../ports/sysdeps/unix/sysv/linux -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../rtkaio/sysdeps/pthread -I../sysdeps/pthread -I../rtkaio/sysdeps/unix/sysv/linux -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/inet -I../ports/sysdeps/unix/sysv -I../nptl/sysdeps/unix/sysv -I../rtkaio/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../ports/sysdeps/unix -I../nptl/sysdeps/unix -I../rtkaio/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/s390/s390-32/multiarch -I../sysdeps/s390/s390-32 -I../sysdeps/wordsize-32 -I../nptl/sysdeps/s390 -I../sysdeps/s390 -I../sysdeps/ieee754/ldbl-128 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic -I../ports -I../nptl -I../rtkaio -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/s390-redhat-linux/4.8.0/include -isystem /usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -o /builddir/build/BUILD/glibc-2.17-c758a686/build-s390-redhat-linux/string/memmove.o -MD -MP -MF /builddir/build/BUILD/glibc-2.17-c758a686/build-s390-redhat-linux/string/memmove.o.dt -MT /builddir/build/BUILD/glibc-2.17-c758a686/build-s390-redhat-linux/string/memmove.o make[2]: *** [/builddir/build/BUILD/glibc-2.17-c758a686/build-s390-redhat-linux/string/memcmp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory `/builddir/build/BUILD/glibc-2.17-c758a686/string' make[1]: Leaving directory `/builddir/build/BUILD/glibc-2.17-c758a686' make[1]: *** [string/subdir_lib] Error 2 make: *** [all] Error 2 I guess it's because the FSF binutils is missing the required functionality, previous build of glibc with binutils-2.23.52.0.1-10.fc20 (which is based on the "Linux fork") was successful. Version-Release number of selected component (if applicable): binutils-2.23.88.0.1-3.fc20
And looking into gas/config/tc-s390.c confirms the idea, the machinemode pseudo-op is missing in the FSF version.
The new binutils-2.23.88.0.1-8 release (once it is koji is back up and it can be built) has support for the machinemode pseudo-op. Cheers Nick
Thanks for providing the fix promptly.
Hope you won't mind that I've sent the build to koji.