Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp3585672ybc; Mon, 25 Nov 2019 17:18:42 -0800 (PST) X-Google-Smtp-Source: APXvYqxBWaluH+CCPBlSsiTQ57f1AkBgH+THTRmkOsQ4f4W/DuPQfv05Rk4Y275LOb+/z0AHiiO8 X-Received: by 2002:a17:906:52c3:: with SMTP id w3mr41391969ejn.122.1574731122541; Mon, 25 Nov 2019 17:18:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574731122; cv=none; d=google.com; s=arc-20160816; b=A036mk+qyNy0T7fHvcNcaYeBUNCM99d87uYO3SbtyPYO3VCMxKpAvap2uwYeH9GJ58 Nwgx0L54H2O39ZbwdzizAmj7XjFEhyLg67ur0UhTyL6m3eimjt2q3VSxIiwC3IGRTPw3 2p4yCD79U8XcqafJzBHMBKIYxQFVcOdf5YTmE/evSk9+7pe6tn55Ut9UhYG/as/P+PqM hCLYe0367SH8cz7JCHrAv1CvVGXxcULHT87qmolCwEOC0QXseyQMJ8bjSo9ijZ+gcNkE e16goeR6FUuMDxnZ2DnonEwseoHXKgzQhX0M7Pt0T8kCe+zSrrod5yi/wQ/KZRq4ARlT cOIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:date:message-id:subject:cc:from:to :in-reply-to; bh=k0rXWflJTkbg0kZLA4DEP3mZZDwx6/0gmL1EzUX3DPA=; b=Bs576Wd6NUN4aNZDDVaqMGCh5YkF72YmlclB+DBey2jozk/8C+hu/rJcLYWCEN2ydV Rir1e0+/Qvhv9F/Dn3MW17ZiZGjYMIE7284DjqmpDLw7tSXAR/AttKI53dkFw6+Xg0Yb 16UQgS+ybU5G795DY7DsH0PmooCWQSTG20GcZzfWeXVILMjMKDqHP8KY7dfUAdAbTiTd iPGKHc6cm9+888H2dVPmMUByz6MDL54WzoPDMlSoPq46nHfUdRTOycJGou2BJUHYIKZT X8CjNnkuVnPR3bVbG0UCtUa5Qi8URfS3DLDu9U4EY3v2cf4v6qZsS85bajfgo7mJ8WdV H3Qg== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o27si5978517ejb.408.2019.11.25.17.18.18; Mon, 25 Nov 2019 17:18:42 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727148AbfKZBNX (ORCPT + 99 others); Mon, 25 Nov 2019 20:13:23 -0500 Received: from ozlabs.org ([203.11.71.1]:57735 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726947AbfKZBNX (ORCPT ); Mon, 25 Nov 2019 20:13:23 -0500 Received: by ozlabs.org (Postfix, from userid 1034) id 47MQrd1PSrz9sPZ; Tue, 26 Nov 2019 12:13:21 +1100 (AEDT) X-powerpc-patch-notification: thanks X-powerpc-patch-commit: 465bfd9c44dea6b55962b5788a23ac87a467c923 In-Reply-To: <20191119045712.39633-2-natechancellor@gmail.com> To: Nathan Chancellor , Benjamin Herrenschmidt , Paul Mackerras From: Michael Ellerman Cc: Nick Desaulniers , linux-kernel@vger.kernel.org, clang-built-linux@googlegroups.com, Nathan Chancellor , linuxppc-dev@lists.ozlabs.org, Daniel Axtens Subject: Re: [PATCH v5 1/3] powerpc: Don't add -mabi= flags when building with Clang Message-Id: <47MQrd1PSrz9sPZ@ozlabs.org> Date: Tue, 26 Nov 2019 12:13:21 +1100 (AEDT) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 2019-11-19 at 04:57:10 UTC, Nathan Chancellor wrote: > When building pseries_defconfig, building vdso32 errors out: > > error: unknown target ABI 'elfv1' > > This happens because -m32 in clang changes the target to 32-bit, > which does not allow the ABI to be changed, as the setABI virtual > function is not overridden: > > https://github.com/llvm/llvm-project/blob/llvmorg-9.0.0/clang/include/clang/Basic/TargetInfo.h#L1073-L1078 > > https://github.com/llvm/llvm-project/blob/llvmorg-9.0.0/clang/lib/Basic/Targets/PPC.h#L327-L365 > > Commit 4dc831aa8813 ("powerpc: Fix compiling a BE kernel with a > powerpc64le toolchain") added these flags to fix building big endian > kernels with a little endian GCC. > > Clang doesn't need -mabi because the target triple controls the default > value. -mlittle-endian and -mbig-endian manipulate the triple into > either powerpc64-* or powerpc64le-*, which properly sets the default > ABI: > > https://github.com/llvm/llvm-project/blob/llvmorg-9.0.0/clang/lib/Driver/Driver.cpp#L450-L463 > > https://github.com/llvm/llvm-project/blob/llvmorg-9.0.0/llvm/lib/Support/Triple.cpp#L1432-L1516 > > https://github.com/llvm/llvm-project/blob/llvmorg-9.0.0/clang/lib/Basic/Targets/PPC.h#L377-L383 > > Adding a debug print out in the PPC64TargetInfo constructor after line > 383 above shows this: > > $ echo | ./clang -E --target=powerpc64-linux -mbig-endian -o /dev/null - > Default ABI: elfv1 > > $ echo | ./clang -E --target=powerpc64-linux -mlittle-endian -o /dev/null - > Default ABI: elfv2 > > $ echo | ./clang -E --target=powerpc64le-linux -mbig-endian -o /dev/null - > Default ABI: elfv1 > > $ echo | ./clang -E --target=powerpc64le-linux -mlittle-endian -o /dev/null - > Default ABI: elfv2 > > Don't specify -mabi when building with clang to avoid the build error > with -m32 and not change any code generation. > > -mcall-aixdesc is not an implemented flag in clang so it can be > safely excluded as well, see commit 238abecde8ad ("powerpc: Don't > use gcc specific options on clang"). > > pseries_defconfig successfully builds after this patch and > powernv_defconfig and ppc44x_defconfig don't regress. > > Link: https://github.com/ClangBuiltLinux/linux/issues/240 > Reviewed-by: Daniel Axtens > Signed-off-by: Nathan Chancellor Series applied to powerpc next, thanks. https://git.kernel.org/powerpc/c/465bfd9c44dea6b55962b5788a23ac87a467c923 cheers