https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91269
Bug ID: 91269 Summary: sparc64-gcc fails to build glibc (-fcall-used-g6) on niagara4: Assembler messages: Error: Illegal operands Product: gcc Version: 9.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: slyfox at inbox dot ru Target Milestone: --- Original failure happens when glibc is built as: ../glibc/configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=sparc64-unknown-linux-gnu CFLAGS="-O2 -mcpu=niagara4 -pipe" && make Single file iso-2022-jp-3.c fails to build as: sparc64-unknown-linux-gnu-gcc iso-2022-jp-3.c -c -std=gnu11 -fgnu89-inline -O2 -mcpu=niagara4 -pipe -Wall -Wwrite-strings -Wundef -Werror -fmerge-all-constants -frounding-math -fno-stack-protector -Wstrict-prototypes -Wold-style-definition -fmath-errno -fcall-used-g6 -Wa,-Av9a -mvis -fPIC -U_FORTIFY_SOURCE -I../include -I/home/slyfox/dev/git/glibc-build-sparc64/iconvdata -I/home/slyfox/dev/git/glibc-build-sparc64 -I../sysdeps/unix/sysv/linux/sparc/sparc64 -I../sysdeps/unix/sysv/linux/wordsize-64 -I../sysdeps/unix/sysv/linux/sparc -I../sysdeps/sparc/nptl -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux -I../sysdeps/nptl -I../sysdeps/pthread -I../sysdeps/gnu -I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/sparc/sparc64/fpu/multiarch -I../sysdeps/sparc/sparc64/fpu -I../sysdeps/sparc/sparc64/multiarch -I../sysdeps/sparc/sparc64 -I../sysdeps/wordsize-64 -I../sysdeps/ieee754/ldbl-128 -I../sysdeps/ieee754/dbl-64/wordsize-64 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/sparc/fpu -I../sysdeps/sparc -I../sysdeps/ieee754 -I../sysdeps/generic -I.. -I../libio -I. -D_LIBC_REENTRANT -include /home/slyfox/dev/git/glibc-build-sparc64/libc-modules.h -DMODULE_NAME=iconvdata -include ../include/libc-symbols.h -DPIC -DSHARED -DTOP_NAMESPACE=glibc -o /home/slyfox/dev/git/glibc-build-sparc64/iconvdata/iso-2022-jp-3.os -MD -MP -MF /home/slyfox/dev/git/glibc-build-sparc64/iconvdata/iso-2022-jp-3.os.dt -MT /home/slyfox/dev/git/glibc-build-sparc64/iconvdata/iso-2022-jp-3.os {standard input}: Assembler messages: {standard input}:2619: Error: Illegal operands Attached self-contained reproducer fails in a similar way: OK: $ sparc64-unknown-linux-gnu-gcc -O2 -fno-stack-protector -fcall-used-g6 -mcpu=niagara3 -c bug.c -o bug.o bug.c: In function 'c': bug.c:13:8: warning: assignment to 'char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 13 | cp = b[k]; | ^ Bad: $ sparc64-unknown-linux-gnu-gcc -O2 -fno-stack-protector -fcall-used-g6 -mcpu=niagara4 -c bug.c -o bug.o bug.c: In function 'c': bug.c:13:8: warning: assignment to 'char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 13 | cp = b[k]; | ^ /tmp/ccohisfz.s: Assembler messages: /tmp/ccohisfz.s:145: Error: Illegal operands $ sparc64-unknown-linux-gnu-gcc -v Using built-in specs. COLLECT_GCC=/usr/bin/sparc64-unknown-linux-gnu-gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/sparc64-unknown-linux-gnu/9.1.0/lto-wrapper Target: sparc64-unknown-linux-gnu Configured with: /tmp/portage-tmpdir/portage/cross-sparc64-unknown-linux-gnu/gcc-9.1.0-r1/work/gcc-9.1.0/configure --host=x86_64-pc-linux-gnu --target=sparc64-unknown-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/sparc64-unknown-linux-gnu/gcc-bin/9.1.0 --includedir=/usr/lib/gcc/sparc64-unknown-linux-gnu/9.1.0/include --datadir=/usr/share/gcc-data/sparc64-unknown-linux-gnu/9.1.0 --mandir=/usr/share/gcc-data/sparc64-unknown-linux-gnu/9.1.0/man --infodir=/usr/share/gcc-data/sparc64-unknown-linux-gnu/9.1.0/info --with-gxx-include-dir=/usr/lib/gcc/sparc64-unknown-linux-gnu/9.1.0/include/g++-v9 --with-python-dir=/share/gcc-data/sparc64-unknown-linux-gnu/9.1.0/python --enable-languages=c,c++,fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 9.1.0-r1 p1.1' --disable-esp --enable-libstdcxx-time --with-build-config=bootstrap-lto --enable-poison-system-directories --with-sysroot=/usr/sparc64-unknown-linux-gnu --disable-bootstrap --enable-__cxa_atexit --enable-clocale=gnu --disable-multilib --disable-altivec --disable-fixed-point --enable-targets=all --enable-libgomp --disable-libmudflap --disable-libssp --disable-systemtap --enable-vtable-verify --enable-lto --without-isl --enable-default-pie --enable-default-ssp Thread model: posix gcc version 9.1.0 (Gentoo 9.1.0-r1 p1.1)