summaryrefslogtreecommitdiff
path: root/packages/gcc-linaro/5.4-2017.05/0023-gcc-xtensa-fix-fprintf-format-specifiers.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gcc-linaro/5.4-2017.05/0023-gcc-xtensa-fix-fprintf-format-specifiers.patch')
-rw-r--r--packages/gcc-linaro/5.4-2017.05/0023-gcc-xtensa-fix-fprintf-format-specifiers.patch69
1 files changed, 0 insertions, 69 deletions
diff --git a/packages/gcc-linaro/5.4-2017.05/0023-gcc-xtensa-fix-fprintf-format-specifiers.patch b/packages/gcc-linaro/5.4-2017.05/0023-gcc-xtensa-fix-fprintf-format-specifiers.patch
deleted file mode 100644
index a14b3cf..0000000
--- a/packages/gcc-linaro/5.4-2017.05/0023-gcc-xtensa-fix-fprintf-format-specifiers.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 1117c8be9e712f778739d751aa61038794437d7d Mon Sep 17 00:00:00 2001
-From: Max Filippov <jcmvbkbc@gmail.com>
-Date: Sun, 28 May 2017 19:56:56 -0700
-Subject: [PATCH] gcc: xtensa: fix fprintf format specifiers
-
-HOST_WIDE_INT may not be long as assumed in print_operand and
-xtensa_emit_call. Use HOST_WIDE_INT_PRINT_DEC/HOST_WIDE_INT_PRINT_HEX
-format strings instead of %ld/0x%lx. This fixes incorrect assembly code
-generation by the compiler running on armhf host.
-
-2017-05-28 Max Filippov <jcmvbkbc@gmail.com>
-gcc/
- * config/xtensa/xtensa.c (xtensa_emit_call): Use
- HOST_WIDE_INT_PRINT_HEX instead of 0x%lx format string.
- (print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of %ld
- format string.
-
-Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
----
- gcc/config/xtensa/xtensa.c | 11 ++++++-----
- 1 file changed, 6 insertions(+), 5 deletions(-)
-
---- a/gcc/config/xtensa/xtensa.c
-+++ b/gcc/config/xtensa/xtensa.c
-@@ -1811,7 +1811,8 @@
- 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
-@@ -2382,14 +2383,14 @@
-
- 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;
-@@ -2403,7 +2404,7 @@
-
- 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;
-@@ -2472,7 +2473,7 @@
- else if (GET_CODE (x) == MEM)
- output_address (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);
- }