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)

Reply via email to