From patchwork Thu Aug 31 11:08:31 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tamar Christina X-Patchwork-Id: 808201 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-461204-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="Z9Yy42Y4"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3xjfkq6czHz9sRW for ; Thu, 31 Aug 2017 21:08:51 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:cc:subject:message-id:mime-version:content-type; q=dns; s=default; b=wcRCgNHhW951FphGwlGT7n1lIvFlREiJmjrm/BME6MawlT4jwF 8/DWU8L25ydECoWAxF4+nhfPLztaL1E/3AQ0vN1LAkz3oNJ3u58xa1g87/FjpN8S dAgJLob2v8yU2ErdDlaNdWdKHXzZUdpnuOb8iDa9qmUEfhUIgMcVmb1/U= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:cc:subject:message-id:mime-version:content-type; s= default; bh=muAeRVrcTtDfzK9WqVM3g1P3shM=; b=Z9Yy42Y47zIbvSJ2sgGj BbdR6MXf5Y/2QK5T4uXrwciKkoJeau4vpDXHmmCsj6dV+aaL7qb/TLy9lMT6y12r vK272aHu76NN/zIVxzoZpkvzXdZwn3oEmM4gLm3gqH/1zxYx2vqmJvDYUC+KMyvY 62pskZzBHp/61c9g9RkOw+E= Received: (qmail 92809 invoked by alias); 31 Aug 2017 11:08:43 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 92800 invoked by uid 89); 31 Aug 2017 11:08:42 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.7 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1395 X-HELO: EUR01-VE1-obe.outbound.protection.outlook.com Received: from mail-ve1eur01on0081.outbound.protection.outlook.com (HELO EUR01-VE1-obe.outbound.protection.outlook.com) (104.47.1.81) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 31 Aug 2017 11:08:32 +0000 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Tamar.Christina@arm.com; Received: from arm.com (217.140.96.140) by DB6PR0802MB2309.eurprd08.prod.outlook.com (2603:10a6:4:86::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10; Thu, 31 Aug 2017 11:08:29 +0000 Date: Thu, 31 Aug 2017 12:08:31 +0100 From: Tamar Christina To: gcc-patches@gcc.gnu.org Cc: nd@arm.com, james.greenhalgh@arm.com, Richard.Earnshaw@arm.com, Marcus.Shawcroft@arm.com Subject: [PATCH][GCC][AArch64][Committed] Actually reserve room for null terminator when mangling buildins. Message-ID: <20170831110827.GA18167@arm.com> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.24 (2015-08-30) X-ClientProxiedBy: AM5PR06CA0009.eurprd06.prod.outlook.com (2603:10a6:206:2::22) To DB6PR0802MB2309.eurprd08.prod.outlook.com (2603:10a6:4:86::13) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 79796166-59b4-43ac-9ffa-08d4f0609c25 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(2017030254152)(48565401081)(300000503095)(300135400095)(49563074)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:DB6PR0802MB2309; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2309; 3:dHXEFl//OfNp1ok71wVcIcfcY7Kpa9yK2vydiWK9O/F2IDtMQosV6tn8kk70h+e0apViT1sCFjp2b26Bw1oxyklDZZ7aTDZAiIko/rP23kftPLazJVWcosOA7mXbYeu3/tGaQOEkqhz3SLHIkSXC26TY3AtJ3diOxl//RKfl1g6Y9G4HRChm6WnkOw/MUuUIPUi2brx00OVBDFL3UNQLSuj4nN0sQYNx8no9WiVN3COEmfEgoNKxR3bZCgeSAoa3; 25:YKgMZun5q1ijIRLGB2ryOHZPoqAtr/bFrKx1upgHuLpZET9OOb2o/t8S0l/Xqy0k/+Wr6j+nauNm6IuIFcSTpujo4IPYl5IBPXF/Ye/SjbMAyj8E3bfpMFx4+FXw0ITDFx3N5b3lGhOdroLelEcTDrEpj85DgCUYfY0Wz4v6XXwcjoWlv2d+Z+Wa3dS3fqjL8sqVKj70qfVsrd43dDtefRbbUJhdFhgBcVXTBWPmD22XcMFpBTSKk019q3giIhrP5y+N7fVVYZRdTHewevofMN9G4hdp1UYQjOUBK1fvJB+NMZyk8biapvxzLOZiWz90gbEMJ7ikJBYstSyNOVv4rQ==; 31:0HogpEGTjc8OaGQgMjMXuLKwfIA9u0cyqCKPIGK1JkNnozXSNQZkNue0j2DlLDs+RHtdtjerwV3+ASObYUNdVYrDSyBw9Om35Q2tDp8XAIJvCPM26+t8ds8MqV7kIh1c44NItyDq7s71A4zW9lSXPIgGIv7YqhY+4+k+8pFAI3Bf1gtN3a0Tit5apTtu+XTeWvSGt39xkkJSzg80wPZBDTgVVp0OH2jKVvNvXrppm40= X-MS-TrafficTypeDiagnostic: DB6PR0802MB2309: NoDisclaimer: True X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2309; 20:o2PQdxDB+L/M1ZnMNCLxZydEXl5W0MZLIvAJH190RWBeoQiQbcRqVjs0WgtXTkxe/6Nk4OhTKAb2nfU2/xY3frrqPDF9jtcXa8ONKLkTgGrMCFg/XJrSOMuOvnkO2MbvRcWFi11f44nUCAXtkcEzf4jBjHRZcCAxx0bQbuaccKA=; 4:7+Cm4Phw1NdohWX+0z21ML2YMK2UF/vo35Dd9CHWYm3YR0J3xZ6T9pefLbPtuMtkIRH2ymuy5/ww39/KXN1mD12tSxCJpRnO0PQQ8zPPpdietu32tgs1YDBDIVivxyTyBymSj8cmUi0rGaoR+JNz3VJ3I3aw3T8QyjJgczmtjYaWNOPRXXMFP38cH1Ri2h0lgntBbN/9xQ70rS6+gsyI5O4qDkOm2F3Rzx38rtV5vsBZ+wXE3uM0u4CwiQA7l9ksVqQpJGouM7ldus2k+epQO9q1r1g7voajmyHsNenfodo= X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(102415395)(6040450)(601004)(2401047)(5005006)(8121501046)(93006095)(93001095)(100000703101)(100105400095)(10201501046)(3002001)(6055026)(6041248)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(20161123560025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DB6PR0802MB2309; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DB6PR0802MB2309; X-Forefront-PRVS: 04163EF38A X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(7370300001)(4630300001)(979002)(6009001)(39860400002)(189002)(377424004)(53754006)(199003)(97736004)(4001350100001)(478600001)(81166006)(81156014)(8676002)(54356999)(68736007)(568964002)(5000100001)(50986999)(2361001)(106356001)(53936002)(55016002)(42186005)(105586002)(2351001)(33656002)(4326008)(305945005)(7736002)(110136004)(86362001)(7350300001)(66066001)(5890100001)(101416001)(5660300001)(25786009)(36756003)(1076002)(2906002)(6916009)(2476003)(84326002)(21086003)(4610100001)(72206003)(189998001)(6116002)(83506001)(6666003)(3846002)(18370500001)(2700100001)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR0802MB2309; H:arm.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2309; 23:EbBQDc6Lr0hwiQBpLpPrTaiaz0wcSC4M2ikQHUiCEbFwh7gn+TonmTeus/+1Ys22+LTW9DCBd+yVW4oNzvxwFq0ar3NXvv/Ft3SSPr4OtytdV7DItynN9xxdFDEZ34umFMcrlXxE1QLc5ccDAv6PpiPkgYQWTsUnYlpyXBfrebxG2KTvmKbVhAvQgfc9KxFj6xl5+vUAc0hjQVFpdscV9D/FKRVRkmollMZ6+En5DF9+PvS+1rBWGdiBuwTfxSRXr5KgV23NftnHH6Hmu2MbgxxxQXLWSVRqGVWmddiKk+rOyQASSo7tYvRSDLWtx7Mh1aMpELXDvCq+Dy1+Zitje9ir+c3HUetcLQTjpLwJqO2Nle5eoHmeVk0F7HZwHMrhd3By4atll25aNVHmoGSs20aHj/hnwfbeoPTGsH2ba0Nv4sL15+hajfFqSMS/sWIoN8EjBx8fbsAMwDmQB72NNgmay4xAycINROg+ycMxROfHGigruVVZCPMRMgblhth1BOf3U/zypFYzZyNiNZuyLEkMxkEJsmr/29/AE17T/vrkPAvbxp7PBSg4PrMZjxangKURAMbdu/VM0/8ukk2rqtSHdy65FhisUBSeXMPXg8CuoAh/uGGoZO7JOwLQKISOmUvI/GhAh/dXgmxIbXYnuAdqD9t7joilccN7eQZpWJ3t4sEyaYYyqz/ttLbBjVHNPnQ7Tv2HE5w6HYO06sxlZgQ7Ha6HXLvgKML4Y04GGJZdOh5oWxBKcZ/Jd/qIvbpKUtUwromljglCyHyogFkgD6X2vuJfoLmPk0iKJDH6Zg0uLR4R73d+GmSry73yBxkGms+i26Uog3RyBYN127jT3t4RLlVkspMqp9AxxU2TMUDb1xiZjxeL6dKfc0thzd8NL7pZtkFFebqv62XDNmu+Wk8FQE+zf1WpqK+roxD4GHYXcZ0x4ddOWVr+IVK1lnL1tmeyLfO3nXUaYlMq/cPXGZgPylzcA/n8rG7D8/P6iG7cYHh1blXRLkNShsKi3MNCT34TILSA5Qt8/o35/HrPjl5CeC4gBezmZqhLWe1591nSACMXUd3OzcG+c0AmM0eAMB1y3PadqycJlH6f24cHnw+2niA4Z+d4xIszOsZ7LkFB9nGZ6O7j5QLLIycZOPcWNJDf4pBIJolLwDRBHG7Cx+/spK9+OLOpH7KqGxWx5TLqDCv+XLsOO/mCDPsVbVoGKOy5rMaSrC5tiH62OZ2mlq1VCEeB/Ph9LpW/3spjzYyICWOTf9AA9xeGqAmcblypmntFhdEiv5HHMcTmIHUYoOKmqKv+w2g7Sgd1KgBHIsnH+UYIfYtvsgdQrE1wap54MAkwzhXuRmBFDR/8QyNYjLxPexqAHh8iZOEA5l0JTqKGyLy6DAwKp+b1Aiq9SnTt8lDmJHj4AXxgywig/oZu4A== X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2309; 6:OIaioO3TeD6IcgVE+PoVdHuMT392b/YWtfKi1RJ3gT++69v00AqlZ/PTBmzSTy4ndejm0Sqr7V6VPgDDlpP2CVdqPz7EGjZXEHLUyCS2ckXYy/521L02FZqPfM+hBN0bwlLM2j/+uYTXls5KJN//tco0RJ4jzM6M3WvL+o26UgJcrI4DwlwUtZjJ2SCbqdGfFgHXvVaA11TrYhgHGvpEhIF9O1QSDOtiE3+Q+KUwXRRe1DmVByqE+NYGQqn0Z5DLL7WpiVrwdZahi0hXKA9Ic/H8sasureORoTMZlNbWYPsDewHVkprbYufSICQzW12xhzZ1hRLN2vnUE8G0RFek8g==; 5:b72S6V+9MUWWMjOxlgUJlA6g0ZxbMcEX6ReKV9GHP9UW9X5MM6IaYq5vLGWiYO4q9eDu/yG4wauYgWuolV23B8hNP92EX9rct8aDiVBHDeWIXlwRNfGK/pXjWX2Q7X8Mx05fcboRh9p7gJplTbw3QA==; 24:ObDLnVOvJxmHQIdi6ASQnGm4c8U//A+i9rUOK+aXDGYcW/5ipLQaucDLtC/AkN3oMdq5ySQJEwewPh6Cv0skv9NZdRdXxka2Re2/oHbVUyE=; 7:G95lNnSf9HBQN8Ly80Wz9+a8JqTommtBWDEBPCL1mx6Ti0j3nGUURdIpcXRFx6UG5Gph7h1/Hpfh/1LY+kPO40VgVsxuAg/C3CikK8N8P8p0ENPI4OBV8/7cRY7Cir1P8qu3/OhZw7/FjbIZwOdZzAqyMLggnFD2uc98FLeqcuKTxhQPyiLP7yoqRe1RdzRVLWcPLp4nm3jX6lUwDYdr/WZUDcY9NLnhJR9j/Xu9nZY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2017 11:08:29.0508 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2309 X-IsSubscribed: yes Hi All, When mangling the builtin names and type signatures we create a buffer to hold SIMD_MAX_BUILTIN_ARGS arguments, but don't account for the null terminator for the string. Which means when you actually do use up to SIMD_MAX_BUILTIN_ARGS arguments you'll end up with garbage at the end of your intrinsics name. I now allocate one extra char for the type signature for the null terminator. Committed under the GCC obvious rule as r251558. Tested on aarch64-none-elf Thanks, Tamar gcc/ 2017-08-31 Tamar Christina * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins): Resize type_signature. diff --git a/gcc/config/aarch64/aarch64-builtins.c b/gcc/config/aarch64/aarch64-builtins.c index a1b598c3da29ca791c261ca8a6f918573a818974..2670f3b550fc7c56cb11c5bfd5517cdeb9091d35 100644 --- a/gcc/config/aarch64/aarch64-builtins.c +++ b/gcc/config/aarch64/aarch64-builtins.c @@ -759,7 +759,7 @@ aarch64_init_simd_builtins (void) for (i = 0; i < ARRAY_SIZE (aarch64_simd_builtin_data); i++, fcode++) { bool print_type_signature_p = false; - char type_signature[SIMD_MAX_BUILTIN_ARGS] = { 0 }; + char type_signature[SIMD_MAX_BUILTIN_ARGS + 1] = { 0 }; aarch64_simd_builtin_datum *d = &aarch64_simd_builtin_data[i]; char namebuf[60]; tree ftype = NULL;