Received: by 10.223.185.116 with SMTP id b49csp5388332wrg; Wed, 7 Mar 2018 10:54:02 -0800 (PST) X-Google-Smtp-Source: AG47ELu6TwdX/rnLGBbNJGr1epQbau0zfS5JH3Z2GqtKY5bhAFJTDMqBKcbwgLKk5HOO7rMRPpJ0 X-Received: by 10.98.10.219 with SMTP id 88mr23598060pfk.202.1520448842186; Wed, 07 Mar 2018 10:54:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1520448842; cv=none; d=google.com; s=arc-20160816; b=nczO04Z3D7/9fBkSlioBqKt4IWyPvzAmsm5byLnEX9DQ6HdO1ZO3W4J9jaVIwt7P9p DtYzD+YcyNx1ea/T9RE4CEYiV4mfjBQ7iFvmc2bX3/Jf2eUAwY1ifQnIJR0fTxjCNfGk 8u+qi02wOO4yKhlMdeAj7o8SRVW9WeGUT4oJpVPBnI9A5aXUBHiBNZNzNEyj6WaMGbov 3sNI1VEnUOIgO4YBc3Cefm5ZxTKY1vJqi02Zx6bBcxxLhsaRi90pHxJJDSmXciTZyMIP S8/BYIb/ii5GhG1ymzx4NsNyKwpm6CTDJkSmsh4HF5MxJecYoo7+yUhoIssAWymm8LUP 8xAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :message-id:in-reply-to:subject:cc:to:from:date:dkim-signature :arc-authentication-results; bh=Bx1lr35AAtLJ/JRqjrZOHk62dAYQO34yH+c1ONHBzJ0=; b=amFgSYsPFvbao6Gr9v1M6q8JX8raACP1H8KvwM4Wun+Tk+r3Jurno2xj2Lhe9uf8l9 5HTQBIUGfiG6esopZktnI/MX3Mwwux/W2x6MtpWfCzMJb7GmLhEGyjuaL3j199gkgB8j vKv8yZQlAEdIR1I53MQMojvFVOqJjhAdvGOUkhquee7qwGOJViUBHbz1DTaw7KMIAVPE 2aHEuHWv+o9Zc2TklwNNp68ZWXoRdLBuLynQw8j3QYMOvYzE0D+rz3dxDhTuAxRogh18 cfI49wqRZTETUDHaIsB+8W4rSv7FCSfCKfm0sr9onTZKdTXCGn4S4RjJRAXZDaFvu5aI hb9g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=DvwOUKCq; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h13si7844911pgr.678.2018.03.07.10.53.47; Wed, 07 Mar 2018 10:54:02 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=DvwOUKCq; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754586AbeCGSwH (ORCPT + 99 others); Wed, 7 Mar 2018 13:52:07 -0500 Received: from mail-qk0-f196.google.com ([209.85.220.196]:38413 "EHLO mail-qk0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754173AbeCGSwG (ORCPT ); Wed, 7 Mar 2018 13:52:06 -0500 Received: by mail-qk0-f196.google.com with SMTP id s198so3899100qke.5 for ; Wed, 07 Mar 2018 10:52:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:in-reply-to:message-id:references :user-agent:mime-version; bh=Bx1lr35AAtLJ/JRqjrZOHk62dAYQO34yH+c1ONHBzJ0=; b=DvwOUKCqoE+4mxTm1A3uBelg74EiZ65+OQJCH94QnX8qn9XlNk5nimZyCimWbaaVKl NJoKKSNRNKZYhhlWfwIQl1eWIDWZlDPBkjwODPbYinjKnjd+sXjYcCv0rd23giuj3Fu1 J6ATRPWsx6A0lkNrQgIp1lVrKgpW6ZCzXUcK4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:in-reply-to:message-id :references:user-agent:mime-version; bh=Bx1lr35AAtLJ/JRqjrZOHk62dAYQO34yH+c1ONHBzJ0=; b=Y6qRB8zczAcZLgae/cTHetiZjRa3LqWK6h+bF6SEuU1MSp89K8PwZDSmxKMPaQgJq3 b95u1QJyuSfcdaeV0nrsoAIz2eLNmOTqc2RMjmtoXmndjDMpyFnPjkFnKNBcJsXmYxFC BRajyh/lDa7Ykxf3fZ5WC4U6AwDll1xXBrAz6E96+Tso1vUJDcqFlHZ9LSOY4WAotl1C N0TOdANMVCdId98W9bABcDLGp217P0fZg3poST97gfRUb9dxGg21FtuxsUvfMRMFCDyH BneQgrgAe1qLe9QUq9sycy7ycsIgx0be+S2c1u9ew+8HN/dShu1+Bzped49I6adAAWFG E4HQ== X-Gm-Message-State: AElRT7GBK7X1aeEheFHAbM6jllJNwbjnf/diWiOx9LN1dYPjO5wptj+s jML8xcN5UOMXOR6FoQpaJ1m1bIUoB3s= X-Received: by 10.55.217.73 with SMTP id u70mr33944238qki.223.1520448725289; Wed, 07 Mar 2018 10:52:05 -0800 (PST) Received: from xanadu.home (modemcable228.104-82-70.mc.videotron.ca. [70.82.104.228]) by smtp.gmail.com with ESMTPSA id s3sm8097373qte.95.2018.03.07.10.52.03 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 07 Mar 2018 10:52:04 -0800 (PST) Date: Wed, 7 Mar 2018 13:52:03 -0500 (EST) From: Nicolas Pitre To: Matthias Kaehlcke cc: Arnd Bergmann , Andi Kleen , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/7] ARM: LTO: avoid THUMB2_KERNEL+LTO In-Reply-To: <20180307183059.GA57047@google.com> Message-ID: References: <20180220215954.4092811-1-arnd@arndb.de> <20180220215954.4092811-3-arnd@arndb.de> <20180307183059.GA57047@google.com> User-Agent: Alpine 2.21 (LFD 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 7 Mar 2018, Matthias Kaehlcke wrote: > El Tue, Feb 20, 2018 at 10:59:49PM +0100 Arnd Bergmann ha dit: > > > Trying to build an LTO-Enabled kernel with Thumb2 instructions failed > > horribly for me, with an endless output of things like > > > > ccVnNycO.s:2665: Error: thumb conditional instruction should be in IT block -- `bxne lr' > > ccVnNycO.s:7128: Error: thumb conditional instruction should be in IT block -- `strexeq r5,r2,[r3]' > > ccVnNycO.s:7258: Error: thumb conditional instruction should be in IT block -- `strexeq lr,r0,[r3]' > > ccVnNycO.s:17380: Error: thumb conditional instruction should be in IT block -- `strexeq r1,r2,[r6]' > > ccVnNycO.s:19163: Error: thumb conditional instruction should be in IT block -- `strexeq r8,r6,[r3]' > > ccVnNycO.s:22722: Error: thumb conditional instruction should be in IT block -- `strexeq r7,r1,[r0]' > > ccVnNycO.s:24105: conditional infixes are deprecated in unified syntax > > ccVnNycO.s:24105: Error: thumb conditional instruction should be in IT block -- `sbcccs r1,r1,r3' > > ccVnNycO.s:24105: Error: thumb conditional instruction should be in IT block -- `movcc r3,#0' > > ccVnNycO.s:24210: conditional infixes are deprecated in unified syntax > > ccVnNycO.s:24210: Error: thumb conditional instruction should be in IT block -- `sbcccs r2,r2,r3' > > ccVnNycO.s:24210: Error: thumb conditional instruction should be in IT block -- `movcc r3,#0' > > For the record: > > The errors about sbcccs and movcc probably stem from here: > > /* We use 33-bit arithmetic here... */ > #define __range_ok(addr, size) ({ \ > unsigned long flag, roksum; \ > __chk_user_ptr(addr); \ > __asm__("adds %1, %2, %3; sbcccs %1, %1, %0; movcc %0, #0" \ > : "=&r" (flag), "=&r" (roksum) \ > : "r" (addr), "Ir" (size), "0" (current_thread_info()->addr_limit) \ > : "cc"); \ > flag; }) > > arch/arm/include/asm/uaccess.h > > I stumbled across this when trying to build a 32-bit ARM kernel with > clang. You have to tell clang to pass -mno-warn-deprecated to gas. That's what the gcc build currently does. In this particular case with LTO, the same trick as done for -mimplicit-it=always would do it to work around https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78353. Nicolas