[Bug bootstrap/32497] Crosscomiling native sh3 gcc on a 64-bit host fails
uwe at netbsd dot org
gcc-bugzilla@gcc.gnu.org
Fri Sep 7 16:06:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=32497
--- Comment #12 from Valeriy E. Ushakov <uwe at netbsd dot org> ---
I've attached updated patch against gcc 6.4.0. If I un-apply that patch to the
NetBSD tree with patch -R (i.e. revert the files to their original state as in
gcc 6.4.0) I get
$ nbmake-landisk insn-emit.o
# compile backend/insn-emit.o
/home/uwe/work/netbsd/build/tools/bin/shle--netbsdelf-c++ -Os -freorder-blocks
-Wall -Wpointer-arith -Wno-sign-compare -Wa,--fatal-warnings -Wno-uninitialized
-Wno-maybe-uninitialized -Werror -fPIE -Wno-narrowing -Wno-unused
-std=gnu++98 -Wno-stack-protector -fno-exceptions -fno-rtti
-fasynchronous-unwind-tables -I.
-I/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/usr.bin/backend/../gcc/arch/sh3el
-DIN_GCC -DHAVE_CONFIG_H
-I/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/dist/gcc
-I/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/dist/gcc/.
-I/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/dist/gcc/../include
-I/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/dist/gcc/../libcpp/include
-I/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/dist/gcc/../libdecnumber
-I/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/dist/gcc/../libdecnumber/dpd
-I/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/dist/gcc/../libbacktrace
-DTARGET_NAME=\"shle--netbsdelf\"
-I/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/dist/libgcc
-I/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/usr.bin/backend/../../lib/libgcc/libgcov/arch/sh3el
--sysroot=/home/uwe/work/netbsd/build/distrib/landisk
-DLOCALEDIR=\"/usr/share/locale\" -DNETBSD_NATIVE -I. -DENABLE_SHARED_LIBGCC
-c insn-emit.c -o insn-emit.o
insn-emit.c:6346:3: error: this decimal constant is unsigned only in ISO C90
[-Werror]
return gen_rtx_SET (operand0,
^~~~~~
cc1plus: all warnings being treated as errors
[...]
$ cat -n insn-emit.c | sed -n '6341,6354p'
6341 rtx
6342 gen_mshflo_l_di (rtx operand0 ATTRIBUTE_UNUSED,
6343 rtx operand1 ATTRIBUTE_UNUSED,
6344 rtx operand2 ATTRIBUTE_UNUSED)
6345 {
6346 return gen_rtx_SET (operand0,
6347 gen_rtx_IOR (DImode,
6348 gen_rtx_AND (DImode,
6349 operand1,
6350 GEN_INT (4294967295L)),
6351 gen_rtx_ASHIFT (DImode,
6352 operand2,
6353 const_int_rtx[MAX_SAVED_CONST_INT + (32)])));
6354 }
and
$ nbmake-landisk insn-recog.o
# compile backend/insn-recog.o
/home/uwe/work/netbsd/build/tools/bin/shle--netbsdelf-c++ -Os -freorder-blocks
-Wall -Wpointer-arith -Wno-sign-compare -Wa,--fatal-warnings -Wno-uninitialized
-Wno-maybe-uninitialized -Werror -fPIE -Wno-narrowing -Wno-unused
-std=gnu++98 -Wno-stack-protector -fno-exceptions -fno-rtti
-fasynchronous-unwind-tables -I.
-I/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/usr.bin/backend/../gcc/arch/sh3el
-DIN_GCC -DHAVE_CONFIG_H
-I/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/dist/gcc
-I/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/dist/gcc/.
-I/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/dist/gcc/../include
-I/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/dist/gcc/../libcpp/include
-I/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/dist/gcc/../libdecnumber
-I/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/dist/gcc/../libdecnumber/dpd
-I/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/dist/gcc/../libbacktrace
-DTARGET_NAME=\"shle--netbsdelf\"
-I/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/dist/libgcc
-I/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/usr.bin/backend/../../lib/libgcc/libgcov/arch/sh3el
--sysroot=/home/uwe/work/netbsd/build/distrib/landisk
-DLOCALEDIR=\"/usr/share/locale\" -DNETBSD_NATIVE -I. -DENABLE_SHARED_LIBGCC
-c insn-recog.c -o insn-recog.o
insn-recog.c:1532:7: error: this decimal constant is unsigned only in ISO C90
[-Werror]
|| XWINT (x4, 0) != -2147483648L
^~
insn-recog.c:5762:5: error: this decimal constant is unsigned only in ISO C90
[-Werror]
case -2147483648L:
^~~~
/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/dist/gcc/config/sh/sh.md:15774:15:
error: this decimal constant is unsigned only in ISO C90 [-Werror]
DONE;
^
/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/dist/gcc/config/sh/sh.md:4832:17:
error: this decimal constant is unsigned only in ISO C90 [-Werror]
(and:SI (match_dup 1) (const_int 1))))
^~~~
/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/dist/gcc/config/sh/sh.md:16430:17:
error: this decimal constant is unsigned only in ISO C90 [-Werror]
(define_split
^
/home/uwe/work/netbsd/ro/src/external/gpl3/gcc.old/dist/gcc/config/sh/sh.md:14012:15:
error: this decimal constant is unsigned only in ISO C90 [-Werror]
[(set (match_operand:DF 0 "fp_arith_reg_operand" "=f")
^~
cc1plus: all warnings being treated as errors
More information about the Gcc-bugs
mailing list