From aa7cf3a91fe7378a7d088db48c3fc6ba286eaad3 Mon Sep 17 00:00:00 2001 From: Oleksij Rempel Date: Thu, 1 Jun 2017 17:20:31 +0200 Subject: [PATCH] add gcc fixup Fix issue: Tool chain build - gcc won't compile #130 Signed-off-by: Oleksij Rempel --- Makefile | 2 +- local/patches/gcc-6.3.0_fixup.patch | 49 +++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 local/patches/gcc-6.3.0_fixup.patch diff --git a/Makefile b/Makefile index 177de60..9469c40 100644 --- a/Makefile +++ b/Makefile @@ -27,7 +27,7 @@ GCC_VER=6.3.0 GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-$(GCC_VER)/gcc-$(GCC_VER).tar.bz2 GCC_TAR=gcc-$(GCC_VER).tar.bz2 GCC_DIR=gcc-$(GCC_VER) -GCC_PATCHES=local/patches/gcc.patch +GCC_PATCHES=local/patches/gcc.patch local/patches/gcc-6.3.0_fixup.patch GCC_SUM=f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f BASEDIR=$(shell pwd) diff --git a/local/patches/gcc-6.3.0_fixup.patch b/local/patches/gcc-6.3.0_fixup.patch new file mode 100644 index 0000000..681c0ee --- /dev/null +++ b/local/patches/gcc-6.3.0_fixup.patch @@ -0,0 +1,49 @@ +diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c +index 015dd1049fb..df80ad9117e 100644 +--- a/gcc/config/xtensa/xtensa.c ++++ b/gcc/config/xtensa/xtensa.c +@@ -1780,7 +1780,8 @@ xtensa_emit_call (int callop, rtx *operands) + rtx tgt = operands[callop]; + + if (GET_CODE (tgt) == CONST_INT) +- sprintf (result, "call%d\t0x%lx", WINDOW_SIZE, INTVAL (tgt)); ++ sprintf (result, "call%d\t" HOST_WIDE_INT_PRINT_HEX, ++ WINDOW_SIZE, INTVAL (tgt)); + else if (register_operand (tgt, VOIDmode)) + sprintf (result, "callx%d\t%%%d", WINDOW_SIZE, callop); + else +@@ -2351,14 +2352,14 @@ print_operand (FILE *file, rtx x, int letter) + + case 'L': + if (GET_CODE (x) == CONST_INT) +- fprintf (file, "%ld", (32 - INTVAL (x)) & 0x1f); ++ fprintf (file, HOST_WIDE_INT_PRINT_DEC, (32 - INTVAL (x)) & 0x1f); + else + output_operand_lossage ("invalid %%L value"); + break; + + case 'R': + if (GET_CODE (x) == CONST_INT) +- fprintf (file, "%ld", INTVAL (x) & 0x1f); ++ fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x) & 0x1f); + else + output_operand_lossage ("invalid %%R value"); + break; +@@ -2372,7 +2373,7 @@ print_operand (FILE *file, rtx x, int letter) + + case 'd': + if (GET_CODE (x) == CONST_INT) +- fprintf (file, "%ld", INTVAL (x)); ++ fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x)); + else + output_operand_lossage ("invalid %%d value"); + break; +@@ -2437,7 +2438,7 @@ print_operand (FILE *file, rtx x, int letter) + else if (GET_CODE (x) == MEM) + output_address (GET_MODE (x), XEXP (x, 0)); + else if (GET_CODE (x) == CONST_INT) +- fprintf (file, "%ld", INTVAL (x)); ++ fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x)); + else + output_addr_const (file, x); + } -- 2.31.1