From patchwork Mon May 15 15:56:57 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Brodkin X-Patchwork-Id: 762584 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3wRQFL5CL8z9s7B for ; Tue, 16 May 2017 01:57:10 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 7320086058; Mon, 15 May 2017 15:57:07 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dkZ1PpwfKgCG; Mon, 15 May 2017 15:57:05 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id 1818E85FD9; Mon, 15 May 2017 15:57:05 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 0C7F61C05C2 for ; Mon, 15 May 2017 15:57:04 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 095AF844DD for ; Mon, 15 May 2017 15:57:04 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lu+0VdNO65KM for ; Mon, 15 May 2017 15:57:03 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from smtprelay.synopsys.com (smtprelay.synopsys.com [198.182.60.111]) by whitealder.osuosl.org (Postfix) with ESMTPS id 4BE6684484 for ; Mon, 15 May 2017 15:57:03 +0000 (UTC) Received: from mailhost.synopsys.com (mailhost3.synopsys.com [10.12.238.238]) by smtprelay.synopsys.com (Postfix) with ESMTP id 906B510C1613; Mon, 15 May 2017 08:57:02 -0700 (PDT) Received: from mailhost.synopsys.com (localhost [127.0.0.1]) by mailhost.synopsys.com (Postfix) with ESMTP id 4A46A38C; Mon, 15 May 2017 08:57:02 -0700 (PDT) Received: from ru20arcgnu1.internal.synopsys.com (ru20arcgnu1.internal.synopsys.com [10.121.9.48]) by mailhost.synopsys.com (Postfix) with ESMTP id 26A2E35E; Mon, 15 May 2017 08:57:00 -0700 (PDT) From: Alexey Brodkin To: buildroot@busybox.net Date: Mon, 15 May 2017 18:56:57 +0300 Message-Id: <20170515155657.22513-1-abrodkin@synopsys.com> X-Mailer: git-send-email 2.11.0 Cc: Thomas Petazzoni , Alexey Brodkin Subject: [Buildroot] [PATCH] gcc: arc-2017.03-rc2: Fix "unrecognized supposed constant" error X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" This fixes the following problem: ------------------------------------>8-------------------------------- arc-linux-gcc -c -Os -fPIC iso9660.i iso9660.c: In function 'strip_trail': iso9660.c:155:1: error: unrecognized supposed constant } ^ (unspec:SI [ (symbol_ref:SI ("*.LANCHOR1") [flags 0x182]) ] ARC_UNSPEC_GOTOFFPC) iso9660.c:155:1: internal compiler error: in arc_legitimate_constant_p, at config/arc/arc.c:6028 ------------------------------------>8-------------------------------- Found by Buildroot autobuilder [1]. The fix [2] is in arc-2017.03 development branch of ARC GCC and once it becomes a part the next release of ARC tools this should be removed from Buildroot. [1] http://autobuild.buildroot.net/results/c90/c909e8c397ab972b6aa4d370572cad4fae284d00/build-end.log [2] https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/commit/139fed9d29ab935b3bc5159c0bdf7b8b8a39442d Signed-off-by: Alexey Brodkin --- ...-return-false-for-any-PIC-related-unspecs.patch | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 package/gcc/arc-2017.03-rc2/0001-FIX-PIC-return-false-for-any-PIC-related-unspecs.patch diff --git a/package/gcc/arc-2017.03-rc2/0001-FIX-PIC-return-false-for-any-PIC-related-unspecs.patch b/package/gcc/arc-2017.03-rc2/0001-FIX-PIC-return-false-for-any-PIC-related-unspecs.patch new file mode 100644 index 0000000000..ea9708240e --- /dev/null +++ b/package/gcc/arc-2017.03-rc2/0001-FIX-PIC-return-false-for-any-PIC-related-unspecs.patch @@ -0,0 +1,58 @@ +From 139fed9d29ab935b3bc5159c0bdf7b8b8a39442d Mon Sep 17 00:00:00 2001 +From: Claudiu Zissulescu +Date: Mon, 15 May 2017 05:05:27 -0400 +Subject: [PATCH] [FIX] PIC: return false for any PIC related unspecs + +--- + gcc/config/arc/arc.c | 9 ++++----- + gcc/testsuite/gcc.target/arc/pr9001191897.c | 10 ++++++++++ + 2 files changed, 14 insertions(+), 5 deletions(-) + create mode 100644 gcc/testsuite/gcc.target/arc/pr9001191897.c + +diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c +index 3d53a667d37f..b00126f4d2c4 100644 +--- a/gcc/config/arc/arc.c ++++ b/gcc/config/arc/arc.c +@@ -6056,11 +6056,8 @@ arc_legitimate_constant_p (machine_mode mode, rtx x) + return true; + + case NEG: +- /* Assembler does not understand -(@label@gotoff). Also, we do +- not print such pic address constant. */ +- if (GET_CODE (XEXP (x, 0)) == UNSPEC) +- return false; + return arc_legitimate_constant_p (mode, XEXP (x, 0)); ++ + case PLUS: + case MINUS: + { +@@ -6090,7 +6087,9 @@ arc_legitimate_constant_p (machine_mode mode, rtx x) + case UNSPEC_TLS_IE: + return true; + default: +- break; ++ /* Any other unspec ending here are pic related, hence the above ++ constant pic address checking returned false. */ ++ return false; + } + /* Fall through. */ + +diff --git a/gcc/testsuite/gcc.target/arc/pr9001191897.c b/gcc/testsuite/gcc.target/arc/pr9001191897.c +new file mode 100644 +index 000000000000..2b9e1689803f +--- /dev/null ++++ b/gcc/testsuite/gcc.target/arc/pr9001191897.c +@@ -0,0 +1,10 @@ ++/* { dg-do compile } */ ++/* { dg-skip-if "" { ! { clmcpu } } } */ ++/* { dg-options "-mcpu=arch2 -Os -fpic -mno-sdata -mno-indexed-loads -w" } */ ++a; ++c() { ++ static char b[25]; ++ for (; a >= 0; a--) ++ if (b[a]) ++ b[a] = '\0'; ++} +-- +2.7.4 +